Merge branch 'mariopartyrd:main' into main

This commit is contained in:
CreateSource 2024-11-19 12:46:39 -05:00 committed by GitHub
commit 106c158b75
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
298 changed files with 49092 additions and 4634 deletions

View file

@ -3,113 +3,116 @@
#include "game/object.h"
#define rand16() ((rand8() << 8)|(rand8()))
#define rand16() ((rand8() << 8) | (rand8()))
typedef struct bss_12C_inner {
Vec unk0;
float unkC;
s8 unk10;
Vec unk0;
float unkC;
s8 unk10;
} Bss12CInner;
typedef struct bss_12c_struct {
s16 unk0[2];
s16 unk4;
s16 unk6;
s16 unk8;
Vec unkC;
float unk18;
Bss12CInner unk1C[10];
float unkE4[10][2];
s16 unk134[2];
s16 unk138[2];
s16 unk0[2];
s16 unk4;
s16 unk6;
s16 unk8;
Vec unkC;
float unk18;
Bss12CInner unk1C[10];
float unkE4[10][2];
s16 unk134[2];
s16 unk138[2];
} Bss12CStruct;
typedef struct bss_61C_work {
u32 unk0;
s16 unk4;
s16 unk6;
s16 unk8;
s16 unkA;
s16 unkC;
float unk10;
struct bss_61C_work *unk14;
Vec unk18;
Vec unk24;
float unk30;
omObjFunc unk34;
s16 unk38;
s16 unk3A;
u32 unk3C;
s16 unk40;
s16 unk42;
Vec unk44;
s16 unk50;
s8 unk52;
u32 unk54;
s16 unk58;
s16 unk5A;
s16 unk5C;
s16 unk5E[8];
s16 unk6E;
s16 unk70;
s16 unk72;
u32 unk74;
s16 unk78;
s16 unk7A;
s16 unk7C;
s16 unk7E;
s16 unk80;
s16 unk82;
s16 unk84;
s16 unk86;
float unk88;
Vec unk8C;
float unk98;
Vec unk9C;
float unkA8;
s32 unkAC;
s16 unkB0;
s16 unkB2;
s8 unkB4;
s8 unkB5;
u32 unk0;
s16 unk4;
s16 unk6;
s16 unk8;
s16 unkA;
s16 unkC;
float unk10;
struct bss_61C_work *unk14;
Vec unk18;
Vec unk24;
float unk30;
omObjFunc unk34;
s16 unk38;
s16 unk3A;
#if VERSION_PAL
s16 unk3C_pal;
s16 unk3E_pal;
#endif
u32 unk3C;
s16 unk40;
s16 unk42;
Vec unk44;
s16 unk50;
s8 unk52;
u32 unk54;
s16 unk58;
s16 unk5A;
s16 unk5C;
s16 unk5E[8];
s16 unk6E;
s16 unk70;
s16 unk72;
u32 unk74;
s16 unk78;
s16 unk7A;
s16 unk7C;
s16 unk7E;
s16 unk80;
s16 unk82;
s16 unk84;
s16 unk86;
float unk88;
Vec unk8C;
float unk98;
Vec unk9C;
float unkA8;
s32 unkAC;
s16 unkB0;
s16 unkB2;
s8 unkB4;
s8 unkB5;
} Bss61CWork;
typedef void (*unkHook72B4Data18)(struct unk_72B4_data_18 *);
typedef void (*unkHook72B4)(ModelData *, struct work_72B4 *, Mtx);
typedef struct unk_72B4_data_18 {
Vec unk0;
Vec unkC;
char unk18[16];
s16 unk28;
s16 unk2A;
s16 unk2C;
unkHook72B4Data18 unk30;
s16 unk34;
float unk38;
Vec unk3C;
Vec unk48;
s16 unk54;
s8 unk56;
Vec unk0;
Vec unkC;
char unk18[16];
s16 unk28;
s16 unk2A;
s16 unk2C;
unkHook72B4Data18 unk30;
s16 unk34;
float unk38;
Vec unk3C;
Vec unk48;
s16 unk54;
s8 unk56;
} Unk72B4Data18;
typedef struct work_72B4 {
s16 unk0;
u32 unk4;
u8 unk8;
unkHook72B4 unkC;
AnimData *unk10;
s16 unk14;
Unk72B4Data18 *unk18;
Vec *unk1C;
HsfVector2f *unk20;
GXColor *unk24;
void *unk28;
Vec unk2C[4];
HsfVector2f *unk5C;
float unk60;
float unk64;
s16 unk0;
u32 unk4;
u8 unk8;
unkHook72B4 unkC;
AnimData *unk10;
s16 unk14;
Unk72B4Data18 *unk18;
Vec *unk1C;
HsfVector2f *unk20;
GXColor *unk24;
void *unk28;
Vec unk2C[4];
HsfVector2f *unk5C;
float unk60;
float unk64;
} Work72B4;
extern s32 lbl_1_bss_4;

View file

@ -4,6 +4,7 @@
#include "datadir_enum.h"
#include "dolphin.h"
#include "game/hsfanim.h"
#include "version.h"
typedef struct UnkM432DllBss0SubStruct {
char *unk_00;
@ -1202,10 +1203,10 @@ UnkM432DllBss0SubStruct lbl_1_data_EDC[0x1F] = {
},
};
UnkM432DllData1794Struct lbl_1_data_1794 = { 6300.0f, 0.7f, 10.0f, 0.4f, 1.0f, 0, 2, 6 };
UnkM432DllData1794Struct lbl_1_data_17B4 = { 5700.0f, 0.8f, 8.0f, 0.6f, 1.0f, 0, 4, 5 };
UnkM432DllData1794Struct lbl_1_data_17D4 = { 5100.0f, 0.9f, 6.0f, 0.8f, 1.0f, 0, 6, 4 };
UnkM432DllData1794Struct lbl_1_data_17F4 = { 4500.0f, 1.0f, 4.0f, 1.0f, 1.0f, 0, 8, 3 };
UnkM432DllData1794Struct lbl_1_data_1794 = { 105.0f * REFRESH_RATE, 0.7f, 10.0f, 0.4f, 1.0f, 0, 2, 6 };
UnkM432DllData1794Struct lbl_1_data_17B4 = { 95.0f * REFRESH_RATE, 0.8f, 8.0f, 0.6f, 1.0f, 0, 4, 5 };
UnkM432DllData1794Struct lbl_1_data_17D4 = { 85.0f * REFRESH_RATE, 0.9f, 6.0f, 0.8f, 1.0f, 0, 6, 4 };
UnkM432DllData1794Struct lbl_1_data_17F4 = { 75.0f * REFRESH_RATE, 1.0f, 4.0f, 1.0f, 1.0f, 0, 8, 3 };
HsfanimStruct00 lbl_1_data_1814 = {
0x1E,
{ 0, 0 },

View file

@ -4,6 +4,8 @@
#include "dolphin/types.h"
#include "game/hsfman.h"
#include "version.h"
#include "game/object.h"
extern s32 rand8(void);
@ -240,6 +242,11 @@ typedef struct _unkObjStruct {
f32 unk70;
} unkObjStruct;
#if VERSION_NTSC
#define REFRESH_RATE_F 60.0f
#else
#define REFRESH_RATE_F 49.998f
#endif
////// BSS //////
extern omObjData* lbl_1_bss_C0[4];

64
include/REL/m460Dll.h Normal file
View file

@ -0,0 +1,64 @@
#ifndef M460DLL_H
#define M460DLL_H
#include "game/object.h"
typedef struct UnkM460DllStruct {
float unk_00;
float unk_04;
float unk_08;
float unk_0C;
} UnkM460DllStruct;
typedef struct M460DllCameraStruct {
s32 unk_00;
s32 unk_04;
s32 unk_08;
u32 unk_0C;
float unk_10;
float unk_14;
float unk_18;
Vec unk_1C;
Vec unk_28;
float unk_34;
s32 unk_38;
s32 unk_3C;
float unk_40;
UnkM460DllStruct unk_44;
char unk54[0x30];
float unk_84;
char unk88[0x4];
float unk_8C;
float unk_90;
s32 unk_94;
char unk98[0xC];
} M460DllCameraStruct; /* size = 0xA4 */ // same as M443DllCameraStruct // TODO does this have to be here?
void fn_1_3E68(u32 arg0);
M460DllCameraStruct *fn_1_3E90(s32 arg0);
M460DllCameraStruct *fn_1_3F2C(s32 arg0);
u32 fn_1_414C(void);
u32 fn_1_4164(void);
s32 fn_1_419C(void);
void fn_1_41B4(s32 arg0, s32 arg1, s32 arg2);
void fn_1_41F4(s32 arg0);
void fn_1_4224(s32 arg0);
void fn_1_42BC(u32 arg0);
s32 fn_1_42F0(void);
void fn_1_4308(void);
s32 fn_1_4324(void);
void fn_1_433C(void);
s32 fn_1_4358(void);
u32 fn_1_4370(void);
float fn_1_47D0(float arg8, float arg9, float argA);
void fn_1_49A0(Process *process);
void fn_1_4BE4(void);
void fn_1_67B4(Process *process);
void fn_1_6814(void);
void fn_1_8BA0(float arg8);
void fn_1_8CAC(Process *process, s16 arg1);
void fn_1_8F38(void);
void fn_1_8FAC(s32 arg0);
#endif

View file

@ -2,6 +2,9 @@
#define DATANUM_TITLE_H
#include "datadir_enum.h"
#include "version.h"
#if VERSION_NTSC
enum {
TITLE_NINTENDO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 0),
@ -20,4 +23,40 @@ enum {
TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13),
};
#else
enum {
TITLE_HUDSON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 0),
TITLE_PROGRESSIVE_CHOOSE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 1),
TITLE_PROGRESSIVE_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 2),
TITLE_PROGRESSIVE_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 3),
TITLE_PROGRESSIVE_CURSOR_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 4),
TITLE_PROGRESSIVE_CURSOR_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 5),
TITLE_BG_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 6),
TITLE_LOGO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 7),
TITLE_COPYRIGHT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 8),
TITLE_CHAR_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 9),
TITLE_CUBE_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 10),
TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 11),
TITLE_LANGUAGEBG_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 12),
TITLE_FLAG_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13),
TITLE_FLAG_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 14),
TITLE_FLAG_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 15),
TITLE_FLAG_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 16),
TITLE_FLAG_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 17),
TITLE_FLAG_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 18),
TITLE_PRESS_START_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 19),
TITLE_PRESS_START_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 20),
TITLE_PRESS_START_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 21),
TITLE_PRESS_START_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 22),
TITLE_PRESS_START_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 23),
TITLE_LANGUAGE_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 24),
TITLE_LANGUAGE_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 25),
TITLE_LANGUAGE_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 26),
TITLE_LANGUAGE_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 27),
TITLE_LANGUAGE_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 28),
};
#endif
#endif

View file

@ -47,6 +47,7 @@ void GXCopyDisp(void* dest, GXBool clear);
void GXSetDispCopyGamma(GXGamma gamma);
void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht);
void GXSetDispCopyDst(u16 wd, u16 ht);
f32 GXGetYScaleFactor(u16 efbHeight, u16 xfbHeight);
u32 GXSetDispCopyYScale(f32 vscale);
void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]);
void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt);

View file

@ -31,5 +31,6 @@ s32 BoardWinPortraitGetStar(void);
void BoardWinPlayerSet(s32 player);
void BoardWinStartComKeySet(void);
void BoardWinComKeyFuncSet(BoardWinComKeyFunc func);
s16 BoardWinIDGet(void);
#endif

View file

@ -3,6 +3,7 @@
#include "dolphin.h"
#include "game/flag.h"
#include "version.h"
//HACK: to prevent prototype errors
extern void HuPadRumbleAllStop(void);
@ -143,6 +144,9 @@ typedef struct game_stat {
/* 0x110 */ PauseBackupConfig party_pause;
} GameStat;
extern s16 GwLanguage;
extern s16 GwLanguageSave;
extern PlayerConfig GWPlayerCfg[4];
extern PlayerState GWPlayer[4];
extern SystemState GWSystem;
@ -168,6 +172,11 @@ static inline s32 GWPartyGet(void)
return GWSystem.party;
}
static inline void GWLanguageSet(s16 language)
{
GWGameStat.language = language;
}
static inline s32 GWLanguageGet(void)
{
return GWGameStat.language;
@ -235,6 +244,7 @@ static inline s32 GWMessSpeedGet(void)
static inline void GWMessSpeedSet(s32 value)
{
#if VERSION_NTSC
GWSystem.mess_speed = value;
switch(value) {
case 0:
@ -249,6 +259,26 @@ static inline void GWMessSpeedSet(s32 value)
GWSystem.mess_delay = 32;
break;
}
#else
GWSystem.mess_speed = value;
switch(value) {
case 0:
GWSystem.mess_delay = 32;
break;
case 2:
GWSystem.mess_delay = 64;
break;
case 1:
GWSystem.mess_delay = 48;
break;
default:
GWSystem.mess_delay = 120;
break;
}
#endif
}
static inline void GWSaveModeSet(s32 value)

24
include/version.h Normal file
View file

@ -0,0 +1,24 @@
#ifndef _VERSION_H
#define _VERSION_H
#define VERSION_NO_ENG0 0
#define VERSION_NO_ENG1 1
#define VERSION_NO_PAL0 2
#define VERSION_NO_PAL2 3
#define VERSION_NO_JAP 4
#define VERSION_ENG (VERSION == VERSION_NO_ENG0 || VERSION == VERSION_NO_ENG1)
#define VERSION_PAL (VERSION == VERSION_NO_PAL0 || VERSION == VERSION_NO_PAL2)
#define VERSION_JAP (VERSION == VERSION_NO_JAP)
#define VERSION_NTSC (!VERSION_PAL)
#define VERSION_REV0 (VERSION == VERSION_NO_ENG0 || VERSION == VERSION_NO_PAL0 || VERSION == VERSION_NO_JAP)
#define VERSION_REV1 (!VERSION_REV0)
#if VERSION_PAL
#define REFRESH_RATE 50
#else
#define REFRESH_RATE 60
#endif
#endif