Cleanup and get rid of many warnings when compiling with stricter warnings (#578)

* Mini improvements

* Fix some splits

* Remove last comma from enums

* Fix symbols

* Fix some headers and missing prototypes

* Replace most of f32 with float

* Replace most of Point3d with Vec

* Add missing esprite include with guard

* Add HuSetVecF to ext_math behind a guard

* More includes
This commit is contained in:
dbalatoni13 2025-04-01 07:11:31 +02:00 committed by GitHub
parent 4b0737d49c
commit 887cb00c5b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
67 changed files with 1662 additions and 1545 deletions

View file

@ -531,8 +531,8 @@ lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x2 data:2byte
lbl_1_bss_2CE = .bss:0x000002CE; // type:object size:0x2 data:2byte
lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x4 data:4byte
lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x4 data:4byte
lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte
lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x4 data:4byte
objman = .bss:0x000002D8; // type:object size:0x4 data:4byte
outViewObj = .bss:0x000002DC; // type:object size:0x4 data:4byte
lbl_1_bss_2E2 = .bss:0x000002E2; // type:object size:0x2 data:2byte
lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0x2 data:2byte
lbl_1_bss_2E6 = .bss:0x000002E6; // type:object size:0x2 data:2byte

View file

@ -12,7 +12,7 @@ extern "C" {
typedef enum {
HARDWARE_AMC_DDH = 0,
HARDWARE_GDEV = 1,
HARDWARE_BBA = 2,
HARDWARE_BBA = 2
} HardwareType;
// DS Error returns.
@ -37,7 +37,7 @@ enum {
DS_InvalidThreadID = 0x705,
DS_OSError = 0x706,
DS_Error800 = 0x800,
DS_Error800 = 0x800
};
typedef int DSError;
@ -46,14 +46,14 @@ typedef int DSError;
typedef enum {
DS_Stdin = 0,
DS_Stdout = 1,
DS_Stderr = 2,
DS_Stderr = 2
} DSFileHandle;
// IO returns.
typedef enum {
DS_IONoError = 0,
DS_IOError = 1,
DS_IOEOF = 2,
DS_IOEOF = 2
} DSIOResult;
// Message command IDs
@ -86,7 +86,7 @@ typedef enum {
DSMSG_CloseFile = 0xD3,
DSMSG_PositionFile = 0xD4,
DSMSG_ReplyNAK = 0xFF,
DSMSG_ReplyNAK = 0xFF
} MessageCommandID;
// Register commands.
@ -94,7 +94,7 @@ typedef enum {
DSREG_Default = 0,
DSREG_FP = 1,
DSREG_Extended1 = 2,
DSREG_Extended2 = 3,
DSREG_Extended2 = 3
} DSMessageRegisterOptions;
// Step commands.
@ -102,7 +102,7 @@ typedef enum {
DSSTEP_IntoCount = 0x0,
DSSTEP_IntoRange = 0x1,
DSSTEP_OverCount = 0x10,
DSSTEP_OverRange = 0x11,
DSSTEP_OverRange = 0x11
} DSMessageStepOptions;
typedef enum {
@ -128,14 +128,14 @@ typedef enum {
DSREPLY_OSError = 0x20,
DSREPLY_InvalidProcessID = 0x21,
DSREPLY_InvalidThreadID = 0x22,
DSREPLY_DebugSecurityError = 0x23,
DSREPLY_DebugSecurityError = 0x23
} DSReplyError;
typedef enum {
DSRECV_Wait = 0,
DSRECV_Found = 1,
DSRECV_InFrame = 2,
DSRECV_FrameOverflow = 3,
DSRECV_FrameOverflow = 3
} ReceiverState;
typedef enum {
@ -154,17 +154,17 @@ typedef enum {
NUBEVENT_Request = 2,
NUBEVENT_Breakpoint = 3,
NUBEVENT_Exception = 4,
NUBEVENT_Support = 5,
NUBEVENT_Support = 5
} NubEventType;
typedef enum {
VALIDMEM_Readable = 0,
VALIDMEM_Writeable = 1,
VALIDMEM_Writeable = 1
} ValidMemoryOptions;
typedef enum {
MEMACCESS_UserMemory = 0,
MEMACCESS_DebuggerMemory = 1,
MEMACCESS_DebuggerMemory = 1
} MemoryAccessOptions;
typedef int UARTError;
@ -174,7 +174,7 @@ typedef enum {
UART_UnknownBaudRate = 1,
UART_ConfigurationError = 2,
UART_BufferOverflow = 3, // specified buffer was too small
UART_NoData = 4, // no data available from polling
UART_NoData = 4 // no data available from polling
} UARTErrorOptions;
typedef enum {

View file

@ -28,13 +28,13 @@ enum __file_kinds {
__disk_file,
__console_file,
__string_file,
__unavailable_file,
__unavailable_file
};
enum __file_orientation {
/* 0x0 */ UNORIENTED,
/* 0x1 */ CHAR_ORIENTED,
/* 0x2 */ WIDE_ORIENTED,
/* 0x2 */ WIDE_ORIENTED
};
typedef struct _file_modes {
@ -50,20 +50,20 @@ enum __io_modes {
__read = 1,
__write = 2,
__read_write = 3,
__append = 4,
__append = 4
};
enum __io_states {
__neutral,
__writing,
__reading,
__rereading,
__rereading
};
enum __io_results {
__no_io_error,
__io_error,
__io_EOF,
__io_EOF
};
typedef struct _file_states {

View file

@ -5,6 +5,53 @@
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
typedef void (*ObjFuncs)(omObjData*);
typedef void (*VoidFuncs)(void);
typedef void (*ObjFuncs)(omObjData *);
void fn_1_F4(Process *arg0);
void fn_1_194(void);
void fn_1_1E4(void);
void fn_1_238(void);
void fn_1_28C(void);
void fn_1_2E0(void);
void fn_1_334(void);
void fn_1_388(u8, s32);
void fn_1_3C4(u8);
void fn_1_404(void);
s32 fn_1_508(u8);
s32 fn_1_53C(u8);
void fn_1_568(s16, s16, s16);
void fn_1_14F0(Process *arg0, s32 arg1);
void fn_1_15D8(void);
void fn_1_1B1C(Process *arg0);
void fn_1_1CA8(void);
void fn_1_1CAC(float, float, float);
void fn_1_1CD4(float *arg0, float *arg1, float *arg2);
s32 fn_1_1D88(void);
void fn_1_1DB0(Vec *arg0, Vec *arg1, float *arg2, s32 arg3, s32 arg4);
void fn_1_2354(Process *arg0);
void fn_1_2564(void);
void fn_1_25C0(void);
s32 fn_1_2880(void);
#ifndef __MWERKS__
s16 fn_1_28B8(u8 arg0);
s16 fn_1_28D4(void);
#endif
void fn_1_3AC8(Process *arg0);
void fn_1_3B68(void);
void fn_1_41CC(Process *arg0);
void fn_1_44F4(void);
void fn_1_4980(Process *arg0);
void fn_1_4C6C(omObjData *obj);
void fn_1_5C5C(Process *arg0, s16 arg1);
void fn_1_5ECC(void);
void fn_1_5F40(s32 arg0);
#endif

View file

@ -3,17 +3,18 @@
#include "dolphin.h"
#include "game/object.h"
#include "game/animdata.h"
#include "game/hsfanim.h"
#include "game/object.h"
extern s32 rand8(void);
// types
typedef void (*m409Func6)(ModelData*, struct _unkStruct6*, Mtx);
typedef void (*m409PlayerFunc8)(struct _unkStruct8*);
typedef void (*m409Func6)(ModelData *, struct _unkStruct6 *, Mtx);
typedef void (*m409PlayerFunc8)(struct _unkStruct8 *);
typedef struct _unkStruct {
f32 zoom;
float zoom;
Vec center;
Vec rot;
} unkStruct;
@ -27,14 +28,14 @@ typedef struct _unkStruct3 {
s8 unk0;
s8 unk1;
s16 unk2;
struct _unkStruct4* unk4;
struct _unkStruct4 *unk4;
s16 unk8;
s16 unkA;
s16 unkC;
s16 unkE;
s16 unk10;
s16 unk12;
f32 unk14;
float unk14;
} unkStruct3;
typedef struct _unkStruct4 {
@ -49,26 +50,26 @@ typedef struct _unkStruct4 {
s16 unkA;
s16 unkC;
s16 unkE;
f32 unk10;
float unk10;
s16 unk14;
s16 unk16;
f32 unk18;
f32 unk1C;
struct _unkStruct4* unk20;
float unk18;
float unk1C;
struct _unkStruct4 *unk20;
} unkStruct4; // sizeof 0x24
typedef struct _unkStruct5 {
Vec unk0;
Vec unkC;
f32 unk18;
f32 unk1C;
f32 unk20;
f32 unk24;
float unk18;
float unk1C;
float unk20;
float unk24;
s16 unk28;
s16 unk2A;
s16 unk2C;
s16 unk2E;
f32 unk30;
float unk30;
Vec unk34;
Vec unk40;
s16 unk4C;
@ -81,20 +82,20 @@ typedef struct _unkStruct6 {
u32 unk4;
u8 unk8;
m409Func6 unkC;
AnimData* unk10;
AnimData *unk10;
s16 unk14;
unkStruct5* unk18;
Vec* unk1C;
HsfVector2f* unk20;
GXColor* unk24;
void* unk28;
unkStruct5 *unk18;
Vec *unk1C;
HsfVector2f *unk20;
GXColor *unk24;
void *unk28;
Vec unk2C;
Vec unk38;
Vec unk44;
Vec unk50;
HsfVector2f* unk5C;
f32 unk60;
f32 unk64;
HsfVector2f *unk5C;
float unk60;
float unk64;
} unkStruct6; // sizeof 0x68
typedef struct _unkStruct7 {
@ -147,22 +148,22 @@ typedef struct _unkStruct8Sub {
u8 unk32;
u32 unk34;
s16 unk38;
void* unk3C;
void* unk40;
void* unk44;
Vec* unk48;
void *unk3C;
void *unk40;
void *unk44;
Vec *unk48;
GXColor unk4C;
GXColor unk50;
struct _unkStruct12* unk54;
struct _unkStruct12 *unk54;
Vec unk58;
Vec unk64;
union {
s16 unk70[0x10];
struct {
s16 unk70s;
f32 unk74;
f32 unk78;
f32 unk7C;
float unk74;
float unk78;
float unk7C;
};
};
} unkStruct8Sub; // sizeof 0x90
@ -177,9 +178,9 @@ typedef struct _unkStruct8 {
Vec unk18;
Vec unk24;
m409PlayerFunc8 unk30;
s16* unk34;
s16 *unk34;
char unk38[0x4];
unkStruct8Sub* unk3C;
unkStruct8Sub *unk3C;
char unk40[0x8];
Vec unk48;
Vec unk54;
@ -187,7 +188,7 @@ typedef struct _unkStruct8 {
} unkStruct8; // sizeof 0xA0
typedef struct _unkStruct9Sub {
AnimData* unk0;
AnimData *unk0;
s16 unk4;
s16 unk6;
u32 unk8;
@ -197,10 +198,10 @@ typedef struct _unkStruct9Sub {
u8 unk4C;
s16 unk4E;
s16 unk50;
f32 unk54;
f32 unk58;
f32 unk5C;
f32 unk60;
float unk54;
float unk58;
float unk5C;
float unk60;
} unkStruct9Sub; // sizeof 0x64
typedef struct _unkStruct9 {
@ -210,8 +211,8 @@ typedef struct _unkStruct9 {
s16 unk6;
s16 unk8;
s16 unkA;
unkStruct9Sub* unkC;
unkStruct8* unk10;
unkStruct9Sub *unkC;
unkStruct8 *unk10;
} unkStruct9; // sizeof 0x14
typedef struct _unkStruct10 {
@ -221,7 +222,7 @@ typedef struct _unkStruct10 {
u8 unk3;
u8 unk4;
char unk5[0x3];
f32 unk8;
float unk8;
Vec unkC;
Vec unk18;
Vec unk24;
@ -229,7 +230,7 @@ typedef struct _unkStruct10 {
Vec unk3C;
s8 unk48;
char unk49[0x3];
f32 unk4C;
float unk4C;
} unkStruct10; // sizeof 0x50
typedef struct unkStruct11 {
@ -243,11 +244,11 @@ typedef struct _unkStruct12 {
s8 unk0;
s8 unk1;
s16 unk2;
HsfVector2f* unk4;
HsfVector2f *unk4;
u8 unk8;
s16 unkA;
f32 unkC;
f32 unk10;
float unkC;
float unk10;
} unkStruct12;
// bss
@ -255,78 +256,78 @@ extern unkStruct9 lbl_1_bss_F0;
// prototypes
void ObjectSetup(void);
void fn_1_434(omObjData* object);
void fn_1_4DC(omObjData* object);
void fn_1_434(omObjData *object);
void fn_1_4DC(omObjData *object);
s8 fn_1_524(void);
s8 fn_1_B80(void);
void fn_1_DDC(omObjData* object);
void fn_1_F70(omObjData* object);
s8 fn_1_10E8(omObjData* object);
s8 fn_1_1B74(omObjData* object);
void fn_1_2098(omObjData* object);
void fn_1_DDC(omObjData *object);
void fn_1_F70(omObjData *object);
s8 fn_1_10E8(omObjData *object);
s8 fn_1_1B74(omObjData *object);
void fn_1_2098(omObjData *object);
void fn_1_23EC(s16);
void fn_1_2414(u16, u16);
u16 fn_1_2454(u16);
void fn_1_2484(omObjData* object);
void fn_1_2DCC(omObjData* object);
void fn_1_2484(omObjData *object);
void fn_1_2DCC(omObjData *object);
void fn_1_3840(void);
void fn_1_3988(unkStruct4*, s16, s16);
s32 fn_1_3AD8(s32, f32, f32, f32, f32, f32, f32);
void fn_1_3988(unkStruct4 *, s16, s16);
s32 fn_1_3AD8(s32, float, float, float, float, float, float);
void fn_1_40A4(Mtx, Mtx);
f32 fn_1_4120(f32, f32, f32, f32);
float fn_1_4120(float, float, float, float);
void fn_1_417C(void);
void fn_1_44F0(s16, f32, f32, f32, s8, s16);
void fn_1_4FFC(s16, f32, f32, f32, s16);
void fn_1_5408(ModelData*, unkStruct6*, Mtx);
void fn_1_55E0(ModelData*, unkStruct6*, Mtx);
void fn_1_57DC(ModelData*, unkStruct6*, Mtx);
unkStruct5* fn_1_58E0(s16, Vec*, Vec*, f32, GXColor*);
s16 fn_1_5A18(AnimData*, s16, f32, s16, s16);
void fn_1_44F0(s16, float, float, float, s8, s16);
void fn_1_4FFC(s16, float, float, float, s16);
void fn_1_5408(ModelData *, unkStruct6 *, Mtx);
void fn_1_55E0(ModelData *, unkStruct6 *, Mtx);
void fn_1_57DC(ModelData *, unkStruct6 *, Mtx);
unkStruct5 *fn_1_58E0(s16, Vec *, Vec *, float, GXColor *);
s16 fn_1_5A18(AnimData *, s16, float, s16, s16);
void fn_1_5F5C(s16);
void fn_1_5FBC(s16, m409Func6);
void fn_1_5FF4(s16, u8);
void fn_1_602C(ModelData*, Mtx);
void fn_1_6608(HsfVector2f*, s16, s16, f32, f32);
void fn_1_66D4(HsfVector2f*, HsfVector2f*, s16, f32, f32);
void fn_1_6778(Vec*, Vec*, Vec*, s16);
void fn_1_602C(ModelData *, Mtx);
void fn_1_6608(HsfVector2f *, s16, s16, float, float);
void fn_1_66D4(HsfVector2f *, HsfVector2f *, s16, float, float);
void fn_1_6778(Vec *, Vec *, Vec *, s16);
// player.c
void fn_1_67E0(Process*);
void fn_1_67E0(Process *);
void fn_1_6900(void);
void fn_1_6928(omObjData*);
void fn_1_7344(omObjData*);
void fn_1_7FE8(omObjData*);
void fn_1_8838(unkStruct8*);
void fn_1_6928(omObjData *);
void fn_1_7344(omObjData *);
void fn_1_7FE8(omObjData *);
void fn_1_8838(unkStruct8 *);
s8 fn_1_8D08(u8);
void fn_1_8D6C(unkStruct8*);
void fn_1_91C0(omObjData*);
void fn_1_962C(omObjData*);
s32 fn_1_A584(unkStruct10*);
s8 fn_1_A9C0(Vec*, f32*);
void fn_1_8D6C(unkStruct8 *);
void fn_1_91C0(omObjData *);
void fn_1_962C(omObjData *);
s32 fn_1_A584(unkStruct10 *);
s8 fn_1_A9C0(Vec *, float *);
s32 fn_1_ABB4(void);
void fn_1_AC08(s32*, s32);
f32 fn_1_AD40(f32, f32, f32);
f32 fn_1_AE94(f32, f32, f32, f32);
void fn_1_AF0C(f32*, f32*, f32*, f32*, f32);
f32 fn_1_B028(f32, f32, f32, f32);
void fn_1_B0A0(f32*, f32*, f32*, f32*, f32);
f32 fn_1_B378(Vec*);
f32 fn_1_B6A4(Vec*, Vec*, Vec*);
f32 fn_1_B9E0(Vec*, Vec*, Vec*, Vec*, Vec*);
f32 fn_1_BF38(s16);
void fn_1_AC08(s32 *, s32);
float fn_1_AD40(float, float, float);
float fn_1_AE94(float, float, float, float);
void fn_1_AF0C(float *, float *, float *, float *, float);
float fn_1_B028(float, float, float, float);
void fn_1_B0A0(float *, float *, float *, float *, float);
float fn_1_B378(Vec *);
float fn_1_B6A4(Vec *, Vec *, Vec *);
float fn_1_B9E0(Vec *, Vec *, Vec *, Vec *, Vec *);
float fn_1_BF38(s16);
// cursor.c
void fn_1_BF88(s16, s16);
void fn_1_C0C0(void);
void fn_1_C164(unkStruct8*);
void fn_1_CB98(ModelData* model, Mtx matrix);
unkStruct8* fn_1_CCB0(s16 idx);
unkStruct8Sub* fn_1_CCCC(s16, s16);
void fn_1_CCF8(unkStruct11**, s16, f32, f32);
void fn_1_CE7C(Vec**, s16, Vec*);
void fn_1_CF1C(GXColor**, s16, GXColor*);
void fn_1_CFC4(Vec**, s16, Vec*);
void fn_1_D050(HsfVector2f**, s16, HsfVector2f*);
void fn_1_D0E8(unkStruct8Sub*);
void fn_1_D430(unkStruct8*);
void fn_1_C164(unkStruct8 *);
void fn_1_CB98(ModelData *model, Mtx matrix);
unkStruct8 *fn_1_CCB0(s16 idx);
unkStruct8Sub *fn_1_CCCC(s16, s16);
void fn_1_CCF8(unkStruct11 **, s16, float, float);
void fn_1_CE7C(Vec **, s16, Vec *);
void fn_1_CF1C(GXColor **, s16, GXColor *);
void fn_1_CFC4(Vec **, s16, Vec *);
void fn_1_D050(HsfVector2f **, s16, HsfVector2f *);
void fn_1_D0E8(unkStruct8Sub *);
void fn_1_D430(unkStruct8 *);
s16 fn_1_DA48(u8, u8);
void fn_1_DDB8(s16);
void fn_1_DEF4(s16, s16, u8);
@ -334,19 +335,19 @@ s16 fn_1_DF20(u32, s16, s16);
void fn_1_E228(s16);
s32 fn_1_E2A8(s16, u8, u32, s16, s16);
s32 fn_1_E7C8(s16, u8, u32);
void fn_1_E818(s16, f32, f32, f32);
void fn_1_E85C(s16, s16, f32, f32, f32);
void fn_1_E8CC(s16, f32, f32, f32);
void fn_1_E940(s16, f32, f32, f32);
void fn_1_E99C(s16, s16, f32, f32, f32);
void fn_1_E940(s16, f32, f32, f32);
void fn_1_EA24(s16, f32, f32, f32);
void fn_1_EAB0(s16, f32, f32, f32);
void fn_1_EAF4(s16, s16, f32, f32, f32);
void fn_1_EB64(s16, f32, f32, f32);
void fn_1_EBD8(s16, f32, f32, f32);
void fn_1_EC1C(s16, s16, f32, f32, f32);
void fn_1_EC8C(s16, f32, f32, f32);
void fn_1_E818(s16, float, float, float);
void fn_1_E85C(s16, s16, float, float, float);
void fn_1_E8CC(s16, float, float, float);
void fn_1_E940(s16, float, float, float);
void fn_1_E99C(s16, s16, float, float, float);
void fn_1_E940(s16, float, float, float);
void fn_1_EA24(s16, float, float, float);
void fn_1_EAB0(s16, float, float, float);
void fn_1_EAF4(s16, s16, float, float, float);
void fn_1_EB64(s16, float, float, float);
void fn_1_EBD8(s16, float, float, float);
void fn_1_EC1C(s16, s16, float, float, float);
void fn_1_EC8C(s16, float, float, float);
void fn_1_ED00(s16, s32);
void fn_1_ED44(s16, s16, s32);
void fn_1_EDB4(s16, s32);
@ -360,9 +361,9 @@ void fn_1_F098(s16, u8, u8, u8, u8);
void fn_1_F110(s16, s16, u8);
void fn_1_F17C(s16, s16, u8, u8);
void fn_1_F1F4(s16, u8);
void fn_1_F28C(s16, s16, f32);
void fn_1_F2F8(s16, s16, u8, f32);
void fn_1_F370(s16, f32);
void fn_1_F28C(s16, s16, float);
void fn_1_F2F8(s16, s16, u8, float);
void fn_1_F370(s16, float);
void fn_1_F408(s16, s16, u8);
void fn_1_F478(s16, s16, u8, u8);
void fn_1_F4F0(s16, u8);

View file

@ -3,8 +3,9 @@
#include "dolphin.h"
#include "game/object.h"
#include "game/hsfman.h"
#include "game/object.h"
// types
typedef struct _unkStruct {
@ -18,8 +19,8 @@ typedef struct _unkStruct {
Vec unk10;
HsfVector2f unk1C;
Vec unk24;
f32 unk30;
f32 unk34;
float unk30;
float unk34;
} unkStruct;
typedef struct _unkStruct2 {
@ -58,7 +59,7 @@ typedef struct _unkStruct3 {
HsfVector2f unk4C;
Vec unk54;
Vec unk60;
f32 unk6C;
float unk6C;
char unk70[0xC];
Vec unk7C;
s8 unk88;
@ -68,7 +69,7 @@ typedef struct _unkStruct3 {
u16 unk8C;
u16 unk8E;
HsfVector2f unk90;
f32 unk98;
float unk98;
s32 unk9C;
s32 unkA0;
s32 unkA4;
@ -83,38 +84,38 @@ typedef struct _unkStruct4 {
// prototypes
void ObjectSetup(void);
void* fn_1_6EC(f32, f32, f32, s32);
void *fn_1_6EC(float, float, float, s32);
void fn_1_73C(void);
void fn_1_7BC(void);
void fn_1_894(omObjData* object);
void fn_1_898(omObjData* object);
void fn_1_894(omObjData *object);
void fn_1_898(omObjData *object);
void fn_1_8BC(void);
f32 fn_1_1D08(f32);
float fn_1_1D08(float);
void fn_1_1D88(void);
void fn_1_1DBC(void);
void fn_1_2014(void);
void fn_1_2064(void);
s32 fn_1_2708(void);
f32 fn_1_27C4(s32, f32, f32);
float fn_1_27C4(s32, float, float);
void fn_1_2A1C(void);
void fn_1_3950(void);
s8 fn_1_4BE4(s32, s32);
void fn_1_4C9C(Vec*, f32, f32);
void fn_1_4C9C(Vec *, float, float);
s8 fn_1_4E58(s32, s32);
u8 fn_1_525C(s32, s32);
u16 fn_1_531C(s32);
u16 fn_1_5388(s32);
s32 fn_1_53F4(unkStruct3*, f32, f32, f32);
s32 fn_1_561C(unkStruct3*, s32*);
void fn_1_5838(unkStruct3*);
f32 fn_1_6594(f32, f32, f32);
f32 fn_1_6698(f32, f32, unkStruct3*);
void fn_1_6814(unkStruct3*);
s32 fn_1_53F4(unkStruct3 *, float, float, float);
s32 fn_1_561C(unkStruct3 *, s32 *);
void fn_1_5838(unkStruct3 *);
float fn_1_6594(float, float, float);
float fn_1_6698(float, float, unkStruct3 *);
void fn_1_6814(unkStruct3 *);
void fn_1_7C60(void);
void fn_1_A01C(ModelData* model, ParticleData* particle, Mtx matrix);
void fn_1_A618(ModelData* model, ParticleData* particle, Mtx matrix);
void fn_1_A01C(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_A618(ModelData *model, ParticleData *particle, Mtx matrix);
//...
void fn_1_AA88(ModelData* model, ParticleData* particle, Mtx matrix); // *
void fn_1_AA88(ModelData *model, ParticleData *particle, Mtx matrix); // *
void fn_1_B160(void); // *
void fn_1_B1C0(void); // *

View file

@ -53,10 +53,10 @@ typedef struct _unkStruct3 {
s16 unk16;
s16 unk18;
s16 unk1A;
f32 unk1C;
f32 unk20;
f32 unk24;
f32 unk28;
float unk1C;
float unk20;
float unk24;
float unk28;
Vec unk2C;
Vec unk38;
Vec unk44;
@ -64,7 +64,7 @@ typedef struct _unkStruct3 {
u8 unk5C;
u8 unk5D;
union {
s32* unk60;
s32 *unk60;
struct {
s16 unk60s;
s16 unk62s;
@ -90,18 +90,18 @@ typedef struct _unkStruct4 {
Vec unk88[3];
Vec unkAC[3];
Vec unkD0[3];
f32 unkF4[3];
f32 unk100[3];
f32 unk10C[3];
f32 unk118[3];
f32 unk124[3];
f32 unk130;
f32 unk134;
f32 unk138;
f32 unk13C;
f32 unk140;
f32 unk144;
f32 unk148;
float unkF4[3];
float unk100[3];
float unk10C[3];
float unk118[3];
float unk124[3];
float unk130;
float unk134;
float unk138;
float unk13C;
float unk140;
float unk144;
float unk148;
} unkStruct4;
typedef struct _unkSubStruct4 {
@ -111,8 +111,8 @@ typedef struct _unkSubStruct4 {
HsfVector2f unk4[4];
u8 unk24;
char unk25[0x3];
f32 unk28;
f32 unk2C;
float unk28;
float unk2C;
} unkSubStruct4;
// taken from m438
@ -127,24 +127,24 @@ typedef struct _unkSubStruct {
u8 unk33;
u32 unk34;
s16 unk38;
void* unk3C;
Vec* unk40;
GXColor* unk44;
Vec* unk48;
void *unk3C;
Vec *unk40;
GXColor *unk44;
Vec *unk48;
GXColor unk4C;
GXColor unk50;
unkSubStruct4* unk54;
unkSubStruct4 *unk54;
u8 unk58;
char unk59[0x3];
Vec unk5C;
Vec unk68;
s16 unk74[2];
s16* unk78;
s16* unk7C;
s16 *unk78;
s16 *unk7C;
char unk80[0x14];
} unkSubStruct; /* size = 0x94 */
typedef void (*unkSubStruct2Func)(struct _unkSubStruct2*);
typedef void (*unkSubStruct2Func)(struct _unkSubStruct2 *);
typedef struct _unkSubStruct2 {
s16 unk0;
@ -154,18 +154,18 @@ typedef struct _unkSubStruct2 {
Vec unkC;
Vec unk18;
Vec unk24;
void (*unk30)(struct _unkSubStruct2*);
s16* unk34;
void (*unk30)(struct _unkSubStruct2 *);
s16 *unk34;
s16 unk38;
char unk3A[2];
unkSubStruct *unk3C;
char unk40[0x8];
s16 unk48;
char* unk4C;
Vec* unk50;
GXColor* unk54;
Vec* unk58;
unkSubStruct4* unk5C;
char *unk4C;
Vec *unk50;
GXColor *unk54;
Vec *unk58;
unkSubStruct4 *unk5C;
u8 unk60;
char unk61[0x3];
Vec unk64;
@ -186,7 +186,7 @@ typedef struct _unkSubStruct2 {
} unkSubStruct2; /* size = 0xBC */
typedef struct _unkSubStruct3 {
AnimData* unk0;
AnimData *unk0;
s16 unk4;
s16 unk6;
u32 unk8;
@ -198,10 +198,10 @@ typedef struct _unkSubStruct3 {
s16 unk4E;
s16 unk50;
char unk52[0x2];
f32 unk54;
f32 unk58;
f32 unk5C;
f32 unk60;
float unk54;
float unk58;
float unk5C;
float unk60;
} unkSubStruct3; /* size = 0x64 */
typedef struct _unkStruct5 {
@ -228,38 +228,38 @@ extern unkStruct5 lbl_1_bss_36C;
// prototypes
// main.c
void fn_1_43C(omObjData* object);
void fn_1_4B0(omObjData* object);
void fn_1_7D8(omObjData* object);
void fn_1_14C0(omObjData* object);
void fn_1_15D0(omObjData* object);
void fn_1_1960(omObjData* object);
void fn_1_2B18(omObjData* object);
void fn_1_2C14(omObjData* object);
void fn_1_2E88(f32, Vec*, Vec*, f32);
void fn_1_3208(omObjData* object);
void fn_1_3640(omObjData* object);
void fn_1_3764(omObjData* object);
void fn_1_3B44(omObjData* object);
void fn_1_4660(omObjData* object);
void fn_1_5B20(unkSubStruct2*);
void fn_1_6304(omObjData* object);
void fn_1_43C(omObjData *object);
void fn_1_4B0(omObjData *object);
void fn_1_7D8(omObjData *object);
void fn_1_14C0(omObjData *object);
void fn_1_15D0(omObjData *object);
void fn_1_1960(omObjData *object);
void fn_1_2B18(omObjData *object);
void fn_1_2C14(omObjData *object);
void fn_1_2E88(float, Vec *, Vec *, float);
void fn_1_3208(omObjData *object);
void fn_1_3640(omObjData *object);
void fn_1_3764(omObjData *object);
void fn_1_3B44(omObjData *object);
void fn_1_4660(omObjData *object);
void fn_1_5B20(unkSubStruct2 *);
void fn_1_6304(omObjData *object);
void fn_1_6368(void);
void* fn_1_63A8(s32);
void *fn_1_63A8(s32);
void fn_1_64DC(void);
AnimBmpData* fn_1_668C(s16);
AnimBmpData *fn_1_668C(s16);
s16 fn_1_66AC(void);
s32 fn_1_679C(void);
f32 fn_1_67F0(f32, f32, f32);
void fn_1_6A78(Mtx, Vec*);
void fn_1_7268(f32*, f32*, f32*, s32);
f32 fn_1_7520(f32, f32*, f32*, f32*, s32);
void fn_1_7674(f32*, Vec*, Vec*, s32);
void fn_1_7A54(f32, Vec*, f32*, Vec*, Vec*, s32);
float fn_1_67F0(float, float, float);
void fn_1_6A78(Mtx, Vec *);
void fn_1_7268(float *, float *, float *, s32);
float fn_1_7520(float, float *, float *, float *, s32);
void fn_1_7674(float *, Vec *, Vec *, s32);
void fn_1_7A54(float, Vec *, float *, Vec *, Vec *, s32);
// map.c
void fn_1_95C0(ModelData*, Mtx);
AnimData** fn_1_9734(s16);
void fn_1_9DC8(unkSubStruct2*);
void fn_1_95C0(ModelData *, Mtx);
AnimData **fn_1_9734(s16);
void fn_1_9DC8(unkSubStruct2 *);
s16 fn_1_A2D0(u8, u8);
void fn_1_A800(s16);
s16 fn_1_A94C(u32, s16, s16);
@ -267,12 +267,12 @@ void fn_1_ACF4(s16, s16, s16, s16, s16, s16);
void fn_1_AF48(s16);
u8 fn_1_AFC8(s16, u8, s32, s16, s16);
s32 fn_1_B0B8(s16, u8, s16);
void fn_1_B864(s16, f32, f32, f32);
void fn_1_BB4C(s16, f32, f32, f32);
void fn_1_BC9C(s16, f32, f32, f32);
void fn_1_BD08(s16, s16, f32, f32, f32);
void fn_1_B864(s16, float, float, float);
void fn_1_BB4C(s16, float, float, float);
void fn_1_BC9C(s16, float, float, float);
void fn_1_BD08(s16, s16, float, float, float);
void fn_1_C264(s16, u8);
void fn_1_C2D0(s16, s16, u8);
void fn_1_C410(s16, s16, u8, u8);
void fn_1_C58C(s16, s16, u8, f32);
void fn_1_C58C(s16, s16, u8, float);
void fn_1_C81C(s16, u8);

View file

@ -18,10 +18,10 @@ typedef struct M418DllUnkStruct {
Vec unk10; // sequence center
Vec rot;
Vec unk28; // sequence rot
f32 zoom;
f32 unk38; // sequence zoom
f32 unk3C[3];
f32 unk48;
float zoom;
float unk38; // sequence zoom
float unk3C[3];
float unk48;
} M418DllUnkStruct; // sizeof 0x4C
typedef struct M418DllUnkStruct8 {
@ -32,27 +32,27 @@ typedef struct M418DllUnkStruct8 {
typedef struct M418DllUnkStruct7 {
s32 unk0;
M418DllUnkStruct8* unk4;
M418DllUnkStruct8 *unk4;
s32 unk8;
s32 unkC;
M418DllFunc unk10;
M418DllRetFunc unk14;
} M418DllUnkStruct7; // sizeof 0x18
f32 fn_1_A920(f32, f32, f32);
f32 fn_1_A940(f32, f32, f32, f32);
f32 fn_1_AA30(f32, f32, f32, f32);
void fn_1_ABC4(omObjData*, s32, s32, s32, s32);
void fn_1_AD14(omObjData*, s32, s32, s32, s32);
void fn_1_AEDC(M418DllUnkStruct7*, M418DllUnkStruct8*);
s32 fn_1_AF38(M418DllUnkStruct7*);
s32 fn_1_B034(M418DllUnkStruct7*, s32);
s32 fn_1_B0C8(M418DllUnkStruct7*, s32);
void fn_1_B104(M418DllUnkStruct*, Vec, Vec);
void fn_1_B41C(M418DllUnkStruct*);
void fn_1_B458(M418DllUnkStruct*);
void fn_1_BEAC(M418DllUnkStruct*, M418DllUnkStruct*, f32, f32, f32);
void fn_1_CBF8(M418DllUnkStruct*, M418DllUnkStruct*, f32, f32, f32);
void fn_1_DC10(M418DllUnkStruct*, M418DllUnkStruct*, f32, f32, f32);
float fn_1_A920(float, float, float);
float fn_1_A940(float, float, float, float);
float fn_1_AA30(float, float, float, float);
void fn_1_ABC4(omObjData *, s32, s32, s32, s32);
void fn_1_AD14(omObjData *, s32, s32, s32, s32);
void fn_1_AEDC(M418DllUnkStruct7 *, M418DllUnkStruct8 *);
s32 fn_1_AF38(M418DllUnkStruct7 *);
s32 fn_1_B034(M418DllUnkStruct7 *, s32);
s32 fn_1_B0C8(M418DllUnkStruct7 *, s32);
void fn_1_B104(M418DllUnkStruct *, Vec, Vec);
void fn_1_B41C(M418DllUnkStruct *);
void fn_1_B458(M418DllUnkStruct *);
void fn_1_BEAC(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float);
void fn_1_CBF8(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float);
void fn_1_DC10(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float);
#endif

View file

@ -5,11 +5,11 @@
typedef struct _M424DllMainStruct {
Vec rot;
Vec center;
f32 zoom;
float zoom;
} M424DllMainStruct; // sizeof 1C
typedef struct _M424DllBallStruct2 {
omObjData* unk0;
omObjData *unk0;
u8 unk4;
u8 unk5;
u8 unk6;
@ -31,18 +31,18 @@ extern M424DllBallStruct2 lbl_1_bss_60[9];
extern u8 lbl_1_bss_58;
extern s16 lbl_1_bss_24[4];
f32 fn_1_1358(f32, f32);
f32 fn_1_1470(f32, f32, f32);
omObjData* fn_1_1AB8(Process*);
float fn_1_1358(float, float);
float fn_1_1470(float, float, float);
omObjData *fn_1_1AB8(Process *);
void fn_1_1B8C(void);
f32 fn_1_213C(void);
void fn_1_252C(f32, s32);
float fn_1_213C(void);
void fn_1_252C(float, s32);
void fn_1_2670(s32, s32);
void fn_1_2720(Process*);
void fn_1_2720(Process *);
void fn_1_2880(void);
Vec* fn_1_8A00(u8);
Vec *fn_1_8A00(u8);
s32 fn_1_8A2C(void);
omObjData* fn_1_93F0(Process*);
omObjData *fn_1_93F0(Process *);
void fn_1_94A4(void);
s32 fn_1_B804(void);
s32 fn_1_B888(void);

View file

@ -21,9 +21,9 @@ void fn_1_EC54(void);
s32 fn_1_10FE8(s32 arg0, s32 *arg1);
void fn_1_110E8(s32, s32 *);
void fn_1_111C0(s32, s32 *);
void fn_1_11298(f32);
void fn_1_11298(float);
s32 fn_1_113F0(s32);
f32 fn_1_168FC(f32, f32, f32);
float fn_1_168FC(float, float, float);
s32 fn_1_15F10(Vec arg0, Vec arg1, s32 arg2, s32 arg3, s32 arg4);
s32 fn_1_15FD0(Vec arg0, float arg8, s32 arg1, s32 arg2, s32 arg3);

View file

@ -22,14 +22,14 @@ typedef struct M438UnkSubStruct {
s8 unk_00;
s8 unk_01;
char unk02[0x2];
f32 unk_04;
f32 unk_08;
f32 unk_0C;
f32 unk_10;
f32 unk_14;
f32 unk_18;
f32 unk_1C;
f32 unk_20;
float unk_04;
float unk_08;
float unk_0C;
float unk_10;
float unk_14;
float unk_18;
float unk_1C;
float unk_20;
u8 unk_24;
float unk_28;
float unk_2C;
@ -47,13 +47,13 @@ typedef struct M438UnkStruct {
u8 unk_34;
u32 unk_38;
s16 unk_3C;
void* unk_40;
Vec* unk_44;
GXColor* unk_48;
Vec* unk_4C;
void *unk_40;
Vec *unk_44;
GXColor *unk_48;
Vec *unk_4C;
GXColor unk_50;
GXColor unk_54;
M438UnkSubStruct* unk_58;
M438UnkSubStruct *unk_58;
u8 unk_5C;
char unk5D[0x3];
Vec unk_60;
@ -90,17 +90,17 @@ typedef struct M438UnkStruct2 {
Vec unk_0C;
Vec unk_18;
Vec unk_24;
void (*unk_30)(struct M438UnkStruct2*);
s16* unk_34;
void (*unk_30)(struct M438UnkStruct2 *);
s16 *unk_34;
char unk_38[0x4];
M438UnkStruct *unk_3C;
char unk40[0x8];
s16 unk_48;
void* unk_4C;
Vec* unk_50;
GXColor* unk_54;
Vec* unk_58;
M438UnkSubStruct* unk_5C;
void *unk_4C;
Vec *unk_50;
GXColor *unk_54;
Vec *unk_58;
M438UnkSubStruct *unk_5C;
u8 unk_60;
char unk61[0x3];
Vec unk_64;
@ -121,7 +121,7 @@ typedef struct M438UnkStruct2 {
} M438UnkStruct2; /* size = 0xBC */
typedef struct M438UnkStruct3 {
AnimData* unk_00;
AnimData *unk_00;
s16 unk_04;
s16 unk_06;
u32 unk_08;
@ -133,10 +133,10 @@ typedef struct M438UnkStruct3 {
s16 unk_4E;
s16 unk_50;
char unk52[0x2];
f32 unk_54;
f32 unk_58;
f32 unk_5C;
f32 unk_60;
float unk_54;
float unk_58;
float unk_5C;
float unk_60;
} M438UnkStruct3; /* size = 0x64 */
typedef struct M438StructBssDE4 {

View file

@ -10,12 +10,12 @@
extern s32 rand8(void);
////// TYPES //////
typedef void (*m440Func5)(ModelData*, struct _unkStruct5*, Mtx);
typedef void (*m440Func6)(struct _unkStruct6*);
typedef void (*m440Func14)(struct _unkStruct14*);
typedef void (*m440Func5)(ModelData *, struct _unkStruct5 *, Mtx);
typedef void (*m440Func6)(struct _unkStruct6 *);
typedef void (*m440Func14)(struct _unkStruct14 *);
typedef struct _unkStruct {
f32 zoom;
float zoom;
Vec center;
Vec rot;
} unkStruct;
@ -30,37 +30,37 @@ typedef struct _unkStruct2 {
char unk10[0xC];
s16 unk1C;
char unk20[0x4];
f32 unk24;
float unk24;
char unk28[0x4];
s16 unk2C;
s16 unk2E;
f32 unk30;
float unk30;
} unkStruct2;
typedef struct _unkStruct3 {
char unk0[0x34];
f32 unk34;
float unk34;
char unk38[0x8];
f32 unk40;
float unk40;
} unkStruct3;
typedef struct _unkStruct4 {
Vec unk0;
char unkC[0xC];
f32 unk18;
f32 unk1C;
float unk18;
float unk1C;
char unk20[0x4];
f32 unk24;
f32 unk28;
f32 unk2C;
f32 unk30;
float unk24;
float unk28;
float unk2C;
float unk30;
s16 unk34;
s16 unk36;
char unk38[0x4];
s32 unk3C;
s16 unk40;
s16 unk42;
f32 unk44;
float unk44;
Vec unk48;
Vec unk54;
s16 unk60;
@ -73,20 +73,20 @@ typedef struct _unkStruct5 {
u32 unk4;
u8 unk8;
m440Func5 unkC;
AnimData* unk10;
AnimData *unk10;
s16 unk14;
unkStruct4* unk18;
Vec* unk1C;
HsfVector2f* unk20;
GXColor* unk24;
void* unk28;
unkStruct4 *unk18;
Vec *unk1C;
HsfVector2f *unk20;
GXColor *unk24;
void *unk28;
Vec unk2C;
Vec unk38;
Vec unk44;
Vec unk50;
HsfVector2f* unk5C;
f32 unk60;
f32 unk64;
HsfVector2f *unk5C;
float unk60;
float unk64;
} unkStruct5;
typedef struct _unkStruct6 {
@ -95,16 +95,16 @@ typedef struct _unkStruct6 {
s16 unk4;
s16 unk6;
u32 unk8;
Vec* unkC;
Vec* unk10;
Vec* unk14;
Vec* unk18;
HsfVector2f* unk1C;
Vec *unkC;
Vec *unk10;
Vec *unk14;
Vec *unk18;
HsfVector2f *unk1C;
s32 unk20;
struct _unkStruct8* unk24;
HsfMaterial* unk28;
HsfAttribute* unk2C;
void* unk30;
struct _unkStruct8 *unk24;
HsfMaterial *unk28;
HsfAttribute *unk2C;
void *unk30;
u32 unk34;
m440Func6 unk38;
s16 unk3C;
@ -129,7 +129,7 @@ typedef struct _unkStruct8 {
s16 unk1E;
unkStruct11 unk20[3];
char unk38[0x30];
f32 unk68[5];
float unk68[5];
Vec unk7C;
Vec unk88;
Vec unk94;
@ -144,7 +144,7 @@ typedef struct _unkStruct10 {
s16 unk2;
unkStruct11 unk4[3];
u32 unk1C;
unkStruct11* unk20;
unkStruct11 *unk20;
char unk24[0xC];
} unkStruct10; // sizeof 0x30
@ -154,41 +154,41 @@ typedef struct _unkStruct12 {
u8 unkB[3];
u8 unkE[3];
char unk12[0x2];
f32 unk14;
float unk14;
char unk18[0x4];
f32 unk1C;
float unk1C;
char unk20[0x10];
u32 unk30;
u32 unk34;
s32* unk38;
s32 *unk38;
} unkStruct12;
typedef struct _unkStruct13 {
char unk0[0xA];
u8 unkA;
char unkB[0x15];
f32 unk20;
float unk20;
char unk24[0x40];
u32 unk64;
u32 unk68;
char unk6C[0x14];
struct _unkStruct15* unk80;
struct _unkStruct15 *unk80;
} unkStruct13; // sizeof 0x84
typedef struct _unkStruct14 {
s16 unk0;
s16 unk2;
char unk4[0x8];
void* unkC;
void *unkC;
char unk10[0x4];
void* unk14;
unkStruct4* unk18;
void* unk1C;
void *unk14;
unkStruct4 *unk18;
void *unk1C;
char unk20[0x4];
GXColor* unk24;
unkStruct12* unk28;
unkStruct13* unk2C;
void* unk30;
GXColor *unk24;
unkStruct12 *unk28;
unkStruct13 *unk2C;
void *unk30;
u32 unk34;
m440Func14 unk38;
s16 unk3C;
@ -202,9 +202,9 @@ typedef struct _unkStruct15 {
s16 unkC;
s16 unkE;
char unk10[0x4];
void* unk14;
void *unk14;
char unk18[0x4];
void* unk1C;
void *unk1C;
} unkStruct15;
// object.c
@ -226,20 +226,20 @@ typedef struct _unkObjStruct {
Vec unk3C;
u8 unk48;
s16 unk4A;
f32 unk4C;
float unk4C;
s16 unk50;
s16 unk52;
s16 unk54;
s16 unk56;
s16 unk58;
s16 unk5A;
f32 unk5C;
float unk5C;
s16 unk60;
s16 unk62;
char unk64[0x4];
f32 unk68;
f32 unk6C;
f32 unk70;
float unk68;
float unk6C;
float unk70;
} unkObjStruct;
#if VERSION_NTSC
@ -249,11 +249,11 @@ typedef struct _unkObjStruct {
#endif
////// BSS //////
extern omObjData* lbl_1_bss_C0[4];
extern omObjData *lbl_1_bss_C0[4];
////// DATA //////
// main.c
extern f32 lbl_1_data_0[5];
extern float lbl_1_data_0[5];
extern s16 lbl_1_data_14[6];
// object.c
extern s16 lbl_1_data_1D8;
@ -261,14 +261,14 @@ extern s16 lbl_1_data_1D8;
////// FUNCTIONS //////
// main.c
void ObjectSetup(void);
void fn_1_3C4(omObjData* object);
void fn_1_434(omObjData* object);
void fn_1_3C4(omObjData *object);
void fn_1_434(omObjData *object);
s32 fn_1_4A4(void);
s32 fn_1_6C8(void);
void fn_1_8F0(omObjData* object);
void fn_1_AE0(omObjData* object);
u8 fn_1_E14(omObjData* object);
u8 fn_1_1138(omObjData* object);
void fn_1_8F0(omObjData *object);
void fn_1_AE0(omObjData *object);
u8 fn_1_E14(omObjData *object);
u8 fn_1_1138(omObjData *object);
void fn_1_16D8(void);
void fn_1_1708(void);
void fn_1_1768(void);
@ -280,82 +280,82 @@ void fn_1_18E0(void);
u8 fn_1_1954(void);
void fn_1_19B0(void);
void fn_1_1CAC(void);
void fn_1_2240(ModelData* data, unkStruct5*, Mtx);
void fn_1_2240(ModelData *data, unkStruct5 *, Mtx);
u16 fn_1_23E4(u16);
void fn_1_2428(u16, u16);
void fn_1_2470(omObjData* object);
void fn_1_2A74(omObjData* object);
void fn_1_2AB4(omObjData* object);
void fn_1_2B04(omObjData* object);
void fn_1_2CA8(omObjData* object);
void fn_1_2D28(omObjData* object);
void fn_1_33D4(omObjData* object);
void fn_1_3DD8(omObjData* object);
void fn_1_4558(omObjData* object);
void fn_1_45BC(omObjData* object);
void fn_1_4660(omObjData* object);
void fn_1_46E0(omObjData* object);
void fn_1_4A20(omObjData* object);
void fn_1_4B44(omObjData* object);
void fn_1_4E00(s16, f32);
void fn_1_2470(omObjData *object);
void fn_1_2A74(omObjData *object);
void fn_1_2AB4(omObjData *object);
void fn_1_2B04(omObjData *object);
void fn_1_2CA8(omObjData *object);
void fn_1_2D28(omObjData *object);
void fn_1_33D4(omObjData *object);
void fn_1_3DD8(omObjData *object);
void fn_1_4558(omObjData *object);
void fn_1_45BC(omObjData *object);
void fn_1_4660(omObjData *object);
void fn_1_46E0(omObjData *object);
void fn_1_4A20(omObjData *object);
void fn_1_4B44(omObjData *object);
void fn_1_4E00(s16, float);
s16 fn_1_4E2C(void);
s16 fn_1_4E54(s16);
u16 fn_1_4EA8(u16);
void fn_1_4EEC(u16, u16);
void fn_1_4F34(unkStruct6*);
void fn_1_5010(unkStruct6*, Vec*, f32);
void fn_1_57B4(unkStruct6*);
void fn_1_5C2C(s16, HsfObject*, unkStruct6*, u16);
void fn_1_6554(unkStruct6*, HsfObject*);
void fn_1_6B58(unkStruct6*, HsfObject*);
void fn_1_71FC(unkStruct6*, Vec*, s16, Vec);
void fn_1_7934(unkStruct6*, unkStruct8*, Vec*);
void fn_1_7D60(unkStruct15*, unkStruct13*, s16);
void fn_1_806C(ModelData*, Mtx);
void fn_1_8470(unkStruct12*, unkStruct13*);
void fn_1_4F34(unkStruct6 *);
void fn_1_5010(unkStruct6 *, Vec *, float);
void fn_1_57B4(unkStruct6 *);
void fn_1_5C2C(s16, HsfObject *, unkStruct6 *, u16);
void fn_1_6554(unkStruct6 *, HsfObject *);
void fn_1_6B58(unkStruct6 *, HsfObject *);
void fn_1_71FC(unkStruct6 *, Vec *, s16, Vec);
void fn_1_7934(unkStruct6 *, unkStruct8 *, Vec *);
void fn_1_7D60(unkStruct15 *, unkStruct13 *, s16);
void fn_1_806C(ModelData *, Mtx);
void fn_1_8470(unkStruct12 *, unkStruct13 *);
void fn_1_8AC4(Mtx);
void fn_1_8D1C(void);
void fn_1_91A4(Vec*, Vec*, Vec*, f32[5]);
f32 fn_1_927C(f32, f32, f32);
void fn_1_91A4(Vec *, Vec *, Vec *, float[5]);
float fn_1_927C(float, float, float);
void fn_1_9344(Mtx, Mtx);
f32 fn_1_93C0(f32, f32, f32);
f32 fn_1_93D0(f32, f32, f32, f32);
unkStruct4* fn_1_942C(s16, Vec*, Vec*, f32, GXColor*);
s16 fn_1_956C(AnimData*, s16, f32, s16, s16);
float fn_1_93C0(float, float, float);
float fn_1_93D0(float, float, float, float);
unkStruct4 *fn_1_942C(s16, Vec *, Vec *, float, GXColor *);
s16 fn_1_956C(AnimData *, s16, float, s16, s16);
void fn_1_9AB0(s16);
unkStruct5* fn_1_9B10(s16);
unkStruct4* fn_1_9B3C(s16, s16);
unkStruct5 *fn_1_9B10(s16);
unkStruct4 *fn_1_9B3C(s16, s16);
void fn_1_9B94(s16, m440Func5);
void fn_1_9BCC(s16, u8);
void fn_1_9C04(ModelData*, Mtx);
void fn_1_A1B8(HsfVector2f*, s16, s16, f32, f32);
void fn_1_A284(HsfVector2f*, HsfVector2f*, s16, f32, f32);
void fn_1_A328(Vec*, Vec*, Vec*, s16);
void fn_1_A390(ModelData*, Mtx);
void fn_1_9C04(ModelData *, Mtx);
void fn_1_A1B8(HsfVector2f *, s16, s16, float, float);
void fn_1_A284(HsfVector2f *, HsfVector2f *, s16, float, float);
void fn_1_A328(Vec *, Vec *, Vec *, s16);
void fn_1_A390(ModelData *, Mtx);
void fn_1_AA94(void);
// object.c
void fn_1_AE08(Process*);
void fn_1_AEE4(omObjData*);
void fn_1_B17C(omObjData*);
void fn_1_B180(omObjData*);
void fn_1_B3A4(omObjData*);
void fn_1_B884(omObjData*, unkObjStruct*);
void fn_1_C1D4(omObjData*, unkObjStruct*);
void fn_1_C944(omObjData*, unkObjStruct*);
s16 fn_1_CFAC(unkObjStruct*, u8);
void fn_1_D24C(unkObjStruct*, f32, f32);
void fn_1_D34C(omObjData*, unkObjStruct*);
void fn_1_D7F8(omObjData*, unkObjStruct*);
void fn_1_E034(omObjData*, unkObjStruct*);
u8 fn_1_E8AC(omObjData*, unkObjStruct*);
s32 fn_1_ED88(omObjData*, s16, u32);
void fn_1_AE08(Process *);
void fn_1_AEE4(omObjData *);
void fn_1_B17C(omObjData *);
void fn_1_B180(omObjData *);
void fn_1_B3A4(omObjData *);
void fn_1_B884(omObjData *, unkObjStruct *);
void fn_1_C1D4(omObjData *, unkObjStruct *);
void fn_1_C944(omObjData *, unkObjStruct *);
s16 fn_1_CFAC(unkObjStruct *, u8);
void fn_1_D24C(unkObjStruct *, float, float);
void fn_1_D34C(omObjData *, unkObjStruct *);
void fn_1_D7F8(omObjData *, unkObjStruct *);
void fn_1_E034(omObjData *, unkObjStruct *);
u8 fn_1_E8AC(omObjData *, unkObjStruct *);
s32 fn_1_ED88(omObjData *, s16, u32);
void fn_1_EE78(void);
void fn_1_EF50(void);
s16 fn_1_F0FC(void);
void fn_1_F168(void);
void fn_1_F228(void);
u16 fn_1_F4C0(unkObjStruct*, u16);
void fn_1_F4D4(unkObjStruct*, u16, u16);
u16 fn_1_F4C0(unkObjStruct *, u16);
void fn_1_F4D4(unkObjStruct *, u16, u16);
s32 fn_1_F4FC(s32);
#endif

View file

@ -3,8 +3,9 @@
#include "dolphin/types.h"
#include "game/process.h"
#include "game/object.h"
#include "game/process.h"
////// TYPES //////
typedef struct _unkStruct {
@ -17,26 +18,26 @@ typedef struct _unkStruct {
s32 unk14;
s32 unk18;
s32 unk1C;
struct _unkStruct6* unk20;
struct _unkStruct9* unk24;
struct _unkStruct5* unk28;
struct _unkStruct8* unk2C[2];
struct _unkStruct4* unk34;
struct _unkStruct4* unk38[23];
struct _unkStruct6 *unk20;
struct _unkStruct9 *unk24;
struct _unkStruct5 *unk28;
struct _unkStruct8 *unk2C[2];
struct _unkStruct4 *unk34;
struct _unkStruct4 *unk38[23];
s32 unk94;
Process* unk98;
Process *unk98;
} unkStruct;
typedef struct _unkStruct2 {
void** unk0;
void **unk0;
s32 unk4;
s32 unk8;
} unkStruct2;
typedef struct _unkStruct3 {
void* unk0;
struct _unkStruct3* unk4;
struct _unkStruct3* unk8;
void *unk0;
struct _unkStruct3 *unk4;
struct _unkStruct3 *unk8;
} unkStruct3;
typedef struct _unkStruct4 {
@ -52,9 +53,9 @@ typedef struct _unkStruct4 {
Vec unk34;
Vec unk40;
Vec unk4C;
f32 unk58;
f32 unk5C;
f32 unk60;
float unk58;
float unk5C;
float unk60;
s32 unk64;
s32 unk68;
s32 unk6C;
@ -62,24 +63,24 @@ typedef struct _unkStruct4 {
s32 unk74;
s32 unk78;
s32 unk7C;
f32 unk80;
f32 unk84;
f32 unk88;
f32 unk8C;
f32 unk90;
f32 unk94;
float unk80;
float unk84;
float unk88;
float unk8C;
float unk90;
float unk94;
} unkStruct4;
typedef struct _unkStruct5 {
unkStruct2* unk0;
unkStruct2 *unk0;
Vec unk4;
} unkStruct5;
typedef struct _unkStruct6 {
struct _unkStruct7* unk0;
struct _unkStruct7 *unk0;
s16 unk4;
s16 unk6;
unkStruct4* unk8[21];
unkStruct4 *unk8[21];
s32 unk5C;
s32 unk60;
s32 unk64;
@ -100,16 +101,16 @@ typedef struct _unkStruct7 {
Vec unk20;
Vec unk2C;
Vec unk38;
f32 unk44;
float unk44;
u8 unk48;
f32 unk4C;
f32 unk50;
float unk4C;
float unk50;
} unkStruct7;
typedef struct _unkStruct8 {
s32 unk0;
unkStruct6* unk4;
unkStruct7* unk8;
unkStruct6 *unk4;
unkStruct7 *unk8;
s32 unkC;
s32 unk10;
s32 unk14;
@ -118,13 +119,13 @@ typedef struct _unkStruct8 {
s32 unk20;
s32 unk24;
s32 unk28;
unkStruct4* unk2C[3];
unkStruct4 *unk2C[3];
s32 unk38;
s16 unk3C[2];
s16 unk40[4];
Vec unk48;
Vec unk54;
f32 unk60;
float unk60;
u8 unk64;
u8 unk65;
u8 unk66;
@ -141,10 +142,10 @@ typedef struct _unkStruct8 {
Vec unk9C;
Vec unkA8;
s32 unkB4;
f32 unkB8;
f32 unkBC;
f32 unkC0;
f32 unkC4;
float unkB8;
float unkBC;
float unkC0;
float unkC4;
s32 unkC8;
} unkStruct8;
@ -152,8 +153,8 @@ typedef struct _unkStruct9 {
s16 unk0[5];
s16 unkA[2];
s16 unkE;
f32 unk10;
f32 unk14;
float unk10;
float unk14;
s32 unk18;
s32 unk1C;
s32 unk20;
@ -169,141 +170,141 @@ typedef struct _unkStruct10 {
} unkStruct10;
typedef void (*m446Func)(s32);
typedef void (*m446Func1)(unkStruct*);
typedef void (*m446Func4)(unkStruct4*);
typedef void (*m446Func8)(unkStruct8*);
typedef void (*m446Func1)(unkStruct *);
typedef void (*m446Func4)(unkStruct4 *);
typedef void (*m446Func8)(unkStruct8 *);
////// PROTOTYPES //////
// main.c
void ObjectSetup(void);
void fn_1_13C(omObjData*);
unkStruct* m446FlowCreate(void);
void fn_1_3FC(unkStruct*);
void fn_1_4B4(unkStruct*);
void fn_1_53C(unkStruct*);
void fn_1_958(unkStruct*);
void fn_1_B78(unkStruct*);
void fn_1_C0C(unkStruct*);
void fn_1_CA0(unkStruct*);
s32 fn_1_17FC(unkStruct*);
void fn_1_183C(unkStruct*);
void fn_1_1874(unkStruct*);
void fn_1_18B0(unkStruct*);
void fn_1_13C(omObjData *);
unkStruct *m446FlowCreate(void);
void fn_1_3FC(unkStruct *);
void fn_1_4B4(unkStruct *);
void fn_1_53C(unkStruct *);
void fn_1_958(unkStruct *);
void fn_1_B78(unkStruct *);
void fn_1_C0C(unkStruct *);
void fn_1_CA0(unkStruct *);
s32 fn_1_17FC(unkStruct *);
void fn_1_183C(unkStruct *);
void fn_1_1874(unkStruct *);
void fn_1_18B0(unkStruct *);
void fn_1_19D4(void);
// card.c
unkStruct2* fn_1_1C64(s32);
void fn_1_1CF8(unkStruct2*);
s32 fn_1_1D30(unkStruct2*, void*);
s32 fn_1_1D6C(unkStruct2*, unkStruct4**);
s32 fn_1_1DA8(unkStruct2*, void**);
BOOL fn_1_1DDC(unkStruct2*);
s32 fn_1_1DEC(unkStruct2*);
unkStruct3* fn_1_1DF4(void*);
void fn_1_1E5C(unkStruct3*);
void fn_1_1E84(unkStruct3**);
void fn_1_1EC8(unkStruct3*, unkStruct3*);
void fn_1_1F04(unkStruct3*);
void fn_1_1F38(u8*, u8*, s32);
void fn_1_1F84(u8*, s8, s32);
void fn_1_1FC0(u8*, s32);
s32 fn_1_1FFC(s8*, s8*, s32);
unkStruct2 *fn_1_1C64(s32);
void fn_1_1CF8(unkStruct2 *);
s32 fn_1_1D30(unkStruct2 *, void *);
s32 fn_1_1D6C(unkStruct2 *, unkStruct4 **);
s32 fn_1_1DA8(unkStruct2 *, void **);
BOOL fn_1_1DDC(unkStruct2 *);
s32 fn_1_1DEC(unkStruct2 *);
unkStruct3 *fn_1_1DF4(void *);
void fn_1_1E5C(unkStruct3 *);
void fn_1_1E84(unkStruct3 **);
void fn_1_1EC8(unkStruct3 *, unkStruct3 *);
void fn_1_1F04(unkStruct3 *);
void fn_1_1F38(u8 *, u8 *, s32);
void fn_1_1F84(u8 *, s8, s32);
void fn_1_1FC0(u8 *, s32);
s32 fn_1_1FFC(s8 *, s8 *, s32);
s32 fn_1_2064(void);
void fn_1_207C(void);
void fn_1_20D4(void);
unkStruct4* m446CardCreate(s32);
void fn_1_2688(unkStruct4*);
void fn_1_272C(unkStruct4*);
void fn_1_2794(unkStruct4*);
void fn_1_27FC(unkStruct4*, Vec*, s32);
void fn_1_2890(unkStruct4*, Vec*, s32, s32);
void fn_1_2928(unkStruct4*, Vec*, s32);
void fn_1_29B4(unkStruct4*, f32, s32);
void fn_1_2A1C(unkStruct4*);
void fn_1_2A58(unkStruct4*);
void fn_1_2A94(unkStruct4*);
void fn_1_2AA8(unkStruct4*);
void fn_1_2D94(unkStruct4*);
void fn_1_2DA8(unkStruct4*);
void fn_1_2EC0(unkStruct4*, s32);
void fn_1_2F64(unkStruct4*);
unkStruct4 *m446CardCreate(s32);
void fn_1_2688(unkStruct4 *);
void fn_1_272C(unkStruct4 *);
void fn_1_2794(unkStruct4 *);
void fn_1_27FC(unkStruct4 *, Vec *, s32);
void fn_1_2890(unkStruct4 *, Vec *, s32, s32);
void fn_1_2928(unkStruct4 *, Vec *, s32);
void fn_1_29B4(unkStruct4 *, float, s32);
void fn_1_2A1C(unkStruct4 *);
void fn_1_2A58(unkStruct4 *);
void fn_1_2A94(unkStruct4 *);
void fn_1_2AA8(unkStruct4 *);
void fn_1_2D94(unkStruct4 *);
void fn_1_2DA8(unkStruct4 *);
void fn_1_2EC0(unkStruct4 *, s32);
void fn_1_2F64(unkStruct4 *);
// deck.c
unkStruct5* fn_1_3064(void);
void fn_1_3180(unkStruct2**);
void fn_1_31D8(unkStruct2**, unkStruct4**, s32*, s32);
void fn_1_34A0(unkStruct5*, unkStruct4**, s32, s32);
s32 m446DeckPushCard(unkStruct5*, unkStruct4*, s32);
s32 m446DeckPopCard(unkStruct2**, unkStruct4**);
void fn_1_38B0(unkStruct2**);
unkStruct5 *fn_1_3064(void);
void fn_1_3180(unkStruct2 **);
void fn_1_31D8(unkStruct2 **, unkStruct4 **, s32 *, s32);
void fn_1_34A0(unkStruct5 *, unkStruct4 **, s32, s32);
s32 m446DeckPushCard(unkStruct5 *, unkStruct4 *, s32);
s32 m446DeckPopCard(unkStruct2 **, unkStruct4 **);
void fn_1_38B0(unkStruct2 **);
s32 fn_1_38F0(void);
// table.c
s32 fn_1_3924(void);
void fn_1_393C(void);
void fn_1_3994(void);
unkStruct6* fn_1_39D0(void);
void fn_1_3B4C(unkStruct6*);
s32 fn_1_3BF0(unkStruct6*, unkStruct4*, s32);
s32 fn_1_3EB4(unkStruct6*, unkStruct4*, s32);
s32 fn_1_3FD0(unkStruct6*, s32, unkStruct4**);
void fn_1_4000(unkStruct6*, s32);
s32 fn_1_4088(unkStruct6*, u8, u8, s32, unkStruct4**, s32);
void fn_1_46AC(unkStruct6*);
void fn_1_46D0(unkStruct6*);
s32 fn_1_4720(unkStruct6*, s32);
void fn_1_4798(unkStruct6*);
unkStruct6 *fn_1_39D0(void);
void fn_1_3B4C(unkStruct6 *);
s32 fn_1_3BF0(unkStruct6 *, unkStruct4 *, s32);
s32 fn_1_3EB4(unkStruct6 *, unkStruct4 *, s32);
s32 fn_1_3FD0(unkStruct6 *, s32, unkStruct4 **);
void fn_1_4000(unkStruct6 *, s32);
s32 fn_1_4088(unkStruct6 *, u8, u8, s32, unkStruct4 **, s32);
void fn_1_46AC(unkStruct6 *);
void fn_1_46D0(unkStruct6 *);
s32 fn_1_4720(unkStruct6 *, s32);
void fn_1_4798(unkStruct6 *);
// player.c
s32 fn_1_480C(void);
void fn_1_4824(void);
void fn_1_487C(void);
unkStruct8* m446PlayerCreate(s32, unkStruct6*);
void fn_1_509C(unkStruct8*);
s32 m446PlayerAppendCard(unkStruct8*, unkStruct4*, s32);
s32 m446PlayerRemoveCard(unkStruct8*, unkStruct4*, s32);
s32 fn_1_5648(unkStruct8*, s32, unkStruct4**);
s32 fn_1_5678(unkStruct8*, unkStruct4**, s32);
void fn_1_5B34(unkStruct8*);
void fn_1_5B48(unkStruct8*);
void fn_1_5C10(unkStruct8*);
void fn_1_5C24(unkStruct8*);
void fn_1_5CEC(unkStruct8*);
void fn_1_5D00(unkStruct8*);
void fn_1_5E54(unkStruct8*, s32);
void fn_1_6074(unkStruct8*);
void fn_1_6264(unkStruct8*, Vec*, s32);
void fn_1_62F0(unkStruct8*, Vec*, s32);
void fn_1_637C(unkStruct8*, s32);
void fn_1_64BC(unkStruct8*, s32, s32);
void fn_1_6578(unkStruct8*);
void fn_1_6620(unkStruct8*);
unkStruct8 *m446PlayerCreate(s32, unkStruct6 *);
void fn_1_509C(unkStruct8 *);
s32 m446PlayerAppendCard(unkStruct8 *, unkStruct4 *, s32);
s32 m446PlayerRemoveCard(unkStruct8 *, unkStruct4 *, s32);
s32 fn_1_5648(unkStruct8 *, s32, unkStruct4 **);
s32 fn_1_5678(unkStruct8 *, unkStruct4 **, s32);
void fn_1_5B34(unkStruct8 *);
void fn_1_5B48(unkStruct8 *);
void fn_1_5C10(unkStruct8 *);
void fn_1_5C24(unkStruct8 *);
void fn_1_5CEC(unkStruct8 *);
void fn_1_5D00(unkStruct8 *);
void fn_1_5E54(unkStruct8 *, s32);
void fn_1_6074(unkStruct8 *);
void fn_1_6264(unkStruct8 *, Vec *, s32);
void fn_1_62F0(unkStruct8 *, Vec *, s32);
void fn_1_637C(unkStruct8 *, s32);
void fn_1_64BC(unkStruct8 *, s32, s32);
void fn_1_6578(unkStruct8 *);
void fn_1_6620(unkStruct8 *);
// camera.c
s32 fn_1_6778(void);
void fn_1_68D8(void);
void fn_1_68DC(void);
void fn_1_6EA0(Vec*);
void fn_1_6EC4(Vec*);
void fn_1_6EE8(f32);
void fn_1_6EF8(Vec*, Vec*, f32*, s32);
void fn_1_6EA0(Vec *);
void fn_1_6EC4(Vec *);
void fn_1_6EE8(float);
void fn_1_6EF8(Vec *, Vec *, float *, s32);
s32 fn_1_708C(void);
void fn_1_709C(void);
// cursor.c
s32 fn_1_72E0(void);
void fn_1_72F8(void);
void fn_1_7350(void);
unkStruct7* m446CursorCreate(s32);
void fn_1_76E8(unkStruct7*);
void fn_1_77C8(unkStruct7*, u8);
void fn_1_7884(unkStruct7*);
void fn_1_7908(unkStruct7*, Vec*, s32);
void fn_1_799C(unkStruct7*);
void fn_1_7A38(unkStruct7*);
void fn_1_7AB4(unkStruct7*);
unkStruct7 *m446CursorCreate(s32);
void fn_1_76E8(unkStruct7 *);
void fn_1_77C8(unkStruct7 *, u8);
void fn_1_7884(unkStruct7 *);
void fn_1_7908(unkStruct7 *, Vec *, s32);
void fn_1_799C(unkStruct7 *);
void fn_1_7A38(unkStruct7 *);
void fn_1_7AB4(unkStruct7 *);
// stage.c
s32 fn_1_7BF0(void);
void fn_1_7C08(void);
void fn_1_7C60(void);
unkStruct9* m446StageCreate(void);
void fn_1_83F0(unkStruct9*);
void fn_1_84AC(unkStruct9*);
void fn_1_852C(unkStruct9*);
void fn_1_860C(unkStruct9*);
unkStruct9 *m446StageCreate(void);
void fn_1_83F0(unkStruct9 *);
void fn_1_84AC(unkStruct9 *);
void fn_1_852C(unkStruct9 *);
void fn_1_860C(unkStruct9 *);
#endif

View file

@ -4,16 +4,16 @@
#include "game/object.h"
extern s32 lbl_1_data_0[][4];
//the prev and current struct member might be vice versa
// the prev and current struct member might be vice versa
typedef struct MentDllUnkBss64Struct {
/* 0x00 */ void (*func)(void);
/* 0x04 */ void (*func2)(f32 arg9);
/* 0x04 */ void (*func2)(float arg9);
/* 0x08 */ Vec center;
/* 0x14 */ Vec prevCenter;
/* 0x20 */ Vec rot;
/* 0x2C */ Vec prevRot;
/* 0x38 */ float zoom;
/* 0x3C */ f32 prevZoom;
/* 0x3C */ float prevZoom;
/* 0x40 */ s32 unk_40;
} MentDllUnkBss64Struct; /* size = 0x44 */
extern MentDllUnkBss64Struct lbl_1_bss_64;
@ -36,10 +36,10 @@ s32 fn_1_1DD8(s32 arg0, s32 arg1, s32 arg2);
s32 fn_1_2154(s32 arg0);
void fn_1_2318(s32 arg0);
void fn_1_2808(void (*arg0)(void));
void fn_1_2844(Process* arg0, void (*arg1)(void));
void fn_1_29A0(MentDllUnkBss64Struct* arg0);
void fn_1_4138(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9, f32 argA);
void fn_1_5150(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9, f32 argA);
void fn_1_2844(Process *arg0, void (*arg1)(void));
void fn_1_29A0(MentDllUnkBss64Struct *arg0);
void fn_1_4138(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, float arg8, float arg9, float argA);
void fn_1_5150(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, float arg8, float arg9, float argA);
void fn_1_5818(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void fn_1_59A0(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void fn_1_5C08(omObjData *arg0);

View file

@ -2,8 +2,8 @@
#define REL_MODELTEST_H
#include "game/hsfdraw.h"
#include "game/objsub.h"
#include "game/object.h"
#include "game/objsub.h"
#include "ext_math.h"
@ -11,36 +11,34 @@
#define US_PER_60TH_SEC (1000000.0f / 60.0f)
#define US_TO_60TH_SEC(us) ((us) / US_PER_60TH_SEC)
#define FB_SIZE(width, height) width * height * 2
#define FB_SIZE(width, height) width *height * 2
// -------------------------------------------------------------------------- //
typedef struct
{
typedef struct {
s16 unk0[7];
} HuUnkF9C2;
typedef struct
{
Point3d pos; // 0000
Point3d rot; // 000C
Point3d scale; // 0018
typedef struct {
Vec pos; // 0000
Vec rot; // 000C
Vec scale; // 0018
s32 unk24;
s32 unk28;
s32 unk2C;
HsfObject * obj; // 0030
HsfObject *obj; // 0030
} HuObjUnk;
extern Point3d CRot;
extern Point3d Center;
extern f32 CZoom;
extern Vec CRot;
extern Vec Center;
extern float CZoom;
void fn_1_29C();
void fn_1_28F8(Point3d * arg0, Point3d * arg1);
void fn_1_37DC(omObjData*);
void fn_1_439C(omObjData*);
void fn_1_28F8(Vec *arg0, Vec *arg1);
void fn_1_37DC(omObjData *);
void fn_1_439C(omObjData *);
void fn_1_46F0();
typedef void (omObjFunc2)(struct om_obj_data *);
typedef void(omObjFunc2)(struct om_obj_data *);
omObjFunc2 fn_1_F9C;
#endif

View file

@ -1,50 +1,48 @@
#ifndef W02DLL
#define W02DLL
#include "math.h"
#include "dolphin.h"
#include "game/process.h"
#include "game/gamework_data.h"
#include "game/board/model.h"
#include "game/board/space.h"
#include "game/board/main.h"
#include "game/board/player.h"
#include "game/board/window.h"
#include "game/board/map_object.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/window.h"
#include "game/gamework_data.h"
#include "game/process.h"
#include "math.h"
/* STRUCTS*/
typedef struct m02_dice {
/* 0x00 */ s16 unk00;
/* 0x02 */ s16 unk02;
/* 0x04 */ s32 unk04;
/* 0x08 */ s32 *unk08;
/* 0x0C */ Vec unk0C;
/* 0x18 */ s16 unk18;
/* 0x1A */ s16 unk1A;
/* 0x1C */ u16 unk1C[3];
/* 0x22 */ s16 unk22;
/* 0x24 */ f32 unk24;
/* 0x28 */ s16 unk28;
/* 0x2A */ u8 unk2A[0x2];
/* 0x2C */ Process *unk2C;
/* 0x30 */ s16 unk30[3];
/* 0x36 */ s16 unk36[3];
/* 0x3C */ omObjData *unk3C[3];
/* 0x48 */ s16 unk48[3];
/* 0x4E */ u8 unk4E[0x2];
/* 0x50 */ omObjData *unk50[3];
/* 0x5C */ u8 unk5C[0x08];
/* 0x64 */ Vec unk64[2];
/* 0x7C */ Vec unk7C;
/* 0x88 */ s32 unk88[3];
/* 0x94 */ s16 unk94;
/* 0x96 */ s16 unk96;
/* 0x98 */ f32 unk98;
/* 0x9C */ s16 unk9C;
/* 0x00 */ s16 unk00;
/* 0x02 */ s16 unk02;
/* 0x04 */ s32 unk04;
/* 0x08 */ s32 *unk08;
/* 0x0C */ Vec unk0C;
/* 0x18 */ s16 unk18;
/* 0x1A */ s16 unk1A;
/* 0x1C */ u16 unk1C[3];
/* 0x22 */ s16 unk22;
/* 0x24 */ float unk24;
/* 0x28 */ s16 unk28;
/* 0x2A */ u8 unk2A[0x2];
/* 0x2C */ Process *unk2C;
/* 0x30 */ s16 unk30[3];
/* 0x36 */ s16 unk36[3];
/* 0x3C */ omObjData *unk3C[3];
/* 0x48 */ s16 unk48[3];
/* 0x4E */ u8 unk4E[0x2];
/* 0x50 */ omObjData *unk50[3];
/* 0x5C */ u8 unk5C[0x08];
/* 0x64 */ Vec unk64[2];
/* 0x7C */ Vec unk7C;
/* 0x88 */ s32 unk88[3];
/* 0x94 */ s16 unk94;
/* 0x96 */ s16 unk96;
/* 0x98 */ float unk98;
/* 0x9C */ s16 unk9C;
} m02GenDice;
extern s16 lbl_1_bss_2E;
extern s16 lbl_1_bss_2C;
extern Vec lbl_1_bss_20;
@ -61,9 +59,9 @@ extern void fn_1_92C();
extern s32 fn_1_1128();
extern void fn_1_121C(u32);
void fn_1_1254(m02GenDice* arg0);
void fn_1_1518(m02GenDice* arg0);
s32 fn_1_17F4(m02GenDice* arg0);
void fn_1_1254(m02GenDice *arg0);
void fn_1_1518(m02GenDice *arg0);
s32 fn_1_17F4(m02GenDice *arg0);
// roulette.c
extern void fn_1_D3AC();
@ -81,9 +79,9 @@ extern void fn_1_8244(u16 arg0);
extern s32 fn_1_9250();
extern void fn_1_93C8(u32 arg0);
extern void fn_1_BC1C();
extern s32 fn_1_BE88();
extern s32 fn_1_C108(s32);
extern s32 fn_1_BE88();
extern s32 fn_1_C108(s32);
extern void fn_1_CD04(s32);
void fn_1_E41C(void);
#endif //W02DLL
#endif // W02DLL

View file

@ -51,7 +51,7 @@ void fn_1_D84(void);
void fn_1_E04(void);
void fn_1_E40(void);
s32 fn_1_1114(void);
s32 fn_1_1208(s16, f32, f32);
s32 fn_1_1208(s16, float, float);
void fn_1_13D4(void);
void fn_1_14D0(void);
@ -70,64 +70,64 @@ void fn_1_3E8C(void);
void fn_1_3F74(void);
void fn_1_3FD8(void);
void fn_1_4034(s32);
void fn_1_4EB4(s32, s32, Vec*);
void fn_1_4EB4(s32, s32, Vec *);
void fn_1_5648(void);
void fn_1_5794(s32, s32, Vec*);
void fn_1_5794(s32, s32, Vec *);
void fn_1_6670(void);
omObjData* fn_1_66C0(u32, Vec*);
void fn_1_6914(omObjData*);
void fn_1_62AC(s32, Vec*);
omObjData *fn_1_66C0(u32, Vec *);
void fn_1_6914(omObjData *);
void fn_1_62AC(s32, Vec *);
void fn_1_64BC(void);
void fn_1_65E8(void);
void fn_1_6670(void);
omObjData* fn_1_66C0(u32, Vec*);
void fn_1_6914(omObjData*);
omObjData *fn_1_66C0(u32, Vec *);
void fn_1_6914(omObjData *);
void fn_1_6B28(void);
void fn_1_6B7C(void);
void fn_1_7284(omObjData*);
void fn_1_7284(omObjData *);
void fn_1_72E4(void);
void fn_1_7314(void);
void fn_1_73C0(void);
void fn_1_74D0(s16[3]);
void fn_1_77B0(void);
void fn_1_78A0(omObjData*);
void fn_1_7928(omObjData*);
void fn_1_78A0(omObjData *);
void fn_1_7928(omObjData *);
void fn_1_799C(void);
void fn_1_7E4C(omObjData*);
void fn_1_7E94(dataCopy*);
void fn_1_7F04(omObjData*);
void fn_1_80D8(omObjData*);
void fn_1_8410(omObjData*);
void fn_1_850C(omObjData*);
void fn_1_8668(omObjData*);
void fn_1_8798(dataCopy*, s32*, s32*, s32*);
void* fn_1_8884(void);
void fn_1_7E4C(omObjData *);
void fn_1_7E94(dataCopy *);
void fn_1_7F04(omObjData *);
void fn_1_80D8(omObjData *);
void fn_1_8410(omObjData *);
void fn_1_850C(omObjData *);
void fn_1_8668(omObjData *);
void fn_1_8798(dataCopy *, s32 *, s32 *, s32 *);
void *fn_1_8884(void);
void fn_1_88B8(void);
void fn_1_896C(void);
void fn_1_91DC(void);
void fn_1_9268(ModelData*, ParticleData*, f32[3][4]);
void fn_1_9268(ModelData *, ParticleData *, float[3][4]);
void fn_1_9680(void);
void fn_1_96B4(void);
void fn_1_9760(void);
void fn_1_97AC(void);
void fn_1_9A68(omObjData*);
void fn_1_9A68(omObjData *);
void fn_1_9AC0(void);
void fn_1_9AF0(void);
void fn_1_9B74(void);
void fn_1_9C24(omObjData*);
void fn_1_9C98(dataCopy2*);
void fn_1_9D0C(omObjData*);
void fn_1_9F24(omObjData*);
void fn_1_A224(omObjData*);
void fn_1_A4F8(omObjData*);
void fn_1_A5B0(omObjData*);
void fn_1_A990(omObjData*);
void fn_1_9C24(omObjData *);
void fn_1_9C98(dataCopy2 *);
void fn_1_9D0C(omObjData *);
void fn_1_9F24(omObjData *);
void fn_1_A224(omObjData *);
void fn_1_A4F8(omObjData *);
void fn_1_A5B0(omObjData *);
void fn_1_A990(omObjData *);
void fn_1_AB24(void);
void fn_1_B214(omObjData*);
void fn_1_B2B0(omObjData*, u16*, s16*);
void fn_1_B3C4(omObjData*);
void fn_1_B214(omObjData *);
void fn_1_B2B0(omObjData *, u16 *, s16 *);
void fn_1_B3C4(omObjData *);
// data
extern BoardMapObject lbl_1_data_0[7];
@ -164,7 +164,7 @@ extern char *lbl_1_data_330[3];
extern s32 lbl_1_data_350[14];
extern s32 lbl_1_data_350[14];
extern s16 lbl_1_data_388[92];
extern f32 lbl_1_data_440[3];
extern float lbl_1_data_440[3];
extern char *lbl_1_data_464[3];
extern s32 lbl_1_data_470[3];
@ -179,9 +179,9 @@ extern s16 lbl_1_bss_100;
extern s16 lbl_1_bss_FE;
extern s16 lbl_1_bss_D6[20];
extern s16 lbl_1_bss_D4;
extern omObjData* lbl_1_bss_D0;
extern omObjData* lbl_1_bss_CC;
extern omObjData* lbl_1_bss_C8;
extern omObjData *lbl_1_bss_D0;
extern omObjData *lbl_1_bss_CC;
extern omObjData *lbl_1_bss_C8;
extern s16 lbl_1_bss_C6;
extern s16 lbl_1_bss_C4;
extern s16 lbl_1_bss_C2;
@ -196,13 +196,13 @@ extern s16 lbl_1_bss_A4[3];
extern s16 lbl_1_bss_A2;
extern s16 lbl_1_bss_9E[2];
extern s16 lbl_1_bss_9C;
extern Process* lbl_1_bss_98;
extern omObjData* lbl_1_bss_94;
extern omObjData* lbl_1_bss_90;
extern omObjData* lbl_1_bss_8C;
extern Process *lbl_1_bss_98;
extern omObjData *lbl_1_bss_94;
extern omObjData *lbl_1_bss_90;
extern omObjData *lbl_1_bss_8C;
extern s32 lbl_1_bss_88;
extern s32 lbl_1_bss_7C[3];
extern AnimData* lbl_1_bss_78;
extern AnimData *lbl_1_bss_78;
extern s16 lbl_1_bss_72[2];
extern s16 lbl_1_bss_6C[3];
@ -221,9 +221,9 @@ extern s16 lbl_1_bss_30[4];
extern s16 lbl_1_bss_28;
extern s16 lbl_1_bss_14[7];
extern s32* lbl_1_bss_10;
extern s32 *lbl_1_bss_10;
extern s16 lbl_1_bss_8[4];
extern Process* lbl_1_bss_4;
extern bitcopy* lbl_1_bss_0;
extern Process *lbl_1_bss_4;
extern bitcopy *lbl_1_bss_0;
#endif

View file

@ -9,7 +9,7 @@
enum {
MAPOBJ_MELON = 0,
MAPOBJ_MAX,
MAPOBJ_MAX
};
typedef struct w10_board_work {

View file

@ -20,7 +20,7 @@ enum {
TITLE_COPYRIGHT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 10),
TITLE_CHAR_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 11),
TITLE_CUBE_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 12),
TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13),
TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13)
};
#else
@ -54,7 +54,7 @@ enum {
TITLE_LANGUAGE_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 25),
TITLE_LANGUAGE_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 26),
TITLE_LANGUAGE_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 27),
TITLE_LANGUAGE_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 28),
TITLE_LANGUAGE_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 28)
};
#endif

View file

@ -36,7 +36,7 @@ enum {
WIN_CARD_BOX2_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 29),
WIN_CARD_BOX3_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 30),
WIN_CARD_BANNER_ANM = DATA_MAKE_NUM(DATADIR_WIN, 31),
WIN_SAVE_BG_ANM = DATA_MAKE_NUM(DATADIR_WIN, 32),
WIN_SAVE_BG_ANM = DATA_MAKE_NUM(DATADIR_WIN, 32)
};
#endif

View file

@ -5,7 +5,7 @@
typedef enum {
DMTF_POINTSAMPLE,
DMTF_BILERP,
DMTF_BILERP
} DMTexFlt;
typedef enum { DM_FT_OPQ, DM_FT_RVS, DM_FT_XLU } DMFontType;

View file

@ -11,7 +11,7 @@ typedef enum DEMO_STAT_TYPE {
DEMO_STAT_TBW = 6,
DEMO_STAT_TBP = 7,
DEMO_STAT_MYC = 8,
DEMO_STAT_MYR = 9,
DEMO_STAT_MYR = 9
} DEMO_STAT_TYPE;
typedef struct DemoStatData {
@ -26,7 +26,7 @@ typedef enum {
DEMO_STAT_BL = 1,
DEMO_STAT_TLD = 2,
DEMO_STAT_BLD = 3,
DEMO_STAT_IO = 4,
DEMO_STAT_IO = 4
} DEMO_STAT_DISP;
extern unsigned char DemoStatEnable;

View file

@ -23,7 +23,7 @@ typedef u8 GXBool;
typedef enum _GXProjectionType {
GX_PERSPECTIVE,
GX_ORTHOGRAPHIC,
GX_ORTHOGRAPHIC
} GXProjectionType;
typedef enum _GXCompare {
@ -34,7 +34,7 @@ typedef enum _GXCompare {
GX_GREATER,
GX_NEQUAL,
GX_GEQUAL,
GX_ALWAYS,
GX_ALWAYS
} GXCompare;
typedef enum _GXAlphaOp {
@ -42,20 +42,20 @@ typedef enum _GXAlphaOp {
GX_AOP_OR,
GX_AOP_XOR,
GX_AOP_XNOR,
GX_MAX_ALPHAOP,
GX_MAX_ALPHAOP
} GXAlphaOp;
typedef enum _GXZFmt16 {
GX_ZC_LINEAR,
GX_ZC_NEAR,
GX_ZC_MID,
GX_ZC_FAR,
GX_ZC_FAR
} GXZFmt16;
typedef enum _GXGamma {
GX_GM_1_0,
GX_GM_1_7,
GX_GM_2_2,
GX_GM_2_2
} GXGamma;
typedef enum _GXPixelFmt {
@ -66,7 +66,7 @@ typedef enum _GXPixelFmt {
GX_PF_Y8,
GX_PF_U8,
GX_PF_V8,
GX_PF_YUV420,
GX_PF_YUV420
} GXPixelFmt;
typedef enum _GXPrimitive {
@ -76,7 +76,7 @@ typedef enum _GXPrimitive {
GX_TRIANGLEFAN = 0xA0,
GX_LINES = 0xA8,
GX_LINESTRIP = 0xB0,
GX_POINTS = 0xB8,
GX_POINTS = 0xB8
} GXPrimitive;
typedef enum _GXVtxFmt {
@ -88,7 +88,7 @@ typedef enum _GXVtxFmt {
GX_VTXFMT5,
GX_VTXFMT6,
GX_VTXFMT7,
GX_MAX_VTXFMT,
GX_MAX_VTXFMT
} GXVtxFmt;
typedef enum _GXAttr {
@ -119,7 +119,7 @@ typedef enum _GXAttr {
GX_LIGHT_ARRAY,
GX_VA_NBT,
GX_VA_MAX_ATTR,
GX_VA_NULL = 0xFF,
GX_VA_NULL = 0xFF
} GXAttr;
#define GX_MAX_VTXDESCLIST_SZ (GX_VA_MAX_ATTR + 1)
@ -128,7 +128,7 @@ typedef enum _GXAttrType {
GX_NONE,
GX_DIRECT,
GX_INDEX8,
GX_INDEX16,
GX_INDEX16
} GXAttrType;
#define _GX_TF_CTF 0x20
@ -164,20 +164,20 @@ typedef enum _GXTexFmt {
GX_CTF_Z8L = 0xA | _GX_TF_ZTF | _GX_TF_CTF,
GX_CTF_Z16L = 0xC | _GX_TF_ZTF | _GX_TF_CTF,
GX_TF_A8 = GX_CTF_A8,
GX_TF_A8 = GX_CTF_A8
} GXTexFmt;
typedef enum _GXCITexFmt {
GX_TF_C4 = 0x8,
GX_TF_C8 = 0x9,
GX_TF_C14X2 = 0xa,
GX_TF_C14X2 = 0xa
} GXCITexFmt;
typedef enum _GXTexWrapMode {
GX_CLAMP,
GX_REPEAT,
GX_MIRROR,
GX_MAX_TEXWRAPMODE,
GX_MAX_TEXWRAPMODE
} GXTexWrapMode;
typedef enum _GXTexFilter {
@ -186,14 +186,14 @@ typedef enum _GXTexFilter {
GX_NEAR_MIP_NEAR,
GX_LIN_MIP_NEAR,
GX_NEAR_MIP_LIN,
GX_LIN_MIP_LIN,
GX_LIN_MIP_LIN
} GXTexFilter;
typedef enum _GXAnisotropy {
GX_ANISO_1,
GX_ANISO_2,
GX_ANISO_4,
GX_MAX_ANISOTROPY,
GX_MAX_ANISOTROPY
} GXAnisotropy;
typedef enum _GXTexMapID {
@ -207,7 +207,7 @@ typedef enum _GXTexMapID {
GX_TEXMAP7,
GX_MAX_TEXMAP,
GX_TEXMAP_NULL = 0xFF,
GX_TEX_DISABLE = 0x100,
GX_TEX_DISABLE = 0x100
} GXTexMapID;
typedef enum _GXTexCoordID {
@ -220,7 +220,7 @@ typedef enum _GXTexCoordID {
GX_TEXCOORD6,
GX_TEXCOORD7,
GX_MAX_TEXCOORD,
GX_TEXCOORD_NULL = 0xFF,
GX_TEXCOORD_NULL = 0xFF
} GXTexCoordID;
typedef enum _GXTevStageID {
@ -240,7 +240,7 @@ typedef enum _GXTevStageID {
GX_TEVSTAGE13,
GX_TEVSTAGE14,
GX_TEVSTAGE15,
GX_MAX_TEVSTAGE,
GX_MAX_TEVSTAGE
} GXTevStageID;
typedef enum _GXTevMode {
@ -248,12 +248,12 @@ typedef enum _GXTevMode {
GX_DECAL,
GX_BLEND,
GX_REPLACE,
GX_PASSCLR,
GX_PASSCLR
} GXTevMode;
typedef enum _GXTexMtxType {
GX_MTX3x4,
GX_MTX2x4,
GX_MTX2x4
} GXTexMtxType;
typedef enum _GXTexGenType {
@ -267,7 +267,7 @@ typedef enum _GXTexGenType {
GX_TG_BUMP5,
GX_TG_BUMP6,
GX_TG_BUMP7,
GX_TG_SRTG,
GX_TG_SRTG
} GXTexGenType;
typedef enum _GXPosNrmMtx {
@ -280,7 +280,7 @@ typedef enum _GXPosNrmMtx {
GX_PNMTX6 = 18,
GX_PNMTX7 = 21,
GX_PNMTX8 = 24,
GX_PNMTX9 = 27,
GX_PNMTX9 = 27
} GXPosNrmMtx;
typedef enum _GXTexMtx {
@ -294,7 +294,7 @@ typedef enum _GXTexMtx {
GX_TEXMTX7 = 51,
GX_TEXMTX8 = 54,
GX_TEXMTX9 = 57,
GX_IDENTITY = 60,
GX_IDENTITY = 60
} GXTexMtx;
typedef enum _GXChannelID {
@ -307,7 +307,7 @@ typedef enum _GXChannelID {
GX_COLOR_ZERO,
GX_ALPHA_BUMP,
GX_ALPHA_BUMPN,
GX_COLOR_NULL = 0xFF,
GX_COLOR_NULL = 0xFF
} GXChannelID;
typedef enum _GXTexGenSrc {
@ -332,7 +332,7 @@ typedef enum _GXTexGenSrc {
GX_TG_TEXCOORD6,
GX_TG_COLOR0,
GX_TG_COLOR1,
GX_MAX_TEXGENSRC,
GX_MAX_TEXGENSRC
} GXTexGenSrc;
typedef enum _GXBlendMode {
@ -340,7 +340,7 @@ typedef enum _GXBlendMode {
GX_BM_BLEND,
GX_BM_LOGIC,
GX_BM_SUBTRACT,
GX_MAX_BLENDMODE,
GX_MAX_BLENDMODE
} GXBlendMode;
typedef enum _GXBlendFactor {
@ -353,7 +353,7 @@ typedef enum _GXBlendFactor {
GX_BL_DSTALPHA,
GX_BL_INVDSTALPHA,
GX_BL_DSTCLR = GX_BL_SRCCLR,
GX_BL_INVDSTCLR = GX_BL_INVSRCCLR,
GX_BL_INVDSTCLR = GX_BL_INVSRCCLR
} GXBlendFactor;
typedef enum _GXLogicOp {
@ -372,7 +372,7 @@ typedef enum _GXLogicOp {
GX_LO_INVCOPY,
GX_LO_INVOR,
GX_LO_NAND,
GX_LO_SET,
GX_LO_SET
} GXLogicOp;
typedef enum _GXCompCnt {
@ -384,7 +384,7 @@ typedef enum _GXCompCnt {
GX_CLR_RGB = 0,
GX_CLR_RGBA = 1,
GX_TEX_S = 0,
GX_TEX_ST = 1,
GX_TEX_ST = 1
} GXCompCnt;
typedef enum _GXCompType {
@ -398,7 +398,7 @@ typedef enum _GXCompType {
GX_RGBX8 = 2,
GX_RGBA4 = 3,
GX_RGBA6 = 4,
GX_RGBA8 = 5,
GX_RGBA8 = 5
} GXCompType;
typedef enum _GXPTTexMtx {
@ -422,7 +422,7 @@ typedef enum _GXPTTexMtx {
GX_PTTEXMTX17 = 115,
GX_PTTEXMTX18 = 118,
GX_PTTEXMTX19 = 121,
GX_PTIDENTITY = 125,
GX_PTIDENTITY = 125
} GXPTTexMtx;
typedef enum _GXTevRegID {
@ -430,24 +430,24 @@ typedef enum _GXTevRegID {
GX_TEVREG0,
GX_TEVREG1,
GX_TEVREG2,
GX_MAX_TEVREG,
GX_MAX_TEVREG
} GXTevRegID;
typedef enum _GXDiffuseFn {
GX_DF_NONE,
GX_DF_SIGN,
GX_DF_CLAMP,
GX_DF_CLAMP
} GXDiffuseFn;
typedef enum _GXColorSrc {
GX_SRC_REG,
GX_SRC_VTX,
GX_SRC_VTX
} GXColorSrc;
typedef enum _GXAttnFn {
GX_AF_SPEC,
GX_AF_SPOT,
GX_AF_NONE,
GX_AF_NONE
} GXAttnFn;
typedef enum _GXLightID {
@ -460,7 +460,7 @@ typedef enum _GXLightID {
GX_LIGHT6 = 0x040,
GX_LIGHT7 = 0x080,
GX_MAX_LIGHT = 0x100,
GX_LIGHT_NULL = 0,
GX_LIGHT_NULL = 0
} GXLightID;
typedef enum _GXTexOffset {
@ -470,7 +470,7 @@ typedef enum _GXTexOffset {
GX_TO_FOURTH,
GX_TO_HALF,
GX_TO_ONE,
GX_MAX_TEXOFFSET,
GX_MAX_TEXOFFSET
} GXTexOffset;
typedef enum _GXSpotFn {
@ -480,21 +480,21 @@ typedef enum _GXSpotFn {
GX_SP_COS2,
GX_SP_SHARP,
GX_SP_RING1,
GX_SP_RING2,
GX_SP_RING2
} GXSpotFn;
typedef enum _GXDistAttnFn {
GX_DA_OFF,
GX_DA_GENTLE,
GX_DA_MEDIUM,
GX_DA_STEEP,
GX_DA_STEEP
} GXDistAttnFn;
typedef enum _GXCullMode {
GX_CULL_NONE,
GX_CULL_FRONT,
GX_CULL_BACK,
GX_CULL_ALL,
GX_CULL_ALL
} GXCullMode;
typedef enum _GXTevSwapSel {
@ -502,14 +502,14 @@ typedef enum _GXTevSwapSel {
GX_TEV_SWAP1,
GX_TEV_SWAP2,
GX_TEV_SWAP3,
GX_MAX_TEVSWAP,
GX_MAX_TEVSWAP
} GXTevSwapSel;
typedef enum _GXTevColorChan {
GX_CH_RED = 0,
GX_CH_GREEN,
GX_CH_BLUE,
GX_CH_ALPHA,
GX_CH_ALPHA
} GXTevColorChan;
typedef enum _GXFogType {
@ -528,7 +528,7 @@ typedef enum _GXFogType {
GX_FOG_EXP = GX_FOG_PERSP_EXP,
GX_FOG_EXP2 = GX_FOG_PERSP_EXP2,
GX_FOG_REVEXP = GX_FOG_PERSP_REVEXP,
GX_FOG_REVEXP2 = GX_FOG_PERSP_REVEXP2,
GX_FOG_REVEXP2 = GX_FOG_PERSP_REVEXP2
} GXFogType;
typedef enum _GXTevColorArg {
@ -547,7 +547,7 @@ typedef enum _GXTevColorArg {
GX_CC_ONE,
GX_CC_HALF,
GX_CC_KONST,
GX_CC_ZERO,
GX_CC_ZERO
} GXTevColorArg;
typedef enum _GXTevAlphaArg {
@ -558,7 +558,7 @@ typedef enum _GXTevAlphaArg {
GX_CA_TEXA,
GX_CA_RASA,
GX_CA_KONST,
GX_CA_ZERO,
GX_CA_ZERO
} GXTevAlphaArg;
typedef enum _GXTevOp {
@ -573,14 +573,14 @@ typedef enum _GXTevOp {
GX_TEV_COMP_RGB8_GT = 14,
GX_TEV_COMP_RGB8_EQ = 15,
GX_TEV_COMP_A8_GT = GX_TEV_COMP_RGB8_GT,
GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ,
GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ
} GXTevOp;
typedef enum _GXTevBias {
GX_TB_ZERO,
GX_TB_ADDHALF,
GX_TB_SUBHALF,
GX_MAX_TEVBIAS,
GX_MAX_TEVBIAS
} GXTevBias;
typedef enum _GXTevScale {
@ -588,7 +588,7 @@ typedef enum _GXTevScale {
GX_CS_SCALE_2,
GX_CS_SCALE_4,
GX_CS_DIVIDE_2,
GX_MAX_TEVSCALE,
GX_MAX_TEVSCALE
} GXTevScale;
typedef enum _GXTevKColorSel {
@ -623,7 +623,7 @@ typedef enum _GXTevKColorSel {
GX_TEV_KCSEL_K0_A = 0x1C,
GX_TEV_KCSEL_K1_A = 0x1D,
GX_TEV_KCSEL_K2_A = 0x1E,
GX_TEV_KCSEL_K3_A = 0x1F,
GX_TEV_KCSEL_K3_A = 0x1F
} GXTevKColorSel;
typedef enum _GXTevKAlphaSel {
@ -654,7 +654,7 @@ typedef enum _GXTevKAlphaSel {
GX_TEV_KASEL_K0_A = 0x1C,
GX_TEV_KASEL_K1_A = 0x1D,
GX_TEV_KASEL_K2_A = 0x1E,
GX_TEV_KASEL_K3_A = 0x1F,
GX_TEV_KASEL_K3_A = 0x1F
} GXTevKAlphaSel;
typedef enum _GXTevKColorID {
@ -662,14 +662,14 @@ typedef enum _GXTevKColorID {
GX_KCOLOR1,
GX_KCOLOR2,
GX_KCOLOR3,
GX_MAX_KCOLOR,
GX_MAX_KCOLOR
} GXTevKColorID;
typedef enum _GXZTexOp {
GX_ZT_DISABLE,
GX_ZT_ADD,
GX_ZT_REPLACE,
GX_MAX_ZTEXOP,
GX_MAX_ZTEXO
} GXZTexOp;
typedef enum _GXIndTexFormat {
@ -677,7 +677,7 @@ typedef enum _GXIndTexFormat {
GX_ITF_5,
GX_ITF_4,
GX_ITF_3,
GX_MAX_ITFORMAT,
GX_MAX_ITFORMAT
} GXIndTexFormat;
typedef enum _GXIndTexBiasSel {
@ -689,7 +689,7 @@ typedef enum _GXIndTexBiasSel {
GX_ITB_SU,
GX_ITB_TU,
GX_ITB_STU,
GX_MAX_ITBIAS,
GX_MAX_ITBIAS
} GXIndTexBiasSel;
typedef enum _GXIndTexAlphaSel {
@ -697,7 +697,7 @@ typedef enum _GXIndTexAlphaSel {
GX_ITBA_S,
GX_ITBA_T,
GX_ITBA_U,
GX_MAX_ITBALPHA,
GX_MAX_ITBALPHA
} GXIndTexAlphaSel;
typedef enum _GXIndTexMtxID {
@ -710,7 +710,7 @@ typedef enum _GXIndTexMtxID {
GX_ITM_S2,
GX_ITM_T0 = 9,
GX_ITM_T1,
GX_ITM_T2,
GX_ITM_T2
} GXIndTexMtxID;
typedef enum _GXIndTexWrap {
@ -721,7 +721,7 @@ typedef enum _GXIndTexWrap {
GX_ITW_32,
GX_ITW_16,
GX_ITW_0,
GX_MAX_ITWRAP,
GX_MAX_ITWRAP
} GXIndTexWrap;
typedef enum _GXIndTexStageID {
@ -729,7 +729,7 @@ typedef enum _GXIndTexStageID {
GX_INDTEXSTAGE1,
GX_INDTEXSTAGE2,
GX_INDTEXSTAGE3,
GX_MAX_INDTEXSTAGE,
GX_MAX_INDTEXSTAGE
} GXIndTexStageID;
typedef enum _GXIndTexScale {
@ -742,12 +742,12 @@ typedef enum _GXIndTexScale {
GX_ITS_64,
GX_ITS_128,
GX_ITS_256,
GX_MAX_ITSCALE,
GX_MAX_ITSCALE
} GXIndTexScale;
typedef enum _GXClipMode {
GX_CLIP_ENABLE = 0,
GX_CLIP_DISABLE = 1,
GX_CLIP_DISABLE = 1
} GXClipMode;
typedef enum _GXTlut {
@ -770,21 +770,21 @@ typedef enum _GXTlut {
GX_BIGTLUT0 = 16,
GX_BIGTLUT1 = 17,
GX_BIGTLUT2 = 18,
GX_BIGTLUT3 = 19,
GX_BIGTLUT3 = 19
} GXTlut;
typedef enum _GXTlutFmt {
GX_TL_IA8,
GX_TL_RGB565,
GX_TL_RGB5A3,
GX_MAX_TLUTFMT,
GX_MAX_TLUTFMT
} GXTlutFmt;
typedef enum _GXMiscToken {
GX_MT_NULL = 0,
GX_MT_XF_FLUSH = 1,
GX_MT_DL_SAVE_CONTEXT = 2,
GX_MT_ABORT_WAIT_COPYOUT = 3,
GX_MT_ABORT_WAIT_COPYOUT = 3
} GXMiscToken;
typedef enum _GXTexCacheSize {
@ -834,7 +834,6 @@ typedef enum _GXPerf0 {
GX_PERF0_CLOCKS,
GX_PERF0_NONE
} GXPerf0;
typedef enum _GXPerf1 {
@ -864,7 +863,6 @@ typedef enum _GXPerf1 {
GX_PERF1_CLOCKS,
GX_PERF1_NONE
} GXPerf1;
typedef enum _GXVCachePerf {
@ -881,25 +879,24 @@ typedef enum _GXVCachePerf {
GX_VC_TEX6,
GX_VC_TEX7,
GX_VC_ALL = 0xf
} GXVCachePerf;
typedef enum _GXFBClamp {
GX_CLAMP_NONE = 0,
GX_CLAMP_TOP = 1,
GX_CLAMP_BOTTOM = 2,
GX_CLAMP_BOTTOM = 2
} GXFBClamp;
typedef enum _GXCopyMode {
GX_COPY_PROGRESSIVE = 0,
GX_COPY_INTLC_EVEN = 2,
GX_COPY_INTLC_ODD = 3,
GX_COPY_INTLC_ODD = 3
} GXCopyMode;
typedef enum _GXAlphaReadMode {
GX_READ_00 = 0,
GX_READ_FF = 1,
GX_READ_NONE = 2,
GX_READ_NONE = 2
} GXAlphaReadMode;

View file

@ -19,7 +19,7 @@ typedef struct {
typedef enum {
GX_TF_R8_PC = 0x60,
GX_TF_RGBA8_PC = 0x61,
GX_TF_RGBA8_PC = 0x61
} GXPCTexFmt;
void GXDestroyTexObj(GXTexObj* obj);

View file

@ -89,7 +89,7 @@ typedef enum _GXTlutSize
GX_TLUT_2K = 128,
GX_TLUT_4K = 256,
GX_TLUT_8K = 512,
GX_TLUT_16K = 1024,
GX_TLUT_16K = 1024
} GXTlutSize;
typedef struct _GXVtxAttrFmtList {

View file

@ -7,7 +7,7 @@ typedef enum {
GX_WARN_NONE,
GX_WARN_SEVERE,
GX_WARN_MEDIUM,
GX_WARN_ALL,
GX_WARN_ALL
} GXWarningLevel;
#ifdef _DEBUG

View file

@ -50,12 +50,12 @@ typedef enum {
// GCA
VI_TVMODE_GCA_INT = VI_TVMODE(VI_GCA, VI_INTERLACE),
VI_TVMODE_GCA_DS = VI_TVMODE(VI_GCA, VI_NON_INTERLACE),
VI_TVMODE_GCA_PROG = VI_TVMODE(VI_GCA, VI_PROGRESSIVE),
VI_TVMODE_GCA_PROG = VI_TVMODE(VI_GCA, VI_PROGRESSIVE)
} VITVMode;
typedef enum {
VI_XFBMODE_SF = 0,
VI_XFBMODE_DF = 1,
VI_XFBMODE_DF = 1
} VIXFBMode;
typedef void (*VIPositionCallback)(s16 x, s16 y);

View file

@ -32,4 +32,8 @@ typedef struct vec2f {
#define asind(x) (180.0*(asinf((x)) / M_PI))
#define atan2d(y, x) (180.0*(atan2((y), (x)) / M_PI))
#ifndef __MWERKS__
void HuSetVecF(Vec* arg0, f32 arg8, f32 arg9, f32 argA)
#endif
#endif

View file

@ -17,7 +17,7 @@
#include "dolphin/types.h"
typedef struct data_read_stat {
struct data_read_stat {
s32 dir_id;
void *dir;
void *file;
@ -27,7 +27,7 @@ typedef struct data_read_stat {
s32 num;
u32 status;
DVDFileInfo file_info;
} DataReadStat;
};
void HuDataInit(void);
s32 HuDataReadChk(s32 data_num);

View file

@ -26,7 +26,7 @@ typedef struct {
/* 0x40 */ GXColor unk40;
} HsfanimStruct01; // Size 0x44
typedef struct particle_data {
struct particle_data {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
/* 0x04 */ Vec unk_04;
@ -50,7 +50,7 @@ typedef struct particle_data {
/* 0x4C */ Vec *unk_4C;
/* 0x50 */ void *unk_50;
/* 0x54 */ ParticleHook unk_54;
} ParticleData; // Size 0x58
}; // Size 0x58
typedef struct {
/* 0x00 */ s16 unk00;

View file

@ -1,10 +1,10 @@
#ifndef _GAME_HSFMAN_H
#define _GAME_HSFMAN_H
#include "game/data.h"
#include "game/hsfanim.h"
#include "game/hsfformat.h"
#include "game/memory.h"
#include "game/data.h"
#define HU3D_MODEL_MAX 512
#define HU3D_MOTION_MAX 256
@ -79,11 +79,12 @@
#define Hu3DModelCreateFile(data_id) (Hu3DModelCreate(HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA)))
typedef struct model_data ModelData;
typedef struct particle_data ParticleData;
typedef void (*ModelHookFunc)(struct model_data *, Mtx);
typedef struct model_data {
struct model_data {
u8 unk_00;
u8 unk_01;
u8 unk_02;
@ -107,25 +108,25 @@ typedef struct model_data {
u32 unk_4C;
u32 attr;
u32 motion_attr;
Point3d unk_58;
f32 unk_64;
f32 unk_68;
f32 unk_6C;
f32 unk_70;
f32 unk_74;
f32 unk_78;
f32 unk_7C;
f32 unk_80;
f32 unk_84;
f32 unk_88;
f32 unk_8C;
f32 unk_90;
f32 unk_94;
f32 unk_98;
f32 unk_9C;
f32 unk_A0;
f32 unk_A4[4];
f32 unk_B4[4];
Vec unk_58;
float unk_64;
float unk_68;
float unk_6C;
float unk_70;
float unk_74;
float unk_78;
float unk_7C;
float unk_80;
float unk_84;
float unk_88;
float unk_8C;
float unk_90;
float unk_94;
float unk_98;
float unk_9C;
float unk_A0;
float unk_A4[4];
float unk_B4[4];
union {
HsfData *hsfData;
ModelHookFunc hook;
@ -136,13 +137,13 @@ typedef struct model_data {
Vec scale;
Mtx unk_F0;
void *unk_120;
} ModelData; // sizeof 0x124
}; // sizeof 0x124
typedef struct camera_data {
f32 fov;
f32 near;
f32 far;
f32 aspect;
f32 aspect_dupe;
float fov;
float near;
float far;
float aspect;
float aspect_dupe;
Vec pos;
Vec up;
Vec target;
@ -150,20 +151,20 @@ typedef struct camera_data {
s16 scissor_y;
s16 scissor_w;
s16 scissor_h;
f32 viewport_x;
f32 viewport_y;
f32 viewport_w;
f32 viewport_h;
f32 near_z;
f32 far_z;
float viewport_x;
float viewport_y;
float viewport_w;
float viewport_h;
float near_z;
float far_z;
} CameraData; // sizeof 0x58
typedef struct ThreeDProjectionStruct {
u8 unk_00;
char unk_01[0x3];
void *unk_04;
Vec unk_08;
Point3d unk_14;
Point3d unk_20;
Vec unk_14;
Vec unk_20;
Vec unk_2C;
Mtx unk_38;
Mtx unk_68;
@ -172,7 +173,7 @@ typedef struct shadow_data {
u8 unk_00;
u8 unk_01;
u16 unk_02;
void* unk_04;
void *unk_04;
Vec unk_08;
Vec unk_14;
Vec unk_20;
@ -183,8 +184,8 @@ typedef struct shadow_data {
typedef struct light_data {
s16 unk_00;
s16 unk_02;
f32 unk_04;
f32 unk_08;
float unk_04;
float unk_08;
char unk_0C[0x10];
Vec unk_1C;
Vec unk_28;
@ -192,8 +193,8 @@ typedef struct light_data {
GXColor color;
} LightData;
extern void GXWaitDrawDone(); /* extern */
extern void GXInitSpecularDir(GXLightObj*, f32, f32, f32);
extern void GXWaitDrawDone(); /* extern */
extern void GXInitSpecularDir(GXLightObj *, float, float, float);
void Hu3DInit(void);
void Hu3DPreProc(void);
@ -208,11 +209,11 @@ s16 Hu3DModelLink(s16);
s16 Hu3DHookFuncCreate(ModelHookFunc);
void Hu3DModelKill(s16);
void Hu3DModelAllKill(void);
void Hu3DModelPosSet(s16, f32, f32, f32);
void Hu3DModelPosSet(s16, float, float, float);
void Hu3DModelPosSetV(s16, Vec *);
void Hu3DModelRotSet(s16, f32, f32, f32);
void Hu3DModelRotSet(s16, float, float, float);
void Hu3DModelRotSetV(s16, Vec *);
void Hu3DModelScaleSet(s16, f32, f32, f32);
void Hu3DModelScaleSet(s16, float, float, float);
void Hu3DModelScaleSetV(s16, Vec *);
void Hu3DModelAttrSet(s16, u32);
void Hu3DModelAttrReset(s16, u32);
@ -222,16 +223,16 @@ void Hu3DModelClusterAttrSet(s16, s16, s32);
void Hu3DModelClusterAttrReset(s16, s16, s32);
void Hu3DModelCameraSet(s16, u16);
void Hu3DModelLayerSet(s16, s16);
HsfObject* Hu3DModelObjPtrGet(s16, char *);
void Hu3DModelTPLvlSet(s16, f32);
void Hu3DModelHiliteMapSet(s16, AnimData*);
HsfObject *Hu3DModelObjPtrGet(s16, char *);
void Hu3DModelTPLvlSet(s16, float);
void Hu3DModelHiliteMapSet(s16, AnimData *);
void Hu3DModelShadowSet(s16);
void Hu3DModelShadowReset(s16);
void Hu3DModelShadowDispOn(s16);
void Hu3DModelShadowDispOff(s16);
void Hu3DModelShadowMapSet(s16);
void Hu3DModelShadowMapObjSet(s16, char *);
void Hu3DModelAmbSet(s16, f32, f32, f32);
void Hu3DModelAmbSet(s16, float, float, float);
void Hu3DModelHookSet(s16, char *, s16);
void Hu3DModelHookReset(s16);
void Hu3DModelHookObjReset(s16, char *);
@ -240,10 +241,10 @@ void Hu3DModelProjectionReset(s16, s16);
void Hu3DModelHiliteTypeSet(s16, s16);
void Hu3DModelReflectTypeSet(s16, s16);
void Hu3DCameraCreate(s32);
void Hu3DCameraPerspectiveSet(s32, f32, f32, f32, f32);
void Hu3DCameraViewportSet(s32, f32, f32, f32, f32, f32, f32);
void Hu3DCameraPerspectiveSet(s32, float, float, float, float);
void Hu3DCameraViewportSet(s32, float, float, float, float, float, float);
void Hu3DCameraScissorSet(s32, u32, u32, u32, u32);
void Hu3DCameraPosSet(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void Hu3DCameraPosSet(s32, float, float, float, float, float, float, float, float, float);
void Hu3DCameraPosSetV(s32 cam, Vec *pos, Vec *up, Vec *target);
void Hu3DCameraKill(s32);
void Hu3DCameraAllKill(void);
@ -254,47 +255,47 @@ void Hu3DCameraMotionOn(s16, s8);
void Hu3DCameraMotionStart(s16, u16);
void Hu3DCameraMotionOff(s16);
void Hu3DLighInit(void);
s16 Hu3DGLightCreate(f32, f32, f32, f32, f32, f32, u8, u8, u8);
s16 Hu3DGLightCreateV(Vec*, Vec*, GXColor*);
s16 Hu3DLLightCreate(s16, f32, f32, f32, f32, f32, f32, u8, u8, u8);
s16 Hu3DLLightCreateV(s16, Vec*, Vec*, GXColor*);
void Hu3DGLightSpotSet(s16, f32, u16);
void Hu3DLLightSpotSet(s16, s16, f32, u16);
s16 Hu3DGLightCreate(float, float, float, float, float, float, u8, u8, u8);
s16 Hu3DGLightCreateV(Vec *, Vec *, GXColor *);
s16 Hu3DLLightCreate(s16, float, float, float, float, float, float, u8, u8, u8);
s16 Hu3DLLightCreateV(s16, Vec *, Vec *, GXColor *);
void Hu3DGLightSpotSet(s16, float, u16);
void Hu3DLLightSpotSet(s16, s16, float, u16);
void Hu3DGLightInfinitytSet(s16);
void Hu3DLLightInfinitytSet(s16, s16);
void Hu3DGLightPointSet(s16, f32, f32, u16);
void Hu3DLLightPointSet(s16, s16, f32, f32, u16);
void Hu3DGLightPointSet(s16, float, float, u16);
void Hu3DLLightPointSet(s16, s16, float, float, u16);
void Hu3DGLightKill(s16);
void Hu3DLLightKill(s16, s16);
void Hu3DLightAllKill(void);
void Hu3DGLightColorSet(s16, u8, u8, u8, u8);
void Hu3DLLightColorSet(s16, s16, u8, u8, u8, u8);
void Hu3DGLightPosSetV(s16, Vec*, Point3d*);
void Hu3DLLightPosSetV(s16, s16, Vec*, Point3d*);
void Hu3DGLightPosSet(s16, f32, f32, f32, f32, f32, f32);
void Hu3DLLightPosSet(s16, s16, f32, f32, f32, f32, f32, f32);
void Hu3DGLightPosAimSetV(s16, Point3d*, Point3d*);
void Hu3DLLightPosAimSetV(s16, s16, Point3d*, Point3d*);
void Hu3DGLightPosAimSet(s16, f32, f32, f32, f32, f32, f32);
void Hu3DLLightPosAimSet(s16, s16, f32, f32, f32, f32, f32, f32);
void Hu3DGLightPosSetV(s16, Vec *, Vec *);
void Hu3DLLightPosSetV(s16, s16, Vec *, Vec *);
void Hu3DGLightPosSet(s16, float, float, float, float, float, float);
void Hu3DLLightPosSet(s16, s16, float, float, float, float, float, float);
void Hu3DGLightPosAimSetV(s16, Vec *, Vec *);
void Hu3DLLightPosAimSetV(s16, s16, Vec *, Vec *);
void Hu3DGLightPosAimSet(s16, float, float, float, float, float, float);
void Hu3DLLightPosAimSet(s16, s16, float, float, float, float, float, float);
void Hu3DGLightStaticSet(s16, s32);
void Hu3DLLightStaticSet(s16, s16, s32);
s32 Hu3DModelLightInfoSet(s16, s16);
s16 Hu3DLightSet(ModelData*, Mtx*, Mtx*, f32);
void lightSet(LightData* arg0, s16 arg1, Mtx *arg2, Mtx *arg3, f32 arg8);
s16 Hu3DLightSet(ModelData *, Mtx *, Mtx *, float);
void lightSet(LightData *arg0, s16 arg1, Mtx *arg2, Mtx *arg3, float arg8);
void Hu3DReflectNoSet(s16 arg0);
void Hu3DFogSet(f32, f32, u8, u8, u8);
void Hu3DFogSet(float, float, u8, u8, u8);
void Hu3DFogClear(void);
void Hu3DShadowCreate(f32, f32, f32);
void Hu3DShadowPosSet(Vec*, Vec*, Vec*);
void Hu3DShadowTPLvlSet(f32);
void Hu3DShadowCreate(float, float, float);
void Hu3DShadowPosSet(Vec *, Vec *, Vec *);
void Hu3DShadowTPLvlSet(float);
void Hu3DShadowSizeSet(u16);
void Hu3DShadowExec(void);
s16 Hu3DProjectionCreate(void*, f32, f32, f32);
s16 Hu3DProjectionCreate(void *, float, float, float);
void Hu3DProjectionKill(s16);
void Hu3DProjectionPosSet(s16, Vec*, Vec*, Vec*);
void Hu3DProjectionTPLvlSet(s16, f32);
void Hu3DMipMapSet(char*, s16, s32, f32);
void Hu3DProjectionPosSet(s16, Vec *, Vec *, Vec *);
void Hu3DProjectionTPLvlSet(s16, float);
void Hu3DMipMapSet(char *, s16, s32, float);
extern ModelData Hu3DData[0x200];
extern CameraData Hu3DCamera[0x10];

View file

@ -48,7 +48,7 @@ typedef struct seq_work SeqWork;
typedef s32 (*SeqUpdateFunc)(SeqWork *work);
typedef s32 (*SeqInitFunc)(SeqWork *work, va_list params);
typedef struct seq_work {
struct seq_work {
SeqUpdateFunc update;
char *data;
float x;
@ -73,7 +73,7 @@ typedef struct seq_work {
u8 stat;
u8 unk_7C;
u8 unk_7D;
} SeqWork;
};
void MGSeqInit(void);
void MGSeqMain(void);

View file

@ -18,6 +18,10 @@
#include "ext_math.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
typedef struct {
/* 0x000 */ u8 unk00;
/* 0x001 */ char unk01[3];

View file

@ -14,6 +14,11 @@
#include "string.h"
#include "version.h"
#ifndef __MWERKS__
#include "game/audio.h"
#include "game/esprite.h"
#endif
typedef struct UnkM404Struct {
s16 unk_00;
s16 unk_02[6];

View file

@ -1,34 +1,36 @@
#include "game/process.h"
#include "game/object.h"
#include "game/hsfdraw.h"
#include "ext_math.h"
#include "game/hsfdraw.h"
#include "game/object.h"
#include "game/process.h"
typedef struct unkDominationData2 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ Point3d unk_08;
/* 0x14 */ Point3d unk_14;
/* 0x20 */ f32 unk_20;
/* 0x24 */ Point3d unk_24;
/* 0x30 */ Point3d unk_30;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x48 */ f32 unk_48;
} unkDominationData2; //sizeof 0x4C
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ Vec unk_08;
/* 0x14 */ Vec unk_14;
/* 0x20 */ f32 unk_20;
/* 0x24 */ Vec unk_24;
/* 0x30 */ Vec unk_30;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x48 */ f32 unk_48;
} unkDominationData2; // sizeof 0x4C
//function signatures
// function signatures
void fn_1_1CAC(f32, f32, f32);
void fn_1_1D08(f32, f32, f32);
void fn_1_1D64(f32);
void fn_1_2024(omObjData*);
void fn_1_2024(omObjData *);
//bss
Process* lbl_1_bss_34;
omObjData* lbl_1_bss_30;
// bss
Process *lbl_1_bss_34;
omObjData *lbl_1_bss_30;
void fn_1_1B1C(Process* arg0) {
unkDominationData2* unkData;
void fn_1_1B1C(Process *arg0)
{
unkDominationData2 *unkData;
lbl_1_bss_34 = arg0;
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
@ -42,49 +44,55 @@ void fn_1_1B1C(Process* arg0) {
fn_1_1D64(0.0f);
}
void fn_1_1CA8(void) {
void fn_1_1CA8(void) { }
}
void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA) {
void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA)
{
Center.x = arg8;
Center.y = arg9;
Center.z = argA;
}
void fn_1_1CD4(f32* arg0, f32* arg1, f32* arg2) {
void fn_1_1CD4(f32 *arg0, f32 *arg1, f32 *arg2)
{
*arg0 = Center.x;
*arg1 = Center.y;
*arg2 = Center.z;
}
void fn_1_1D08(f32 arg8, f32 arg9, f32 argA) {
void fn_1_1D08(f32 arg8, f32 arg9, f32 argA)
{
CRot.x = arg8;
CRot.y = arg9;
CRot.z = argA;
}
void fn_1_1D30(f32* arg0, f32* arg1, f32* arg2) {
void fn_1_1D30(f32 *arg0, f32 *arg1, f32 *arg2)
{
*arg0 = CRot.x;
*arg1 = CRot.y;
*arg2 = CRot.z;
}
void fn_1_1D64(f32 arg8) {
void fn_1_1D64(f32 arg8)
{
CZoom = arg8;
}
void fn_1_1D74(f32* arg0) {
void fn_1_1D74(f32 *arg0)
{
*arg0 = CZoom;
}
s32 fn_1_1D88(void) {
unkDominationData2* unkData = lbl_1_bss_30->data;
s32 fn_1_1D88(void)
{
unkDominationData2 *unkData = lbl_1_bss_30->data;
return unkData->unk_04;
}
void fn_1_1DB0(Point3d* arg0, Point3d* arg1, f32* arg2, s32 arg3, s32 arg4) {
unkDominationData2* temp_r31;
void fn_1_1DB0(Vec *arg0, Vec *arg1, f32 *arg2, s32 arg3, s32 arg4)
{
unkDominationData2 *temp_r31;
temp_r31 = lbl_1_bss_30->data;
temp_r31->unk_00 = arg4;
@ -100,7 +108,8 @@ void fn_1_1DB0(Point3d* arg0, Point3d* arg1, f32* arg2, s32 arg3, s32 arg4) {
temp_r31->unk_04 = 1;
}
f32 fn_1_1F1C(f32 arg8, f32 arg9) {
f32 fn_1_1F1C(f32 arg8, f32 arg9)
{
if (((arg8 > 0.0f) && (arg9 > 0.0f)) || ((arg8 < 0.0f) && (arg9 < 0.0f))) {
return abs(arg8 - arg9);
}
@ -108,38 +117,39 @@ f32 fn_1_1F1C(f32 arg8, f32 arg9) {
return abs(arg8) + abs(arg9);
}
void fn_1_2024(omObjData* arg0) {
void fn_1_2024(omObjData *arg0)
{
Vec sp14;
Vec sp8;
f32 var_f31;
f32 cZoomTemp;
unkDominationData2* temp_r31;
unkDominationData2 *temp_r31;
temp_r31 = arg0->data;
if (temp_r31->unk_04 != 0) {
switch (temp_r31->unk_00) {
case 0:
var_f31 = temp_r31->unk_44;
break;
case 1:
var_f31 = temp_r31->unk_44;
if (temp_r31->unk_48 > 0.5) {
temp_r31->unk_00 = 2;
}
break;
case 2:
var_f31 = sind(90.0f * temp_r31->unk_44);
break;
case 3:
var_f31 = sind(90.0f * temp_r31->unk_44);
if (temp_r31->unk_48 > 0.5) {
temp_r31->unk_00 = 4;
}
break;
case 4:
var_f31 = sind(90.0f * temp_r31->unk_44);
var_f31 *= var_f31;
break;
case 0:
var_f31 = temp_r31->unk_44;
break;
case 1:
var_f31 = temp_r31->unk_44;
if (temp_r31->unk_48 > 0.5) {
temp_r31->unk_00 = 2;
}
break;
case 2:
var_f31 = sind(90.0f * temp_r31->unk_44);
break;
case 3:
var_f31 = sind(90.0f * temp_r31->unk_44);
if (temp_r31->unk_48 > 0.5) {
temp_r31->unk_00 = 4;
}
break;
case 4:
var_f31 = sind(90.0f * temp_r31->unk_44);
var_f31 *= var_f31;
break;
}
sp14.x = temp_r31->unk_24.x + (var_f31 * (temp_r31->unk_08.x - temp_r31->unk_24.x));
sp14.y = temp_r31->unk_24.y + (var_f31 * (temp_r31->unk_08.y - temp_r31->unk_24.y));

View file

@ -2,6 +2,7 @@
#include "game/hsfmotion.h"
#include "game/object.h"
#include "game/process.h"
#include "math.h"
#include "REL/m407dll.h"

View file

@ -1,13 +1,12 @@
#include "game/object.h"
#include "game/gamework_data.h"
#include "game/gamework.h"
#include "game/minigame_seq.h"
#include "game/wipe.h"
#include "game/audio.h"
#include "game/hsfman.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
typedef void (*ObjFuncs)(void);
#include "REL/m407dll.h"
typedef struct unkDominationData5 {
/* 0x00 */ u32 unk_00;
@ -27,12 +26,6 @@ typedef struct unkDominationData5 {
} unkDominationData5; //sizeof 0x48
//function signatures
void fn_1_388(u8, s32);
void fn_1_3C4(u8);
s32 fn_1_4C0(s32);
s32 fn_1_508(u8);
s32 fn_1_53C(u8);
void fn_1_568(s16, s16, s16);
void fn_1_4B7C(void);
void fn_1_4C3C(s32);
void fn_1_4C6C(omObjData*);
@ -56,7 +49,7 @@ omObjData* lbl_1_bss_397C;
s16 lbl_1_bss_3978;
//data
ObjFuncs lbl_1_data_2A8[] = {
VoidFuncs lbl_1_data_2A8[] = {
fn_1_4D0C,
fn_1_4D54,
fn_1_4E8C,

View file

@ -3,7 +3,7 @@
#include "game/object.h"
#include "game/process.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
#include "REL/m407dll.h"
// function signatures
void fn_1_162C(omObjData *);
@ -34,10 +34,10 @@ s32 lbl_1_data_198[] = {
Vec lbl_1_data_1CC[] = { { 600.0f, 3.0f, -300.0f }, { 200.0f, 3.0f, -300.0f }, { -200.0f, 3.0f, -300.0f }, { -600.0f, 3.0f, -300.0f } };
Point3d lbl_1_data_1FC = { 2000.0f, 3000.0f, 2000.0f };
Point3d lbl_1_data_208 = { -0.5f, -0.5f, -0.5f };
Vec lbl_1_data_1FC = { 2000.0f, 3000.0f, 2000.0f };
Vec lbl_1_data_208 = { -0.5f, -0.5f, -0.5f };
GXColor lbl_1_data_214 = { 255, 255, 255, 255 };
Point3d lbl_1_data_218 = { 0.0f, 1.0f, 0.0f };
Vec lbl_1_data_218 = { 0.0f, 1.0f, 0.0f };
void fn_1_14F0(Process *arg0, s32 arg1)
{
@ -117,7 +117,7 @@ void fn_1_162C(omObjData *arg0)
void fn_1_1A8C(omObjData *arg0)
{
Point3d sp8;
Vec sp8;
sp8.x = lbl_1_data_1FC.x;
sp8.y = lbl_1_data_1FC.y;

View file

@ -1,15 +1,16 @@
#include "game/audio.h"
#include "game/chrman.h"
#include "game/frand.h"
#include "game/gamework_data.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/process.h"
#include "math.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
typedef void (*ObjFuncs)(omObjData *);
#include "REL/m407dll.h"
typedef struct unkDominationData {
u8 unk_00;

View file

@ -3,9 +3,7 @@
#include "game/process.h"
#include "game/sprite.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
typedef void (*ObjFuncs)(void);
#include "REL/m407dll.h"
typedef struct unkDominationData6 {
/* 0x00 */ s32 unk_00;
@ -30,7 +28,7 @@ Process *lbl_1_bss_398C;
omObjData *lbl_1_bss_3988;
// data
ObjFuncs lbl_1_data_360[] = { fn_1_61A0, fn_1_6218, fn_1_62A0 };
VoidFuncs lbl_1_data_360[] = { fn_1_61A0, fn_1_6218, fn_1_62A0 };
void fn_1_5C5C(Process *arg0, s16 arg1)
{

View file

@ -5,14 +5,12 @@
#include "game/object.h"
#include "game/process.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
#include "REL/m407dll.h"
#define MAX_WHOMPS_PLAYER 160
#define MAX_WHOMPS_ALL_PLAYERS MAX_WHOMPS_PLAYER *ARRAY_COUNT(GWPlayer)
#define MAX_WHOMPS (MAX_WHOMPS_PLAYER + 1) * ARRAY_COUNT(GWPlayer)
typedef void (*ObjFuncs)(omObjData *);
typedef struct unkDominationData7 {
/* 0x00 */ u32 unk_00;
/* 0x04 */ s32 unk_04;

View file

@ -19,6 +19,10 @@
#include "ext_math.h"
#include "math.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
s32 lbl_1_data_0[] = {
DATA_MAKE_NUM(DATADIR_MGCONST, 0x00),
DATA_MAKE_NUM(DATADIR_MGCONST, 0x01),

View file

@ -9,6 +9,10 @@
#include "game/sprite.h"
#include "ext_math.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
// bss
omObjData *lbl_1_bss_3A0[4];
omObjData *lbl_1_bss_39C;

View file

@ -11,6 +11,10 @@
#include "REL/m410Dll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
omObjData *lbl_1_bss_74;
AnimData *lbl_1_bss_70;
s32 lbl_1_bss_60[4];
@ -141,8 +145,6 @@ void fn_1_7E30(Process *objman)
void fn_1_806C(void)
{
s32 var_lr;
HuSprAnimKill(lbl_1_bss_70);
CharModelKill(-1);
}

View file

@ -12,7 +12,6 @@
#include "game/sprite.h"
#include "string.h"
// STRUCT
typedef struct _M424DllBallStruct {
u8 unk0;
@ -1467,7 +1466,7 @@ void fn_1_79FC(Vec *arg0, Vec *arg1, f32 arg2, Vec *arg3, Vec *arg4, f32 arg5, f
}
}
void fn_1_7CA0(Vec arg0, Vec arg1, f32 arg2, Point3d *arg3)
void fn_1_7CA0(Vec arg0, Vec arg1, f32 arg2, Vec *arg3)
{
f32 var_f31;

View file

@ -10,6 +10,10 @@
#include "game/objsub.h"
#include "game/wipe.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
typedef struct M427DllStruct2 {
s32 unk0[3];
s32 unkC;

View file

@ -492,7 +492,7 @@ void fn_1_3B20(s8 arg0, s16 arg1)
Vec sp54[4] = { { 110.0f, -20.0f, 0.0f }, { -110.0f, -20.0f, 0.0f }, { 110.0f, -20.0f, 190.0f }, { -110.0f, -20.0f, 190.0f } };
Mtx sp24;
f32 sp14[4] = { 135.0f, 225.0f, 45.0f, 315.0f };
Point3d sp8;
Vec sp8;
f32 temp_f31;
s16 var_r29;
s32 var_r27;

View file

@ -13,6 +13,10 @@
#include "math.h"
#include "version.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
typedef struct camera_view {
float zoom;
Vec pos;

View file

@ -1166,7 +1166,7 @@ static inline f32 isEven(u32 arg)
}
}
void fn_1_8FFC(u32 arg0, Point3d *arg1, f32 arg2, f32 arg3)
void fn_1_8FFC(u32 arg0, Vec *arg1, f32 arg2, f32 arg3)
{
f32 temp_f31;
f32 var_f29;

View file

@ -1,5 +1,9 @@
#include "REL/m444dll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
s16 lbl_1_bss_199C2[90];
s16 lbl_1_bss_1990E[90];
s16 lbl_1_bss_1990A[2];

View file

@ -17,6 +17,10 @@
#include "ext_math.h"
#include "math.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
typedef struct camera_view_params {
float zoom;
Vec pos;

View file

@ -23,6 +23,10 @@
#include "ext_math.h"
#ifndef __MWERKS__
#include "game/audio.h"
#endif
#undef ABS
#define ABS(x) ((0 > (x)) ? -(x) : (x))

View file

@ -157,9 +157,9 @@ void fn_1_50C(void)
void fn_1_5E8(s32 arg0)
{
Point3d sp24 = { 0.0f, 3000.0f, 800.0f };
Point3d sp18 = { 0.0f, 0.0f, 640.0f };
Point3d spC = { 0.0f, 1.0f, 0.0f };
Vec sp24 = { 0.0f, 3000.0f, 800.0f };
Vec sp18 = { 0.0f, 0.0f, 640.0f };
Vec spC = { 0.0f, 1.0f, 0.0f };
if (arg0 == 3) {
sp24.x = sp18.x = 1200.0f;

View file

@ -163,8 +163,8 @@ HsfanimStruct00 lbl_1_data_258 = {
{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } },
};
const Point3d lbl_1_rodata_38 = { 0.0f, 0.0f, 0.0f };
const Point3d lbl_1_rodata_44 = { 0.0f, 1.0f, 0.0f };
const Vec lbl_1_rodata_38 = { 0.0f, 0.0f, 0.0f };
const Vec lbl_1_rodata_44 = { 0.0f, 1.0f, 0.0f };
s16 lbl_1_bss_99C;
s16 lbl_1_bss_99A;
s16 lbl_1_bss_98A[8];
@ -196,9 +196,9 @@ static u8 unk_bss[8];
void fn_1_29C(omObjData *arg0)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp20;
Vec sp14;
Vec sp8;
Mtx sp2C;
s16 var_r31;
s16 temp_r27;
@ -337,7 +337,7 @@ void fn_1_F38(void)
// -------------------------------------------------------------------------- //
static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30)
static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
{
s8 temp_r28;
@ -364,10 +364,10 @@ const HuUnkF9C2 lbl_1_rodata_B8 = { { 8, 6, 4, 7, 9, 10, 11 } };
void fn_1_F9C(struct om_obj_data *omData)
{
Point3d sp3C;
Point3d sp30;
Point3d sp24;
Point3d sp18;
Vec sp3C;
Vec sp30;
Vec sp24;
Vec sp18;
f32 temp_f31;
s32 var_r31;
s16 var_r30;
@ -643,9 +643,9 @@ void fn_1_20F4(void)
// -------------------------------------------------------------------------- //
void fn_1_28F8(Point3d *arg0, Point3d *arg1)
void fn_1_28F8(Vec *arg0, Vec *arg1)
{
Point3d spC;
Vec spC;
Mtx sp18;
CameraData *cam;
f32 temp_f31;

View file

@ -1,25 +1,26 @@
#include "math.h"
#include "game/chrman.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/wipe.h"
#include "math.h"
#include "REL/modeltestDll.h"
// -------------------------------------------------------------------------- //
omObjData * unk_bss_9FC;
omObjData * lbl_1_bss_9F8;
omObjData * lbl_1_bss_9F4;
omObjData *unk_bss_9FC;
omObjData *lbl_1_bss_9F8;
omObjData *lbl_1_bss_9F4;
s16 lbl_1_bss_9EC[4];
s16 lbl_1_bss_9AC[4][8];
Process * lbl_1_bss_9A8;
u16 lbl_1_data_358[4] = {1, 2, 4, 8};
Process *lbl_1_bss_9A8;
u16 lbl_1_data_358[4] = { 1, 2, 4, 8 };
// -------------------------------------------------------------------------- //
void fn_1_34B0()
{
Process * temp_r30;
Process *temp_r30;
s16 var_r31;
OSReport("******* MODELTESTObjectSetup *********\n");
@ -33,8 +34,7 @@ void fn_1_34B0()
Center.z = 0.0f;
CZoom = 400.0f;
for (var_r31 = 0; var_r31 < 4; ++var_r31)
{
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
Hu3DCameraCreate(lbl_1_data_358[var_r31]);
Hu3DCameraPerspectiveSet(lbl_1_data_358[var_r31], 45.0f, 20.0f, 20000.0f, 1.2f);
Hu3DCameraViewportSet(lbl_1_data_358[var_r31], (var_r31 & 1) * 320, ((var_r31 & 2) != 0) ? 0xF0 : 0, 320.0f, 240.0f, 0.0f, 1.0f);
@ -51,7 +51,8 @@ void fn_1_34B0()
// -------------------------------------------------------------------------- //
static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) {
static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
{
s8 temp_r28;
temp_r28 = HuPadSubStkX[0] & 0xF8;
@ -73,10 +74,10 @@ static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) {
void fn_1_37DC(omObjData *)
{
Point3d sp3C;
Point3d sp30;
Point3d sp24;
Point3d sp18;
Vec sp3C;
Vec sp30;
Vec sp24;
Vec sp18;
float temp_f31;
if ((HuPadBtnDown[0] & PAD_BUTTON_START) != 0) {
@ -115,15 +116,15 @@ void fn_1_37DC(omObjData *)
temp_f31 = CRot.z;
sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cosd(temp_f31))
+ sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31))
+ sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31));
+ sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31))
+ sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31));
sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cosd(temp_f31))
+ sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31))
+ sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31));
+ sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31))
+ sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31));
sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cosd(temp_f31))
+ (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31))
+ (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31))
+ sp24.y * (sp30.y * sp30.z * (1.0 - cosd(temp_f31)) + sp30.x * sind(temp_f31)));
VECCrossProduct(&sp24, &sp30, &sp30);
@ -134,17 +135,16 @@ void fn_1_37DC(omObjData *)
// -------------------------------------------------------------------------- //
void fn_1_439C(omObjData * )
void fn_1_439C(omObjData *)
{
s16 var_r31;
f32 temp_f30;
f32 temp_f31;
f32 sp10;
Point3d sp2C;
Point3d sp20;
Point3d sp14;
for (var_r31 = 0; var_r31 < 4; ++var_r31)
{
Vec sp2C;
Vec sp20;
Vec sp14;
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
temp_f31 = CRot.x;
temp_f30 = CRot.y + (var_r31 * 90);
sp10 = CRot.z;
@ -160,22 +160,22 @@ void fn_1_439C(omObjData * )
sp14.y = cosd(temp_f31);
sp14.z = cosd(temp_f30) * (sind(temp_f31));
Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z);
Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z);
}
}
// -------------------------------------------------------------------------- //
const Point3d lbl_1_rodata_18C = {0.0f, 0.0f, 0.0f};
const Point3d lbl_1_rodata_198 = {0.0f, 1.0f, 0.0f};
const Vec lbl_1_rodata_18C = { 0.0f, 0.0f, 0.0f };
const Vec lbl_1_rodata_198 = { 0.0f, 1.0f, 0.0f };
// -------------------------------------------------------------------------- //
void fn_1_46F0(void)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp20;
Vec sp14;
Vec sp8;
s16 var_r31;
s16 var_r30;
@ -192,8 +192,7 @@ void fn_1_46F0(void)
sp20.z = 1000.0f;
Hu3DShadowPosSet(&sp20, &sp8, &sp14);
for (var_r31 = 0; var_r31 < 4; ++var_r31)
{
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
var_r30 = var_r31;
lbl_1_bss_9EC[var_r31] = CharModelCreate(var_r30, 8);
Hu3DModelShadowSet(lbl_1_bss_9EC[var_r31]);
@ -201,7 +200,7 @@ void fn_1_46F0(void)
CharModelMotionSet(var_r30, lbl_1_bss_9AC[var_r31][0]);
Hu3DModelAttrSet(lbl_1_bss_9EC[var_r31], HU3D_MOTATTR_LOOP);
Hu3DModelCameraSet(lbl_1_bss_9EC[var_r31], lbl_1_data_358[var_r31]);
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], ((( var_r31 / 4) * 200) - 100), 0.0f, (-( var_r31 % 4) * 150));
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], (((var_r31 / 4) * 200) - 100), 0.0f, (-(var_r31 % 4) * 150));
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], 0.0f, 0.0f, 0.0f);
CharModelMotionDataClose(var_r30);
}
@ -210,15 +209,12 @@ void fn_1_46F0(void)
Hu3DModelScaleSet(var_r31, 5.0f, 5.0f, 5.0f);
Hu3DModelShadowMapSet(var_r31);
while (TRUE)
{
while (TRUE) {
if ((HuPadBtnDown[0] & PAD_BUTTON_Y) != 0) {
Hu3DCameraKill(2);
Hu3DCameraKill(4);
Hu3DCameraKill(8);
sp20.x =
sp20.z =
sp20.y = 0.0f;
sp20.x = sp20.z = sp20.y = 0.0f;
sp20.y += 200.0f;
CharModelCoinEffectCreate(4, &sp20);
}

View file

@ -14,6 +14,10 @@
#include "REL/modeseldll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
s16 lbl_1_data_100 = -1;
float lbl_1_data_104[] = { -55, 0, 0, 0, 60, -57, 806, -71, 0, 0, 0, 100, -131, 900, -87, 0, 0, 0, 46, -117, 566, -87, 0, 0, 0, 46, -117, 566, -90, 0,
0, -22, 39, -153, 432, -40, 0, 0, 0, 130, -186, 6530, -23, 0, 0, -9, 1, -70, 1318, -25, 0, 0, 0, 242, 90, 343, -30, 0, 0, 0, 223, -60, 505, -23,

View file

@ -19,6 +19,10 @@
#include "REL/resultdll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
#define COIN_EFFECT_MAX 180
static StageModel resultBattleModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },

View file

@ -1,5 +1,9 @@
#include "REL/resultdll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
s16 stageMdlId[32];
s16 stageMotId[32];
s16 stageSprId[33];

View file

@ -18,6 +18,10 @@
#include "REL/resultdll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
static StageModel resultModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x00), 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x01), 1, 0, -1, -1, { 148, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x02), 1, 0, -1, -1, { 148, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },

View file

@ -2,22 +2,22 @@
#include "game/frand.h"
// Temporary defines
#define BOARD_ITEM_MINI 0x0
#define BOARD_ITEM_MEGA 0x1
#define BOARD_ITEM_SUPERMINI 0x2
#define BOARD_ITEM_SUPERMEGA 0x3
#define BOARD_ITEM_HAMMER 0x4
#define BOARD_ITEM_PIPE 0x5
#define BOARD_ITEM_CARD 0x6
#define BOARD_ITEM_SPARKY 0x7
#define BOARD_ITEM_GADDLIGHT 0x8
#define BOARD_ITEM_CHOMPCALL 0x9
#define BOARD_ITEM_SUIT 0xA
#define BOARD_ITEM_BOO 0xB
#define BOARD_ITEM_LAMP 0xC
#define BOARD_ITEM_BAG 0xD
#define BOARD_ITEM_MAX 0xE
#define BOARD_ITEM_NONE -1
#define BOARD_ITEM_MINI 0x0
#define BOARD_ITEM_MEGA 0x1
#define BOARD_ITEM_SUPERMINI 0x2
#define BOARD_ITEM_SUPERMEGA 0x3
#define BOARD_ITEM_HAMMER 0x4
#define BOARD_ITEM_PIPE 0x5
#define BOARD_ITEM_CARD 0x6
#define BOARD_ITEM_SPARKY 0x7
#define BOARD_ITEM_GADDLIGHT 0x8
#define BOARD_ITEM_CHOMPCALL 0x9
#define BOARD_ITEM_SUIT 0xA
#define BOARD_ITEM_BOO 0xB
#define BOARD_ITEM_LAMP 0xC
#define BOARD_ITEM_BAG 0xD
#define BOARD_ITEM_MAX 0xE
#define BOARD_ITEM_NONE -1
/* BSS */
s16 lbl_1_bss_30[0x10]; // Model List
@ -25,30 +25,29 @@ s16 lbl_1_bss_2E;
s16 lbl_1_bss_2C;
Vec lbl_1_bss_20;
Vec lbl_1_bss_14;
s32* lbl_1_bss_10;
s32 *lbl_1_bss_10;
s16 lbl_1_bss_8[4]; // Item List
Process* lbl_1_bss_4;
u8* lbl_1_bss_0;
Process *lbl_1_bss_4;
u8 *lbl_1_bss_0;
/* DATA */
static BoardMapObject lbl_1_data_0[0x10] = {
{{2550.0f, 0.0f, -450.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000C)},
{{-3150.0f, 0.0f, -1350.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000D)},
{{-3150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000E)},
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0008)},
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0009)},
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000A)},
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000B)},
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0011)},
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0012)},
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0015)},
{{-300.0f, 0.0f, -900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0016)},
{{1175.0f, 0.0f, -125.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
{{-525.0f, 0.0f, -825.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
{{-2225.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
{{1925.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
{{150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}
};
static BoardMapObject lbl_1_data_0[0x10]
= { { { 2550.0f, 0.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000C) },
{ { -3150.0f, 0.0f, -1350.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000D) },
{ { -3150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000E) },
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0008) },
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0009) },
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000A) },
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000B) },
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0011) },
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0012) },
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0015) },
{ { -300.0f, 0.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0016) },
{ { 1175.0f, 0.0f, -125.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
{ { -525.0f, 0.0f, -825.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
{ { -2225.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
{ { 1925.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
{ { 150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) } };
// Special Models
s16 lbl_1_data_280 = -1;
@ -56,21 +55,15 @@ s16 lbl_1_data_282 = -1;
s16 lbl_1_data_284 = -1;
s16 lbl_1_data_286 = -1;
s32 lbl_1_data_288[] = {
DATA_MAKE_NUM(DATADIR_W02, 0x0004),
DATA_NUM_LISTEND
};
s32 lbl_1_data_288[] = { DATA_MAKE_NUM(DATADIR_W02, 0x0004), DATA_NUM_LISTEND };
s32 lbl_1_data_290[] = {
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009),
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006),
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007),
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008),
DATA_NUM_LISTEND,
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007),
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008), DATA_NUM_LISTEND,
0x00000000 // Padding
};
/* Functions */
//Actual externs
// Actual externs
extern void BoardMusStart(s32, s32, s32, s32);
extern void BoardAudSeqPause(s32, s32, s32);
s8 BoardComPreferItemCheck(s32, s8, s8, s8);
@ -79,13 +72,15 @@ extern void BoardComKeySetRight();
extern void CharModelDataClose(s16);
// function is probably global. only inlined in rels?
inline s32 get_current_board(void) {
inline s32 get_current_board(void)
{
return GWSystem.board;
}
void BoardCreate(void) {
void BoardCreate(void)
{
s32 i, boardData;
BoardMapObject* modelTransform;
BoardMapObject *modelTransform;
boardData = get_current_board();
lbl_1_bss_0 = GWSystem.board_data;
@ -106,12 +101,13 @@ void BoardCreate(void) {
BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001);
BoardLightHookSet(fn_1_72C, fn_1_770);
for(i = 0; i < 0x10; i++) {
for (i = 0; i < 0x10; i++) {
modelTransform = &lbl_1_data_0[i];
if (modelTransform->data_num != -1) {
if ((i == 0xB) || (i == 0xC) || (i == 0xD) || (i == 0xE) || (i == 0xF)) {
lbl_1_bss_10 = lbl_1_data_290;
} else {
}
else {
lbl_1_bss_10 = NULL;
}
lbl_1_bss_30[i] = BoardModelCreate(modelTransform->data_num, lbl_1_bss_10, 0);
@ -146,7 +142,8 @@ void BoardCreate(void) {
BoardJunctionMaskSet(0x30);
}
void BoardDestroy(void) {
void BoardDestroy(void)
{
/* Kill Model List */
s32 i;
for (i = 0; i < 0x10; i++) {
@ -176,17 +173,17 @@ void BoardDestroy(void) {
BoardSpaceDestroy();
}
void fn_1_72C(void) {
void fn_1_72C(void)
{
s16 var = BoardModelIDGet(lbl_1_data_280);
Hu3DModelLightInfoSet(var, 1);
}
void fn_1_770(void) {
}
void fn_1_770(void) { }
/* Decrement current space's [UNKNOWN] flag */
s32 fn_1_774(void) {
s32 fn_1_774(void)
{
u32 unkFlag;
u32 currPlayer;
u32 currSpace;
@ -194,7 +191,7 @@ s32 fn_1_774(void) {
currPlayer = GWSystem.player_curr;
currSpace = GWPlayer[currPlayer].space_curr;
spaceFlags = BoardSpaceFlagGet(0, currSpace);
//temp_r31 = (temp_r)
// temp_r31 = (temp_r)
unkFlag = (spaceFlags & 0x1C0) >> 6;
if (unkFlag != 0) {
unkFlag--;
@ -203,8 +200,9 @@ s32 fn_1_774(void) {
}
/* Check if can iteract with board object? */
s32 fn_1_800(void) {
BoardSpace* currSpace;
s32 fn_1_800(void)
{
BoardSpace *currSpace;
s32 currPlayer;
s32 var_r29;
@ -212,7 +210,6 @@ s32 fn_1_800(void) {
currSpace = BoardSpaceGet(0, GWPlayer[currPlayer].space_curr);
if ((currSpace->flag & 0x30) != 0) {
// If mega mushroom state return
if (BoardPlayerSizeGet(currPlayer) == 2) {
return 0;
@ -224,9 +221,11 @@ s32 fn_1_800(void) {
if ((currSpace->flag & 0x20) != 0 && (currSpace->flag & 0x10) != 0) {
var_r29 = 2;
} else if ((currSpace->flag & 0x20) != 0) {
}
else if ((currSpace->flag & 0x20) != 0) {
var_r29 = 1;
} else {
}
else {
var_r29 = 0;
}
fn_1_394C(var_r29);
@ -239,22 +238,23 @@ s32 fn_1_800(void) {
return 0;
}
void fn_1_92C(void) {
void fn_1_92C(void)
{
fn_1_39F4();
fn_1_5CF8();
}
void fn_1_950(void) {
void fn_1_950(void) { }
}
void fn_1_954(void) {
void fn_1_954(void)
{
HuPrcSleep(0x3C);
BoardMusStart(1, 0x12, 0x7F, 0);
HuPrcEnd();
}
void fn_1_990(void) {
void fn_1_990(void)
{
Vec rotation;
Vec offset;
Vec boardSpacePos;
@ -264,13 +264,13 @@ void fn_1_990(void) {
s32 currSpace;
s32 spaceLinkFlag;
currPlayer = GWSystem.player_curr;
BoardWinCreateChoice(2, MAKE_MESSID(19, 17), 4, 0);
if (GWPlayer[currPlayer].com) {
if (frandBool() != 0) {
BoardComKeySetLeft();
} else {
}
else {
BoardComKeySetRight();
}
}
@ -317,7 +317,8 @@ void fn_1_990(void) {
BoardPlayerMotionStart(currPlayer, 1, 0x40000001);
}
void fn_1_C50(void) {
void fn_1_C50(void)
{
Vec rotation;
Vec offset;
s32 currSpace;
@ -327,7 +328,7 @@ void fn_1_C50(void) {
s32 i, j;
currPlayer = GWSystem.player_curr;
if (BoardPlayerItemCount((s32) currPlayer) == 3) {
if (BoardPlayerItemCount((s32)currPlayer) == 3) {
BoardWinCreate(2, MAKE_MESSID(19, 26), 4);
BoardWinWait();
BoardWinKill();
@ -361,7 +362,8 @@ void fn_1_C50(void) {
if (GWPlayer[currPlayer].com) {
if (BoardComPreferItemCheck(currPlayer, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) {
BoardComKeySetLeft();
} else {
}
else {
BoardComKeySetRight();
}
}
@ -387,14 +389,14 @@ void fn_1_C50(void) {
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = -250.0f;
BoardCameraMotionStartEx(lbl_1_bss_30[10], (Point3d* ) &rotation, (Point3d* ) &offset, 1500.0f, 25.0f, 0x15);
BoardCameraMotionStartEx(lbl_1_bss_30[10], (Vec *)&rotation, (Vec *)&offset, 1500.0f, 25.0f, 0x15);
currSpace = GWPlayer[currPlayer].space_curr;
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, currSpace, 0x02000000U);
BoardPlayerMoveBetween(currPlayer, currSpace, spaceLinkFlags);
while (GWPlayer[currPlayer].moving) {
HuPrcVSleep();
}
BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001);
BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001);
BoardPlayerMotBlendSet(currPlayer, 0xB4, 0xF);
while (BoardPlayerMotBlendCheck(currPlayer) == 0) {
HuPrcVSleep();
@ -409,17 +411,19 @@ void fn_1_C50(void) {
HuPrcVSleep();
}
fn_1_5F90();
BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001);
BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001);
HuPrcEnd();
}
void fn_1_1070(void) {
void fn_1_1070(void)
{
BoardWinKill();
CharModelDataClose(-1);
lbl_1_bss_4 = 0;
}
void fn_1_10A8(void) {
void fn_1_10A8(void)
{
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
while (lbl_1_bss_4) {
@ -427,7 +431,8 @@ void fn_1_10A8(void) {
}
}
s32 fn_1_1128(void) {
s32 fn_1_1128(void)
{
u32 spaceFlags;
s16 currSpace;
currSpace = GWPlayer[GWSystem.player_curr].space_curr;
@ -436,7 +441,8 @@ s32 fn_1_1128(void) {
if (spaceFlags & 0x200000) {
fn_1_990();
} else if (spaceFlags & 0x400000) {
}
else if (spaceFlags & 0x400000) {
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
while (lbl_1_bss_4) {
@ -447,7 +453,8 @@ s32 fn_1_1128(void) {
BoardRollDispSet(1);
}
void fn_1_121C(u32 mesg) {
void fn_1_121C(u32 mesg)
{
BoardWinCreate(2, mesg, 4);
BoardWinWait();
BoardWinKill();

View file

@ -1,26 +1,21 @@
#include "REL/w02Dll.h"
#include "game/audio.h"
#include "game/frand.h"
#include "game/chrman.h"
#include "game/frand.h"
#include "game/pad.h"
#include "ext_math.h"
/* DATA */
s32 lbl_1_data_4D0[] = {
-1, 2, 2, 2,
-1, 1, 1, 1,
-1, 0, 0, 0,
-1, 3, 3, 3
};
s32 lbl_1_data_4D0[] = { -1, 2, 2, 2, -1, 1, 1, 1, -1, 0, 0, 0, -1, 3, 3, 3 };
Process *lbl_1_bss_38C;
s16 lbl_1_bss_388;
s32 lbl_1_bss_384;
float lbl_1_bss_380;
//Local Functions
// Local Functions
void fn_1_D3AC(void);
s32 fn_1_D8C4(void);
void fn_1_DF48(void);
@ -34,10 +29,10 @@ typedef struct UnkPoint {
Vec point;
} UnkPoint;
/* FUNCTIONS */
void fn_1_BC1C(void) {
Point3d sp8;
void fn_1_BC1C(void)
{
Vec sp8;
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
sp8.z -= 90.0f;
@ -50,13 +45,14 @@ void fn_1_BC1C(void) {
BoardModelRotSetV(lbl_1_bss_30[15], &sp8);
}
void fn_1_BCFC(void) {
void fn_1_BCFC(void)
{
s32 spaceLinkFlags;
s32 temp_r30;
s32 temp_r29;
BoardRollDispSet(0);
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32) GWPlayer[lbl_1_bss_388].space_curr, 2U);
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32)GWPlayer[lbl_1_bss_388].space_curr, 2U);
BoardPlayerMoveToAsync(lbl_1_bss_388, spaceLinkFlags);
while (GWPlayer[lbl_1_bss_388].moving) {
HuPrcVSleep();
@ -64,8 +60,8 @@ void fn_1_BCFC(void) {
BoardPlayerIdleSet(lbl_1_bss_388);
BoardCameraViewSet(2);
BoardCameraMotionWait();
BoardPlayerMotBlendSet((s32) lbl_1_bss_388, 0x5A, 0xF);
while (BoardPlayerMotBlendCheck((s32) lbl_1_bss_388) == 0) {
BoardPlayerMotBlendSet((s32)lbl_1_bss_388, 0x5A, 0xF);
while (BoardPlayerMotBlendCheck((s32)lbl_1_bss_388) == 0) {
HuPrcVSleep();
}
BoardModelRotYSet(lbl_1_bss_30[15], -90.0f);
@ -81,16 +77,18 @@ void fn_1_BCFC(void) {
BoardCameraMotionWait();
BoardRollDispSet(1);
HuPrcKill(NULL);
while(TRUE) {
HuPrcVSleep();
while (TRUE) {
HuPrcVSleep();
}
}
s32 fn_1_BE74(void) {
s32 fn_1_BE74(void)
{
lbl_1_bss_38C = 0;
}
s32 fn_1_BE88(void) {
s32 fn_1_BE88(void)
{
s32 coinAmount;
s32 var_r30;
s16 playerCoinRegion;
@ -100,7 +98,7 @@ s32 fn_1_BE88(void) {
s32 mesg;
var_r30 = -1;
coinAmount = BoardPlayerCoinsGet((s32) lbl_1_bss_388);
coinAmount = BoardPlayerCoinsGet((s32)lbl_1_bss_388);
if (coinAmount < 5) {
return var_r30;
}
@ -112,7 +110,8 @@ s32 fn_1_BE88(void) {
if (GWPlayer[lbl_1_bss_388].com) {
if (frandBool()) {
BoardComKeySetRight();
} else {
}
else {
BoardComKeySetLeft();
}
}
@ -136,49 +135,50 @@ s32 fn_1_BE88(void) {
if (GWPlayer[lbl_1_bss_388].com) {
if (playerCoinRegion < 2) {
BoardComKeySetUp();
} else if (frandBool()) {
}
else if (frandBool()) {
BoardComKeySetUp();
} else {
}
else {
BoardComKeySetDown();
}
}
BoardWinWait();
BoardWinKill();
bribeChoice = BoardWinChoiceGet();
if (bribeChoice == -1 ||
bribeChoice == 3) {
if (bribeChoice == -1 || bribeChoice == 3) {
continue;
}
// Coin amount is now the bribe amount in coins
switch (bribeChoice) {
case 0:
mesg = MAKE_MESSID(0x13, 0x04);
coinAmount = 0x14;
var_r30 = 0x5A; // 90%
break;
case 1:
mesg = MAKE_MESSID(0x13, 0x05);
coinAmount = 0xA;
var_r30 = 0x3C; // 60%
break;
case 2:
mesg = MAKE_MESSID(0x13, 0x06);
coinAmount = 5;
var_r30 = 0x1E; // 30%
break;
case 0:
mesg = MAKE_MESSID(0x13, 0x04);
coinAmount = 0x14;
var_r30 = 0x5A; // 90%
break;
case 1:
mesg = MAKE_MESSID(0x13, 0x05);
coinAmount = 0xA;
var_r30 = 0x3C; // 60%
break;
case 2:
mesg = MAKE_MESSID(0x13, 0x06);
coinAmount = 5;
var_r30 = 0x1E; // 30%
break;
}
fn_1_121C(mesg);
for (i = 0; i < coinAmount; i++) {
BoardPlayerCoinsAdd(lbl_1_bss_388, -1);
HuAudFXPlay(0xE);
HuPrcSleep(6);
}
HuAudFXPlay(0xF);
// If chose to view map
} else if (rouletteChoice == 2) {
// If chose to view map
}
else if (rouletteChoice == 2) {
BoardViewMapExec(lbl_1_bss_388);
}
} while (rouletteChoice == 2); // While viewing map
@ -188,13 +188,13 @@ s32 fn_1_BE88(void) {
return var_r30;
}
s32 fn_1_C108(s32 arg0) {
s32 fn_1_C108(s32 arg0)
{
Vec sp34;
Vec sp28;
Vec sp1C;
Vec sp10;
f32 var_f27;
f32 var_f26;
f32 var_f25;
@ -210,15 +210,16 @@ s32 fn_1_C108(s32 arg0) {
s32 var_r29;
s32 i;
if ((s32) frandmod(0x64U) < arg0) {
if ((s32)frandmod(0x64U) < arg0) {
s32 temp_r25 = fn_1_E2AC();
var_r27 = 4;
var_r29 = frandmod(3U);
if ((s32) frandmod(0x64U) < 0x14) {
if ((s32)frandmod(0x64U) < 0x14) {
var_r29 += 1;
}
var_r29 = var_r29 + (3 - temp_r25) * 4;
} else {
}
else {
var_r29 = frandmod(0x10U);
var_r27 = frandmod(4U);
}
@ -287,7 +288,7 @@ s32 fn_1_C108(s32 arg0) {
sp1C.z = -50.0f;
// Roulette motion and ball ?
while(TRUE) {
while (TRUE) {
sp1C.y = var_f27 - (0.55833334f * (0.25f * (var_f31 * var_f31)));
var_f31 += 1.0f;
BoardModelPosGet(lbl_1_bss_30[6], &sp28);
@ -295,11 +296,11 @@ s32 fn_1_C108(s32 arg0) {
var_f25 = VECDistanceXZ(&sp28, &sp10);
if (var_f25 >= 430.0f) {
if (sp28.y <= (55.0f + sp10.y)) {
VECSubtract(&sp28, &sp10, (Vec* ) &sp1C);
VECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C);
VECSubtract(&sp28, &sp10, (Vec *)&sp1C);
VECNormalize((Vec *)&sp1C, (Vec *)&sp1C);
sp1C.y = 0.0f;
VECScale((Vec* ) &sp1C, (Vec* ) &sp1C, 429.0f);
VECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C);
VECScale((Vec *)&sp1C, (Vec *)&sp1C, 429.0f);
VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C);
sp28.x = sp1C.x;
sp28.z = sp1C.z;
sp1C.x = -5.0f;
@ -309,34 +310,34 @@ s32 fn_1_C108(s32 arg0) {
if (sp28.y < sp10.y) {
sp28.y = sp10.y;
if (var_r27 >= 3) {
if (var_r27 >= 3) {
break;
}
//var_f31 = ((1.0f/255.0f) * (6.0f * frand8()));
var_f27 = 6.0f + ((1.0f/255.0f) * (6.0f * frand8()));
// var_f31 = ((1.0f/255.0f) * (6.0f * frand8()));
var_f27 = 6.0f + ((1.0f / 255.0f) * (6.0f * frand8()));
var_f31 = 1.0f;
var_r27 += 1;
//var_f31 = ((1.0f/255.0f) * (5.0f * frand8()));
sp1C.x = 15.0f + ((1.0f/255.0f) * (5.0f * frand8()));
sp1C.z = 15.0f + ((1.0f/255.0f) * (5.0f * frand8()));
// var_f31 = ((1.0f/255.0f) * (5.0f * frand8()));
sp1C.x = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8()));
sp1C.z = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8()));
HuAudFXPlay(0x41E);
}
BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28);
BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28);
fn_1_E310(var_f29);
HuPrcVSleep();
}
HuAudFXPlay(0x41E);
VECSubtract(&sp28, &sp10, (Vec* ) &sp1C);
VECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C);
VECSubtract(&sp28, &sp10, (Vec *)&sp1C);
VECNormalize((Vec *)&sp1C, (Vec *)&sp1C);
var_f31 = atan2d(-sp1C.z, sp1C.x);
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
var_f31 = var_f31 - sp34.y;
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
var_r30 = (s32) (var_f31 / 22.5f);
var_r30 = (s32)(var_f31 / 22.5f);
if (fmod(var_f31, 22.5) > 11.25) {
var_r30 += 1;
}
@ -345,7 +346,7 @@ s32 fn_1_C108(s32 arg0) {
}
sp1C.y = 0.0f;
while(TRUE) {
while (TRUE) {
fn_1_E310(var_f29);
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
var_f31 = (22.5f * var_r30) + sp34.y; // TODO: Update rodata for asm change
@ -356,8 +357,7 @@ s32 fn_1_C108(s32 arg0) {
sp28.x = sp1C.x;
sp28.z = sp1C.z;
BoardModelPosSetV(lbl_1_bss_30[6], &sp28);
if (sp34.y >= 292.5f &&
sp34.y < 315.0f) {
if (sp34.y >= 292.5f && sp34.y < 315.0f) {
break;
}
HuPrcVSleep();
@ -367,14 +367,14 @@ s32 fn_1_C108(s32 arg0) {
var_f29 += 0.375f;
fn_1_E310(var_f29);
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
var_f31 = (22.5f * (f32) var_r30) + sp34.y;
var_f31 = (22.5f * (f32)var_r30) + sp34.y;
sp1C.x = cosd(var_f31);
sp1C.z = -sind(var_f31);
VECScale(&sp1C, &sp1C, 429.0f);
VECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C);
VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C);
sp28.x = sp1C.x;
sp28.z = sp1C.z;
BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28);
BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28);
var_r28 += -136.51666f;
HuAudFXPitchSet(lbl_1_bss_384, var_r28);
HuPrcVSleep();
@ -385,7 +385,8 @@ s32 fn_1_C108(s32 arg0) {
}
// Place player on space post roulette?
void fn_1_CD04(s32 arg0) {
void fn_1_CD04(s32 arg0)
{
Vec sp24;
Vec sp18;
Vec spC;
@ -400,7 +401,7 @@ void fn_1_CD04(s32 arg0) {
s32 var_r29;
s32 var_r28;
s32 var_r30;
BoardSpace* temp_r31;
BoardSpace *temp_r31;
if (arg0 < 0) {
fn_1_D3AC();
@ -410,8 +411,8 @@ void fn_1_CD04(s32 arg0) {
for (var_r28 = 0; var_r28 < temp_r31->link_cnt; var_r28++) {
var_r29 = temp_r31->link[var_r28];
var_r26 = ( (BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U);
if ( var_r26 == (arg0 + 2)) {
var_r26 = ((BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U);
if (var_r26 == (arg0 + 2)) {
break;
}
}
@ -427,7 +428,7 @@ void fn_1_CD04(s32 arg0) {
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 30.0f) {
spC.x -= 0.25f;
spC.y -= 0.25f;
//temp_f1 = spC.z;
// temp_f1 = spC.z;
spC.z = spC.z - 0.25f;
BoardPlayerScaleSetV(lbl_1_bss_388, &spC);
HuPrcVSleep();
@ -443,7 +444,8 @@ void fn_1_CD04(s32 arg0) {
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
BoardModelVisibilitySet(BoardBowserSuitModelGet(), 0);
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 0);
} else {
}
else {
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 0);
}
HuAudFXPlay(0x421);
@ -454,7 +456,7 @@ void fn_1_CD04(s32 arg0) {
}
BoardModelPosGet(lbl_1_bss_30[5], &sp18);
temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z)/30;
temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z) / 30;
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 90.0f) {
BoardModelRotYSet(lbl_1_bss_30[5], temp_f30 + BoardModelRotYGet(lbl_1_bss_30[5]));
@ -464,22 +466,23 @@ void fn_1_CD04(s32 arg0) {
omVibrate(lbl_1_bss_388, 0xC, 4, 2);
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
BoardModelVisibilitySet(BoardBowserSuitModelGet(),1);
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(),1);
} else {
BoardModelVisibilitySet(BoardBowserSuitModelGet(), 1);
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 1);
}
else {
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 1);
}
GWPlayer[lbl_1_bss_388].space_curr =(s16) var_r29;
GWPlayer[lbl_1_bss_388].space_curr = (s16)var_r29;
BoardPlayerPosSetV(lbl_1_bss_388, &sp24);
temp_r31 = BoardSpaceGet(0, var_r29);
for ( var_r30 = 0; var_r30 < (s32) temp_r31->link_cnt; var_r30++) {
for (var_r30 = 0; var_r30 < (s32)temp_r31->link_cnt; var_r30++) {
if (BoardSpaceTypeGet(0, temp_r31->link[var_r30])) {
break;
}
}
if (var_r30 != (s32) temp_r31->link_cnt) {
if (var_r30 != (s32)temp_r31->link_cnt) {
BoardSpacePosGet(0, temp_r31->link[var_r30], &sp18);
BoardPlayerRotYSet(lbl_1_bss_388, atan2d(sp18.x - sp24.x, sp18.z - sp24.z));
}
@ -507,289 +510,290 @@ void fn_1_CD04(s32 arg0) {
void fn_1_D3AC(void)
{
float temp_f31;
float temp_f30;
s32 temp_r31;
s32 temp_r30;
s16 sp38[20];
Vec sp2C;
Vec sp20;
Vec sp14;
float sp8[3] = { 1.0f, 0.3f, 2.5f };
fn_1_121C(MAKE_MESSID(0x13, 0x08));
BoardStatusShowSetAll(1);
BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15);
BoardPlayerPosGet(lbl_1_bss_388, &sp14);
for(temp_r31=0; temp_r31<20; temp_r31++) {
sp38[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1);
sp2C.x = (sp14.x-25.0f)+((1.0f/255.0f)*(frand8()*50.0f));
sp2C.y = (sp14.y+1200.0f)+(temp_r31*130.0f)+((1.0f/255.0f)*(frand8()*60.0f));
sp2C.z = (sp14.z-25.0f)+((1.0f/255.0f)*(frand8()*50.0f));
BoardModelPosSetV(sp38[temp_r31], &sp2C);
sp20.x = sp20.z = 0;
sp20.y = (1.0f/255.0f)*(frand8()*360.0f);
BoardModelRotSetV(sp38[temp_r31], &sp20);
}
temp_f31 = -4;
temp_r30 = 0;
temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)];
while(1) {
for(temp_r31=0; temp_r31<20; temp_r31++) {
if(temp_r31 < temp_r30) {
continue;
}
BoardModelPosGet(sp38[temp_r31], &sp2C);
BoardModelRotGet(sp38[temp_r31], &sp20);
sp2C.y += temp_f31;
sp20.y += 45.0f;
BoardModelPosSetV(sp38[temp_r31], &sp2C);
BoardModelRotSetV(sp38[temp_r31], &sp20);
if(sp2C.y <= sp14.y+(180.0f*temp_f30)) {
CharModelCoinEffectCreate(1, &sp2C);
BoardModelVisibilitySet(sp38[temp_r31], 0);
temp_r30++;
BoardPlayerCoinsAdd(lbl_1_bss_388, 1);
HuAudFXPlay(7);
omVibrate(lbl_1_bss_388, 12, 6, 6);
}
}
temp_f31 *= 1.05f;
if(temp_f31 < -40.0f) {
temp_f31 = -40.0f;
}
if(temp_r30 == 20) {
BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, HU3D_MOTATTR_NONE);
break;
}
HuPrcVSleep();
}
while(!BoardPlayerMotionEndCheck(lbl_1_bss_388)) {
HuPrcVSleep();
}
for(temp_r31=0; temp_r31<20; temp_r31++) {
BoardModelKill(sp38[temp_r31]);
}
HuPrcSleep(60);
BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15);
BoardStatusShowSetAll(0);
while(!BoardPlayerMotBlendCheck(lbl_1_bss_388)) {
HuPrcVSleep();
}
float temp_f31;
float temp_f30;
s32 temp_r31;
s32 temp_r30;
s16 sp38[20];
Vec sp2C;
Vec sp20;
Vec sp14;
float sp8[3] = { 1.0f, 0.3f, 2.5f };
fn_1_121C(MAKE_MESSID(0x13, 0x08));
BoardStatusShowSetAll(1);
BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15);
BoardPlayerPosGet(lbl_1_bss_388, &sp14);
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
sp38[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1);
sp2C.x = (sp14.x - 25.0f) + ((1.0f / 255.0f) * (frand8() * 50.0f));
sp2C.y = (sp14.y + 1200.0f) + (temp_r31 * 130.0f) + ((1.0f / 255.0f) * (frand8() * 60.0f));
sp2C.z = (sp14.z - 25.0f) + ((1.0f / 255.0f) * (frand8() * 50.0f));
BoardModelPosSetV(sp38[temp_r31], &sp2C);
sp20.x = sp20.z = 0;
sp20.y = (1.0f / 255.0f) * (frand8() * 360.0f);
BoardModelRotSetV(sp38[temp_r31], &sp20);
}
temp_f31 = -4;
temp_r30 = 0;
temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)];
while (1) {
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
if (temp_r31 < temp_r30) {
continue;
}
BoardModelPosGet(sp38[temp_r31], &sp2C);
BoardModelRotGet(sp38[temp_r31], &sp20);
sp2C.y += temp_f31;
sp20.y += 45.0f;
BoardModelPosSetV(sp38[temp_r31], &sp2C);
BoardModelRotSetV(sp38[temp_r31], &sp20);
if (sp2C.y <= sp14.y + (180.0f * temp_f30)) {
CharModelCoinEffectCreate(1, &sp2C);
BoardModelVisibilitySet(sp38[temp_r31], 0);
temp_r30++;
BoardPlayerCoinsAdd(lbl_1_bss_388, 1);
HuAudFXPlay(7);
omVibrate(lbl_1_bss_388, 12, 6, 6);
}
}
temp_f31 *= 1.05f;
if (temp_f31 < -40.0f) {
temp_f31 = -40.0f;
}
if (temp_r30 == 20) {
BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, HU3D_MOTATTR_NONE);
break;
}
HuPrcVSleep();
}
while (!BoardPlayerMotionEndCheck(lbl_1_bss_388)) {
HuPrcVSleep();
}
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
BoardModelKill(sp38[temp_r31]);
}
HuPrcSleep(60);
BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15);
BoardStatusShowSetAll(0);
while (!BoardPlayerMotBlendCheck(lbl_1_bss_388)) {
HuPrcVSleep();
}
}
s32 fn_1_D8C4(void)
{
Vec sp40;
Vec sp34;
Vec sp28;
Vec sp1C;
s16 sp14[4];
float spC[2];
s32 sp8;
Vec sp40;
Vec sp34;
Vec sp28;
Vec sp1C;
s16 sp14[4];
float spC[2];
s32 sp8;
float temp_f31;
float temp_f30;
float temp_f31;
float temp_f30;
s32 temp_r31;
s16 temp_r30;
BoardSpace *temp_r29;
s32 temp_r28;
s16 temp_r27;
s16 temp_r26;
s32 temp_r25;
s16 temp_r24;
s16 temp_r23;
s16 temp_r22;
s32 temp_r31;
s16 temp_r30;
BoardSpace *temp_r29;
s32 temp_r28;
s16 temp_r27;
s16 temp_r26;
s32 temp_r25;
s16 temp_r24;
s16 temp_r23;
s16 temp_r22;
u32 temp_r21;
fn_1_121C(MAKE_MESSID(0x13, 0x09));
temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800));
BoardModelPosGet(lbl_1_bss_30[3], &sp40);
for(temp_r31=0; temp_r31<4; temp_r31++) {
sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1);
BoardModelLayerSet(sp14[temp_r31], 2);
for(temp_r28=0; temp_r28<temp_r29->link_cnt; temp_r28++) {
temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1;
if(temp_r21 == temp_r31+2) {
break;
}
}
sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28);
VECSubtract(&sp28, &sp40, &sp34);
BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z));
VECNormalize(&sp34, &sp34);
VECScale(&sp34, &sp34, 400);
VECAdd(&sp34, &sp40, &sp34);
sp34.y += 300.0f;
BoardModelPosSetV(sp14[temp_r31], &sp34);
sp1C.x = sp1C.y = sp1C.z = 3;
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
}
temp_r25 = fn_1_E2AC();
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E));
temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0);
HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E));
HuWinBGTPLvlSet(temp_r30, 0);
HuWinMesSpeedSet(temp_r30, 0);
temp_r23 = GWPlayer[lbl_1_bss_388].port;
temp_f30 = 0;
temp_r22 = frandmod(20)+20;
restart:
while(1) {
if(GWPlayer[lbl_1_bss_388].com) {
temp_r27 = 0;
temp_r26 = 0;
if(temp_r22) {
temp_r22--;
temp_r24 = 0;
} else {
temp_r24 = PAD_BUTTON_A;
}
break;
}
temp_r24 = HuPadBtnDown[temp_r23];
temp_r27 = HuPadStkX[temp_r23];
temp_r26 = HuPadStkY[temp_r23];
if(!(temp_r24 & PAD_TRIGGER_Z)) {
break;
}
HuAudFXPlay(1);
for(temp_r31=0; temp_r31<4; temp_r31++) {
BoardModelVisibilitySet(sp14[temp_r31], 0);
}
HuWinDispOff(temp_r30);
BoardViewMapExec(lbl_1_bss_388);
HuWinDispOn(temp_r30);
for(temp_r31=0; temp_r31<4; temp_r31++) {
BoardModelVisibilitySet(sp14[temp_r31], 1);
}
}
if(!(temp_r24 & PAD_BUTTON_A)) {
if(abs(temp_r27) < 10) {
temp_r27 = 0;
}
if(abs(temp_r26) < 10) {
temp_r26 = 0;
}
if(temp_r27 != 0 || temp_r26 != 0) {
temp_f31 = atan2d(-temp_r27, -temp_r26);
if(temp_f31 < 0.0f) {
temp_f31 += 360.0f;
}
temp_r31 = temp_f31/90.0f;
temp_f31 = fmod(temp_f31, 90.0);
if(temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f){
temp_f30 = 0;
temp_r25 = temp_r31;
HuAudFXPlay(0);
}
u32 temp_r21;
fn_1_121C(MAKE_MESSID(0x13, 0x09));
temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800));
BoardModelPosGet(lbl_1_bss_30[3], &sp40);
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1);
BoardModelLayerSet(sp14[temp_r31], 2);
for (temp_r28 = 0; temp_r28 < temp_r29->link_cnt; temp_r28++) {
temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1;
if (temp_r21 == temp_r31 + 2) {
break;
}
}
sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28);
VECSubtract(&sp28, &sp40, &sp34);
BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z));
VECNormalize(&sp34, &sp34);
VECScale(&sp34, &sp34, 400);
VECAdd(&sp34, &sp40, &sp34);
sp34.y += 300.0f;
BoardModelPosSetV(sp14[temp_r31], &sp34);
sp1C.x = sp1C.y = sp1C.z = 3;
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
}
temp_r25 = fn_1_E2AC();
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E));
temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0);
HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E));
HuWinBGTPLvlSet(temp_r30, 0);
HuWinMesSpeedSet(temp_r30, 0);
temp_r23 = GWPlayer[lbl_1_bss_388].port;
temp_f30 = 0;
temp_r22 = frandmod(20) + 20;
restart:
while (1) {
if (GWPlayer[lbl_1_bss_388].com) {
temp_r27 = 0;
temp_r26 = 0;
if (temp_r22) {
temp_r22--;
temp_r24 = 0;
}
else {
temp_r24 = PAD_BUTTON_A;
}
break;
}
temp_r24 = HuPadBtnDown[temp_r23];
temp_r27 = HuPadStkX[temp_r23];
temp_r26 = HuPadStkY[temp_r23];
if (!(temp_r24 & PAD_TRIGGER_Z)) {
break;
}
HuAudFXPlay(1);
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
BoardModelVisibilitySet(sp14[temp_r31], 0);
}
HuWinDispOff(temp_r30);
BoardViewMapExec(lbl_1_bss_388);
HuWinDispOn(temp_r30);
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
BoardModelVisibilitySet(sp14[temp_r31], 1);
}
}
if (!(temp_r24 & PAD_BUTTON_A)) {
if (abs(temp_r27) < 10) {
temp_r27 = 0;
}
if (abs(temp_r26) < 10) {
temp_r26 = 0;
}
if (temp_r27 != 0 || temp_r26 != 0) {
temp_f31 = atan2d(-temp_r27, -temp_r26);
if (temp_f31 < 0.0f) {
temp_f31 += 360.0f;
}
temp_r31 = temp_f31 / 90.0f;
temp_f31 = fmod(temp_f31, 90.0);
if (temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f) {
temp_f30 = 0;
temp_r25 = temp_r31;
HuAudFXPlay(0);
}
}
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
if (temp_r31 == temp_r25) {
sp1C.x = sp1C.y = sp1C.z = sind(temp_f30) + 3.0;
temp_f30 += 8.0f;
if (temp_f30 > 180.0f) {
temp_f30 -= 180.0f;
}
}
else {
sp1C.x = sp1C.y = sp1C.z = 3.0f;
}
}
for(temp_r31=0; temp_r31<4; temp_r31++) {
if(temp_r31 == temp_r25) {
sp1C.x = sp1C.y = sp1C.z = sind(temp_f30)+3.0;
temp_f30 += 8.0f;
if(temp_f30 > 180.0f) {
temp_f30 -= 180.0f;
}
} else {
sp1C.x = sp1C.y = sp1C.z = 3.0f;
}
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
}
HuPrcVSleep();
goto restart;
} else {
HuAudFXPlay(2);
for(temp_r31=0; temp_r31<4; temp_r31++) {
BoardModelKill(sp14[temp_r31]);
}
HuWinKill(temp_r30);
return temp_r25;
}
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
}
HuPrcVSleep();
goto restart;
}
else {
HuAudFXPlay(2);
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
BoardModelKill(sp14[temp_r31]);
}
HuWinKill(temp_r30);
return temp_r25;
}
}
void fn_1_DF48(void)
{
Vec sp14;
Vec sp8;
s32 temp_r31;
float temp_f31;
float temp_f30;
float temp_f29;
float temp_f28;
BoardModelMotionTimeSet(lbl_1_bss_30[5], 0);
BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002);
temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]);
temp_f29 = -temp_f31/20.0f;
temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]);
temp_f28 = -temp_f30/20.0f;
BoardModelScaleGet(lbl_1_bss_30[6], &sp14);
for(temp_r31=0; temp_r31<10; temp_r31++) {
sp14.x = sp14.y = sp14.z = 1.0f-(temp_r31*0.1f);
if(sp14.x < 0.0f) {
sp14.x = sp14.y = sp14.z = 0.0f;
}
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
temp_f31 += temp_f29;
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
temp_f30 += temp_f28;
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
HuPrcVSleep();
}
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
sp8.z -= 90.0f;
sp8.y += 50.0f;
BoardModelPosSetV(lbl_1_bss_30[6], &sp8);
for(temp_r31=0; temp_r31<10; temp_r31++) {
sp14.x = sp14.y = sp14.z = temp_r31*0.1f;
if(sp14.x > 1.0f) {
sp14.x = sp14.y = sp14.z = 1.0f;
}
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
temp_f31 += temp_f29;
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
temp_f30 += temp_f28;
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
HuPrcVSleep();
}
sp14.x = sp14.y = sp14.z = 1.0f;
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
BoardModelRotYSet(lbl_1_bss_30[5], 0);
BoardModelRotYSet(lbl_1_bss_30[15], 0);
HuPrcEnd();
Vec sp14;
Vec sp8;
s32 temp_r31;
float temp_f31;
float temp_f30;
float temp_f29;
float temp_f28;
BoardModelMotionTimeSet(lbl_1_bss_30[5], 0);
BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002);
temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]);
temp_f29 = -temp_f31 / 20.0f;
temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]);
temp_f28 = -temp_f30 / 20.0f;
BoardModelScaleGet(lbl_1_bss_30[6], &sp14);
for (temp_r31 = 0; temp_r31 < 10; temp_r31++) {
sp14.x = sp14.y = sp14.z = 1.0f - (temp_r31 * 0.1f);
if (sp14.x < 0.0f) {
sp14.x = sp14.y = sp14.z = 0.0f;
}
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
temp_f31 += temp_f29;
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
temp_f30 += temp_f28;
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
HuPrcVSleep();
}
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
sp8.z -= 90.0f;
sp8.y += 50.0f;
BoardModelPosSetV(lbl_1_bss_30[6], &sp8);
for (temp_r31 = 0; temp_r31 < 10; temp_r31++) {
sp14.x = sp14.y = sp14.z = temp_r31 * 0.1f;
if (sp14.x > 1.0f) {
sp14.x = sp14.y = sp14.z = 1.0f;
}
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
temp_f31 += temp_f29;
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
temp_f30 += temp_f28;
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
HuPrcVSleep();
}
sp14.x = sp14.y = sp14.z = 1.0f;
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
BoardModelRotYSet(lbl_1_bss_30[5], 0);
BoardModelRotYSet(lbl_1_bss_30[15], 0);
HuPrcEnd();
}
s32 fn_1_E2AC(void)
{
switch(GWSystem.star_pos) {
case 0:
return 3;
switch (GWSystem.star_pos) {
case 0:
return 3;
case 1:
case 2:
return 0;
case 1:
case 2:
return 0;
case 3:
case 4:
return 1;
case 3:
case 4:
return 1;
case 5:
case 6:
case 7:
return 2;
case 5:
case 6:
case 7:
return 2;
default:
return -1;
}
default:
return -1;
}
}
/* Rotate (yaw) of model 4 */
void fn_1_E310(f32 degrees) {
Point3d spC;
void fn_1_E310(f32 degrees)
{
Vec spC;
lbl_1_bss_380 += degrees;
if (lbl_1_bss_380 >= 360.0f) {
lbl_1_bss_380 -= 360.0f;
@ -804,11 +808,11 @@ void fn_1_E310(f32 degrees) {
void fn_1_E41C(void)
{
lbl_1_bss_388 = GWSystem.player_curr;
OSReport("Roulette Player %d\n", lbl_1_bss_388);
lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); //fn_1_BE74 requires implicit return
while(lbl_1_bss_38C) {
HuPrcVSleep();
}
lbl_1_bss_388 = GWSystem.player_curr;
OSReport("Roulette Player %d\n", lbl_1_bss_388);
lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); // fn_1_BE74 requires implicit return
while (lbl_1_bss_38C) {
HuPrcVSleep();
}
}

View file

@ -134,9 +134,9 @@ void fn_1_7C98(void)
s32 fn_1_7D18(s32 arg0)
{
Point3d sp38;
Point3d sp2C;
Point3d sp20;
Vec sp38;
Vec sp2C;
Vec sp20;
Vec sp14;
Vec sp8;
f32 var_f31;
@ -259,7 +259,7 @@ s32 lbl_1_data_490[] = {
void fn_1_81E0(s32 arg0)
{
Point3d sp8;
Vec sp8;
omObjData *temp_r3;
f32 temp_f31;
s32 temp_r28;
@ -499,7 +499,7 @@ s32 lbl_1_data_4B4[] = { 0x00000440, 0x00000441, 0x00000442, 0x00000443, 0x00000
void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
{
Point3d spC;
Vec spC;
f32 temp_f31;
f32 temp_f30;
s8 temp_r27;
@ -535,7 +535,7 @@ void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
void fn_1_8E44(omObjData *arg0, someBits3 *arg1)
{
Point3d sp8;
Vec sp8;
f32 temp_f1;
f32 temp_f31;
@ -611,9 +611,9 @@ void fn_1_91B8(void)
void fn_1_9230(s32 arg0)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp20;
Vec sp14;
Vec sp8;
s16 temp_r30;
f32 rotY;
@ -747,7 +747,7 @@ void fn_1_95B8(omObjData *arg0)
void fn_1_97F8(s32 arg0)
{
Point3d sp8;
Vec sp8;
f32 temp_f2;
f32 var_f31;
f64 temp_f1;

View file

@ -794,9 +794,9 @@ void fn_1_B350(omObjData *arg0)
void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp20;
Vec sp14;
Vec sp8;
f32 temp_f31;
s8 temp_r0;
s32 i;
@ -827,7 +827,7 @@ void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
void fn_1_B688(omObjData *arg0, someBits2 *arg1)
{
Point3d sp8;
Vec sp8;
if (arg1->unk1-- != 0) {
BoardModelPosGet(arg1->unk_06[arg1->unk2], &sp8);
@ -844,7 +844,7 @@ void fn_1_B688(omObjData *arg0, someBits2 *arg1)
void fn_1_B748(omObjData *arg0, someBits2 *arg1)
{
Vec sp14;
Point3d sp8;
Vec sp8;
f32 temp_f0;
s16 temp_r29;
@ -877,8 +877,8 @@ void fn_1_B748(omObjData *arg0, someBits2 *arg1)
void fn_1_B8E8(s32 arg0)
{
Point3d sp14;
Point3d sp8;
Vec sp14;
Vec sp8;
f32 temp_f31;
someBits2 *temp_r31;
f32 temp;
@ -975,7 +975,7 @@ void fn_1_BDAC(void)
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix)
{
Point3d sp8;
Vec sp8;
f32 temp_f30;
f32 temp_f29;
f32 temp_f31;

View file

@ -1,28 +1,29 @@
#include "dolphin.h"
#include "game/object.h"
#include "REL/w03Dll.h"
#include "dolphin.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/hsfdraw.h"
#include "game/object.h"
#include "ext_math.h"
//BSS
// BSS
char lbl_1_bss_130[8];
omObjData* lbl_1_bss_12C;
omObjData *lbl_1_bss_12C;
s16 lbl_1_bss_128;
s32 lbl_1_bss_124;
Process* lbl_1_bss_120;
Process *lbl_1_bss_120;
//function signatures
// function signatures
void fn_1_67F8(void);
void fn_1_6884(void);
void fn_1_767C(omObjData* arg0);
void fn_1_767C(omObjData *arg0);
s32 fn_1_6898(s32 arg0);
void fn_1_6B98(s32 arg0);
void fn_1_6F9C(s32 arg0);
void fn_1_767C(omObjData* arg0);
void fn_1_767C(omObjData *arg0);
void fn_1_735C(s32 arg0);
void fn_1_77E4(s32 arg0);
@ -34,43 +35,37 @@ typedef struct unkWorkStruct {
f32 unk_04;
} unkWorkStruct;
//data
s32 lbl_1_data_368[] = {
0x00000105, 0x00000145, 0x00000185,
0x000001C5, 0x00000205, 0x00000245,
0x00000285, 0x000002C5
};
// data
s32 lbl_1_data_368[] = { 0x00000105, 0x00000145, 0x00000185, 0x000001C5, 0x00000205, 0x00000245, 0x00000285, 0x000002C5 };
s16 lbl_1_data_388 = -1;
s16 lbl_1_data_38A = -1;
s16 lbl_1_data_38C = -1;
s32 lbl_1_data_390[] = {
DATA_MAKE_NUM(DATADIR_W03, 0x26),
DATA_MAKE_NUM(DATADIR_W03, 0x27),
DATA_MAKE_NUM(DATADIR_W03, 0x28),
DATA_NUM_LISTEND
};
s32 lbl_1_data_390[] = { DATA_MAKE_NUM(DATADIR_W03, 0x26), DATA_MAKE_NUM(DATADIR_W03, 0x27), DATA_MAKE_NUM(DATADIR_W03, 0x28), DATA_NUM_LISTEND };
void fn_1_63F4(s32 arg0) {
void fn_1_63F4(s32 arg0)
{
Vec spC;
unkWorkStruct* work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
unkWorkStruct *work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
work->unk_04 = 0.0f;
BoardModelPosGet(lbl_1_data_388, &spC);
if (arg0 != 0) {
spC.y = -185.0f;
} else {
}
else {
spC.y = 10.0f;
}
BoardModelPosSetV(lbl_1_data_388, &spC);
}
void fn_1_6494(void) {
void fn_1_6494(void)
{
Vec sp14;
Vec sp8;
unkWorkStruct* temp_r31;
unkWorkStruct *temp_r31;
lbl_1_data_388 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0E), NULL, 0);
lbl_1_data_38C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0F), NULL, 0);
@ -83,14 +78,15 @@ void fn_1_6494(void) {
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
BoardModelPosSetV(lbl_1_data_388, &sp14);
lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void*)fn_1_767C);
lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void *)fn_1_767C);
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
temp_r31->temp1 = 0;
temp_r31->unk_04 = 0.0f;
lbl_1_bss_124 = 0;
}
s32 fn_1_6698(void) {
s32 fn_1_6698(void)
{
Vec sp14;
Vec sp8;
@ -98,11 +94,12 @@ s32 fn_1_6698(void) {
BoardSpaceFlagPosGet(0, 0x200, &sp8);
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
BoardModelPosSetV(lbl_1_data_388, (Point3d* ) &sp14);
BoardModelPosSetV(lbl_1_data_388, (Vec *)&sp14);
return 1;
}
s16 fn_1_675C(void) {
s16 fn_1_675C(void)
{
BoardRollDispSet(0);
lbl_1_bss_120 = HuPrcChildCreate(fn_1_67F8, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_120, fn_1_6884);
@ -115,7 +112,8 @@ s16 fn_1_675C(void) {
return lbl_1_bss_128;
}
void fn_1_67F8(void) {
void fn_1_67F8(void)
{
s32 temp_r31;
temp_r31 = GWSystem.player_curr;
@ -133,7 +131,8 @@ void fn_1_67F8(void) {
HuPrcEnd();
}
void fn_1_6884(void) {
void fn_1_6884(void)
{
lbl_1_bss_120 = 0;
}
@ -144,15 +143,16 @@ typedef struct unkPos {
} unkPos;
unkPos lbl_1_data_3B8[6] = {
{5, 20, 5},
{21, 35, 7},
{31, 50, 10},
{51, 80, 15},
{81, 100, 17},
{101, 999, 20},
{ 5, 20, 5 },
{ 21, 35, 7 },
{ 31, 50, 10 },
{ 51, 80, 15 },
{ 81, 100, 17 },
{ 101, 999, 20 },
};
s32 fn_1_6898(s32 arg0) {
s32 fn_1_6898(s32 arg0)
{
Vec sp20;
Vec sp14;
Vec sp8;
@ -216,17 +216,17 @@ s32 fn_1_6898(s32 arg0) {
BoardWinKill();
switch (BoardWinChoiceGet()) {
case 0:
j = 1;
break;
case 1:
case -1:
BoardWinCreate(2, MAKE_MESSID(22, 14), 2);
BoardWinWait();
BoardWinKill();
return 0;
default:
BoardViewMapExec(arg0);
case 0:
j = 1;
break;
case 1:
case -1:
BoardWinCreate(2, MAKE_MESSID(22, 14), 2);
BoardWinWait();
BoardWinKill();
return 0;
default:
BoardViewMapExec(arg0);
}
}
@ -245,11 +245,12 @@ s32 fn_1_6898(s32 arg0) {
s32 BoardDAngleCalcRange(float *value, float min, float range);
void fn_1_6B98(s32 arg0) {
void fn_1_6B98(s32 arg0)
{
Vec sp30;
Point3d sp24;
Vec sp24;
Vec sp18;
Point3d spC;
Vec spC;
f32 sp8;
f32 temp_f1;
f32 temp_f31;
@ -287,12 +288,12 @@ void fn_1_6B98(s32 arg0) {
VECAdd(&spC, &sp24, &sp24);
temp_f1 = BoardModelMotionTimeGet(lbl_1_data_38A);
if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16) var_r31 == 0)) {
if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16)var_r31 == 0)) {
HuAudFXPlay(0x451);
var_r31 = 1;
}
if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16) var_r31 != 0)) {
if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16)var_r31 != 0)) {
var_r31 = 0;
}
@ -321,7 +322,8 @@ void fn_1_6B98(s32 arg0) {
extern s32 lbl_1_data_368[];
// extern w03State* lbl_1_bss_0;
void fn_1_6F9C(s32 arg0) {
void fn_1_6F9C(s32 arg0)
{
Vec sp20;
Vec sp14;
Vec sp8;
@ -344,7 +346,8 @@ void fn_1_6F9C(s32 arg0) {
var_f30 = 10.0f;
var_f29 = 0.21f;
sp14.y += sp20.y;
} else {
}
else {
var_f30 = 0.0f;
var_f29 = 0.15f;
}
@ -373,7 +376,8 @@ void fn_1_6F9C(s32 arg0) {
if (GWPlayer[arg0].bowser_suit != 0) {
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
} else {
}
else {
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
}
@ -381,10 +385,11 @@ void fn_1_6F9C(s32 arg0) {
lbl_1_bss_124 = 0;
}
void fn_1_735C(s32 arg0) {
void fn_1_735C(s32 arg0)
{
Vec sp20;
Vec sp14;
Point3d sp8;
Vec sp8;
f32 temp_f1;
f32 var_f30;
f32 var_f31;
@ -406,7 +411,8 @@ void fn_1_735C(s32 arg0) {
BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE);
if (lbl_1_bss_0->unk0 != 0) {
var_f30 = 0.25f;
} else {
}
else {
var_f30 = 0.2f;
}
@ -441,15 +447,15 @@ void fn_1_735C(s32 arg0) {
BoardWinKill();
}
void fn_1_767C(omObjData* arg0) {
Point3d sp8;
void fn_1_767C(omObjData *arg0)
{
Vec sp8;
s32 temp_r30;
unkWorkStruct* temp_r31;
unkWorkStruct *temp_r31;
temp_r31 = OM_GET_WORK_PTR(arg0, unkWorkStruct);
if ( (temp_r31->temp1 != 0) || (BoardIsKill() != 0)) {
if ((temp_r31->temp1 != 0) || (BoardIsKill() != 0)) {
lbl_1_bss_12C = NULL;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
@ -466,7 +472,8 @@ void fn_1_767C(omObjData* arg0) {
}
}
void fn_1_77E4(s32 arg0) {
void fn_1_77E4(s32 arg0)
{
s32 boardIndex;
s32 var_r30 = 0;

View file

@ -13,7 +13,6 @@
#include "game/objsub.h"
#include "game/process.h"
#include "ext_math.h"
void fn_1_1358(void);
@ -142,11 +141,11 @@ s32 fn_1_15E8(void)
s32 fn_1_1650(s32 arg0)
{
Point3d sp38;
Point3d sp2C;
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp38;
Vec sp2C;
Vec sp20;
Vec sp14;
Vec sp8;
f32 temp;
s32 temp2;
@ -356,7 +355,7 @@ s32 fn_1_1D1C(void)
void fn_1_1ED4(s32 arg0)
{
Point3d spC;
Vec spC;
f32 sp8;
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0C), NULL, 0);
@ -400,9 +399,9 @@ void fn_1_1ED4(s32 arg0)
void fn_1_20E0(s32 arg0)
{
Point3d sp24;
Point3d sp18;
Point3d spC;
Vec sp24;
Vec sp18;
Vec spC;
f32 sp8;
f32 var_f31;
s32 i;
@ -520,9 +519,9 @@ void fn_1_20E0(s32 arg0)
void fn_1_26E0(s32 arg0)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
Vec sp20;
Vec sp14;
Vec sp8;
f32 temp;
BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp20);

View file

@ -1202,7 +1202,7 @@ void PSMTXReflect(register Mtx m, const register Vec *p, const register Vec *n)
}
#endif
void C_MTXLookAt(Mtx m, const Point3d *camPos, const Vec *camUp, const Point3d *target)
void C_MTXLookAt(Mtx m, const Vec *camPos, const Vec *camUp, const Vec *target)
{
Vec vLook, vRight, vUp;

View file

@ -1,3 +1,4 @@
#include "ext_math.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
@ -6,7 +7,7 @@
#include "game/flag.h"
#include "game/objsub.h"
#include "game/process.h"
#include "ext_math.h"
#define BLOCK_SPAWN 0
#define BLOCK_HIT 2
@ -89,7 +90,7 @@ static void BlockProc(void)
s32 sp14[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x60), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x60),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x60), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x60),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x60), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x60) };
Point3d sp8;
Vec sp8;
s32 var_r28;
s32 i;
s32 player;
@ -191,7 +192,7 @@ static void DestroyBlock(void)
static void CreateBlockObj(s32 arg0)
{
Point3d player_pos;
Vec player_pos;
BlockWork *work;
s8 contains_star;
@ -422,7 +423,7 @@ static inline s32 FindCoinModel(s16 *out_model)
static void PopupCoin(void)
{
Point3d star_pos;
Vec star_pos;
omObjData *coinObj;
s32 model_index;
s16 model;
@ -451,8 +452,8 @@ static void PopupCoin(void)
static void PopupCoinExec(omObjData *obj)
{
Point3d coin_pos;
Point3d coin_rot;
Vec coin_pos;
Vec coin_rot;
CoinWork *work;
work = OM_GET_WORK_PTR(obj, CoinWork);