Merge pull request #241 from gamemasterplc/main

Various cleanups and fixes
This commit is contained in:
gamemasterplc 2024-04-02 13:31:58 -05:00 committed by GitHub
commit 59d15879a6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 36 additions and 16 deletions

View file

@ -2,6 +2,7 @@
#define _GAMEWORK_DATA_H
#include "dolphin.h"
#include "game/flag.h"
typedef struct player_config {
s16 character;
@ -97,8 +98,8 @@ typedef struct player_state {
/* 0x20 */ s16 coins_total;
/* 0x22 */ s16 coins_max;
/* 0x24 */ s16 coins_battle;
/* 0x26 */ s16 unk_26;
/* 0x28 */ s16 coin_gain;
/* 0x26 */ s16 coin_collect;
/* 0x28 */ s16 coin_win;
/* 0x2A */ s16 stars;
/* 0x2C */ s16 stars_max;
/* 0x2E */ char unk_2E[2];
@ -233,4 +234,27 @@ static inline void GWLuckyValueSet(s32 value)
GWSystem.lucky_value = value;
}
static inline s16 GWPlayerCoinCollectGet(s32 player)
{
return GWPlayer[player].coin_collect;
}
static inline void GWPlayerCoinCollectSet(s32 player, s16 value)
{
GWPlayer[player].coin_collect = value;
}
static inline s16 GWPlayerCoinWinGet(s32 player)
{
return GWPlayer[player].coin_win;
}
static inline void GWPlayerCoinWinSet(s32 player, s16 value)
{
if (_CheckFlag(0x1000C) == 0) {
GWPlayer[player].coin_win = value;
}
}
#endif

View file

@ -113,6 +113,9 @@ 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);
#ifndef HUSPR_USE_OLD_DEFS
void HuSprGrpDrawNoSet(s16 group, s32 draw_no);
#endif
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);

View file

@ -21,8 +21,6 @@
#include "rel_sqrt_consts.h"
void HuSprGrpDrawNoSet(s16 group, s32 draw_no);
static s16 lbl_1_data_0 = 1;
static omObjData *lbl_1_bss_60;

View file

@ -1,3 +1,4 @@
#define HUSPR_USE_OLD_DEFS
#include "math.h"
#include "game/chrman.h"
#include "game/object.h"

View file

@ -467,8 +467,7 @@ static void DoMGReturnEffect(void)
s32 mess;
s32 mess_char;
for(player=0; player<4; player++) {
s16 gain = GWPlayer[player].coin_gain;
if(gain == 1) {
if(GWPlayerCoinWinGet(player) == 1) {
break;
}
}

View file

@ -23,8 +23,6 @@
#include "math.h"
void HuSprGrpDrawNoSet(s16 group, s32 draw_no);
#define ABS(x) (((x) < 0) ? -(x) : (x))
typedef struct {

View file

@ -322,8 +322,8 @@ void BoardSaveInit(s32 board)
GWPlayer[i].coins_max = 0;
GWPlayer[i].stars_max = 0;
GWPlayer[i].coins_battle = 0;
GWPlayer[i].unk_26 = 0;
GWPlayer[i].coin_gain = 0;
GWPlayer[i].coin_collect = 0;
GWPlayer[i].coin_win = 0;
GWPlayer[i].items[0] = -1;
GWPlayer[i].items[1] = -1;
GWPlayer[i].items[2] = -1;

View file

@ -15,7 +15,7 @@ static u8 *GetFlagPtr(u32 flag)
return ret;
}
u32 _CheckFlag(u32 flag)
s32 _CheckFlag(u32 flag)
{
u8 *flag_ptr = GetFlagPtr(flag);
u16 index = flag;

View file

@ -1199,11 +1199,8 @@ void omGameSysInit(Process *objman) {
omSysPauseEnable(0);
for (i = 0; i < 4; i++) {
if (_CheckFlag(0x1000C) == 0) {
GWPlayer[i].coin_gain = 0;
}
GWPlayer[i].unk_26 = 0;
GWPlayerCoinWinSet(i, 0);
GWPlayerCoinCollectSet(i, 0);
}
if (mgPracticeEnableF != 0) {