mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-02 06:20:38 -05:00
@@ -1,7 +1,7 @@
|
||||
#ifndef POKEPLATINUM_JOURNAL_H
|
||||
#define POKEPLATINUM_JOURNAL_H
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "trainer_info.h"
|
||||
#include "savedata.h"
|
||||
|
||||
@@ -36,8 +36,8 @@ void * sub_0202BE00(u8 param0, u16 param1, u32 param2);
|
||||
void * sub_0202BE14(u32 param0);
|
||||
void * sub_0202BE20(u32 param0);
|
||||
void * sub_0202BE2C(u32 param0, u32 param1);
|
||||
void * sub_0202BE4C(const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u8 param3, u32 param4);
|
||||
void * sub_0202BECC(const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u8 param3, u32 param4);
|
||||
void * sub_0202BE4C(const PlayTime * playTime, u16 param1, u8 param2, u8 param3, u32 param4);
|
||||
void * sub_0202BECC(const PlayTime * playTime, u16 param1, u8 param2, u8 param3, u32 param4);
|
||||
void * sub_0202BF4C(u16 param0, u16 param1, u32 param2);
|
||||
void * sub_0202BFCC(u16 * param0, u8 param1, u8 param2, u32 param3);
|
||||
void * sub_0202C00C(u16 * param0, u8 param1, u8 param2, u32 param3);
|
||||
|
||||
16
include/play_time.h
Normal file
16
include/play_time.h
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifndef POKEPLATINUM_PLAYTIME_H
|
||||
#define POKEPLATINUM_PLAYTIME_H
|
||||
|
||||
typedef struct PlayTime {
|
||||
u16 hours;
|
||||
u8 minutes;
|
||||
u8 seconds;
|
||||
} PlayTime;
|
||||
|
||||
void PlayTime_Init(PlayTime *playTime);
|
||||
void PlayTime_Increment(PlayTime *playTime, u32 seconds);
|
||||
u16 PlayTime_GetHours(const PlayTime *playTime);
|
||||
u8 PlayTime_GetMinutes(const PlayTime *playTime);
|
||||
u8 PlayTime_GetSeconds(const PlayTime *playTime);
|
||||
|
||||
#endif // POKEPLATINUM_PLAYTIME_H
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_02025E5C_DECL_H
|
||||
#define POKEPLATINUM_STRUCT_02025E5C_DECL_H
|
||||
|
||||
typedef struct UnkStruct_02025E5C_t UnkStruct_02025E5C;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_02025E5C_DECL_H
|
||||
@@ -1,10 +0,0 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_02025E5C_H
|
||||
#define POKEPLATINUM_STRUCT_02025E5C_H
|
||||
|
||||
typedef struct UnkStruct_02025E5C_t {
|
||||
u16 unk_00;
|
||||
u8 unk_02;
|
||||
u8 unk_03;
|
||||
} UnkStruct_02025E5C;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_02025E5C_H
|
||||
@@ -1,14 +1,14 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_0203E234_H
|
||||
#define POKEPLATINUM_STRUCT_0203E234_H
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "trainer_info.h"
|
||||
#include "struct_decls/struct_party_decl.h"
|
||||
|
||||
typedef struct {
|
||||
const TrainerInfo * unk_00;
|
||||
const Party * unk_04;
|
||||
const UnkStruct_02025E5C * unk_08;
|
||||
const PlayTime * playTime;
|
||||
} UnkStruct_0203E234;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_0203E234_H
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_02072014_H
|
||||
#define POKEPLATINUM_STRUCT_02072014_H
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "struct_defs/struct_02072014_sub1.h"
|
||||
|
||||
typedef struct {
|
||||
@@ -17,14 +17,14 @@ typedef struct {
|
||||
u8 unk_05;
|
||||
u8 padding_06[2];
|
||||
u16 unk_08[8];
|
||||
const UnkStruct_02025E5C * unk_18;
|
||||
const PlayTime *playTime;
|
||||
u32 unk_1C;
|
||||
u32 unk_20;
|
||||
u32 unk_24;
|
||||
u16 unk_28;
|
||||
u16 unk_2A;
|
||||
u16 playTimeHours;
|
||||
u16 unk_2C;
|
||||
u8 unk_2E;
|
||||
u8 playTimeMinutes;
|
||||
u8 unk_2F;
|
||||
u8 unk_30;
|
||||
u8 unk_31;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef POKEPLATINUM_UNK_02017428_H
|
||||
#define POKEPLATINUM_UNK_02017428_H
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
|
||||
void sub_02017428(void);
|
||||
void sub_02017434(UnkStruct_02025E5C * param0);
|
||||
void sub_02017434(PlayTime *playTime);
|
||||
void sub_02017458(void);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_02017428_H
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define POKEPLATINUM_UNK_02025E08_H
|
||||
|
||||
#include "struct_decls/struct_02025E0C_decl.h"
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "trainer_info.h"
|
||||
#include "game_options.h"
|
||||
#include "savedata.h"
|
||||
@@ -12,6 +12,6 @@ void Player_Init(UnkStruct_02025E0C * param0);
|
||||
TrainerInfo * SaveData_GetTrainerInfo(SaveData * param0);
|
||||
Options * SaveData_Options(SaveData * param0);
|
||||
u16 * sub_02025E50(SaveData * param0);
|
||||
UnkStruct_02025E5C * sub_02025E5C(SaveData * param0);
|
||||
PlayTime * SaveData_GetPlayTime(SaveData * param0);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_02025E08_H
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#ifndef POKEPLATINUM_UNK_0202CBE4_H
|
||||
#define POKEPLATINUM_UNK_0202CBE4_H
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
|
||||
void sub_0202CBE4(UnkStruct_02025E5C * param0);
|
||||
void sub_0202CBF0(UnkStruct_02025E5C * param0, u32 param1);
|
||||
u16 sub_0202CC58(const UnkStruct_02025E5C * param0);
|
||||
u8 sub_0202CC5C(const UnkStruct_02025E5C * param0);
|
||||
u8 sub_0202CC60(const UnkStruct_02025E5C * param0);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_0202CBE4_H
|
||||
@@ -126,7 +126,7 @@ Static main
|
||||
Object main.nef.p/src_unk_0202C7FC.c.o
|
||||
Object main.nef.p/src_unk_0202C858.c.o
|
||||
Object main.nef.p/src_unk_0202C9F4.c.o
|
||||
Object main.nef.p/src_unk_0202CBE4.c.o
|
||||
Object main.nef.p/src_play_time.c.o
|
||||
Object main.nef.p/src_unk_0202CC64.c.o
|
||||
Object main.nef.p/src_unk_0202CD50.c.o
|
||||
Object main.nef.p/src_unk_0202D05C.c.o
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "trainer_info.h"
|
||||
#include "savedata.h"
|
||||
|
||||
@@ -16,7 +15,7 @@
|
||||
#include "savedata.h"
|
||||
#include "trainer_info.h"
|
||||
#include "journal.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "map_header.h"
|
||||
|
||||
typedef struct Journal_t {
|
||||
@@ -802,7 +801,7 @@ static UnkStruct_0202BE38 * sub_0202BE38 (u32 param0)
|
||||
return v0;
|
||||
}
|
||||
|
||||
void * sub_0202BE4C (const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u8 param3, u32 param4)
|
||||
void * sub_0202BE4C (const PlayTime *playTime, u16 param1, u8 param2, u8 param3, u32 param4)
|
||||
{
|
||||
UnkStruct_0202BE38 * v0;
|
||||
u8 v1;
|
||||
@@ -814,7 +813,7 @@ void * sub_0202BE4C (const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u
|
||||
v0->unk_01_6 = param2;
|
||||
v0->unk_01_2 = param3;
|
||||
|
||||
v1 = sub_0202CC5C(param0) / 10;
|
||||
v1 = PlayTime_GetMinutes(playTime) / 10;
|
||||
|
||||
if ((v1 == 0) || (v1 == 2) || (v1 == 4)) {
|
||||
v0->unk_01_0 = 0;
|
||||
@@ -827,7 +826,7 @@ void * sub_0202BE4C (const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u
|
||||
return v0;
|
||||
}
|
||||
|
||||
void * sub_0202BECC (const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u8 param3, u32 param4)
|
||||
void * sub_0202BECC (const PlayTime *playTime, u16 param1, u8 param2, u8 param3, u32 param4)
|
||||
{
|
||||
UnkStruct_0202BE38 * v0;
|
||||
u8 v1;
|
||||
@@ -839,7 +838,7 @@ void * sub_0202BECC (const UnkStruct_02025E5C * param0, u16 param1, u8 param2, u
|
||||
v0->unk_01_6 = param2;
|
||||
v0->unk_01_2 = param3;
|
||||
|
||||
v1 = sub_0202CC5C(param0) / 10;
|
||||
v1 = PlayTime_GetMinutes(playTime) / 10;
|
||||
|
||||
if ((v1 == 1) || (v1 == 3) || (v1 == 5)) {
|
||||
v0->unk_01_0 = 0;
|
||||
|
||||
@@ -116,7 +116,7 @@ pokeplatinum_c = files(
|
||||
'unk_0202C7FC.c',
|
||||
'unk_0202C858.c',
|
||||
'unk_0202C9F4.c',
|
||||
'unk_0202CBE4.c',
|
||||
'play_time.c',
|
||||
'unk_0202CC64.c',
|
||||
'unk_0202CD50.c',
|
||||
'unk_0202D05C.c',
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "message.h"
|
||||
#include "struct_decls/struct_02018340_decl.h"
|
||||
#include "strbuf.h"
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "trainer_info.h"
|
||||
#include "struct_decls/pokedexdata_decl.h"
|
||||
#include "savedata.h"
|
||||
@@ -27,7 +26,7 @@
|
||||
#include "unk_02025E08.h"
|
||||
#include "trainer_info.h"
|
||||
#include "unk_0202631C.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "unk_020366A0.h"
|
||||
#include "map_header.h"
|
||||
#include "field_overworld_state.h"
|
||||
@@ -39,7 +38,7 @@ typedef struct {
|
||||
int unk_00;
|
||||
int unk_04;
|
||||
TrainerInfo * unk_08;
|
||||
UnkStruct_02025E5C * unk_0C;
|
||||
PlayTime *playTime;
|
||||
} UnkStruct_ov5_021E1D20;
|
||||
|
||||
struct UnkStruct_ov5_021E1FF4_t {
|
||||
@@ -87,7 +86,7 @@ static void ov5_021E1D20 (UnkStruct_ov5_021E1D20 * param0, const FieldSystem * f
|
||||
}
|
||||
|
||||
param0->unk_08 = SaveData_GetTrainerInfo(v0);
|
||||
param0->unk_0C = sub_02025E5C(v0);
|
||||
param0->playTime = SaveData_GetPlayTime(v0);
|
||||
}
|
||||
|
||||
static void ov5_021E1D6C (StringTemplate * strTemplate, const UnkStruct_ov5_021E1D20 * param1)
|
||||
@@ -110,7 +109,7 @@ static void ov5_021E1D6C (StringTemplate * strTemplate, const UnkStruct_ov5_021E
|
||||
}
|
||||
|
||||
StringTemplate_SetNumber(strTemplate, 3, param1->unk_00, v0, v1, 1);
|
||||
v2 = sub_0202CC58(param1->unk_0C);
|
||||
v2 = PlayTime_GetHours(param1->playTime);
|
||||
|
||||
if (v2 >= 100) {
|
||||
v0 = 3;
|
||||
@@ -124,7 +123,7 @@ static void ov5_021E1D6C (StringTemplate * strTemplate, const UnkStruct_ov5_021E
|
||||
}
|
||||
|
||||
StringTemplate_SetNumber(strTemplate, 4, v2, v0, v1, 1);
|
||||
StringTemplate_SetNumber(strTemplate, 5, sub_0202CC5C(param1->unk_0C), 2, 2, 1);
|
||||
StringTemplate_SetNumber(strTemplate, 5, PlayTime_GetMinutes(param1->playTime), 2, 2, 1);
|
||||
}
|
||||
|
||||
static int ov5_021E1E10 (const UnkStruct_ov5_021E1D20 * param0)
|
||||
|
||||
@@ -105,7 +105,7 @@ static int ov57_021D0DE0 (OverlayManager * param0, int * param1)
|
||||
SaveData * v0 = ((UnkStruct_0203CC84 *)OverlayManager_Args(param0))->unk_08;
|
||||
|
||||
ov57_021D0EAC(77, v0, 1);
|
||||
sub_02017434(sub_02025E5C(v0));
|
||||
sub_02017434(SaveData_GetPlayTime(v0));
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -139,7 +139,7 @@ static int ov57_021D0E34 (OverlayManager * param0, int * param1)
|
||||
Party_SetShayminLandForm(Party_GetFromSavedata(v0));
|
||||
}
|
||||
|
||||
sub_02017434(sub_02025E5C(v0));
|
||||
sub_02017434(SaveData_GetPlayTime(v0));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "core_sys.h"
|
||||
|
||||
#include "strbuf.h"
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "struct_decls/struct_02029C68_decl.h"
|
||||
#include "struct_decls/struct_020797DC_decl.h"
|
||||
|
||||
@@ -234,15 +234,15 @@ int ov61_0222B2B8 (UnkStruct_ov62_022349A8 * param0)
|
||||
|
||||
int ov61_0222B2D8 (UnkStruct_ov62_022349A8 * param0, UnkStruct_02030A80 * param1, UnkStruct_ov61_0222B2D8 param2[])
|
||||
{
|
||||
UnkStruct_02025E5C * v0;
|
||||
PlayTime * playTime;
|
||||
int v1;
|
||||
|
||||
if (ov61_0222BBBC(param0) == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = sub_02025E5C(param0->unk_00);
|
||||
MI_CpuCopy8(v0, ¶m0->unk_190.unk_00_val3.unk_08, sizeof(UnkStruct_ov62_0223D518_sub1_sub1));
|
||||
playTime = SaveData_GetPlayTime(param0->unk_00);
|
||||
MI_CpuCopy8(playTime, ¶m0->unk_190.unk_00_val3.unk_08, sizeof(UnkStruct_ov62_0223D518_sub1_sub1));
|
||||
ov61_0222AFCC(param0->unk_00, param1, ¶m0->unk_190.unk_00_val3.unk_00);
|
||||
|
||||
for (v1 = 0; v1 < 3; v1++) {
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "strbuf.h"
|
||||
#include "unk_02023FCC.h"
|
||||
#include "unk_02025E08.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "unk_0202CD50.h"
|
||||
#include "unk_02030A80.h"
|
||||
#include "unk_0208B284.h"
|
||||
@@ -994,9 +994,9 @@ static BOOL ov62_0223D744 (UnkStruct_0208C06C * param0)
|
||||
} else {
|
||||
{
|
||||
v0->unk_71C = &v0->unk_710;
|
||||
v0->unk_720.unk_08.unk_00 = sub_0202CC58(sub_02025E5C(param0->unk_830));
|
||||
v0->unk_720.unk_08.unk_02 = sub_0202CC5C(sub_02025E5C(param0->unk_830));
|
||||
v0->unk_720.unk_08.unk_03 = sub_0202CC60(sub_02025E5C(param0->unk_830));
|
||||
v0->unk_720.unk_08.unk_00 = PlayTime_GetHours(SaveData_GetPlayTime(param0->unk_830));
|
||||
v0->unk_720.unk_08.unk_02 = PlayTime_GetMinutes(SaveData_GetPlayTime(param0->unk_830));
|
||||
v0->unk_720.unk_08.unk_03 = PlayTime_GetSeconds(SaveData_GetPlayTime(param0->unk_830));
|
||||
v0->unk_720.unk_0C[0].unk_00 = v0->unk_71C->unk_00[0];
|
||||
v0->unk_720.unk_0C[1].unk_00 = v0->unk_71C->unk_00[1];
|
||||
v0->unk_720.unk_0C[2].unk_00 = v0->unk_71C->unk_00[2];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "unk_02018340.h"
|
||||
#include "unk_0201D670.h"
|
||||
#include "strbuf.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "overlay071/ov71_0223C69C.h"
|
||||
|
||||
static void ov71_0223CD64(Window * param0, const u32 param1, const u32 param2, const u32 param3, Strbuf *param4, const u32 param5, const u8 param6, const int param7);
|
||||
@@ -132,12 +132,12 @@ void ov71_0223C6F0 (Window * param0, const TrainerCard * param1)
|
||||
u32 v7;
|
||||
|
||||
if (param1->unk_04_1) {
|
||||
StringTemplate_SetNumber(v4, 0, sub_0202CC58(param1->unk_18), 3, 1, 1);
|
||||
StringTemplate_SetNumber(v4, 1, sub_0202CC5C(param1->unk_18), 2, 2, 1);
|
||||
StringTemplate_SetNumber(v4, 0, PlayTime_GetHours(param1->playTime), 3, 1, 1);
|
||||
StringTemplate_SetNumber(v4, 1, PlayTime_GetMinutes(param1->playTime), 2, 2, 1);
|
||||
MessageLoader_GetStrbuf(v1, 16, v3);
|
||||
} else {
|
||||
StringTemplate_SetNumber(v4, 0, param1->unk_2A, 3, 1, 1);
|
||||
StringTemplate_SetNumber(v4, 1, param1->unk_2E, 2, 2, 1);
|
||||
StringTemplate_SetNumber(v4, 0, param1->playTimeHours, 3, 1, 1);
|
||||
StringTemplate_SetNumber(v4, 1, param1->playTimeMinutes, 2, 2, 1);
|
||||
MessageLoader_GetStrbuf(v1, 15, v3);
|
||||
}
|
||||
|
||||
@@ -552,9 +552,9 @@ void ov71_0223CDE8 (Window * param0, const TrainerCard * param1, Strbuf *param2)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param1->unk_18 != NULL);
|
||||
GF_ASSERT(param1->playTime != NULL);
|
||||
|
||||
v0 = sub_0202CC58(param1->unk_18);
|
||||
v0 = PlayTime_GetHours(param1->playTime);
|
||||
|
||||
if (v0 > 999) {
|
||||
v0 = 999;
|
||||
@@ -569,8 +569,8 @@ void ov71_0223CDE8 (Window * param0, const TrainerCard * param1, Strbuf *param2)
|
||||
Strbuf* v4 = Strbuf_Init(32, 25);
|
||||
StringTemplate * v5 = StringTemplate_New((1 + 1), 32, 25);
|
||||
|
||||
StringTemplate_SetNumber(v5, 0, sub_0202CC58(param1->unk_18), 3, 1, 1);
|
||||
StringTemplate_SetNumber(v5, 1, sub_0202CC5C(param1->unk_18), 2, 2, 1);
|
||||
StringTemplate_SetNumber(v5, 0, PlayTime_GetHours(param1->playTime), 3, 1, 1);
|
||||
StringTemplate_SetNumber(v5, 1, PlayTime_GetMinutes(param1->playTime), 2, 2, 1);
|
||||
MessageLoader_GetStrbuf(v2, 16, v4);
|
||||
StringTemplate_Format(v5, v3, v4);
|
||||
v1 = (8 * 28) - sub_02002D7C(0, v3, 0);
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#include "unk_020218BC.h"
|
||||
#include "strbuf.h"
|
||||
#include "trainer_info.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "pokemon.h"
|
||||
#include "party.h"
|
||||
#include "overlay086/ov86_0223B140.h"
|
||||
@@ -1433,8 +1433,8 @@ static void ov86_0223C72C (UnkStruct_ov86_0223B3C8 * param0)
|
||||
StringTemplate_SetPlayerName(param0->unk_1C44, 0, param0->unk_0C->unk_00);
|
||||
|
||||
StringTemplate_SetNumber(param0->unk_1C44, 1, TrainerInfo_ID_LowHalf(param0->unk_0C->unk_00), 5, 2, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1C44, 2, sub_0202CC58(param0->unk_0C->unk_08), 3, 0, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1C44, 3, sub_0202CC5C(param0->unk_0C->unk_08), 2, 2, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1C44, 2, PlayTime_GetHours(param0->unk_0C->playTime), 3, 0, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1C44, 3, PlayTime_GetMinutes(param0->unk_0C->playTime), 2, 2, 1);
|
||||
MessageLoader_GetStrbuf(param0->unk_1C50, 13, param0->unk_1C4C);
|
||||
StringTemplate_Format(param0->unk_1C44, param0->unk_1C48, param0->unk_1C4C);
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "struct_decls/struct_02022550_decl.h"
|
||||
#include "strbuf.h"
|
||||
#include "struct_decls/struct_0202442C_decl.h"
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "trainer_info.h"
|
||||
#include "struct_decls/pokedexdata_decl.h"
|
||||
#include "savedata.h"
|
||||
@@ -52,7 +52,6 @@
|
||||
#include "unk_02025E08.h"
|
||||
#include "trainer_info.h"
|
||||
#include "unk_0202631C.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "unk_0202DAB4.h"
|
||||
#include "unk_020366A0.h"
|
||||
#include "unk_0209A74C.h"
|
||||
@@ -95,7 +94,7 @@ typedef struct {
|
||||
SaveData * unk_04;
|
||||
PokedexData * unk_08;
|
||||
TrainerInfo * unk_0C;
|
||||
UnkStruct_02025E5C * unk_10;
|
||||
PlayTime *playTime;
|
||||
MysteryGift * unk_14;
|
||||
int unk_18;
|
||||
int unk_1C;
|
||||
@@ -597,9 +596,9 @@ static BOOL ov97_0222B5C0 (void * param0, int param1, UnkStruct_ov97_02237808 *
|
||||
|
||||
StringTemplate_SetPlayerName(v4, 0, v6->unk_0C);
|
||||
ov97_0222B53C(param2->unk_10, v5, v4, v7, 16, 16 * 1);
|
||||
ov97_0222B590(v4, sub_0202CC58(v6->unk_10));
|
||||
ov97_0222B590(v4, PlayTime_GetHours(v6->playTime));
|
||||
|
||||
StringTemplate_SetNumber(v4, 1, sub_0202CC5C(v6->unk_10), 2, 2, 1);
|
||||
StringTemplate_SetNumber(v4, 1, PlayTime_GetMinutes(v6->playTime), 2, 2, 1);
|
||||
ov97_0222B53C(param2->unk_10, v5, v4, v7, 17, 16 * 2);
|
||||
|
||||
StringTemplate_SetNumber(v4, 0, v6->unk_50, 1, 0, 1);
|
||||
@@ -996,7 +995,7 @@ static int ov97_0222BD70 (OverlayManager * param0, int * param1)
|
||||
v0->unk_120 = FX32_ONE * 0;
|
||||
v0->unk_0C = SaveData_GetTrainerInfo(v0->unk_04);
|
||||
v0->unk_08 = SaveData_Pokedex(v0->unk_04);
|
||||
v0->unk_10 = sub_02025E5C(v0->unk_04);
|
||||
v0->playTime = SaveData_GetPlayTime(v0->unk_04);
|
||||
v0->unk_4C = sub_02027520(v0->unk_08);
|
||||
v0->unk_50 = TrainerInfo_BadgeCount(v0->unk_0C);
|
||||
v0->unk_12C = 15;
|
||||
|
||||
64
src/play_time.c
Normal file
64
src/play_time.c
Normal file
@@ -0,0 +1,64 @@
|
||||
#include <nitro.h>
|
||||
|
||||
#include "play_time.h"
|
||||
|
||||
#define SECONDS_PER_MINUTE 60
|
||||
#define MINUTES_PER_HOUR 60
|
||||
#define PLAYTIME_MAX_HOURS 999
|
||||
#define PLAYTIME_MAX_MINUTES (MINUTES_PER_HOUR - 1)
|
||||
#define PLAYTIME_MAX_SECONDS (SECONDS_PER_MINUTE - 1)
|
||||
|
||||
void PlayTime_Init(PlayTime *playTime)
|
||||
{
|
||||
playTime->hours = 0;
|
||||
playTime->minutes = 0;
|
||||
playTime->seconds = 0;
|
||||
}
|
||||
|
||||
void PlayTime_Increment(PlayTime *playTime, u32 seconds)
|
||||
{
|
||||
if (playTime->hours == PLAYTIME_MAX_HOURS
|
||||
&& playTime->minutes == PLAYTIME_MAX_MINUTES
|
||||
&& playTime->seconds == PLAYTIME_MAX_SECONDS) {
|
||||
return;
|
||||
}
|
||||
|
||||
u32 hours = playTime->hours;
|
||||
u32 minutes = playTime->minutes;
|
||||
u32 newSeconds = playTime->seconds + seconds;
|
||||
|
||||
if (newSeconds > PLAYTIME_MAX_SECONDS) {
|
||||
minutes = playTime->minutes + newSeconds / SECONDS_PER_MINUTE;
|
||||
newSeconds %= SECONDS_PER_MINUTE;
|
||||
|
||||
if (minutes > PLAYTIME_MAX_MINUTES) {
|
||||
hours = playTime->hours + minutes / MINUTES_PER_HOUR;
|
||||
minutes %= MINUTES_PER_HOUR;
|
||||
|
||||
if (hours >= PLAYTIME_MAX_HOURS) {
|
||||
hours = PLAYTIME_MAX_HOURS;
|
||||
minutes = PLAYTIME_MAX_MINUTES;
|
||||
newSeconds = PLAYTIME_MAX_SECONDS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
playTime->hours = hours;
|
||||
playTime->minutes = minutes;
|
||||
playTime->seconds = newSeconds;
|
||||
}
|
||||
|
||||
u16 PlayTime_GetHours(const PlayTime *playTime)
|
||||
{
|
||||
return playTime->hours;
|
||||
}
|
||||
|
||||
u8 PlayTime_GetMinutes(const PlayTime *playTime)
|
||||
{
|
||||
return playTime->minutes;
|
||||
}
|
||||
|
||||
u8 PlayTime_GetSeconds(const PlayTime *playTime)
|
||||
{
|
||||
return playTime->seconds;
|
||||
}
|
||||
@@ -1,29 +1,27 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
|
||||
#include "unk_02017428.h"
|
||||
#include "unk_02022844.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
|
||||
static BOOL Unk_021BF658 = 0;
|
||||
static u64 Unk_021BF668 = 0;
|
||||
static u64 Unk_021BF660 = 0;
|
||||
static u64 Unk_021BF670 = 0;
|
||||
static UnkStruct_02025E5C * Unk_021BF65C = NULL;
|
||||
static PlayTime * sPlayTime = NULL;
|
||||
|
||||
void sub_02017428 (void)
|
||||
{
|
||||
Unk_021BF658 = 0;
|
||||
}
|
||||
|
||||
void sub_02017434 (UnkStruct_02025E5C * param0)
|
||||
void sub_02017434 (PlayTime *playTime)
|
||||
{
|
||||
Unk_021BF658 = 1;
|
||||
Unk_021BF668 = 0;
|
||||
Unk_021BF660 = 0;
|
||||
Unk_021BF65C = param0;
|
||||
sPlayTime = playTime;
|
||||
Unk_021BF670 = sub_0202293C();
|
||||
}
|
||||
|
||||
@@ -33,7 +31,7 @@ void sub_02017458 (void)
|
||||
u64 v0 = sub_0202295C(sub_0202293C() - Unk_021BF670);
|
||||
|
||||
if (v0 > Unk_021BF660) {
|
||||
sub_0202CBF0(Unk_021BF65C, (v0 - Unk_021BF660));
|
||||
PlayTime_Increment(sPlayTime, (v0 - Unk_021BF660));
|
||||
Unk_021BF660 = v0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,20 +4,18 @@
|
||||
#include "struct_decls/struct_02025E0C_decl.h"
|
||||
#include "savedata.h"
|
||||
|
||||
#include "struct_defs/struct_02025E5C.h"
|
||||
|
||||
#include "savedata.h"
|
||||
#include "unk_02025E08.h"
|
||||
#include "trainer_info.h"
|
||||
#include "game_options.h"
|
||||
#include "coins.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
|
||||
struct UnkStruct_02025E0C_t {
|
||||
Options unk_00;
|
||||
TrainerInfo unk_04;
|
||||
u16 unk_24;
|
||||
UnkStruct_02025E5C unk_26;
|
||||
PlayTime playTime;
|
||||
};
|
||||
|
||||
int Player_SaveSize (void)
|
||||
@@ -32,7 +30,7 @@ void Player_Init (UnkStruct_02025E0C * param0)
|
||||
Options_Init(¶m0->unk_00);
|
||||
TrainerInfo_Init(¶m0->unk_04);
|
||||
Coins_Init(¶m0->unk_24);
|
||||
sub_0202CBE4(¶m0->unk_26);
|
||||
PlayTime_Init(¶m0->playTime);
|
||||
}
|
||||
|
||||
TrainerInfo * SaveData_GetTrainerInfo (SaveData * param0)
|
||||
@@ -59,10 +57,8 @@ u16 * sub_02025E50 (SaveData * param0)
|
||||
return &v0->unk_24;
|
||||
}
|
||||
|
||||
UnkStruct_02025E5C * sub_02025E5C (SaveData * param0)
|
||||
PlayTime *SaveData_GetPlayTime(SaveData *savedata)
|
||||
{
|
||||
UnkStruct_02025E0C * v0;
|
||||
|
||||
v0 = SaveData_SaveTable(param0, 1);
|
||||
return &v0->unk_26;
|
||||
UnkStruct_02025E0C *v0 = SaveData_SaveTable(savedata, 1);
|
||||
return &v0->playTime;
|
||||
}
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_defs/struct_02025E5C.h"
|
||||
|
||||
#include "unk_0202CBE4.h"
|
||||
|
||||
void sub_0202CBE4 (UnkStruct_02025E5C * param0)
|
||||
{
|
||||
param0->unk_00 = 0;
|
||||
param0->unk_02 = 0;
|
||||
param0->unk_03 = 0;
|
||||
}
|
||||
|
||||
void sub_0202CBF0 (UnkStruct_02025E5C * param0, u32 param1)
|
||||
{
|
||||
u32 v0, v1, v2;
|
||||
|
||||
if ((param0->unk_00 == 999) && (param0->unk_02 == 59) && (param0->unk_03 == 59)) {
|
||||
return;
|
||||
}
|
||||
|
||||
v0 = param0->unk_00;
|
||||
v1 = param0->unk_02;
|
||||
v2 = param0->unk_03 + param1;
|
||||
|
||||
if (v2 > 59) {
|
||||
v1 = param0->unk_02 + (v2 / (59 + 1));
|
||||
v2 %= (59 + 1);
|
||||
|
||||
if (v1 > 59) {
|
||||
v0 = param0->unk_00 + (v1 / (59 + 1));
|
||||
v1 %= (59 + 1);
|
||||
|
||||
if (v0 >= 999) {
|
||||
v0 = 999;
|
||||
v1 = 59;
|
||||
v2 = 59;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
param0->unk_00 = v0;
|
||||
param0->unk_02 = v1;
|
||||
param0->unk_03 = v2;
|
||||
}
|
||||
|
||||
u16 sub_0202CC58 (const UnkStruct_02025E5C * param0)
|
||||
{
|
||||
return param0->unk_00;
|
||||
}
|
||||
|
||||
u8 sub_0202CC5C (const UnkStruct_02025E5C * param0)
|
||||
{
|
||||
return param0->unk_02;
|
||||
}
|
||||
|
||||
u8 sub_0202CC60 (const UnkStruct_02025E5C * param0)
|
||||
{
|
||||
return param0->unk_03;
|
||||
}
|
||||
@@ -985,7 +985,7 @@ static void sub_02051988 (FieldSystem * fieldSystem, BattleParams * param1)
|
||||
|
||||
if (fieldSystem->unk_78.unk_02 >= 5) {
|
||||
v0 = Party_GetPokemonBySlotIndex(param1->parties[1], 0);
|
||||
v3 = sub_0202BECC(sub_02025E5C(fieldSystem->saveData), Pokemon_GetValue(v0, MON_DATA_SPECIES, 0), Pokemon_GetValue(v0, MON_DATA_GENDER, 0), param1->unk_138, 11);
|
||||
v3 = sub_0202BECC(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetValue(v0, MON_DATA_SPECIES, 0), Pokemon_GetValue(v0, MON_DATA_GENDER, 0), param1->unk_138, 11);
|
||||
sub_0202B758(fieldSystem->unk_9C, v3, 2);
|
||||
}
|
||||
} else if (v2 == 0x4) {
|
||||
@@ -993,7 +993,7 @@ static void sub_02051988 (FieldSystem * fieldSystem, BattleParams * param1)
|
||||
|
||||
v4 = param1->unk_148;
|
||||
v0 = Party_GetPokemonBySlotIndex(param1->parties[v4], 0);
|
||||
v3 = sub_0202BE4C(sub_02025E5C(fieldSystem->saveData), Pokemon_GetValue(v0, MON_DATA_SPECIES, 0), Pokemon_GetValue(v0, MON_DATA_GENDER, 0), param1->unk_138, 11);
|
||||
v3 = sub_0202BE4C(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetValue(v0, MON_DATA_SPECIES, 0), Pokemon_GetValue(v0, MON_DATA_GENDER, 0), param1->unk_138, 11);
|
||||
|
||||
sub_0202B758(fieldSystem->unk_9C, v3, 2);
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ void sub_02052E58 (TaskManager * param0)
|
||||
v5->unk_00 = sub_0206A954(v3);
|
||||
v5->unk_04.unk_00 = SaveData_GetTrainerInfo(fieldSystem->saveData);
|
||||
v5->unk_04.unk_04 = Party_GetFromSavedata(fieldSystem->saveData);
|
||||
v5->unk_04.unk_08 = sub_02025E5C(fieldSystem->saveData);
|
||||
v5->unk_04.playTime = SaveData_GetPlayTime(fieldSystem->saveData);
|
||||
v5->unk_10.unk_00 = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData));
|
||||
v5->unk_10.unk_04 = sub_0206A954(v3);
|
||||
v5->unk_10.unk_08 = SaveData_Pokedex(fieldSystem->saveData);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02025E5C_decl.h"
|
||||
#include "play_time.h"
|
||||
#include "trainer_info.h"
|
||||
#include "struct_decls/struct_0202855C_decl.h"
|
||||
#include "struct_decls/struct_0202C834_decl.h"
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "unk_0202631C.h"
|
||||
#include "unk_0202854C.h"
|
||||
#include "unk_0202C7FC.h"
|
||||
#include "unk_0202CBE4.h"
|
||||
#include "play_time.h"
|
||||
#include "unk_0202CD50.h"
|
||||
#include "unk_0203061C.h"
|
||||
#include "field_system.h"
|
||||
@@ -40,7 +40,7 @@ typedef struct {
|
||||
|
||||
static void sub_02072014(const u8 param0, const u8 param1, const u8 param2, const u8 param3, const u8 param4, TrainerCard * param5);
|
||||
static void sub_02072038(const u16 param0, const u8 param1, const u16 * param2, const u32 param3, const u32 param4, const BOOL param5, const u32 param6, TrainerCard * param7);
|
||||
static void sub_0207207C(const u8 param0, const UnkStruct_02025E5C * param1, const RTCDate * param2, const RTCDate * param3, const RTCTime * param4, const u8 param5, TrainerCard * param6);
|
||||
static void sub_0207207C(const u8 param0, const PlayTime *playTime, const RTCDate * param2, const RTCDate * param3, const RTCTime * param4, const u8 param5, TrainerCard * param6);
|
||||
static void sub_02072120(const u32 param0, const u32 param1, const u32 param2, const u32 param3, const u8 * param4, TrainerCard * param5);
|
||||
static void sub_0207216C(TrainerInfo * param0, FieldSystem * fieldSystem, TrainerCard * param2);
|
||||
static BOOL sub_02072230(TaskManager * param0);
|
||||
@@ -70,13 +70,13 @@ void sub_02071D40 (const u8 param0, const u8 param1, const u8 param2, const u8 p
|
||||
RTCDate v4;
|
||||
RTCDate v5;
|
||||
RTCTime v6;
|
||||
UnkStruct_02025E5C * v7;
|
||||
PlayTime * playTime;
|
||||
|
||||
v7 = sub_02025E5C(v2);
|
||||
playTime = SaveData_GetPlayTime(v2);
|
||||
|
||||
sub_02055BF4(fieldSystem, &v4, &v6);
|
||||
sub_02055C10(fieldSystem, &v5, &v6);
|
||||
sub_0207207C(sub_0206A954(SaveData_GetVarsFlags(fieldSystem->saveData)), v7, &v4, &v5, &v6, param1, param5);
|
||||
sub_0207207C(sub_0206A954(SaveData_GetVarsFlags(fieldSystem->saveData)), playTime, &v4, &v5, &v6, param1, param5);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -182,34 +182,34 @@ static void sub_02072038 (const u16 param0, const u8 param1, const u16 * param2,
|
||||
param7->unk_24 = param6;
|
||||
}
|
||||
|
||||
static void sub_0207207C (const u8 param0, const UnkStruct_02025E5C * param1, const RTCDate * param2, const RTCDate * param3, const RTCTime * param4, const u8 param5, TrainerCard * param6)
|
||||
static void sub_0207207C (const u8 param0, const PlayTime *playTime, const RTCDate * param2, const RTCDate * param3, const RTCTime * param4, const u8 param5, TrainerCard * trainerCard)
|
||||
{
|
||||
param6->unk_2A = sub_0202CC58(param1);
|
||||
param6->unk_2E = sub_0202CC5C(param1);
|
||||
param6->unk_2F = param2->year;
|
||||
param6->unk_30 = param2->month;
|
||||
param6->unk_31 = param2->day;
|
||||
trainerCard->playTimeHours = PlayTime_GetHours(playTime);
|
||||
trainerCard->playTimeMinutes = PlayTime_GetMinutes(playTime);
|
||||
trainerCard->unk_2F = param2->year;
|
||||
trainerCard->unk_30 = param2->month;
|
||||
trainerCard->unk_31 = param2->day;
|
||||
|
||||
if (param0) {
|
||||
param6->unk_32 = param3->year;
|
||||
param6->unk_33 = param3->month;
|
||||
param6->unk_34 = param3->day;
|
||||
param6->unk_2C = param4->hour;
|
||||
param6->unk_35 = param4->minute;
|
||||
trainerCard->unk_32 = param3->year;
|
||||
trainerCard->unk_33 = param3->month;
|
||||
trainerCard->unk_34 = param3->day;
|
||||
trainerCard->unk_2C = param4->hour;
|
||||
trainerCard->unk_35 = param4->minute;
|
||||
} else {
|
||||
param6->unk_32 = 0;
|
||||
param6->unk_33 = 0;
|
||||
param6->unk_34 = 0;
|
||||
param6->unk_2C = 0;
|
||||
param6->unk_35 = 0;
|
||||
trainerCard->unk_32 = 0;
|
||||
trainerCard->unk_33 = 0;
|
||||
trainerCard->unk_34 = 0;
|
||||
trainerCard->unk_2C = 0;
|
||||
trainerCard->unk_35 = 0;
|
||||
}
|
||||
|
||||
param6->unk_04_1 = param5;
|
||||
trainerCard->unk_04_1 = param5;
|
||||
|
||||
if (param5) {
|
||||
param6->unk_18 = param1;
|
||||
trainerCard->playTime = playTime;
|
||||
} else {
|
||||
param6->unk_18 = NULL;
|
||||
trainerCard->playTime = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user