Merge branch 'Rainchus:main' into main

This commit is contained in:
CreateSource 2024-02-24 20:09:42 -05:00 committed by GitHub
commit ecf2b20a15
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
116 changed files with 21323 additions and 1302 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
// -------------------------------------------------------------------------- //

View file

@ -45,7 +45,7 @@ typedef struct w10DllUnk04 {
extern s16 lbl_1_bss_20;
extern s16 lbl_1_bss_22[];
extern s16 lbl_1_bss_20;
extern s32 boardTutorialData;
extern s32 boardTutorialData[4];
void fn_1_C10(s16);
void fn_1_1FB0(void);

View file

@ -12,37 +12,28 @@ typedef s32 (*BoardSpaceEventFunc)(void);
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);
void BoardModelRotYSet(s16, f32);
s32 BoardModelRotYSet(s16, f32);
f32 BoardModelRotYGet(s16);
void BoardModelLayerSet(s16, u8);
void BoardTutorialHostSet(s16);
s32 BoardModelLayerSet(s16, u8);
s16 BoardModelIDGet(s16);
void BoardModelScaleSetV(s16, Vec*);
s32 BoardModelScaleSetV(s16, Vec*);
void BoardLightHookSet(BoardLightHook set, BoardLightHook reset);
s16 BoardModelCreate(s32, void*, s32);
s16 BoardModelCreate(s32, s32*, s32);
void BoardModelKill(s16);
void fn_8006DDE8(s16, f32);
s32 BoardModelMotionStart(s16, s32, s32);
void BoardModelMotionSpeedSet(s16, f32);
void BoardModelPosSetV(s16, Vec*);
void BoardModelPosSet(s16, f32, f32, f32);
void BoardModelRotSetV(s16 arg0, Vec* arg1);
void BoardModelVisibilitySet(s16, s32);
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);
@ -51,15 +42,12 @@ 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*);
void BoardModelScaleSet(s16, f32, f32, f32);
s32 BoardModelScaleSet(s16, f32, f32, f32);
s32 BoardIsKill(void);
void BoardModelMtxSet(s16, Mtx*);
void BoardModelRotSet(s16, f32, f32, f32);
s32 BoardModelRotSet(s16, f32, f32, f32);
void BoardBowserExec(s32 player, s32 space);
void BoardBattleExec(s32 player, s32 space);

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")

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

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

@ -0,0 +1,18 @@
#ifndef _BOARD_BOO_H
#define _BOARD_BOO_H
#include "dolphin.h"
#include "game/object.h"
s16 BoardBooCreate(s32 arg0, Vec *arg1);
void BoardBooKill(void);
s32 BoardBooStealTypeSet(s32 arg0);
s32 BoardBooStealMain(void);
BOOL CheckBallCoinDone(void);
void TakeBallStar(void);
void ExecTakeBallStar(omObjData *arg0);
BOOL CheckTakeBallStarDone(void);
s32 BoardBooStealValueGet(s16 *arg0, s16 *arg1);
BOOL BoardBooStealLightCheck(void);
#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 BoardComTutorialItemGet(s32 arg0);
s32 BoardComUseItemSet(s32 arg0, s32 arg1);
BOOL BoardComUseItemCheck(s32 arg0);
s32 BoardComJunctionInputGet(s32 arg0, Vec *arg1, s32 arg2, float *arg3);
s32 BoardComBestPlayerFind(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 BoardComPathReachCheck(s16 arg0, u32 arg1, s32 arg2);
s16 BoardComPathBestGet(s16 arg0);
s16 BoardComPathLenGet(s16 arg0, s16 arg1);
s16 BoardComPathW20BestGet(s16 arg0, u32 arg1, s16 arg2);
#endif

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

@ -0,0 +1,11 @@
#ifndef _BOARD_ITEM_H
#define _BOARD_ITEM_H
#include "dolphin/types.h"
void BoardItemStart(s32 arg0, s32 arg1);
BOOL BoardItemDoneCheck(void);
void BoardItemPlayerRestore(s32 arg0, s32 arg1);
void BoardItemBagItemSet(s16 *arg0);
#endif

View file

@ -77,6 +77,8 @@ typedef void (*BoardCameraPosCalcFunc)(BoardCameraData *camera);
typedef void (*BoardTurnStartHook)(s32 player, s32 space);
extern BoardTurnStartHook boardTurnStartFunc;
extern void (*boardStarShowNextHook)(void);
extern void (*boardStarGiveHook)(void);
extern BoardFunc boardTurnFunc;
extern BoardLightHook boardLightResetHook;
extern BoardLightHook boardLightSetHook;
@ -87,8 +89,8 @@ s32 BoardIsKill(void);
void BoardPauseDisableSet(s32 value);
s32 BoardPauseDisableGet();
void BoardSaveInit(s32 board);
void BoardStoryConfigSet(s32 mg_type, s32 diff_story);
void BoardPartyConfigSet(s32 team, s32 bonus_star, s32 mg_type, s32 max_turn, s32 p1_handicap, s32 p2_handicap, s32 p3_handicap, s32 p4_handicap);
void BoardStoryConfigSet(s32 mg_list, s32 diff_story);
void BoardPartyConfigSet(s32 team, s32 bonus_star, s32 mg_list, s32 max_turn, s32 p1_handicap, s32 p2_handicap, s32 p3_handicap, s32 p4_handicap);
s32 BoardTurnNext(void);
void BoardNextOvlSet(OverlayID overlay);
s32 BoardStartCheck(void);

View file

@ -34,8 +34,19 @@ s32 BoardModelAmbSet(s16 model, float r, float g, float b);
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 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 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 BoardModelRotYSet(s16 model, float rot);
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

@ -139,6 +139,7 @@ void BoardPlayerAutoSizeSet(s32, s32);
void BoardPlayerCopyMat(s32);
void BoardBowserSuitKill(s32);
void SetRollPlayerSize(s32);
void BoardDiceDigit2DInit(s32, s32);
void BoardDiceDigit2DUpdateEnable(s32);
s32 DoSparkSpace(s32, s16*);
s32 MegaPlayerPassFunc(s32, s16);

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

View file

@ -53,4 +53,6 @@ s32 BoardSpaceStarCheck(s32 index);
void BoardSpaceLandExec(s32 player, s32 space);
void BoardSpaceBlockPosSet(void);
extern s16 boardSpaceStarTbl[8];
#endif

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

@ -0,0 +1,14 @@
#ifndef _BOARD_START_H
#define _BOARD_START_H
#include "game/board/space.h"
#include "dolphin.h"
void BoardStarHostSet(s16 arg0);
s16 BoardStarHostMdlGet(void);
void BoardStarExec(s32 arg0, BoardSpace *arg1);
void BoardStarGive(s32 arg0, Vec *arg1);
void BoardStarShowNext(s32 arg0);
#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

@ -28,9 +28,12 @@ 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);
void BoardItemStatusKill(s32 arg0);
extern s8 boardItemUser;
#endif

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

@ -12,6 +12,7 @@ void BoardWinKillAll(void);
void BoardWinDestroy(void);
void BoardWinProc(void);
int BoardWinChoiceGet(void);
void BoardWinPause(void);
void BoardWinCreateChoice(s32 pos, u32 mess, s32 portrait, s32 choice);
void BoardWinCreate(s32 pos, u32 mess, s32 portrait);
void BoardWinInsertMesSet(u32 value, s32 index);

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);
void 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;

9
include/game/fault.h Normal file
View file

@ -0,0 +1,9 @@
#ifndef _GAME_FAULT_H
#define _GAME_FAULT_H
#include "game/gamework_data.h"
void HuFaultInitXfbDirectDraw(GXRenderModeObj *mode);
void HuFaultSetXfbAddress(s16 index, void* value);
#endif

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

@ -21,7 +21,7 @@ typedef struct system_state {
u16 bonus_star : 1;
u16 explain_mg : 1;
u16 show_com_mg : 1;
u16 mg_type : 2;
u16 mg_list : 2;
u16 mess_speed : 2;
u16 save_mode : 2;
};
@ -45,7 +45,7 @@ typedef struct system_state {
};
/* 0x32 */ s8 unk_32;
/* 0x34 */ u16 mg_next;
/* 0x36 */ s16 mg_next_extra;
/* 0x36 */ s16 mg_next_type;
/* 0x38 */ u16 unk_38;
/* 0x3A */ u8 flag[3][16];
/* 0x6A */ u8 unk_6A[0x72];
@ -152,14 +152,34 @@ static inline s32 GWTeamGet(void)
return GWSystem.team;
}
static inline s32 GWPartyGet(void)
{
return GWSystem.party;
}
static inline s32 GWLanguageGet(void)
{
return GWGameStat.language;
}
static inline s32 GWMGTypeGet(void)
static inline s32 GWRumbleGet(void)
{
return GWSystem.mg_type;
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)
{
return GWSystem.mg_list;
}
static inline s32 GWMessSpeedGet(void)
@ -167,6 +187,11 @@ static inline s32 GWMessSpeedGet(void)
return GWSystem.mess_speed;
}
static inline s32 GWTurnGet(void)
{
return GWSystem.turn;
}
static inline s32 GWBoardGet(void)
{
return GWSystem.board;
@ -177,4 +202,9 @@ static inline s32 GWPlayerTeamGet(s32 player)
return GWPlayer[player].team;
}
static inline s32 GWPlayerSpaceCurrGet(s32 player)
{
return GWPlayer[player].space_curr;
}
#endif

View file

@ -29,7 +29,9 @@ typedef struct {
typedef struct particle_data {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
/* 0x04 */ char unk_04[0x1C];
/* 0x04 */ float unk_04;
/* 0x08 */ char unk_08[0x14];
/* 0x1C */ void *unk_1C;
/* 0x20 */ s16 unk_20;
/* 0x22 */ s16 unk_22;
/* 0x24 */ float unk_24;
@ -39,7 +41,7 @@ typedef struct particle_data {
/* 0x2E */ char unk_2E[2];
/* 0x30 */ s16 unk_30;
/* 0x32 */ char unk_32[2];
/* 0x34 */ s32 unk_34;
/* 0x34 */ u32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ u32 unk_3C;
/* 0x40 */ s32 unk_40;
@ -115,6 +117,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 Hu3DParticleAttrSet(s16 arg0, u8 arg1);
void Hu3DParticleAttrReset(s16 arg0, u8 arg1);
void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1);

View file

@ -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

@ -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

@ -135,6 +135,7 @@ void Hu3DNoSyncSet(s32);
s16 Hu3DModelCreate(void *);
s16 Hu3DModelLink(s16);
s16 Hu3DHookFuncCreate(ModelHookFunc);
void Hu3DModelKill(s16);
void Hu3DModelAllKill(void);
void Hu3DModelPosSet(s16, f32, f32, f32);
void Hu3DModelPosSetV(s16, Vec *);
@ -221,7 +222,7 @@ void Hu3DShadowSizeSet(u16);
void Hu3DShadowExec(void);
s16 Hu3DProjectionCreate(void*, f32, f32, f32);
void Hu3DProjectionKill(s16);
void Hu3DProjectionPosSet(s16, Vec, Vec, Vec);
void Hu3DProjectionPosSet(s16, Vec*, Vec*, Vec*);
void Hu3DProjectionTPLvlSet(s16, f32);
void Hu3DMipMapSet(char*, s16, s32, f32);

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,21 @@
#ifndef _GAME_MINIGAME_SEQ_H
#define _GAME_MINIGAME_SEQ_H
#include "game/object.h"
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 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);
#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,9 +64,10 @@ 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 msmSeSetListener(Vec* arg0, Vec* arg1, float arg2, float arg3, UnkMsmStruct_02 *arg4);

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,10 +92,16 @@ 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 omSysPauseEnable(u8 flag);
void omSystemKeyCheckSetup(Process *objman_process);
@ -102,7 +117,9 @@ 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];
#endif

43
include/game/objsub.h Normal file
View file

@ -0,0 +1,43 @@
#ifndef _GAME_OBJSUB_H
#define _GAME_OBJSUB_H
#include "dolphin.h"
#include "game/process.h"
#include "game/gamework_data.h"
typedef struct mg_info {
u16 ovl;
u8 type;
u8 flag;
u8 record_idx;
u32 name_mess;
u32 data_dir;
u32 inst_pic[3];
u32 mg_pic[3];
u32 rules_mess;
u32 control_mess[2];
u32 advice_mess;
} MgInfo;
s32 omMgIndexGet(s16 overlay);
void omGameSysInit(Process *objman);
void omVibrate(s16 player_cfg_index, s16 duration, s16 off, s16 on);
extern s16 mgTypeCurr;
extern s16 mgBattleStar[4];
extern s16 mgBattleStarMax;
extern u8 lbl_801D3E94;
extern s32 mgRecordExtra;
extern s32 mgQuitExtraF;
extern s32 mgPracticeEnableF;
extern s32 mgInstExitEnableF;
extern u8 mgBoardHostEnableF;
extern s16 mgTicTacToeGrid[3][3];
extern u8 mgIndexList[256];
extern GameStat mgGameStatBackup;
extern MgInfo mgInfoTbl[];
#endif

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

@ -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

@ -14,7 +14,7 @@
#define SPRITE_ATTR_PAUSED 0x1
#define SPRITE_ATTR_LOOP 0x2
#define SPRITE_ATTR_HIDDEN 0x4
#define SPIRTE_ATTR_BILINEAR 0x8
#define SPRITE_ATTR_BILINEAR 0x8
#define SPRITE_ATTR_FUNC 0x10
#define SPRITE_ATTR_NOPAUSE 0x20
#define SPRITE_ATTR_REVERSE 0x40

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

@ -95,7 +95,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);

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

@ -8,18 +8,5 @@ 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