commit
7cfd64700f
8 changed files with 2075 additions and 16 deletions
|
|
@ -4,7 +4,7 @@ symbols: config/GMPE01_00/symbols.txt
|
||||||
splits: config/GMPE01_00/splits.txt
|
splits: config/GMPE01_00/splits.txt
|
||||||
quick_analysis: true # Faster re-runs after initial analysis
|
quick_analysis: true # Faster re-runs after initial analysis
|
||||||
mw_comment_version: 10 # GC 2.6 linker
|
mw_comment_version: 10 # GC 2.6 linker
|
||||||
force_active: [__register_global_object]
|
force_active: [__register_global_object, lbl_801D40D0]
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- object: orig/GMPE01_00/files/dll/_minigameDll.rel
|
- object: orig/GMPE01_00/files/dll/_minigameDll.rel
|
||||||
|
|
|
||||||
|
|
@ -375,7 +375,7 @@ config.libs = [
|
||||||
Object(NonMatching, "game/board/mushroom.c"),
|
Object(NonMatching, "game/board/mushroom.c"),
|
||||||
Object(NonMatching, "game/board/star.c"),
|
Object(NonMatching, "game/board/star.c"),
|
||||||
Object(NonMatching, "game/board/roll.c"),
|
Object(NonMatching, "game/board/roll.c"),
|
||||||
Object(NonMatching, "game/board/ui.c"),
|
Object(Matching, "game/board/ui.c"),
|
||||||
Object(NonMatching, "game/board/block.c"),
|
Object(NonMatching, "game/board/block.c"),
|
||||||
Object(NonMatching, "game/board/item.c"),
|
Object(NonMatching, "game/board/item.c"),
|
||||||
Object(NonMatching, "game/board/bowser.c"),
|
Object(NonMatching, "game/board/bowser.c"),
|
||||||
|
|
|
||||||
|
|
@ -111,13 +111,25 @@ static inline u16 __OSf32tou16(register f32 inF)
|
||||||
|
|
||||||
static inline void OSf32tou16(f32 *f, u16 *out) { *out = __OSf32tou16(*f); }
|
static inline void OSf32tou16(f32 *f, u16 *out) { *out = __OSf32tou16(*f); }
|
||||||
|
|
||||||
|
static inline float __OSs8tof32(register const s8* arg) {
|
||||||
|
register float ret;
|
||||||
|
|
||||||
|
asm {
|
||||||
|
psq_l ret, 0(arg), 1, OS_FASTCAST_S8
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void OSs8tof32(const s8* in, float* out) { *out = __OSs8tof32(in); }
|
||||||
|
|
||||||
static inline float __OSs16tof32(register const s16* arg) {
|
static inline float __OSs16tof32(register const s16* arg) {
|
||||||
register float ret;
|
register float ret;
|
||||||
|
|
||||||
asm {
|
asm {
|
||||||
psq_l ret, 0(arg), 1, OS_FASTCAST_S16
|
psq_l ret, 0(arg), 1, OS_FASTCAST_S16
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -129,7 +141,7 @@ static inline float __OSu8tof32(register const u8* arg) {
|
||||||
asm {
|
asm {
|
||||||
psq_l ret, 0(arg), 1, OS_FASTCAST_U8
|
psq_l ret, 0(arg), 1, OS_FASTCAST_U8
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,7 +153,7 @@ static inline float __OSu16tof32(register const u16* arg) {
|
||||||
asm {
|
asm {
|
||||||
psq_l ret, 0(arg), 1, OS_FASTCAST_U16
|
psq_l ret, 0(arg), 1, OS_FASTCAST_U16
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
36
include/game/board/ui.h
Executable file
36
include/game/board/ui.h
Executable file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#ifndef _BOARD_UI_H
|
||||||
|
#define _BOARD_UI_H
|
||||||
|
|
||||||
|
#include "game/sprite.h"
|
||||||
|
|
||||||
|
s32 BoardItemModelGet(s32 arg0);
|
||||||
|
s32 BoardItemNameGet(s32 arg0);
|
||||||
|
BOOL BoardStatusStopCheck(s32 arg0);
|
||||||
|
s32 BoardStatusVisibleGet(s32 arg0);
|
||||||
|
void BoardStatusShowSetAll(s32 arg0);
|
||||||
|
void BoardStatusItemSet(s32 arg0);
|
||||||
|
void BoardStatusShowSetForce(s32 arg0);
|
||||||
|
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 BoardStatusPosSet(s32 arg0, Vec *arg1);
|
||||||
|
void BoardStatusHammerCreate(s32 arg0);
|
||||||
|
void BoardStatusHammerShowSet(s32 arg0, s32 arg1);
|
||||||
|
void BoardStatusHammerKill(s32 arg0);
|
||||||
|
void BoardStatusKill(void);
|
||||||
|
void BoardStatusCreate(void);
|
||||||
|
void BoardSpriteCreate(s32 file, s32 prio, AnimData **anim, s16 *sprite);
|
||||||
|
void BoardSpriteDigitUpdate(s16 arg0, s16 arg1, s32 arg2);
|
||||||
|
void BoardPickerCreate(s32 arg0, s8 arg1, void *arg2, s8 arg3);
|
||||||
|
void BoardPickerBackFlagSet(s32 arg0);
|
||||||
|
BOOL BoardPickerDoneCheck(void);
|
||||||
|
s32 BoardPickerPosGet(Vec *arg0);
|
||||||
|
s32 BoardPickerChoiceGet(void);
|
||||||
|
s32 BoardItemUseExec(s32 arg0);
|
||||||
|
void BoardMakeRandomItem(void);
|
||||||
|
void BoardItemGetDestPos(s32 arg0, Vec *arg1);
|
||||||
|
void BoardItemStatusKill(s32 arg0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
void GWInit(void);
|
void GWInit(void);
|
||||||
void GWGameStatReset(void);
|
void GWGameStatReset(void);
|
||||||
s32 GWMessSpeedGet(void);
|
s32 GWMessSpeedGet(void);
|
||||||
|
s32 GWMessDelayGet(void);
|
||||||
void GWMGRecordSet(int index, s32 value);
|
void GWMGRecordSet(int index, s32 value);
|
||||||
s32 GWMGRecordGet(int index);
|
s32 GWMGRecordGet(int index);
|
||||||
void GWCharColorGet(int character, GXColor *color);
|
void GWCharColorGet(int character, GXColor *color);
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ typedef struct system_state {
|
||||||
/* 0x30 */ u8 mess_delay;
|
/* 0x30 */ u8 mess_delay;
|
||||||
/* 0x31 */ struct {
|
/* 0x31 */ struct {
|
||||||
u8 field31_bit0 : 4;
|
u8 field31_bit0 : 4;
|
||||||
u8 field31_bit4 : 4;
|
u8 field31_bit4 : 4;
|
||||||
};
|
};
|
||||||
/* 0x32 */ s8 unk_32;
|
/* 0x32 */ s8 unk_32;
|
||||||
/* 0x34 */ u16 mg_next;
|
/* 0x34 */ u16 mg_next;
|
||||||
|
|
@ -57,7 +57,7 @@ typedef struct player_state {
|
||||||
u16 com : 1;
|
u16 com : 1;
|
||||||
u16 character : 4;
|
u16 character : 4;
|
||||||
u16 auto_size : 2;
|
u16 auto_size : 2;
|
||||||
u16 field00_bit9 : 1;
|
u16 field00_bit9 : 1;
|
||||||
};
|
};
|
||||||
/* 0x02 */ struct {
|
/* 0x02 */ struct {
|
||||||
u8 team : 1;
|
u8 team : 1;
|
||||||
|
|
@ -147,19 +147,34 @@ extern PlayerState GWPlayer[4];
|
||||||
extern SystemState GWSystem;
|
extern SystemState GWSystem;
|
||||||
extern GameStat GWGameStat;
|
extern GameStat GWGameStat;
|
||||||
|
|
||||||
|
static inline s32 GWTeamGet(void)
|
||||||
|
{
|
||||||
|
return GWSystem.team;
|
||||||
|
}
|
||||||
|
|
||||||
static inline s32 GWLanguageGet(void)
|
static inline s32 GWLanguageGet(void)
|
||||||
{
|
{
|
||||||
return GWGameStat.language;
|
return GWGameStat.language;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline s32 GWMGTypeGet()
|
static inline s32 GWMGTypeGet(void)
|
||||||
{
|
{
|
||||||
return GWSystem.mg_type;
|
return GWSystem.mg_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline s32 GWMessSpeedGet()
|
static inline s32 GWMessSpeedGet(void)
|
||||||
{
|
{
|
||||||
return GWSystem.mess_speed;
|
return GWSystem.mess_speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline s32 GWBoardGet(void)
|
||||||
|
{
|
||||||
|
return GWSystem.board;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline s32 GWPlayerTeamGet(s32 player)
|
||||||
|
{
|
||||||
|
return GWPlayer[player].team;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1982,8 +1982,6 @@ static float last5GfxPosTbl[2][3][2] = {
|
||||||
|
|
||||||
static void UpdateLast5Gfx(omObjData *object);
|
static void UpdateLast5Gfx(omObjData *object);
|
||||||
|
|
||||||
void BoardSpriteCreate(s32 file, s16 prio, AnimData **anim, s16 *sprite);
|
|
||||||
|
|
||||||
void BoardLast5GfxInit(void)
|
void BoardLast5GfxInit(void)
|
||||||
{
|
{
|
||||||
Last5GfxWork *work;
|
Last5GfxWork *work;
|
||||||
|
|
@ -2011,7 +2009,7 @@ void BoardLast5GfxInit(void)
|
||||||
lastF = 0;
|
lastF = 0;
|
||||||
}
|
}
|
||||||
for(i=0; i<3; i++) {
|
for(i=0; i<3; i++) {
|
||||||
s16 prio;
|
s32 prio;
|
||||||
s32 spr_file;
|
s32 spr_file;
|
||||||
|
|
||||||
if(i == 1) {
|
if(i == 1) {
|
||||||
|
|
|
||||||
1997
src/game/board/ui.c
Executable file
1997
src/game/board/ui.c
Executable file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue