Merge pull request #141 from mrshigure/ui

Matched board/ui
This commit is contained in:
gamemasterplc 2024-01-23 22:47:27 -06:00 committed by GitHub
commit 7cfd64700f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 2075 additions and 16 deletions

View file

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

View file

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

View file

@ -111,6 +111,18 @@ 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;

36
include/game/board/ui.h Executable file
View 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

View file

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

View file

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

View file

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

File diff suppressed because it is too large Load diff