Use inlines for coin gain and collect amounts
This commit is contained in:
parent
1ff18808ea
commit
a75efa7882
5 changed files with 32 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue