Merge remote-tracking branch 'upstream/main'

This commit is contained in:
M0liusX 2024-04-01 10:21:21 -05:00
commit 299866766c
200 changed files with 51340 additions and 6907 deletions

View file

@ -0,0 +1,50 @@
#ifndef REL_MODELTEST_H
#define REL_MODELTEST_H
#include "game/hsfdraw.h"
#include "game/objsub.h"
#include "game/object.h"
// -------------------------------------------------------------------------- //
#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 ABS(x) ((x) < 0 ? -(x) : (x))
// -------------------------------------------------------------------------- //
typedef struct
{
s16 unk0[7];
} HuUnkF9C2;
typedef struct
{
Point3d pos; // 0000
Point3d rot; // 000C
Point3d scale; // 0018
s32 unk24;
s32 unk28;
s32 unk2C;
HsfObject * obj; // 0030
} HuObjUnk;
extern Point3d CRot;
extern Point3d Center;
extern f32 CZoom;
void fn_1_29C();
void fn_1_28F8(Point3d * arg0, Point3d * arg1);
extern void omOutView();
void fn_1_37DC(omObjData*);
void fn_1_439C(omObjData*);
void fn_1_46F0();
s16 MGSeqCreate(s16, ...);
void MGSeqParamSet(s16, s16, s16);
typedef void (omObjFunc2)(struct om_obj_data *);
omObjFunc2 fn_1_F9C;
#endif
// -------------------------------------------------------------------------- //

85
include/REL/option.h Executable file
View file

@ -0,0 +1,85 @@
#ifndef REL_OPTION_H
#define REL_OPTION_H
#include "game/object.h"
#include "dolphin/types.h"
typedef struct {
/* 0x00 */ Process *unk00;
/* 0x04 */ s16 unk04;
/* 0x06 */ char unk06[2];
/* 0x08 */ s32 unk08;
/* 0x0C */ s32 unk0C;
/* 0x10 */ s32 unk10;
/* 0x14 */ s32 unk14;
/* 0x18 */ u32 unk18;
/* 0x1C */ s32 unk1C;
/* 0x20 */ s32 unk20;
} UnkWindowDataStruct; // Size 0x24
void fn_1_160(s16 arg0, s32 arg1, s32 arg2);
s32 fn_1_550(u16 arg0);
s32 fn_1_584(u16 arg0);
s32 fn_1_5B8(u16 arg0);
omObjData *fn_1_7F8(void);
void fn_1_A3C(omObjData *arg0);
void fn_1_A6C(omObjData *arg0, float arg1, float arg2, float arg3, s32 arg4);
void fn_1_AF0(omObjData *arg0, float arg1, float arg2, float arg3, s32 arg4);
void fn_1_B74(omObjData *arg0, float arg1, float arg2, float arg3, s32 arg4);
float fn_1_BF8(omObjData *arg0);
float fn_1_C28(omObjData *arg0);
void fn_1_C88(omObjData *arg0, float *arg1, float *arg2, float *arg3);
s32 fn_1_CB8(omObjData *arg0);
omObjData *fn_1_15A4(void);
void fn_1_1798(omObjData *arg0);
void fn_1_1A2C(omObjData *arg0, s32 arg1);
s32 fn_1_1A70(omObjData *arg0);
omObjData *fn_1_21F8(void);
void fn_1_241C(omObjData *arg0);
void fn_1_2508(omObjData *arg0, float arg1, float arg2, s32 arg3);
omObjData *fn_1_2E04(void);
void fn_1_2F4C(omObjData *arg0);
omObjData *fn_1_3158(void);
void fn_1_322C(omObjData *arg0);
void fn_1_3290(omObjData *arg0, s32 arg1);
s32 fn_1_32D4(omObjData *arg0);
void fn_1_3D54(omObjData *arg0);
void fn_1_3E1C(omObjData *arg0);
s32 fn_1_3ED0(omObjData *arg0);
omObjData *fn_1_4028(void);
void fn_1_42DC(omObjData *arg0);
void fn_1_4388(omObjData *arg0, s32 arg1);
s32 fn_1_43CC(omObjData *arg0);
omObjData *fn_1_80E4(void);
void fn_1_825C(omObjData *arg0);
void fn_1_82B0(omObjData *arg0, s32 arg1);
s32 fn_1_82F4(omObjData *arg0);
UnkWindowDataStruct *fn_1_A44C(s32 arg0);
void fn_1_A6AC(UnkWindowDataStruct *arg0);
void fn_1_A6EC(UnkWindowDataStruct *arg0);
void fn_1_A704(UnkWindowDataStruct *arg0);
void fn_1_A71C(UnkWindowDataStruct *arg0, s32 arg1);
void fn_1_A7B0(UnkWindowDataStruct *arg0, float arg1, float arg2);
void fn_1_A7F0(UnkWindowDataStruct *arg0);
void fn_1_A828(UnkWindowDataStruct *arg0);
void fn_1_A880(UnkWindowDataStruct *arg0, s32 arg1);
extern Process *lbl_1_bss_8;
extern omObjData *lbl_1_bss_10;
extern omObjData *lbl_1_bss_18;
extern omObjData *lbl_1_bss_20;
extern omObjData *lbl_1_bss_28;
extern omObjData *lbl_1_bss_30;
extern omObjData *lbl_1_bss_38;
extern omObjData *lbl_1_bss_40;
#endif

27
include/REL/w01Dll.h Executable file
View file

@ -0,0 +1,27 @@
#ifndef REL_W01_H
#define REL_W01_H
#include "dolphin/types.h"
enum {
MAPOBJ_MAX = 33
};
typedef struct {
/* 0x00 */ struct {
u8 unk00_field0 : 1;
};
/* 0x01 */ s8 unk01[2];
} UnkBoardDataStruct; // Size unknown
extern void fn_1_9D00(s32 arg0);
extern void fn_1_9DD8(void);
extern void fn_1_D740(s16 *arg0);
extern void fn_1_DD84(void);
extern void fn_1_DE94(void);
extern s16 lbl_1_bss_6C4[MAPOBJ_MAX];
extern UnkBoardDataStruct *lbl_1_bss_0;
#endif

View file

@ -7,12 +7,9 @@
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
typedef struct w03StructUnk0 {
/* 0x00 */ Vec unk_00;
/* 0x0C */ Vec unk_0C;
/* 0x18 */ Vec unk_18;
/* 0x24 */ s32 datanum;
} w03StructUnk0;
enum {
MAPOBJ_MAX = 12
};
typedef struct w03UnkStruct2{
u8 unk0 : 1;
@ -26,4 +23,7 @@ typedef struct w03State {
u16 unk4;
u16 unk6;
s16 unk8;
} w03State;
} w03State;
extern w03State* lbl_1_bss_0;
extern s16 lbl_1_bss_C[MAPOBJ_MAX];

36
include/REL/w06Dll.h Executable file
View file

@ -0,0 +1,36 @@
#ifndef REL_W06_H
#define REL_W06_H
#include "dolphin/types.h"
enum {
MAPOBJ_MAX = 6
};
extern void fn_1_D70(void);
extern void fn_1_F6C(void);
extern void fn_1_1054(void); // return s32?
extern void fn_1_4878(void);
extern void fn_1_4A10(void);
extern void fn_1_4A60(void); // return s32?
extern void fn_1_6EF0(void); // return s32?
extern void fn_1_7BB0(void);
extern void fn_1_7F3C(void);
extern void fn_1_8264(s32 arg0, s16 arg1);
extern void fn_1_8F20(void);
extern void fn_1_91D8(void);
extern void fn_1_9294(s32 arg0, s32 arg1);
extern s32 fn_1_92D8(s32 arg0, s32 arg1);
extern void fn_1_C108(s32 arg0);
extern void fn_1_C2B4(void);
extern void fn_1_CC90(void);
extern void fn_1_CD0C(void);
extern s16 lbl_1_bss_C[MAPOBJ_MAX];
extern void *lbl_1_bss_0;
#endif

View file

@ -3,130 +3,87 @@
#include "REL/executor.h"
#include "game/process.h"
#include "game/window.h"
#include "board_unsplit.h"
#include "unsplit.h"
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
enum {
MAPOBJ_MELON = 0,
MAPOBJ_MAX,
};
typedef struct w10_state {
/* 0x00 */ s32 unk0;
/* 0x04 */ u16 unk4;
/* 0x06 */ u16 unk6;
/* 0x08 */ s16 unk8;
} W10State;
typedef struct w10_board_work {
/* 0x00 */ s32 scene;
/* 0x04 */ u16 dice;
/* 0x06 */ u16 msg;
/* 0x08 */ s16 focus_mdl;
} W10BoardWork;
typedef struct unkw10Dll {
Vec unk0;
Vec unk0C;
Vec unk18;
s32 unk24;
} unkw10Dll; //sizeof 0x28
typedef void (*TutorialSceneFunc)(void);
typedef struct w10DllUnk01 {
u8 unk0;
f32 unk4;
f32 unk8;
f32 unkC;
f32 unk10;
} w10DllUnk01; //sizeof ?
typedef struct tutorial_scene {
s16 cue;
TutorialSceneFunc func;
} TutorialScene;
typedef struct w10DllUnk03 {
s16 unk0;
s16 unk2;
s16 unk4;
} w10DllUnk03;
extern s32 boardTutorialData[4];
typedef struct w10DllUnk04 {
s16 unk0;
s16 unk2;
void (*unk4)();
} w10DllUnk04;
extern s16 lbl_1_bss_20;
extern s16 lbl_1_bss_22[];
extern s16 lbl_1_bss_20;
extern s32 boardTutorialData;
void fn_1_C10(s16);
void HostPosSet(s16);
void fn_1_1FB0(void);
void fn_1_1E3C(s16, s16, s16);
void fn_1_BA0(s32);
void fn_1_C20(void);
void HostWinExec(s32);
void fn_1_6D8(void);
void fn_1_E0(void);
void fn_1_1D68(void);
void fn_1_1DEC(void);
void fn_1_AEC(void);
int fn_1_1AAC(s16, s32);
void fn_1_8C0(void);
void fn_1_904(void);
void fn_1_908(void);
s32 fn_1_90C(void);
void fn_1_91C(void);
void fn_1_13A4(void);
void fn_1_176C(void);
void fn_1_179C(void);
void fn_1_17F4(void);
void fn_1_1834(void);
void fn_1_18BC(void);
void fn_1_1908(void);
void fn_1_1930(void);
void fn_1_1958(void);
void fn_1_D2C(void);
void fn_1_D54(void);
void fn_1_D7C(void);
void fn_1_DA4(void);
void fn_1_DCC(void);
void fn_1_DF4(void);
void fn_1_E1C(void);
void fn_1_E44(void);
void fn_1_E94(void);
void fn_1_EBC(void);
void fn_1_EE4(void);
void fn_1_EE8(void);
void fn_1_F30(void);
void fn_1_F6C(void);
void fn_1_FB8(void);
void fn_1_1010(void);
void fn_1_105C(void);
void fn_1_1098(void);
void fn_1_10C0(void);
void fn_1_10F8(void);
void fn_1_1134(void);
void fn_1_1178(void);
void fn_1_11A0(void);
void fn_1_11EC(void);
void fn_1_1240(void);
void fn_1_1278(void);
void fn_1_12A0(void);
void fn_1_12DC(void);
void fn_1_1304(void);
void fn_1_132C(void);
void fn_1_1354(void);
void fn_1_137C(void);
void TutorialSprCreate(void);
void TutorialSprKill(void);
void HostCreate(void);
int TutorialHookExec(s16, s32);
extern w10DllUnk04 lbl_1_data_108[42];
extern w10DllUnk03 lbl_1_data_C6[];
extern Vec lbl_1_data_80[];
extern Process* lbl_1_bss_18;
extern s16 lbl_1_bss_1C;
extern s16 lbl_1_bss_1E;
extern s32 lbl_1_data_78[2];
extern W10State* lbl_1_bss_0;
extern s16 lbl_1_bss_10[4]; //could be incorrect size
extern void* lbl_1_bss_8; //unknown type
extern s16 lbl_1_bss_C;
extern s16 lbl_1_bss_E;
extern unkw10Dll lbl_1_data_0[1];
extern s16 lbl_1_bss_22[11];
extern s32 lbl_1_data_2A8[11];
extern s16 lbl_1_data_28;
extern s16 lbl_1_data_2A;
extern s16 lbl_1_data_2C;
extern s16 lbl_1_data_2E;
extern s16 lbl_1_data_30;
extern s16 lbl_1_data_32;
extern s32 lbl_1_data_54[2];
extern s32 lbl_1_data_5C[2];
extern s32 lbl_1_data_64[2];
extern s32 lbl_1_data_6C[2];
void TutorialStartExec(void);
void TutorialPreRollExec(void);
void TutorialOrderExec(void);
void TutorialP1StartExec(void);
void TutorialP2StartExec(void);
void TutorialP3StartExec(void);
void TutorialP4StartExec(void);
void TutorialGameStartExec(void);
void TutorialRollExec(void);
void TutorialMoveExec(void);
void TutorialLandExec(void);
void TutorialLandBlueExec(void);
void TutorialLandRedExec(void);
void TutorialLandHappenExec(void);
void TutorialLandFortuneExec(void);
void TutorialLandBowserExec(void);
void TutorialLandMushroomExec(void);
void TutorialMushroomMegaExec(void);
void TutorialMushroomMiniExec(void);
void TutorialLandBattleExec(void);
void TutorialLandWarpExec(void);
void TutorialWarpDecideExec(void);
void TutorialBlockStarExec(void);
void TutorialBlockCoinExec(void);
void TutorialMiniMegaExec(void);
void TutorialMiniUseExec(void);
void TutorialMiniStopExec(void);
void TutorialMegaUseExec(void);
void TutorialMegaDiceExec(void);
void TutorialMegaStompExec(void);
void TutorialMegaEventExec(void);
void TutorialMegaStopExec(void);
void TutorialEndExec(void);
void TutorialMGStatusExec(void);
void TutorialMG4PExec(void);
void TutorialMG2Vs2Exec(void);
void TutorialMG1Vs3Exec(void);
void TutorialMG1Vs3AltExec(void);
void TutorialShopExec(void);
void TutorialLotteryExec(void);
void TutorialBooHouseExec(void);
extern W10BoardWork *boardWork;
extern s16 boardMapObjMdl[MAPOBJ_MAX];
extern s16 tutorialDoneF;
extern s16 tutorialExitWin;
extern s16 boardStarHostMdl;
extern s16 boardShopHostMdl;
extern s16 boardLotteryHostMdl;
extern s16 boardBooHouseHostMdl;

View file

@ -1,68 +0,0 @@
#ifndef _UNSPLIT_BOARD_H
#define _UNSPLIT_BOARD_H
#include "dolphin.h"
#ifndef _BOARD_SPACE_EVENT_FUNC
#define _BOARD_SPACE_EVENT_FUNC
typedef s32 (*BoardSpaceEventFunc)(void);
#endif
#ifndef _BOARD_MAIN_H
typedef void (*BoardLightHook)(void);
#endif
void BoardCameraTargetModelSet(s16 model);
void BoardCameraMotionStartEx(s16, Vec *, Vec *, f32, f32, s16);
void BoardCameraMotionWait(void);
s32 BoardSpacePosGet(s32, s32, Vec*);
void BoardShopTutorialExec(s32);
void BoardLotteryTutorialExec(void);
s16 BoardStarHostMdlGet(void);
void BoardStatusShowSetAll(s32);
void BoardMGSetupTutorialExec(void);
void BoardBooHouseTutorialExec(void);
void BoardStatusItemSet(s32);
void BoardTutorialItemSet(s32);
void BoardCharWheelSetTarget(s32);
void BoardTutorialDirInputSet(s32, s32, s32);
void BoardSpaceStarSetIndex(s32);
s32 BoardModelRotYSet(s16, f32);
f32 BoardModelRotYGet(s16);
s32 BoardModelLayerSet(s16, u8);
void BoardTutorialHostSet(s16);
s16 BoardModelIDGet(s16);
s32 BoardModelScaleSetV(s16, Vec*);
void BoardLightHookSet(BoardLightHook set, BoardLightHook reset);
s16 BoardModelCreate(s32, s32*, s32);
void BoardModelKill(s16);
s32 fn_8006DDE8(s16, f32);
s32 BoardModelMotionStart(s16, s32, u32);
s32 BoardModelMotionSpeedSet(s16, f32);
s32 BoardModelPosSetV(s16, Vec*);
s32 BoardModelPosSet(s16, f32, f32, f32);
s32 BoardModelRotSetV(s16 arg0, Vec* arg1);
s32 BoardModelVisibilitySet(s16, s32);
void BoardSpaceWalkEventFuncSet(BoardSpaceEventFunc func);
void BoardSpaceWalkMiniEventFuncSet(BoardSpaceEventFunc func);
void BoardSpaceLandEventFuncSet(BoardSpaceEventFunc func);
s32 BoardSpaceFlagSearch(s32, u32);
void BoardSpaceInit(s32);
void BoardSpaceDestroy(void);
void BoardShopHostSet(s16);
void BoardLotteryHostSet(s16);
void BoardStarHostSet(s16);
void BoardBooHouseHostSet(s16);
void BoardTutorialHookSet(void*);
void BoardTutorialBlockSetPos(s32, s32);
s32 BoardCameraRotGet(Vec*);
s32 BoardModelScaleSet(s16, f32, f32, f32);
s32 BoardIsKill(void);
void BoardModelMtxSet(s16, Mtx*);
s32 BoardModelRotSet(s16, f32, f32, f32);
void BoardBowserExec(s32 player, s32 space);
void BoardBattleExec(s32 player, s32 space);
void BoardFortuneExec(s32 player, s32 space);
#endif

23
include/data_num/title.h Normal file
View file

@ -0,0 +1,23 @@
#ifndef DATANUM_TITLE_H
#define DATANUM_TITLE_H
#include "datadir_enum.h"
enum {
TITLE_NINTENDO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 0),
TITLE_HUDSON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 1),
TITLE_PRESS_START_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 2),
TITLE_PROGRESSIVE_CHOOSE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 3),
TITLE_PROGRESSIVE_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 4),
TITLE_PROGRESSIVE_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 5),
TITLE_PROGRESSIVE_CURSOR_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 6),
TITLE_PROGRESSIVE_CURSOR_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 7),
TITLE_BG_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 8),
TITLE_LOGO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 9),
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),
};
#endif

42
include/data_num/win.h Normal file
View file

@ -0,0 +1,42 @@
#ifndef DATANUM_WIN_H
#define DATANUM_WIN_H
#include "datadir_enum.h"
enum {
WIN_FONTJ_ANM = DATA_MAKE_NUM(DATADIR_WIN, 0),
WIN_FONTE_ANM = DATA_MAKE_NUM(DATADIR_WIN, 1),
WIN_CURSOR_ANM = DATA_MAKE_NUM(DATADIR_WIN, 2),
WIN_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 3),
WIN_CARDA_ANM = DATA_MAKE_NUM(DATADIR_WIN, 4),
WIN_CARDB_ANM = DATA_MAKE_NUM(DATADIR_WIN, 5),
WIN_FRAME1_ANM = DATA_MAKE_NUM(DATADIR_WIN, 6),
WIN_FRAME2_ANM = DATA_MAKE_NUM(DATADIR_WIN, 7),
WIN_FRAME3_ANM = DATA_MAKE_NUM(DATADIR_WIN, 8),
WIN_W01_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 9),
WIN_W02_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 10),
WIN_W03_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 11),
WIN_W04_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 12),
WIN_W05_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 13),
WIN_W06_HOST_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 14),
WIN_TOAD_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 15),
WIN_BOBOMB_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 16),
WIN_SHYGUY_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 17),
WIN_BOO_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 18),
WIN_GOOMBA_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 19),
WIN_BOWSER_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 20),
WIN_KKID_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 21),
WIN_KOOPA_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 22),
WIN_CONDOR_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 23),
WIN_BOO_BLUE_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 24),
WIN_DOLPHIN_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 25),
WIN_BOO_RED_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 26),
WIN_THWOMP_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 27),
WIN_CARD_BOX1_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 28),
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),
};
#endif

23
include/datadir_enum.h Normal file
View file

@ -0,0 +1,23 @@
#ifndef DATADIR_ENUM
#define DATADIR_ENUM
#define DATADIR_DEFINE(name, path) DATADIR_ID_##name,
enum {
#include "datadir_table.h"
DATADIR_ID_MAX
};
#undef DATADIR_DEFINE
#define DATADIR_DEFINE(name, path) DATADIR_##name = (DATADIR_ID_##name) << 16,
enum {
#include "datadir_table.h"
};
#undef DATADIR_DEFINE
#define DATA_MAKE_NUM(dir, file) ((dir)+(file))
#endif

View file

@ -1,140 +1,140 @@
DATADIR_DEFINE(DATADIR_E3SETUP, "data/E3setup.bin")
DATADIR_DEFINE(DATADIR_BBATTLE, "data/bbattle.bin")
DATADIR_DEFINE(DATADIR_BGUEST, "data/bguest.bin")
DATADIR_DEFINE(DATADIR_BKOOPA, "data/bkoopa.bin")
DATADIR_DEFINE(DATADIR_BKOOPASUIT, "data/bkoopasuit.bin")
DATADIR_DEFINE(DATADIR_BKUJIYA, "data/bkujiya.bin")
DATADIR_DEFINE(DATADIR_BLAST5, "data/blast5.bin")
DATADIR_DEFINE(DATADIR_BOARD, "data/board.bin")
DATADIR_DEFINE(DATADIR_BPAUSE, "data/bpause.bin")
DATADIR_DEFINE(DATADIR_BYOKODORI, "data/byokodori.bin")
DATADIR_DEFINE(DATADIR_DAISY, "data/daisy.bin")
DATADIR_DEFINE(DATADIR_DAISYMDL0, "data/daisymdl0.bin")
DATADIR_DEFINE(DATADIR_DAISYMDL1, "data/daisymdl1.bin")
DATADIR_DEFINE(DATADIR_DAISYMOT, "data/daisymot.bin")
DATADIR_DEFINE(DATADIR_DONKEY, "data/donkey.bin")
DATADIR_DEFINE(DATADIR_DONKEYMDL0, "data/donkeymdl0.bin")
DATADIR_DEFINE(DATADIR_DONKEYMDL1, "data/donkeymdl1.bin")
DATADIR_DEFINE(DATADIR_DONKEYMOT, "data/donkeymot.bin")
DATADIR_DEFINE(DATADIR_EFFECT, "data/effect.bin")
DATADIR_DEFINE(DATADIR_GAMEMES, "data/gamemes.bin")
DATADIR_DEFINE(DATADIR_INST, "data/inst.bin")
DATADIR_DEFINE(DATADIR_INSTFONT, "data/instfont.bin")
DATADIR_DEFINE(DATADIR_INSTPIC, "data/instpic.bin")
DATADIR_DEFINE(DATADIR_LUIGI, "data/luigi.bin")
DATADIR_DEFINE(DATADIR_LUIGIMDL0, "data/luigimdl0.bin")
DATADIR_DEFINE(DATADIR_LUIGIMDL1, "data/luigimdl1.bin")
DATADIR_DEFINE(DATADIR_LUIGIMOT, "data/luigimot.bin")
DATADIR_DEFINE(DATADIR_M300, "data/m300.bin")
DATADIR_DEFINE(DATADIR_M302, "data/m302.bin")
DATADIR_DEFINE(DATADIR_M303, "data/m303.bin")
DATADIR_DEFINE(DATADIR_M330, "data/m330.bin")
DATADIR_DEFINE(DATADIR_M333, "data/m333.bin")
DATADIR_DEFINE(DATADIR_M401, "data/m401.bin")
DATADIR_DEFINE(DATADIR_M402, "data/m402.bin")
DATADIR_DEFINE(DATADIR_M403, "data/m403.bin")
DATADIR_DEFINE(DATADIR_M404, "data/m404.bin")
DATADIR_DEFINE(DATADIR_M405, "data/m405.bin")
DATADIR_DEFINE(DATADIR_M406, "data/m406.bin")
DATADIR_DEFINE(DATADIR_M407, "data/m407.bin")
DATADIR_DEFINE(DATADIR_M408, "data/m408.bin")
DATADIR_DEFINE(DATADIR_M409, "data/m409.bin")
DATADIR_DEFINE(DATADIR_M410, "data/m410.bin")
DATADIR_DEFINE(DATADIR_M411, "data/m411.bin")
DATADIR_DEFINE(DATADIR_M412, "data/m412.bin")
DATADIR_DEFINE(DATADIR_M413, "data/m413.bin")
DATADIR_DEFINE(DATADIR_M414, "data/m414.bin")
DATADIR_DEFINE(DATADIR_M415, "data/m415.bin")
DATADIR_DEFINE(DATADIR_M416, "data/m416.bin")
DATADIR_DEFINE(DATADIR_M417, "data/m417.bin")
DATADIR_DEFINE(DATADIR_M418, "data/m418.bin")
DATADIR_DEFINE(DATADIR_M419, "data/m419.bin")
DATADIR_DEFINE(DATADIR_M420, "data/m420.bin")
DATADIR_DEFINE(DATADIR_M421, "data/m421.bin")
DATADIR_DEFINE(DATADIR_M422, "data/m422.bin")
DATADIR_DEFINE(DATADIR_M423, "data/m423.bin")
DATADIR_DEFINE(DATADIR_M424, "data/m424.bin")
DATADIR_DEFINE(DATADIR_M425, "data/m425.bin")
DATADIR_DEFINE(DATADIR_M426, "data/m426.bin")
DATADIR_DEFINE(DATADIR_M427, "data/m427.bin")
DATADIR_DEFINE(DATADIR_M428, "data/m428.bin")
DATADIR_DEFINE(DATADIR_M429, "data/m429.bin")
DATADIR_DEFINE(DATADIR_M430, "data/m430.bin")
DATADIR_DEFINE(DATADIR_M431, "data/m431.bin")
DATADIR_DEFINE(DATADIR_M432, "data/m432.bin")
DATADIR_DEFINE(DATADIR_M433, "data/m433.bin")
DATADIR_DEFINE(DATADIR_M434, "data/m434.bin")
DATADIR_DEFINE(DATADIR_M435, "data/m435.bin")
DATADIR_DEFINE(DATADIR_M436, "data/m436.bin")
DATADIR_DEFINE(DATADIR_M437, "data/m437.bin")
DATADIR_DEFINE(DATADIR_M438, "data/m438.bin")
DATADIR_DEFINE(DATADIR_M439, "data/m439.bin")
DATADIR_DEFINE(DATADIR_M440, "data/m440.bin")
DATADIR_DEFINE(DATADIR_M441, "data/m441.bin")
DATADIR_DEFINE(DATADIR_M442, "data/m442.bin")
DATADIR_DEFINE(DATADIR_M443, "data/m443.bin")
DATADIR_DEFINE(DATADIR_M444, "data/m444.bin")
DATADIR_DEFINE(DATADIR_M445, "data/m445.bin")
DATADIR_DEFINE(DATADIR_M446, "data/m446.bin")
DATADIR_DEFINE(DATADIR_M447, "data/m447.bin")
DATADIR_DEFINE(DATADIR_M448, "data/m448.bin")
DATADIR_DEFINE(DATADIR_M449, "data/m449.bin")
DATADIR_DEFINE(DATADIR_M450, "data/m450.bin")
DATADIR_DEFINE(DATADIR_M451, "data/m451.bin")
DATADIR_DEFINE(DATADIR_M453, "data/m453.bin")
DATADIR_DEFINE(DATADIR_M455, "data/m455.bin")
DATADIR_DEFINE(DATADIR_M456, "data/m456.bin")
DATADIR_DEFINE(DATADIR_M457, "data/m457.bin")
DATADIR_DEFINE(DATADIR_M458, "data/m458.bin")
DATADIR_DEFINE(DATADIR_M459, "data/m459.bin")
DATADIR_DEFINE(DATADIR_M460, "data/m460.bin")
DATADIR_DEFINE(DATADIR_M461, "data/m461.bin")
DATADIR_DEFINE(DATADIR_M462, "data/m462.bin")
DATADIR_DEFINE(DATADIR_MARIO, "data/mario.bin")
DATADIR_DEFINE(DATADIR_MARIOMDL0, "data/mariomdl0.bin")
DATADIR_DEFINE(DATADIR_MARIOMDL1, "data/mariomdl1.bin")
DATADIR_DEFINE(DATADIR_MARIOMOT, "data/mariomot.bin")
DATADIR_DEFINE(DATADIR_MENT, "data/ment.bin")
DATADIR_DEFINE(DATADIR_MGCONST, "data/mgconst.bin")
DATADIR_DEFINE(DATADIR_MGMODE, "data/mgmode.bin")
DATADIR_DEFINE(DATADIR_MODESEL, "data/modesel.bin")
DATADIR_DEFINE(DATADIR_MPEX, "data/mpex.bin")
DATADIR_DEFINE(DATADIR_MSTORY, "data/mstory.bin")
DATADIR_DEFINE(DATADIR_MSTORY2, "data/mstory2.bin")
DATADIR_DEFINE(DATADIR_MSTORY3, "data/mstory3.bin")
DATADIR_DEFINE(DATADIR_MSTORY4, "data/mstory4.bin")
DATADIR_DEFINE(DATADIR_OPTION, "data/option.bin")
DATADIR_DEFINE(DATADIR_PEACH, "data/peach.bin")
DATADIR_DEFINE(DATADIR_PEACHMDL0, "data/peachmdl0.bin")
DATADIR_DEFINE(DATADIR_PEACHMDL1, "data/peachmdl1.bin")
DATADIR_DEFINE(DATADIR_PEACHMOT, "data/peachmot.bin")
DATADIR_DEFINE(DATADIR_PRESENT, "data/present.bin")
DATADIR_DEFINE(DATADIR_RESULT, "data/result.bin")
DATADIR_DEFINE(DATADIR_SAF, "data/saf.bin")
DATADIR_DEFINE(DATADIR_SELMENU, "data/selmenu.bin")
DATADIR_DEFINE(DATADIR_SETUP, "data/setup.bin")
DATADIR_DEFINE(DATADIR_STAFF, "data/staff.bin")
DATADIR_DEFINE(DATADIR_TITLE, "data/title.bin")
DATADIR_DEFINE(DATADIR_W01, "data/w01.bin")
DATADIR_DEFINE(DATADIR_W02, "data/w02.bin")
DATADIR_DEFINE(DATADIR_W03, "data/w03.bin")
DATADIR_DEFINE(DATADIR_W04, "data/w04.bin")
DATADIR_DEFINE(DATADIR_W05, "data/w05.bin")
DATADIR_DEFINE(DATADIR_W06, "data/w06.bin")
DATADIR_DEFINE(DATADIR_W10, "data/w10.bin")
DATADIR_DEFINE(DATADIR_W20, "data/w20.bin")
DATADIR_DEFINE(DATADIR_W21, "data/w21.bin")
DATADIR_DEFINE(DATADIR_WALUIGI, "data/waluigi.bin")
DATADIR_DEFINE(DATADIR_WALUIGIMDL0, "data/waluigimdl0.bin")
DATADIR_DEFINE(DATADIR_WALUIGIMDL1, "data/waluigimdl1.bin")
DATADIR_DEFINE(DATADIR_WALUIGIMOT, "data/waluigimot.bin")
DATADIR_DEFINE(DATADIR_WARIO, "data/wario.bin")
DATADIR_DEFINE(DATADIR_WARIOMDL0, "data/wariomdl0.bin")
DATADIR_DEFINE(DATADIR_WARIOMDL1, "data/wariomdl1.bin")
DATADIR_DEFINE(DATADIR_WARIOMOT, "data/wariomot.bin")
DATADIR_DEFINE(DATADIR_WIN, "data/win.bin")
DATADIR_DEFINE(DATADIR_YOSHI, "data/yoshi.bin")
DATADIR_DEFINE(DATADIR_YOSHIMDL0, "data/yoshimdl0.bin")
DATADIR_DEFINE(DATADIR_YOSHIMDL1, "data/yoshimdl1.bin")
DATADIR_DEFINE(DATADIR_YOSHIMOT, "data/yoshimot.bin")
DATADIR_DEFINE(DATADIR_ZTAR, "data/ztar.bin")
DATADIR_DEFINE(E3SETUP, "data/E3setup.bin")
DATADIR_DEFINE(BBATTLE, "data/bbattle.bin")
DATADIR_DEFINE(BGUEST, "data/bguest.bin")
DATADIR_DEFINE(BKOOPA, "data/bkoopa.bin")
DATADIR_DEFINE(BKOOPASUIT, "data/bkoopasuit.bin")
DATADIR_DEFINE(BKUJIYA, "data/bkujiya.bin")
DATADIR_DEFINE(BLAST5, "data/blast5.bin")
DATADIR_DEFINE(BOARD, "data/board.bin")
DATADIR_DEFINE(BPAUSE, "data/bpause.bin")
DATADIR_DEFINE(BYOKODORI, "data/byokodori.bin")
DATADIR_DEFINE(DAISY, "data/daisy.bin")
DATADIR_DEFINE(DAISYMDL0, "data/daisymdl0.bin")
DATADIR_DEFINE(DAISYMDL1, "data/daisymdl1.bin")
DATADIR_DEFINE(DAISYMOT, "data/daisymot.bin")
DATADIR_DEFINE(DONKEY, "data/donkey.bin")
DATADIR_DEFINE(DONKEYMDL0, "data/donkeymdl0.bin")
DATADIR_DEFINE(DONKEYMDL1, "data/donkeymdl1.bin")
DATADIR_DEFINE(DONKEYMOT, "data/donkeymot.bin")
DATADIR_DEFINE(EFFECT, "data/effect.bin")
DATADIR_DEFINE(GAMEMES, "data/gamemes.bin")
DATADIR_DEFINE(INST, "data/inst.bin")
DATADIR_DEFINE(INSTFONT, "data/instfont.bin")
DATADIR_DEFINE(INSTPIC, "data/instpic.bin")
DATADIR_DEFINE(LUIGI, "data/luigi.bin")
DATADIR_DEFINE(LUIGIMDL0, "data/luigimdl0.bin")
DATADIR_DEFINE(LUIGIMDL1, "data/luigimdl1.bin")
DATADIR_DEFINE(LUIGIMOT, "data/luigimot.bin")
DATADIR_DEFINE(M300, "data/m300.bin")
DATADIR_DEFINE(M302, "data/m302.bin")
DATADIR_DEFINE(M303, "data/m303.bin")
DATADIR_DEFINE(M330, "data/m330.bin")
DATADIR_DEFINE(M333, "data/m333.bin")
DATADIR_DEFINE(M401, "data/m401.bin")
DATADIR_DEFINE(M402, "data/m402.bin")
DATADIR_DEFINE(M403, "data/m403.bin")
DATADIR_DEFINE(M404, "data/m404.bin")
DATADIR_DEFINE(M405, "data/m405.bin")
DATADIR_DEFINE(M406, "data/m406.bin")
DATADIR_DEFINE(M407, "data/m407.bin")
DATADIR_DEFINE(M408, "data/m408.bin")
DATADIR_DEFINE(M409, "data/m409.bin")
DATADIR_DEFINE(M410, "data/m410.bin")
DATADIR_DEFINE(M411, "data/m411.bin")
DATADIR_DEFINE(M412, "data/m412.bin")
DATADIR_DEFINE(M413, "data/m413.bin")
DATADIR_DEFINE(M414, "data/m414.bin")
DATADIR_DEFINE(M415, "data/m415.bin")
DATADIR_DEFINE(M416, "data/m416.bin")
DATADIR_DEFINE(M417, "data/m417.bin")
DATADIR_DEFINE(M418, "data/m418.bin")
DATADIR_DEFINE(M419, "data/m419.bin")
DATADIR_DEFINE(M420, "data/m420.bin")
DATADIR_DEFINE(M421, "data/m421.bin")
DATADIR_DEFINE(M422, "data/m422.bin")
DATADIR_DEFINE(M423, "data/m423.bin")
DATADIR_DEFINE(M424, "data/m424.bin")
DATADIR_DEFINE(M425, "data/m425.bin")
DATADIR_DEFINE(M426, "data/m426.bin")
DATADIR_DEFINE(M427, "data/m427.bin")
DATADIR_DEFINE(M428, "data/m428.bin")
DATADIR_DEFINE(M429, "data/m429.bin")
DATADIR_DEFINE(M430, "data/m430.bin")
DATADIR_DEFINE(M431, "data/m431.bin")
DATADIR_DEFINE(M432, "data/m432.bin")
DATADIR_DEFINE(M433, "data/m433.bin")
DATADIR_DEFINE(M434, "data/m434.bin")
DATADIR_DEFINE(M435, "data/m435.bin")
DATADIR_DEFINE(M436, "data/m436.bin")
DATADIR_DEFINE(M437, "data/m437.bin")
DATADIR_DEFINE(M438, "data/m438.bin")
DATADIR_DEFINE(M439, "data/m439.bin")
DATADIR_DEFINE(M440, "data/m440.bin")
DATADIR_DEFINE(M441, "data/m441.bin")
DATADIR_DEFINE(M442, "data/m442.bin")
DATADIR_DEFINE(M443, "data/m443.bin")
DATADIR_DEFINE(M444, "data/m444.bin")
DATADIR_DEFINE(M445, "data/m445.bin")
DATADIR_DEFINE(M446, "data/m446.bin")
DATADIR_DEFINE(M447, "data/m447.bin")
DATADIR_DEFINE(M448, "data/m448.bin")
DATADIR_DEFINE(M449, "data/m449.bin")
DATADIR_DEFINE(M450, "data/m450.bin")
DATADIR_DEFINE(M451, "data/m451.bin")
DATADIR_DEFINE(M453, "data/m453.bin")
DATADIR_DEFINE(M455, "data/m455.bin")
DATADIR_DEFINE(M456, "data/m456.bin")
DATADIR_DEFINE(M457, "data/m457.bin")
DATADIR_DEFINE(M458, "data/m458.bin")
DATADIR_DEFINE(M459, "data/m459.bin")
DATADIR_DEFINE(M460, "data/m460.bin")
DATADIR_DEFINE(M461, "data/m461.bin")
DATADIR_DEFINE(M462, "data/m462.bin")
DATADIR_DEFINE(MARIO, "data/mario.bin")
DATADIR_DEFINE(MARIOMDL0, "data/mariomdl0.bin")
DATADIR_DEFINE(MARIOMDL1, "data/mariomdl1.bin")
DATADIR_DEFINE(MARIOMOT, "data/mariomot.bin")
DATADIR_DEFINE(MENT, "data/ment.bin")
DATADIR_DEFINE(MGCONST, "data/mgconst.bin")
DATADIR_DEFINE(MGMODE, "data/mgmode.bin")
DATADIR_DEFINE(MODESEL, "data/modesel.bin")
DATADIR_DEFINE(MPEX, "data/mpex.bin")
DATADIR_DEFINE(MSTORY, "data/mstory.bin")
DATADIR_DEFINE(MSTORY2, "data/mstory2.bin")
DATADIR_DEFINE(MSTORY3, "data/mstory3.bin")
DATADIR_DEFINE(MSTORY4, "data/mstory4.bin")
DATADIR_DEFINE(OPTION, "data/option.bin")
DATADIR_DEFINE(PEACH, "data/peach.bin")
DATADIR_DEFINE(PEACHMDL0, "data/peachmdl0.bin")
DATADIR_DEFINE(PEACHMDL1, "data/peachmdl1.bin")
DATADIR_DEFINE(PEACHMOT, "data/peachmot.bin")
DATADIR_DEFINE(PRESENT, "data/present.bin")
DATADIR_DEFINE(RESULT, "data/result.bin")
DATADIR_DEFINE(SAF, "data/saf.bin")
DATADIR_DEFINE(SELMENU, "data/selmenu.bin")
DATADIR_DEFINE(SETUP, "data/setup.bin")
DATADIR_DEFINE(STAFF, "data/staff.bin")
DATADIR_DEFINE(TITLE, "data/title.bin")
DATADIR_DEFINE(W01, "data/w01.bin")
DATADIR_DEFINE(W02, "data/w02.bin")
DATADIR_DEFINE(W03, "data/w03.bin")
DATADIR_DEFINE(W04, "data/w04.bin")
DATADIR_DEFINE(W05, "data/w05.bin")
DATADIR_DEFINE(W06, "data/w06.bin")
DATADIR_DEFINE(W10, "data/w10.bin")
DATADIR_DEFINE(W20, "data/w20.bin")
DATADIR_DEFINE(W21, "data/w21.bin")
DATADIR_DEFINE(WALUIGI, "data/waluigi.bin")
DATADIR_DEFINE(WALUIGIMDL0, "data/waluigimdl0.bin")
DATADIR_DEFINE(WALUIGIMDL1, "data/waluigimdl1.bin")
DATADIR_DEFINE(WALUIGIMOT, "data/waluigimot.bin")
DATADIR_DEFINE(WARIO, "data/wario.bin")
DATADIR_DEFINE(WARIOMDL0, "data/wariomdl0.bin")
DATADIR_DEFINE(WARIOMDL1, "data/wariomdl1.bin")
DATADIR_DEFINE(WARIOMOT, "data/wariomot.bin")
DATADIR_DEFINE(WIN, "data/win.bin")
DATADIR_DEFINE(YOSHI, "data/yoshi.bin")
DATADIR_DEFINE(YOSHIMDL0, "data/yoshimdl0.bin")
DATADIR_DEFINE(YOSHIMDL1, "data/yoshimdl1.bin")
DATADIR_DEFINE(YOSHIMOT, "data/yoshimot.bin")
DATADIR_DEFINE(ZTAR, "data/ztar.bin")

83
include/game/animdata.h Normal file
View file

@ -0,0 +1,83 @@
#ifndef _GAME_ANIMDATA_H
#define _GAME_ANIMDATA_H
#include "dolphin.h"
#define ANIM_BMP_RGBA8 0
#define ANIM_BMP_RGB5A3 1
#define ANIM_BMP_RGB5A3_DUPE 2
#define ANIM_BMP_C8 3
#define ANIM_BMP_C4 4
#define ANIM_BMP_IA8 5
#define ANIM_BMP_IA4 6
#define ANIM_BMP_I8 7
#define ANIM_BMP_I4 8
#define ANIM_BMP_A8 9
#define ANIM_BMP_CMPR 10
#define ANIM_BMP_FMTMASK 0xF
#define ANIM_BMP_ALLOC 0x8000
#define ANIM_BMP_NUM_MASK 0x7FFF
#define ANIM_LAYER_FLIPX 0x1
#define ANIM_LAYER_FLIPY 0x2
typedef struct anim_frame_data {
s16 pat;
s16 time;
s16 shiftX;
s16 shiftY;
s16 flip;
s16 pad;
} AnimFrameData;
typedef struct anim_bank_data {
s16 timeNum;
s16 unk;
AnimFrameData *frame;
} AnimBankData;
typedef struct anim_layer_data {
u8 alpha;
u8 flip;
s16 bmpNo;
s16 startX;
s16 startY;
s16 sizeX;
s16 sizeY;
s16 shiftX;
s16 shiftY;
s16 vtx[8];
} AnimLayerData;
typedef struct anim_pat_data {
s16 layerNum;
s16 centerX;
s16 centerY;
s16 sizeX;
s16 sizeY;
AnimLayerData *layer;
} AnimPatData;
typedef struct anim_bmp_data {
u8 pixSize;
u8 dataFmt;
s16 palNum;
s16 sizeX;
s16 sizeY;
u32 dataSize;
void *palData;
void *data;
} AnimBmpData;
typedef struct anim_data {
s16 bankNum;
s16 patNum;
s16 bmpNum;
s16 useNum;
AnimBankData *bank;
AnimPatData *pat;
AnimBmpData *bmp;
} AnimData;
#endif

View file

@ -3,6 +3,15 @@
#include "dolphin.h"
typedef struct hu_snd_grp_data {
/* 0x00 */ s16 ovl;
/* 0x02 */ s16 grpset;
/* 0x04 */ s32 auxANo;
/* 0x08 */ s32 auxBNo;
/* 0x0C */ s8 auxAVol;
/* 0x0D */ s8 auxBVol;
} HuSndGrpData;
void HuAudInit(void);
s32 HuAudStreamPlay(void);
void HuAudStreamVolSet(s16 vol);
@ -20,7 +29,7 @@ void HuAudFXFadeOut(s32 arg0, s32 arg1);
void HuAudFXPanning(s32 arg0, s16 arg1);
void HuAudFXListnerSet(Vec* arg0, Vec* arg1, float arg2, float arg3);
void HuAudFXListnerSetEX(Vec* arg0, Vec* arg1, float sndDist, float sndSpeed, float arg4, float arg5, float arg6);
void HuAudFXListnerUpdate(s32 arg0, s32 arg1);
void HuAudFXListnerUpdate(Vec *arg0, Vec *arg1);
s32 HuAudFXEmiterPlay(s32 arg0, Vec *arg1);
void HuAudFXEmiterUpDate(s32 arg0, Vec *arg1);
void HuAudFXListnerKill(void);
@ -56,6 +65,14 @@ s32 HuAudCharVoicePlay(s16 arg0, s16 arg1);
s32 HuAudCharVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2);
void HuAudCharVoicePlayEntry(s16 arg0, s16 arg1);
extern float Snd3DBackSurDisOffset;
extern float Snd3DFrontSurDisOffset;
extern float Snd3DStartDisOffset;
extern float Snd3DSpeedOffset;
extern float Snd3DDistOffset;
extern s32 musicOffF;
extern u8 fadeStat;
extern HuSndGrpData HuSndGrpTbl[];
#endif

19
include/game/board/audio.h Executable file
View file

@ -0,0 +1,19 @@
#ifndef _BOARD_AUDIO_H
#define _BOARD_AUDIO_H
#include "dolphin/types.h"
void BoardMusStartBoard(void);
void BoardMusStart(s32 arg0, s32 arg1, s8 arg2, u16 arg3);
void BoardAudSeqFadeOutFast(s32 arg0);
void BoardAudSeqFadeOut(s32 arg0, u16 arg1);
void BoardMusLoudSet(s32 arg0, s32 arg1);
void BoardMusVolPanSet(s32 arg0, s8 arg1, u16 arg2);
void BoardAudSeqPause(s32 arg0, s32 arg1, u16 arg2);
s32 BoardMusStatusGet(s32 arg0);
void BoardAudSeqClear(void);
void BoardAudSeqFadeOutAll(void);
void BoardAudFXPlay(void);
void BoardAudFXStop(void);
#endif

8
include/game/board/battle.h Executable file
View file

@ -0,0 +1,8 @@
#ifndef _BOARD_BATTLE_H
#define _BOARD_BATTLE_H
#include "dolphin/types.h"
void BoardBattleExec(s32 player, s32 space);
#endif

View file

@ -0,0 +1,15 @@
#ifndef BOO_HOUSE_H
#define BOO_HOUSE_H
#include "dolphin/types.h"
void BoardBooHouseHostSet(s16);
s16 BoardBooHouseHostGet(void);
void BoardBooHouseCreate(void);
void BoardBooHouseExec(s32);
s32 BoardBooComUseCheck(s32);
void BoardBooHouseTutorialExec(void);
#endif

13
include/game/board/char_wheel.h Executable file
View file

@ -0,0 +1,13 @@
#ifndef _BOARD_CHAR_WHEEL_H
#define _BOARD_CHAR_WHEEL_H
#include "dolphin/types.h"
s32 BoardCharWheelInit(s32 arg0, s32 arg1);
BOOL BoardCharWheelCheck(void);
void BoardCharWheelWait(void);
s32 BoardCharWheelResultGet(void);
void BoardCharWheelSpeedSet(float arg0);
void BoardCharWheelTargetSet(s16 arg0);
#endif

19
include/game/board/com.h Executable file
View file

@ -0,0 +1,19 @@
#ifndef _BOARD_COM_H
#define _BOARD_COM_H
#include "dolphin.h"
void BoardComKeySetLeft(void);
void BoardComKeySetRight(void);
void BoardComKeySetUp(void);
void BoardComKeySetDown(void);
s8 BoardComPreferItemGet(s32 arg0, s8 *arg1, s8 arg2);
s8 BoardComPreferItemCheck(s32 arg0, s8 arg1, s8 arg2, s8 arg3);
s32 BoardComItemWeightGet(s32 arg0, s32 arg1);
s32 BoardComUseItemSlotGet(s32 arg0);
s32 BoardComUseItemSet(s32 arg0, s32 arg1);
BOOL BoardComUseItemCheck(s32 arg0);
s32 BoardComJunctionInputGet(s32 arg0, Vec *arg1, s32 arg2, float *arg3);
s32 BoardComFarPlayerFind(void);
#endif

11
include/game/board/com_path.h Executable file
View file

@ -0,0 +1,11 @@
#ifndef _BOARD_COM_PATH_H
#define _BOARD_COM_PATH_H
#include "dolphin/types.h"
s16 BoardComPathShortcutLenGet(s16 space, u32 type, s32 block_pipe);
s16 BoardComPathBestGet(s16 space);
s16 BoardComPathLenGet(s16 space, s16 space_other);
s16 BoardComPathBestGetFlag(s16 space, u32 flag, s16 len);
#endif

13
include/game/board/lottery.h Executable file
View file

@ -0,0 +1,13 @@
#ifndef _BOARD_LOTTERY_H
#define _BOARD_LOTTERY_H
#include "dolphin/types.h"
void BoardLotteryHostSet(s16 arg0);
s16 BoardLotteryHostGet(void);
void BoardLotteryExec(void);
void BoardLotteryInit(void);
void BoardLotteryKill(void);
void BoardLotteryTutorialExec(void);
#endif

View file

@ -53,16 +53,6 @@ typedef struct board_camera_data {
BoardFocusData focus;
} BoardCameraData;
static inline s32 BoardCurrGet()
{
return GWSystem.board;
}
static inline s32 BoardPartyFlagGet()
{
return GWSystem.party;
}
extern BoardCameraData boardCamera;
extern Process *boardObjMan;
extern Process *boardMainProc;
@ -72,11 +62,16 @@ extern omObjData *boardMainObj;
typedef void (*BoardFunc)(void);
typedef void (*BoardLightHook)(void);
typedef void (*BoardBowserHook)(s32 beforeF);
typedef void (*BoardCameraPosCalcFunc)(BoardCameraData *camera);
typedef void (*BoardTurnStartHook)(s32 player, s32 space);
extern BoardTurnStartHook boardTurnStartFunc;
extern void (*boardStarShowNextHook)(void);
extern void (*boardStarGiveHook)(void);
extern BoardBowserHook boardBowserHook;
extern BoardFunc boardTurnFunc;
extern BoardLightHook boardLightResetHook;
extern BoardLightHook boardLightSetHook;
@ -111,7 +106,6 @@ void BoardCameraOffsetSet(float x, float y, float z);
void BoardCameraTargetPlayerSet(s32 player);
void BoardCameraTargetModelSet(s16 model);
void BoardCameraTargetSpaceSet(s32 space);
void BoardCameraPosCalcFuncSet(BoardCameraPosCalcFunc func);
void BoardCameraQuakeSet(s32 duration, float strength);
void BoardCameraQuakeReset();
void BoardCameraTargetSet(float x, float y, float z);

View file

@ -0,0 +1,13 @@
#ifndef _BOARD_MAPOBJECT_H
#define _BOARD_MAPOBJECT_H
#include "dolphin.h"
typedef struct board_map_object {
Vec pos;
Vec rot;
Vec scale;
s32 data_num;
} BoardMapObject;
#endif

View file

@ -0,0 +1,12 @@
#ifndef _MG_SETUP_H
#define _MG_SETUP_H
#include "dolphin/types.h"
void BoardMGSetupExec(void);
void BoardMGSetupPlayClear(void);
s32 BoardMGSetupPlaySearch(s32, s16);
void BoardMGSetupPlayPush(s32, s16);
void BoardMGSetupTutorialExec(void);
#endif

View file

@ -1,5 +1,5 @@
#ifndef _BOARD_WARP_H
#define _BOARD_WARP_H
#ifndef _BOARD_MODEL_H
#define _BOARD_MODEL_H
#include "game/hsfman.h"
#include "game/data.h"
@ -12,7 +12,7 @@ typedef struct board_model_param {
u8 link : 1;
u8 start_mot : 1;
u8 pause : 1;
};
} unk4;
s16 unk6;
} BoardModelParam;
@ -35,17 +35,23 @@ s32 BoardModelExistCheck(s16 model, s32 arg1);
s32 BoardModelExistDupe(s16 model, s32 arg1);
s32 fn_8006DDE8(s16 model, float arg1);
s32 BoardModelMotionCreate(s16 model, s32 data_num);
s32 BoardModelMotionKill(s16 model, s32 motion);
s32 BoardModelMotionStartEndSet(s16 model, s16 start, s16 end);
s32 BoardModelMotionUpdateSet(s16 model, s32 flag);
s32 BoardModelVoiceEnableSet(s16 model, s32 motion, s32 flag);
s32 BoardModelMotionStart(s16 model, s32 slot, u32 attr);
s32 BoardModelMotionShiftSet(s16 model, s32 motion, float time, float shift_time, u32 attr);
s32 BoardModelAttrSet(s16 model, u32 attr);
s32 BoardModelAttrReset(s16 model, u32 attr);
s32 BoardModelMotionTimeSet(s16 model, float time);
float BoardModelMotionTimeGet(s16 model);
float BoardModelMotionMaxTimeGet(s16 model);
s32 BoardModelMotionSpeedSet(s16 model, float speed);
s32 BoardModelMotionEndCheck(s16 model);
s32 BoardModelAlphaSet(s16 model, u8 alpha);
s32 BoardModelMtxSet(s16 model, Mtx *src);
s32 BoardModelRotYSet(s16 model, float rot);
float BoardModelRotYGet(s16 model);
s32 BoardModelPosSet(s16 model, float x, float y, float z);
s32 BoardModelPosSetV(s16 model, Vec *pos);
s32 BoardModelRotSet(s16 model, float x, float y, float z);

10
include/game/board/pause.h Executable file
View file

@ -0,0 +1,10 @@
#ifndef _BOARD_PAUSE_H
#define _BOARD_PAUSE_H
#include "dolphin/types.h"
void BoardPauseStart(void);
BOOL BoardPauseActiveCheck(void);
BOOL BoardPauseReqCheck(void);
#endif

View file

@ -2,18 +2,17 @@
#define _BOARD_PLAYER_H
#include "math.h"
#include "board_unsplit.h"
#include "dolphin/os/OSFastCast.h"
#include "dolphin.h"
#include "game/gamework_data.h"
#include "game/gamework.h"
#include "game/window.h"
#include "game/object.h"
#include "game/process.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/gamework_data.h"
#include "game/board/main.h"
#include "game/board/space.h"
#include "game/board/ui.h"
extern s16 boardPlayerMdl[4];
@ -81,7 +80,7 @@ void BoardPlayerScaleSetV(s32, Vec*);
void BoardPlayerScaleSet(s32, f32, f32, f32);
s16 BoardPlayerCurrMotionGet(s32);
s32 BoardPlayerMotionCreate(s32, s32);
void BoardPlayerMotionKill(s32, s32);
s32 BoardPlayerMotionKill(s32, s32);
s32 BoardPlayerMotionEndCheck(s32);
void BoardPlayerMotionEndWait(s32);
void BoardPlayerMotionStart(s32, s32, s32);
@ -113,44 +112,43 @@ void BoardPlayerZoomRestore(s32);
void BoardJunctionMaskSet(s32);
void BoardJunctionMaskReset(s32);
void BoardJunctionMaskZero(void);
void InitJunction(s32, s32, f32);
static void UpdateJunctionGfx(omObjData*);
static void StopJunctionPlayer(s32);
static void RestoreJunction(f32, s32);
static s32 GetDefaultDirection(f32, f32*, s32);
static s32 DoDebugMove(s32, s16*);
static s32 ExecJunction(s32, s16*);
void BoardPlayerVoiceEnableSet(s32, s32, s32);
void BoardPlayerMoveTo(s32, s32);
void BoardPlayerMoveBetween(s32, s32, s32);
void BoardPlayerMoveToAsync(s32, s32);
void BoardPlayerPosLerpStart(s32, Vec*, Vec*, s16);
static void PlayerPosLerpFunc(omObjData*);
void BoardPlayerDiceJumpStart(s32);
s32 BoardPlayerDiceJumpCheck(s32);
static void DiceJumpFunc(omObjData*);
void BoardRotateDiceNumbers(s32);
void BoardPlayerIdleSet(s32);
void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2);
void UpdateDiceDigitSprite(omObjData*);
void BoardPlayerBtnDownWait(s32, u32);
void BoardPlayerAutoSizeSet(s32, s32);
s32 BoardPlayerAutoSizeGet(s32);
u32 BoardPlayerMoveAwayIsDone(void);
void BoardPlayerMoveAwayStart(s32, s32, s32);
void BoardPlayerMoveAwayStartCurr(s32, s32);
void BoardPlayerCopyMat(s32);
void BoardBowserSuitMotionSetJump(void);
//...
void BoardPlayerMotBlendExec(omObjData*);
s32 BoardPlayerAutoSizeGet(s32);
void BoardPlayerAutoSizeSet(s32, s32);
void BoardPlayerCopyMat(s32);
void BoardBowserSuitInit(s32);
void BoardBowserSuitKill(s32);
void SetRollPlayerSize(s32);
void BoardDiceDigit2DInit(s32, s32);
void BoardDiceDigit2DUpdateEnable(s32);
s32 DoSparkSpace(s32, s16*);
s32 MegaPlayerPassFunc(s32, s16);
void BoardPlayerResizeAnimExec(s32 player, s32 size);
s32 BoardPlayerAnimBlendCheck(s32);
s16 BoardBowserSuitPlayerModelGet(void);
void BoardBowserSuitMotionSetWait(void);
void BoardBowserSuitPlayerModelKill(void);
void BoardDiceDigit2DShowSet(s32);
s32 DoSparkSpace(s32, s16*);
s32 MegaPlayerPassFunc(s32, s16);
s32 BoardPlayerMotBlendCheck(s32);
void BoardPlayerMoveAwayStartCurr(s16, s32);
void BoardBowserSuitMotionSetWalk(void);
s16 BoardBowserSuitModelGet(void);
void UpdateDiceDigit2D(omObjData*);
#endif

18
include/game/board/roll.h Executable file
View file

@ -0,0 +1,18 @@
#ifndef _BOARD_ROLL_H
#define _BOARD_ROLL_H
#include "dolphin/types.h"
s32 BoardRollExec(s32 arg0);
void BoardRollKill(void);
void BoardRollUPauseSet(s32 arg0);
void BoardRollWinDispSet(s32 arg0);
s16 BoardDiceEffectCreate(void);
void BoardDicePauseAll(void);
BOOL BoardDiceDoneCheck(void);
void BoardDiceStop(s32 arg0);
void BoardDiceVisibleSet(s32 arg0, s32 arg1);
void BoardDiceValueSet(s32 arg0, s32 arg1);
void BoardRollTutorialSet(s16 *arg0);
#endif

13
include/game/board/shop.h Executable file
View file

@ -0,0 +1,13 @@
#ifndef _BOARD_SHOP_H
#define _BOARD_SHOP_H
#include "dolphin/types.h"
void BoardShopHostSet(s16 arg0);
s16 BoardShopHostGet(void);
void BoardShopInit(void);
void BoardShopKill(void);
void BoardShopExec(s32 player, s32 space);
void BoardShopTutorialExec(s32 arg0);
#endif

View file

@ -5,10 +5,7 @@
#define BOARD_SPACE_LINKMAX 4
#ifndef _BOARD_SPACE_EVENT_FUNC
#define _BOARD_SPACE_EVENT_FUNC
typedef s32 (*BoardSpaceEventFunc)(void);
#endif
typedef struct board_space {
Vec pos;
@ -52,5 +49,8 @@ s32 BoardSpaceStarGetCurr(void);
s32 BoardSpaceStarCheck(s32 index);
void BoardSpaceLandExec(s32 player, s32 space);
void BoardSpaceBlockPosSet(void);
void BoardSpaceInit(s32 data_num);
extern s16 boardSpaceStarTbl[8];
#endif

16
include/game/board/star.h Executable file
View file

@ -0,0 +1,16 @@
#ifndef _BOARD_STAR_H
#define _BOARD_STAR_H
#include "game/board/space.h"
#include "dolphin.h"
void BoardStarHostSet(s16 arg0);
s16 BoardStarHostMdlGet(void);
void BoardStarExec(s32 arg0, s32 arg1);
void BoardStarGive(s32 arg0, Vec *arg1);
void BoardStarShowNext(s32 arg0);
extern s32 boardStarSndTbl[];
#endif

6
include/game/board/start.h Executable file
View file

@ -0,0 +1,6 @@
#ifndef _BOARD_START_H
#define _BOARD_START_H
void BoardStartExec(void);
#endif

29
include/game/board/tutorial.h Executable file
View file

@ -0,0 +1,29 @@
#ifndef _BOARD_TUTORIAL_H
#define _BOARD_TUTORIAL_H
#include "dolphin/types.h"
void BoardTutorialInit(void);
void BoardTutorialKill(void);
void BoardTutorialHookSet(void *arg0);
void BoardTutorialHookExec(s16 arg0, s32 arg1);
void BoardTutorialPlayerInit(void);
void BoardTutorialWorkSave(void);
void BoardTutorialWorkRestore(void);
void BoardTutorialDirInputSet(s8 arg0, s8 arg1, s16 arg2);
void BoardTutorialBlockSetPos(s32 arg0, s8 arg1);
void BoardTutorialItemSet(s8 arg0);
void BoardTutorialHostSet(s16 arg0);
void BoardTutorialHostHide(s8 arg0);
extern s32 boardTutorialData[4];
extern s8 boardTutorialDirInputX;
extern s8 boardTutorialDirInputY;
extern s16 boardTutorialDirInputTime;
extern s32 boardTutorialBlockPos;
extern s8 boardTutorialBlockItem;
extern s8 boardTutorialBlockF;
extern s8 boardTutorialUseItem;
extern s8 boardTutorialF;
#endif

View file

@ -14,7 +14,7 @@ void BoardStatusGraySet(s32 arg0, s32 arg1);
void BoardStatusShowSet(s32 arg0, s32 arg1);
void BoardStatusItemHideSet(s32 arg0, s32 arg1);
void BoardStatusTargetPosSet(s32 arg0, Vec *arg1);
void BoardStatusPosGet(s32 arg0, float *arg1);
void BoardStatusPosGet(s32 arg0, Vec *arg1);
void BoardStatusPosSet(s32 arg0, Vec *arg1);
void BoardStatusHammerCreate(s32 arg0);
void BoardStatusHammerShowSet(s32 arg0, s32 arg1);
@ -28,6 +28,7 @@ void BoardPickerBackFlagSet(s32 arg0);
BOOL BoardPickerDoneCheck(void);
s32 BoardPickerPosGet(Vec *arg0);
s32 BoardPickerChoiceGet(void);
void BoardYourTurnExec(s32 arg0);
s32 BoardItemUseExec(s32 arg0);
void BoardMakeRandomItem(void);
void BoardItemGetDestPos(s32 arg0, Vec *arg1);

15
include/game/board/view.h Executable file
View file

@ -0,0 +1,15 @@
#ifndef _BOARD_VIEW_H
#define _BOARD_VIEW_H
#include "dolphin.h"
void BoardViewOverheadExec(s32 arg0);
void BoardViewFocusGetPos(Vec *arg0);
void BoardViewFocusSet(Vec *arg0, u16 arg1);
void BoardViewMoveStart(Vec *arg0, Vec *arg1, u16 arg2);
BOOL BoardViewMoveCheck(void);
void BoardViewMoveEnd(void);
void BoardViewWait(void);
void BoardViewMapExec(s32 arg0);
#endif

View file

@ -2,7 +2,6 @@
#define _BOARD_WINDOW_H
#include "game/window.h"
#include "game/process.h"
typedef void (*BoardWinComKeyFunc)();

47
include/game/chrman.h Executable file
View file

@ -0,0 +1,47 @@
#ifndef _GAME_CHRMAN_H
#define _GAME_CHRMAN_H
#include "dolphin.h"
void CharManInit(void);
void *CharAMemPtrGet(s16 character);
void CharARAMOpen(s16 character);
void CharARAMClose(s16 character);
void CharKill(s16 arg0);
void CharKillAll(void);
s16 CharModelCreate(s16 character, s16 lod);
s16 CharModelMotionCreate(s16 character, s32 arg1);
void CharModelMotionIndexSet(s16 character, s16 arg1, s32 arg2);
void CharModelMotionKill(s16 character, u32 motion);
void CharModelMotionDataClose(s16 character);
void CharModelDataClose(s16 arg0);
void CharModelKill(s16 character);
void CharModelMotionSet(s16 character, s16 motion);
void CharModelTexAnimSet(s16 character);
char **CharModelTexNameGet(s16 arg0, s16 arg1);
char *CharModelHookNameGet(s16 arg0, s16 arg1, s16 arg2);
void CharModelMotionTimeSet(s16 character, float time);
float CharModelMotionTimeGet(s16 character);
float CharModelMotionMaxTimeGet(s16 character);
s32 CharModelMotionEndCheck(s16 character);
s16 CharModelMotionShiftIDGet(s16 character);
void CharModelMotionShiftSet(s16 character, s16 motion, float time, float shift_time, u32 attr);
float CharModelMotionShiftTimeGet(s16 character);
void CharModelMotionSpeedSet(s16 character, float speed);
void CharModelLayerSetAll(s16 arg0);
void CharModelItemHookCreate(s16 character, char *arg1);
void CharModelEffectCreate(s16 arg0, Vec *arg1);
void CharModelCoinEffectCreate(s16 arg0, Vec *arg1);
void fn_8004EC74(s16 character);
void fn_8004EDA4(s16 arg0, Vec *arg1, Vec *arg2);
void fn_8004F058(s16 character);
void fn_8004F13C(s16 arg0, Vec *arg1, Vec *arg2);
void CharModelLayerSetAll2(s16 arg0);
void CharModelVoiceEnableSet(s16 character, s16 motion, s32 flag);
void fn_8004F52C(s16 character, s32 arg1);
void CharModelEffectEnableSet(s16 character, s32 arg1);
s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3);
s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2);
s32 CharModelStepTypeSet(s16 character, s32 arg1);
#endif

View file

@ -3,6 +3,8 @@
#include "game/dvd.h"
#include "datadir_enum.h"
#define DATA_DECODE_NONE 0
#define DATA_DECODE_LZ 1
#define DATA_DECODE_SLIDE 2
@ -10,21 +12,10 @@
#define DATA_DECODE_FSLIDE 4
#define DATA_DECODE_RLE 5
#define MAKE_DATA_NUM(dir, file) (((dir) << 16)+(file))
#define MAKE_DIR_NUM(dir) ((dir) << 16)
#define DATA_NUM_LISTEND -1
#include "dolphin/types.h"
#define DATADIR_DEFINE(name, path) name,
typedef enum {
#include "datadir_table.h"
DATADIR_COUNT
} DataDirID;
#undef DATADIR_DEFINE
typedef struct data_read_stat {
s32 dir_id;

View file

@ -1,6 +1,8 @@
#ifndef _GAME_FLAG_H
#define _GAME_FLAG_H
#include "dolphin/types.h"
#define FLAG_ID_MAKE(group, index) (((group) << 16)|(index))
s32 _CheckFlag(u32 flag);

View file

@ -40,12 +40,12 @@ typedef struct system_state {
/* 0x10 */ u8 ATTRIBUTE_ALIGN(4) board_data[32];
/* 0x30 */ u8 mess_delay;
/* 0x31 */ struct {
u8 field31_bit0 : 4;
u8 field31_bit4 : 4;
u8 bowser_loss : 4;
u8 bowser_event : 4;
};
/* 0x32 */ s8 unk_32;
/* 0x34 */ u16 mg_next;
/* 0x36 */ s16 mg_next_type;
/* 0x36 */ s16 mg_type;
/* 0x38 */ u16 unk_38;
/* 0x3A */ u8 flag[3][16];
/* 0x6A */ u8 unk_6A[0x72];
@ -58,6 +58,7 @@ typedef struct player_state {
u16 character : 4;
u16 auto_size : 2;
u16 field00_bit9 : 1;
u16 field00_bitA : 6;
};
/* 0x02 */ struct {
u8 team : 1;
@ -97,7 +98,7 @@ typedef struct player_state {
/* 0x22 */ s16 coins_max;
/* 0x24 */ s16 coins_battle;
/* 0x26 */ s16 unk_26;
/* 0x28 */ s16 coins_mg_gain;
/* 0x28 */ s16 coin_gain;
/* 0x2A */ s16 stars;
/* 0x2C */ s16 stars_max;
/* 0x2E */ char unk_2E[2];
@ -152,21 +153,70 @@ static inline s32 GWTeamGet(void)
return GWSystem.team;
}
static inline s32 GWMGTypeGet(void)
{
return GWSystem.mg_type;
}
static inline void GWMGTypeSet(s32 type)
{
GWSystem.mg_type = type;
}
static inline s32 GWPartyGet(void)
{
return GWSystem.party;
}
static inline s32 GWLanguageGet(void)
{
return GWGameStat.language;
}
static inline s32 GWRumbleGet(void)
{
return GWGameStat.rumble;
}
static inline s32 GWMGExplainGet(void)
{
return GWSystem.explain_mg;
}
static inline s32 GWMGShowComGet(void)
{
return GWSystem.show_com_mg;
}
static inline s32 GWMGListGet(void)
{
if (GWSystem.mg_list == 3) {
GWSystem.mg_list = 0;
}
return GWSystem.mg_list;
}
static inline s32 GWMessSpeedGet(void)
{
if (GWSystem.mess_speed == 3) {
GWSystem.mess_speed = 1;
}
return GWSystem.mess_speed;
}
static inline s32 GWSaveModeGet(void)
{
if (GWSystem.save_mode == 3) {
GWSystem.save_mode = 1;
}
return GWSystem.save_mode;
}
static inline s32 GWTurnGet(void)
{
return GWSystem.turn;
}
static inline s32 GWBoardGet(void)
{
return GWSystem.board;

View file

@ -3,9 +3,12 @@
#include "game/hsfformat.h"
#include "game/hsfman.h"
#include "game/sprite.h"
#include "game/animdata.h"
typedef struct model_data ModelData;
typedef struct particle_data ParticleData;
typedef void (*ParticleHook)(ModelData *model, ParticleData *particle, Mtx matrix);
typedef struct {
/* 0x00 */ union {
@ -30,7 +33,8 @@ typedef struct particle_data {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
/* 0x04 */ float unk_04;
/* 0x08 */ char unk_08[0x18];
/* 0x08 */ char unk_08[0x14];
/* 0x1C */ void *unk_1C;
/* 0x20 */ s16 unk_20;
/* 0x22 */ s16 unk_22;
/* 0x24 */ float unk_24;
@ -48,7 +52,7 @@ typedef struct particle_data {
/* 0x48 */ HsfanimStruct01 *unk_48;
/* 0x4C */ Vec *unk_4C;
/* 0x50 */ void *unk_50;
/* 0x54 */ void *unk_54;
/* 0x54 */ ParticleHook unk_54;
} ParticleData; // Size 0x58
typedef struct {
@ -99,7 +103,7 @@ void Hu3DAnimAttrSet(s16 arg0, u16 arg1);
void Hu3DAnimAttrReset(s16 arg0, s32 arg1);
void Hu3DAnimSpeedSet(s16 arg0, float arg1);
void Hu3DAnimBankSet(s16 arg0, s32 arg1);
void Hu3DAnmNoSet(s16 arg0, s32 arg1);
void Hu3DAnmNoSet(s16 arg0, u16 arg1);
s32 Hu3DAnimSet(ModelData *arg0, HsfAttribute *arg1, s16 arg2);
void Hu3DAnimExec(void);
s16 Hu3DTexScrollCreate(s16 arg0, char *arg1);
@ -116,7 +120,7 @@ void Hu3DParticleZRotSet(s16 arg0, float arg1);
void Hu3DParticleColSet(s16 arg0, u8 arg1, u8 arg2, u8 arg3);
void Hu3DParticleTPLvlSet(s16 arg0, float arg1);
void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1);
void Hu3DParticleHookSet(s16 arg0, void *arg1);
void Hu3DParticleHookSet(s16 arg0, ParticleHook arg1);
void Hu3DParticleAttrSet(s16 arg0, u8 arg1);
void Hu3DParticleAttrReset(s16 arg0, u8 arg1);
void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1);

View file

@ -39,7 +39,7 @@ void mtxRotCat(Mtx arg0, float arg1, float arg2, float arg3);
void mtxRot(Mtx arg0, float arg1, float arg2, float arg3);
void mtxScaleCat(Mtx arg0, float arg1, float arg2, float arg3);
s16 HmfInverseMtxF3X3(Mtx arg0, Mtx arg1);
void SetDefLight(Vec arg0, Vec arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9, u8 argA);
void SetDefLight(Vec *arg0, Vec *arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9, u8 argA);
void Hu3DModelObjPosGet(s16 arg0, char *arg1, Vec *arg2);
void Hu3DModelObjMtxGet(s16 arg0, char *arg1, Mtx arg2);
void PGObjCall(ModelData *arg0, HsfObject *arg1);
@ -49,6 +49,8 @@ HsfObject *Hu3DObjDuplicate(HsfData *arg0, u32 arg1);
void Hu3DModelObjDrawInit(void);
void Hu3DModelObjDraw(s16 arg0, char *arg1, Mtx arg2);
extern Vec PGMaxPos;
extern Vec PGMinPos;
extern u32 totalPolyCnt;
extern u32 totalPolyCnted;
extern u32 totalMatCnt;

View file

@ -2,7 +2,7 @@
#define _GAME_HSFFORMAT_H
#include "dolphin.h"
#include "game/sprite.h"
#include "game/animdata.h"
#define HSF_OBJ_NULL1 0
#define HSF_OBJ_REPLICA 1
@ -145,20 +145,16 @@ typedef struct hsf_vertex_buf {
void *data;
} HsfBuffer;
typedef struct hsf_tristrip {
u16 data[4];
} HsfTristrip;
typedef struct hsf_face {
u16 type;
u16 mat;
u16 indices[12];
s16 type;
s16 mat;
union {
struct {
s16 indices[3][4];
u32 count;
HsfTristrip *data;
s16 *data;
} strip;
u16 ext_indices[4];
s16 indices[4][4];
};
float nbt[3];
} HsfFace;
@ -290,7 +286,7 @@ typedef struct hsf_object_data {
HsfBuffer **vertexShape;
u32 clusterCnt;
HsfCluster **cluster;
u32 hook;
u32 cenvCnt;
HsfCenv *cenv;
void *file[2];
} HsfObjectData;
@ -378,7 +374,7 @@ typedef struct hsf_map_attr {
float minZ;
float maxX;
float maxZ;
s16 *data;
u16 *data;
u32 dataLen;
} HsfMapAttr;

View file

@ -4,6 +4,9 @@
#include "dolphin.h"
#include "game/hsfformat.h"
#define Hu3DJointMotionFile(model, data_id) (Hu3DJointMotion((model), HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA)))
typedef struct motion_data {
s16 unk_00;
s16 unk_02;

17
include/game/mapspace.h Executable file
View file

@ -0,0 +1,17 @@
#ifndef _GAME_MAPSPACE_H
#define _GAME_MAPSPACE_H
#include "game/hsfformat.h"
#include "game/object.h"
#include "dolphin.h"
void MapWall(float arg0, float arg1, float arg2, float arg3);
void MapWallCheck(float *arg0, float *arg1, HsfMapAttr *arg2);
float MapPos(float arg0, float arg1, float arg2, float arg3, Vec *arg4);
BOOL Hitcheck_Triangle_with_Sphere(Vec *arg0, Vec *arg1, float arg2, Vec *arg3);
BOOL Hitcheck_Quadrangle_with_Sphere(Vec *arg0, Vec *arg1, float arg2, Vec *arg3);
void AppendAddXZ(float arg0, float arg1, float arg2);
void CharRotInv(Mtx arg0, Mtx arg1, Vec *arg2, omObjData *arg3);
#endif

View file

@ -0,0 +1,57 @@
#ifndef _GAME_MINIGAME_SEQ_H
#define _GAME_MINIGAME_SEQ_H
#include "game/object.h"
#include "stdarg.h"
typedef struct seq_work SeqWork;
typedef int (*SeqUpdateFunc)(SeqWork *work);
typedef int (*SeqInitFunc)(SeqWork *work, va_list params);
typedef struct seq_work {
SeqUpdateFunc update;
char *data;
float x;
float y;
float scale_x;
float scale_y;
float unk_18;
float angle;
float win_scale;
float unk_24;
s16 time;
s16 time_max;
s16 timer_val;
s16 state;
s16 alt_word_len;
s16 word_len;
s16 param[2];
s16 type;
s16 spr_grp[16];
s16 sprite[16];
u8 seq_no;
u8 stat;
u8 unk_7C;
u8 unk_7D;
} SeqWork;
void MGSeqInit(void);
void MGSeqMain(void);
s16 MGSeqCreate(s16 type, ...);
u8 MGSeqStatGet(s16 id);
void MGSeqPosSet(s16 id, float x, float y);
void MGSeqParamSet(s16 id, s16 param1, s16 param2);
void MGSeqSprKill(SeqWork *work);
void MGSeqKill(s16 id);
void MGSeqKillAll(void);
s32 MGSeqDoneCheck(void);
void MGSeqStub(void);
void MGSeqPauseInit(void);
void MGSeqPauseEnableCtrl(s32 flag);
void MGSeqPracticeInit(void);
void MGSeqPracticeExitCheck(omObjData *object);
extern OverlayID mgSeqOvlPrev;
#endif

View file

@ -35,6 +35,21 @@ typedef struct {
/* 0x0C */ float backSurDis;
} UnkMsmStruct_02; // Size (min: 0x10, max: 0x1C)
typedef struct {
/* 0x00 */ s32 unk00;
/* 0x04 */ s8 unk04;
/* 0x05 */ s8 unk05;
/* 0x06 */ u16 unk06;
} UnkMsmStruct_03; // Size unknown (min: 8, max: 0x10)
typedef struct {
/* 0x00 */ s32 unk00;
/* 0x04 */ char unk04[1];
/* 0x05 */ s8 unk05;
/* 0x06 */ u16 unk06;
/* 0x08 */ char unk08[1];
} UnkMsmStruct_04; // Size unknown (min: 9, max: 0x18)
void msmSysRegularProc(void);
void msmSysSetOutputMode(s32 arg0);
void msmSysSetAux(s32 arg0, s32 arg1);
@ -49,11 +64,12 @@ s32 msmMusGetNumPlay(s32 arg0);
s32 msmMusGetStatus(s32 arg0);
void msmMusPauseAll(s32 arg0, s32 arg1);
void msmMusPause(s32 arg0, s32 arg1, s32 arg2);
void msmMusSetParam(s16 arg0, UnkMsmStruct_04 *arg1);
void msmMusStopAll(s32 arg0, s32 arg1);
void msmMusStop(s32 arg0, s32 arg1);
s32 msmMusPlay(s32 arg0, s32 arg1);
s32 msmMusPlay(s32 arg0, UnkMsmStruct_03 *arg1);
void msmSeDelListener(void);
void msmSeUpdataListener(s32 arg0, s32 arg1);
void msmSeUpdataListener(Vec *arg0, Vec *arg1);
void msmSeSetListener(Vec* arg0, Vec* arg1, float arg2, float arg3, UnkMsmStruct_02 *arg4);
s32 msmSeGetEntryID(s32 arg0, void *arg1);
s32 msmSeGetNumPlay(s32 arg0);

View file

@ -5,6 +5,8 @@
#include "game/process.h"
#include "game/dvd.h"
#define OM_DLL_MAX 20
#define OVL_DEFINE(name, path) name,
typedef enum {
@ -51,10 +53,17 @@ typedef struct om_obj_data {
/* 0x40 */ s16 *model;
/* 0x44 */ u16 mtncnt;
/* 0x48 */ s16 *motion;
/* 0x4C */ int work[4];
/* 0x4C */ u32 work[4];
/* 0x5C */ void *data;
} omObjData;
typedef struct om_dll_data {
char *name;
OSModuleHeader *module;
void *bss;
s32 ret;
} omDllData;
void omMasterInit(int prio, FileListEntry *ovl_list, int ovl_count, OverlayID start_ovl);
void omOvlCallEx(OverlayID overlay, s16 arg2, int event, int stat);
void omOvlGotoEx(OverlayID overlay, s16 arg2, int event, int stat);
@ -83,12 +92,21 @@ OverlayID omCurrentOvlGet(void);
void omDLLDBGOut(void);
void omDLLInit(FileListEntry *ovl_list);
int omDLLStart(s16 ovl, s16 dll);
void omDLLNumEnd(s16 ovl, s16 arg2);
int omDLLStart(s16 overlay, s16 flag);
void omDLLNumEnd(s16 overlay, s16 flag);
void omDLLEnd(s16 dllno, s16 flag);
omDllData *omDLLLink(omDllData **dll_ptr, s16 overlay, s16 flag);
void omDLLUnlink(omDllData *dll_ptr, s16 flag);
s32 omDLLSearch(s16 overlay);
void omDLLInfoDump(OSModuleInfo *module);
void omDLLHeaderDump(OSModuleHeader *module);
void omSysPauseEnable(BOOL flag);
void omSystemKeyCheckSetup(Process *objman_process);
void omOutView(omObjData *object);
void omOutViewMulti(omObjData *object);
void omSystemKeyCheckSetup(Process *objman);
void omSystemKeyCheck(omObjData *object);
void omSysPauseEnable(u8 flag);
void omSysPauseCtrl(s16 flag);
extern omObjData *omDBGSysKeyObj;
extern Process *omwatchproc;
@ -102,7 +120,16 @@ extern int omovlstat;
extern char omUPauseFlag;
extern s16 omSysExitReq;
extern s16 omdispinfo;
extern char omSysPauseEnableFlag;
extern u8 omSysPauseEnableFlag;
extern OverlayID omprevovl;
extern omDllData *omDLLinfoTbl[OM_DLL_MAX];
extern Vec CRot;
extern Vec Center;
extern float CZoom;
extern Vec CRotM[16];
extern Vec CenterM[16];
extern float CZoomM[16];
#endif

View file

@ -14,12 +14,10 @@ typedef struct mg_info {
u32 data_dir;
u32 inst_pic[3];
u32 mg_pic[3];
u32 rules_mess;
u32 control_mess[2];
u32 advice_mess;
u32 inst_mess[4];
} MgInfo;
s16 omMgIndexGet(s16 overlay);
s32 omMgIndexGet(s16 overlay);
void omGameSysInit(Process *objman);
void omVibrate(s16 player_cfg_index, s16 duration, s16 off, s16 on);

View file

@ -22,7 +22,7 @@ extern u8 HuPadDStkRep[4];
extern s8 HuPadErr[4];
extern u16 _PadBtn[4];
extern u16 _PadBtnDown[4];
extern u32 VCounter;
extern s32 VCounter;
void HuPadInit(void);
void HuPadRead(void);

View file

@ -38,7 +38,7 @@ Process *HuPrcCurrentGet(void);
int HuPrcKill(Process *process);
void HuPrcChildKill(Process *process);
void HuPrcSleep(int time);
void HuPrcVSleep(void);
void HuPrcVSleep();
void HuPrcWakeup(Process *process);
void HuPrcDestructorSet2(Process *process, void (*func)(void));
void HuPrcDestructorSet(void (*func)(void));

View file

@ -2,18 +2,41 @@
#define _GAME_SAVELOAD_H
#include "dolphin.h"
#include "game/gamework_data.h"
s32 SLFileOpen(char *arg0);
s32 SLFileCreate(char *arg0, u32 arg1, void *arg2);
s32 SLFileWrite(s32 arg0, void *arg1);
s32 SLFileRead(s32 arg0, void *arg1);
#define SAVE_BUF_SIZE 16384
typedef struct save_buf_data {
u8 comment[CARD_COMMENT_SIZE];
u8 banner[CARD_BANNER_WIDTH*CARD_BANNER_HEIGHT];
u8 bannerTlut[512];
u8 icon[CARD_ICON_WIDTH*CARD_ICON_HEIGHT*4];
u8 iconTlut[512];
GameStat stat;
SystemState system;
PlayerState player[4];
SystemState systemBackup;
PlayerState playerBackup[4];
} SaveBufData;
typedef union save_buf_all {
SaveBufData data;
u8 ATTRIBUTE_ALIGN(32) buf[SAVE_BUF_SIZE];
} SaveBufAll;
extern SaveBufAll saveBuf;
s32 SLFileOpen(char *fileName);
s32 SLFileCreate(char *fileName, u32 size, void *addr);
s32 SLFileWrite(s32 length, void *addr);
s32 SLFileRead(s32 length, void *addr);
s32 SLFileClose(void);
void SLCurSlotNoSet(s16 arg0);
void SLCurBoxNoSet(s8 arg0);
void SLSaveFlagSet(s32 arg0);
void SLCurSlotNoSet(s16 slotno);
void SLCurBoxNoSet(s8 boxno);
void SLSaveFlagSet(s32 flag);
s32 SLSaveFlagGet(void);
void SLSaveDataMake(s32 arg0, OSTime *arg1);
void SLSaveDataInfoSet(OSTime *arg0);
void SLSaveDataMake(s32 erase, OSTime *time);
void SLSaveDataInfoSet(OSTime *time);
void SLCommonSet(void);
void SLSaveBoard(void);
void SLSaveBoardBackup(void);
@ -27,9 +50,9 @@ BOOL SLSerialNoCheck(void);
BOOL SLCheckSumCheck(void);
u16 SLCheckSumGet(void);
void SLCheckSumSet(void);
s32 SLStatSet(s32 arg0);
s32 SLCardMount(s16 arg0);
s32 SLFormat(s16 arg0);
s16 SLMessOut(s16 arg0);
s32 SLStatSet(s32 reportF);
s32 SLCardMount(s16 slotNo);
s32 SLFormat(s16 slotNo);
s16 SLMessOut(s16 mess);
#endif

View file

@ -5,111 +5,36 @@
#include "game/data.h"
#include "game/memory.h"
#define SPRITE_MAX 384
#define SPRITE_GROUP_MAX 256
#define HUSPR_MAX 384
#define HUSPR_GRP_MAX 256
#define SPRITE_INVALID -1
#define SPRITE_GROUP_INVALID -1
#define HUSPR_NONE -1
#define HUSPR_GRP_NONE -1
#define SPRITE_ATTR_PAUSED 0x1
#define SPRITE_ATTR_LOOP 0x2
#define SPRITE_ATTR_HIDDEN 0x4
#define SPRITE_ATTR_BILINEAR 0x8
#define SPRITE_ATTR_FUNC 0x10
#define SPRITE_ATTR_NOPAUSE 0x20
#define SPRITE_ATTR_REVERSE 0x40
#define SPRITE_ATTR_ADDITIVE 0x80
#define SPRITE_ATTR_INVERT 0x100
#define HUSPR_ATTR_NOANIM 0x1
#define HUSPR_ATTR_LOOP 0x2
#define HUSPR_ATTR_DISPOFF 0x4
#define HUSPR_ATTR_LINEAR 0x8
#define HUSPR_ATTR_FUNC 0x10
#define HUSPR_ATTR_NOPAUSE 0x20
#define HUSPR_ATTR_REVERSE 0x40
#define HUSPR_ATTR_ADDCOL 0x80
#define HUSPR_ATTR_INVCOL 0x100
#define SPRITE_BMP_RGBA8 0
#define SPRITE_BMP_RGB5A3 1
#define SPRITE_BMP_RGB5A3_DUPE 2
#define SPRITE_BMP_C8 3
#define SPRITE_BMP_C4 4
#define SPRITE_BMP_IA8 5
#define SPRITE_BMP_IA4 6
#define SPRITE_BMP_I8 7
#define SPRITE_BMP_I4 8
#define SPRITE_BMP_A8 9
#define SPRITE_BMP_CMPR 10
#include "game/animdata.h"
#define SPRITE_BMP_FMTMASK 0xF
#define SPRITE_BMP_ALLOC 0x8000
#define SPRITE_BMP_NUM_MASK 0x7FFF
typedef void (*HuSprFunc)(struct hu_sprite *);
#define SPRITE_LAYER_FLIPX 0x1
#define SPRITE_LAYER_FLIPY 0x2
typedef void (*SpriteFunc)(struct sprite_data *);
typedef struct anim_frame_data {
s16 pat;
s16 time;
s16 shiftX;
s16 shiftY;
s16 flip;
s16 pad;
} AnimFrameData;
typedef struct anim_bank_data {
s16 timeNum;
s16 unk;
AnimFrameData *frame;
} AnimBankData;
typedef struct anim_layer_data {
u8 alpha;
u8 flip;
s16 bmpNo;
s16 startX;
s16 startY;
s16 sizeX;
s16 sizeY;
s16 shiftX;
s16 shiftY;
s16 vtx[8];
} AnimLayerData;
typedef struct anim_pat_data {
s16 layerNum;
s16 centerX;
s16 centerY;
s16 sizeX;
s16 sizeY;
AnimLayerData *layer;
} AnimPatData;
typedef struct anim_bmp_data {
u8 pixSize;
u8 dataFmt;
s16 palNum;
s16 sizeX;
s16 sizeY;
u32 dataSize;
void *palData;
void *data;
} AnimBmpData;
typedef struct anim_data {
s16 bankNum;
s16 patNum;
s16 bmpNum;
s16 useNum;
AnimBankData *bank;
AnimPatData *pat;
AnimBmpData *bmp;
} AnimData;
typedef struct sprite_data {
typedef struct hu_sprite {
u8 r;
u8 g;
u8 b;
char draw_no;
short frame;
short bank;
short attr;
short dirty_flag;
short prio;
u8 draw_no;
s16 frame;
s16 bank;
s16 attr;
s16 dirty_flag;
s16 prio;
float time;
float x;
float y;
@ -120,26 +45,26 @@ typedef struct sprite_data {
float a;
GXTexWrapMode wrap_s;
GXTexWrapMode wrap_t;
short tex_scale_x;
short tex_scale_y;
s16 tex_scale_x;
s16 tex_scale_y;
Mtx *group_mtx;
union {
AnimData *data;
SpriteFunc func;
HuSprFunc func;
};
AnimPatData *pat_data;
AnimFrameData *frame_data;
short work[4];
s16 work[4];
AnimData *bg;
unsigned short bg_bank;
short scissor_x;
short scissor_y;
short scissor_w;
short scissor_h;
} SpriteData;
u16 bg_bank;
s16 scissor_x;
s16 scissor_y;
s16 scissor_w;
s16 scissor_h;
} HuSprite;
typedef struct sprite_group_data {
short capacity;
typedef struct hu_spr_grp {
s16 capacity;
float x;
float y;
float z_rot;
@ -147,60 +72,59 @@ typedef struct sprite_group_data {
float scale_y;
float center_x;
float center_y;
short *members;
s16 *members;
Mtx mtx;
} SpriteGroupData;
} HuSprGrp;
extern SpriteData HuSprData[SPRITE_MAX];
extern SpriteGroupData HuSprGrpData[SPRITE_GROUP_MAX];
extern HuSprite HuSprData[HUSPR_MAX];
extern HuSprGrp HuSprGrpData[HUSPR_GRP_MAX];
#define HuSprAnimReadFile(data_id) (HuSprAnimRead(HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA)))
void HuSprInit(void);
void HuSprClose(void);
void HuSprExec(short draw_no);
void HuSprExec(s16 draw_no);
void HuSprBegin(void);
SpriteData *HuSprCall(void);
HuSprite *HuSprCall(void);
void HuSprFinish(void);
void HuSprPauseSet(BOOL value);
AnimData *HuSprAnimRead(void *data);
void HuSprAnimLock(AnimData *anim);
short HuSprCreate(AnimData *anim, short prio, short bank);
short HuSprFuncCreate(SpriteFunc func, short prio);
short HuSprGrpCreate(short capacity);
short HuSprGrpCopy(short group);
void HuSprGrpMemberSet(short group, short member, short sprite);
void HuSprGrpMemberKill(short group, short member);
void HuSprGrpKill(short group);
void HuSprKill(short sprite);
s16 HuSprCreate(AnimData *anim, s16 prio, s16 bank);
s16 HuSprFuncCreate(HuSprFunc func, s16 prio);
s16 HuSprGrpCreate(s16 capacity);
s16 HuSprGrpCopy(s16 group);
void HuSprGrpMemberSet(s16 group, s16 member, s16 sprite);
void HuSprGrpMemberKill(s16 group, s16 member);
void HuSprGrpKill(s16 group);
void HuSprKill(s16 sprite);
void HuSprAnimKill(AnimData *anim);
void HuSprAttrSet(short group, short member, int attr);
void HuSprAttrReset(short group, short member, int attr);
void HuSprPosSet(short group, short member, float x, float y);
void HuSprZRotSet(short group, short member, float z_rot);
void HuSprScaleSet(short group, short member, float x, float y);
void HuSprTPLvlSet(short group, short member, float tp_lvl);
void HuSprColorSet(short group, short member, u8 r, u8 g, u8 b);
void HuSprSpeedSet(short group, short member, float speed);
void HuSprBankSet(short group, short member, short bank);
void HuSprGrpPosSet(short group, float x, float y);
void HuSprGrpCenterSet(short group, float x, float y);
void HuSprGrpZRotSet(short group, float z_rot);
void HuSprGrpScaleSet(short group, float x, float y);
void HuSprGrpTPLvlSet(short group, float tp_lvl);
s32 HuSprGrpDrawNoSet(short group, int draw_no);
void HuSprDrawNoSet(short group, short member, int draw_no);
void HuSprPriSet(short group, short member, short prio);
void HuSprGrpScissorSet(short group, short x, short y, short w, short h);
void HuSprScissorSet(short group, short member, short x, short y, short w, short h);
AnimData *HuSprAnimMake(short sizeX, short sizeY, short dataFmt);
void HuSprBGSet(short group, short member, AnimData *bg, short bg_bank);
void HuSprSprBGSet(short sprite, AnimData *bg, short bg_bank);
void HuSprAttrSet(s16 group, s16 member, s32 attr);
void HuSprAttrReset(s16 group, s16 member, s32 attr);
void HuSprPosSet(s16 group, s16 member, float x, float y);
void HuSprZRotSet(s16 group, s16 member, float z_rot);
void HuSprScaleSet(s16 group, s16 member, float x, float y);
void HuSprTPLvlSet(s16 group, s16 member, float tp_lvl);
void HuSprColorSet(s16 group, s16 member, u8 r, u8 g, u8 b);
void HuSprSpeedSet(s16 group, s16 member, float speed);
void HuSprBankSet(s16 group, s16 member, s16 bank);
void HuSprGrpPosSet(s16 group, float x, float y);
void HuSprGrpCenterSet(s16 group, float x, float y);
void HuSprGrpZRotSet(s16 group, float z_rot);
void HuSprGrpScaleSet(s16 group, float x, float y);
void HuSprGrpTPLvlSet(s16 group, float tp_lvl);
void HuSprDrawNoSet(s16 group, s16 member, s32 draw_no);
void HuSprPriSet(s16 group, s16 member, s16 prio);
void HuSprGrpScissorSet(s16 group, s16 x, s16 y, s16 w, s16 h);
void HuSprScissorSet(s16 group, s16 member, s16 x, s16 y, s16 w, s16 h);
AnimData *HuSprAnimMake(s16 sizeX, s16 sizeY, s16 dataFmt);
void HuSprBGSet(s16 group, s16 member, AnimData *bg, s16 bg_bank);
void HuSprSprBGSet(s16 sprite, AnimData *bg, s16 bg_bank);
void AnimDebug(AnimData *anim);
void HuSprDispInit(void);
void HuSprDisp(SpriteData *sprite);
void HuSprTexLoad(AnimData *anim, short bmp, short slot, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, GXTexFilter filter);
void HuSprExecLayerSet(short draw_no, short layer);
void HuSprDisp(HuSprite *sprite);
void HuSprTexLoad(AnimData *anim, s16 bmp, s16 slot, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, GXTexFilter filter);
void HuSprExecLayerSet(s16 draw_no, s16 layer);
#endif

View file

@ -2,6 +2,8 @@
#define _GAME_THPMAIN_H
#include "dolphin/types.h"
#include "game/process.h"
s16 HuTHPSprCreateVol(char *path, s16 loop, s16 prio, float volume);
s16 HuTHPSprCreate(char *path, s16 loop, s16 prio);
@ -15,4 +17,7 @@ s32 HuTHPFrameGet(void);
s32 HuTHPTotalFrameGet(void);
void HuTHPSetVolume(s32 left, s32 right);
extern Process *THPProc;
#endif

View file

@ -1,7 +1,7 @@
#ifndef _GAME_WINDOW_H
#define _GAME_WINDOW_H
#include "game/sprite.h"
#include "game/animdata.h"
#include "dolphin.h"
#define MAKE_MESSID(bank, mess) (((bank) << 16)+(mess))
@ -76,6 +76,7 @@ typedef struct {
} WindowData; // Size 0x180
extern WindowData winData[32];
extern void *messDataPtr;
void HuWindowInit(void);
void HuWinInit(s32 mess_data_no);
@ -95,7 +96,7 @@ void HuWinScissorSet(s16 window, s16 x, s16 y, s16 w, s16 h);
void HuWinPriSet(s16 window, s16 prio);
void HuWinAttrSet(s16 window, u32 attr);
void HuWinAttrReset(s16 window, u32 attr);
u8 HuWinStatGet(s16 window);
s16 HuWinStatGet(s16 window);
void HuWinMesColSet(s16 window, u8 color);
void HuWinMesPalSet(s16 window, u8 index, u8 r, u8 g, u8 b);
void HuWinBGTPLvlSet(s16 window, float tp_level);
@ -109,7 +110,7 @@ s16 HuWinChoiceNumGet(s16 window);
void HuWinChoiceDisable(s16 window, s16 choice);
s16 HuWinChoiceNowGet(s16 window);
void HuWinMesWait(s16 window);
void HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y);
s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y);
s16 HuWinSprSet(s16 window, s16 sprite, float x, float y);
void HuWinSprPosSet(s16 window, s16 index, float x, float y);
void HuWinSprPriSet(s16 window, s16 index, s16 prio);
@ -123,7 +124,7 @@ void _HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16
void HuWinComKeyGet(s16 window, u32 *data);
void HuWinComKeyReset(void);
void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...);
void HuWinInsertMesSizeGet(s32 mess, s16 index);
void HuWinInsertMesSizeGet(u32 mess, s16 index);
void HuWinMesSizeCancelCRSet(s32 cancel_cr);
void HuWinMesMaxSizeBetGet(float *size, u32 start, u32 end);
s16 HuWinKeyWaitNumGet(u32 mess);
@ -136,5 +137,8 @@ void HuWinExAnimIn(s16 window);
void HuWinExAnimOut(s16 window);
void HuWinExCleanup(s16 window);
void HuWinExAnimPopIn(s16 window, s16 portrait);
void *MessData_MesPtrGet(void *data, u32 index);
extern void *messDataPtr;
#endif

View file

@ -36,6 +36,7 @@ double asin(double x);
double atan2(double y, double x);
double fmod(double x, double y);
double log(double x);
double pow(double x, double y);
float tanf(float x);
float sinf(float x);
float cosf(float x);

View file

@ -1,25 +0,0 @@
#ifndef _UNSPLIT_H
#define _UNSPLIT_H
#include "dolphin.h"
void MGSeqKillAll(void);
void MGSeqPracticeInit(void);
void CharMotionClose(s16 character);
void CharModelClose(s16 character);
void CharModelKill(s16 character);
s16 CharModelCreate(s16 character, s16 lod);
s16 CharMotionCreate(s16 character, s32 data_num);
void CharModelMotionSet(s16 character, s16 motion);
float CharModelMotionMaxTimeGet(s16 character);
float CharModelMotionTimeGet(s16 character);
void CharModelMotionShiftSet(s16 model, s16 motion, float time, float shift_time, u32 attr);
void CharModelMotionTimeSet(s16 character, float time);
void CharModelMotionSpeedSet(s16 character, float speed);
void CharMotionKill(s16 character, s32 motion);
void CharModelVoiceEnableSet(s16 character, s16 motion, s32 flag);
s32 CharModelMotionEndCheck(s16 character);
#endif