bit more + some documentation

This commit is contained in:
red031000
2023-06-11 03:34:20 +01:00
parent 29fc2f94c9
commit a0dbecd2c1
21 changed files with 140 additions and 250 deletions

View File

@@ -10,220 +10,6 @@
.text
thumb_func_start ScrCmd_Unk00B2
ScrCmd_Unk00B2: ; 0x0203C368
push {r4-r6, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r4, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl FUN_0203384C
cmp r0, #0x0
beq _0203C3BC
mov r0, #0x1
strh r0, [r4, #0x0]
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
add r1, r6, #0x0
bl FUN_020386E0
ldr r1, _0203C3C4 ; =FUN_0203BC04
add r0, r5, #0x0
bl SetupNativeScript
b _0203C3C0
_0203C3BC:
mov r0, #0x0
strh r0, [r4, #0x0]
_0203C3C0:
mov r0, #0x1
pop {r4-r6, pc}
.balign 4
_0203C3C4: .word FUN_0203BC04
thumb_func_start ScrCmd_Unk00B3
ScrCmd_Unk00B3: ; 0x0203C3C8
push {r4, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r1, r0, #0x0
ldr r0, [r4, #0x74]
bl FUN_0206F3D8
mov r0, #0x1
pop {r4, pc}
thumb_func_start ScrCmd_Unk00B4
ScrCmd_Unk00B4: ; 0x0203C3E8
push {r4-r6, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0x0
mov r0, #0xb
mov r1, #0x8
bl AllocFromHeap
str r0, [r4, #0x0]
add r6, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl Save_PlayerData_GetOptionsAddr
str r0, [r6, #0x4]
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x0]
bl FUN_020386A4
ldr r1, _0203C42C ; =FUN_0203BC04
add r0, r5, #0x0
bl SetupNativeScript
mov r0, #0x1
pop {r4-r6, pc}
nop
_0203C42C: .word FUN_0203BC04
thumb_func_start ScrCmd_Unk00B5
ScrCmd_Unk00B5: ; 0x0203C430
push {r3-r5, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl SaveArray_Flags_Get
ldr r1, [r4, #0x0]
ldr r1, [r1, #0x0]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl FUN_0205F378
ldr r0, [r4, #0x0]
bl FreeToHeap
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk0178
ScrCmd_Unk0178: ; 0x0203C460
push {r4-r6, lr}
add r5, r0, #0x0
ldr r1, [r5, #0x8]
add r0, r1, #0x1
str r0, [r5, #0x8]
ldrb r0, [r1, #0x0]
cmp r0, #0x0
beq _0203C474
mov r0, #0x1
b _0203C476
_0203C474:
mov r0, #0x0
_0203C476:
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x13
bl FieldSysGetAttrAddr
add r6, r0, #0x0
ldr r0, [r6, #0x0]
cmp r0, #0x0
beq _0203C492
bl GF_AssertFail
_0203C492:
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
add r1, r4, #0x0
bl FUN_0203789C
str r0, [r6, #0x0]
ldr r1, _0203C4AC ; =FUN_0203BC04
add r0, r5, #0x0
bl SetupNativeScript
mov r0, #0x1
pop {r4-r6, pc}
.balign 4
_0203C4AC: .word FUN_0203BC04
thumb_func_start ScrCmd_Unk0179
ScrCmd_Unk0179: ; 0x0203C4B0
push {r3-r5, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r4, #0x80
add r5, r0, #0x0
ldr r0, [r4, #0x0]
mov r1, #0x13
bl FieldSysGetAttrAddr
add r4, r0, #0x0
ldr r0, [r4, #0x0]
cmp r0, #0x0
bne _0203C4DC
bl GF_AssertFail
_0203C4DC:
ldr r0, [r4, #0x0]
bl FUN_020378FC
strh r0, [r5, #0x0]
ldr r0, [r4, #0x0]
bl FreeToHeap
mov r0, #0x0
str r0, [r4, #0x0]
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk00BA
ScrCmd_Unk00BA: ; 0x0203C4F0
push {r3-r4, lr}
sub sp, #0xc
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
mov r1, #0x0
str r1, [sp, #0x0]
str r1, [sp, #0x4]
str r0, [sp, #0x8]
ldr r0, [r4, #0x74]
add r2, r1, #0x0
mov r3, #0x7
bl FUN_020385CC
mov r0, #0x1
add sp, #0xc
pop {r3-r4, pc}
.balign 4
thumb_func_start ScrCmd_Unk00BB
ScrCmd_Unk00BB: ; 0x0203C520
push {r4-r7, lr}
@@ -267,7 +53,7 @@ ScrCmd_Unk00BB: ; 0x0203C520
ldr r0, [r5, #0x74]
mov r1, #0x1
mov r3, #0xa
bl FUN_020385CC
bl CreateNamingScreen
mov r0, #0x1
add sp, #0x34
pop {r4-r7, pc}
@@ -290,7 +76,7 @@ ScrCmd_Unk0271: ; 0x0203C58C
ldr r0, [r4, #0x74]
mov r1, #0x6
mov r3, #0xa
bl FUN_020385CC
bl CreateNamingScreen
mov r0, #0x1
add sp, #0xc
pop {r3-r4, pc}

View File

@@ -1962,8 +1962,8 @@ _020385BC:
_020385CA:
pop {r3-r5, pc}
thumb_func_start FUN_020385CC
FUN_020385CC: ; 0x020385CC
thumb_func_start CreateNamingScreen
CreateNamingScreen: ; 0x020385CC
push {r3-r7, lr}
sub sp, #0x10
str r0, [sp, #0x4]

View File

@@ -329,13 +329,13 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_InitHallOfFame
.word ScrCmd_Unk00B2
.word ScrCmd_Unk00B3
.word ScrCmd_Unk00B4
.word ScrCmd_Unk00B5
.word ScrCmd_StarterSelectionScreen
.word ScrCmd_EndStarterSelectionScreen
.word ScrCmd_Unk00B6
.word ScrCmd_Unk00B7
.word ScrCmd_Unk00B8
.word ScrCmd_Unk00B9
.word ScrCmd_Unk00BA
.word ScrCmd_NamePlayerScreen
.word ScrCmd_Unk00BB
.word ScrCmd_Unk00BC
.word ScrCmd_Unk00BD
@@ -525,8 +525,8 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0175
.word ScrCmd_Unk0176
.word ScrCmd_CountPartyMons
.word ScrCmd_Unk0178
.word ScrCmd_Unk0179
.word ScrCmd_ShowBagScreen
.word ScrCmd_GetBagScreenSelection
.word ScrCmd_Unk017A
.word ScrCmd_GetBerryName
.word ScrCmd_GetNatureName

View File

@@ -2653,7 +2653,7 @@
.extern FUN_020383F8
.extern FUN_0203842C
.extern FUN_0203846C
.extern FUN_020385CC
.extern CreateNamingScreen
.extern FUN_02038680
.extern FUN_02038690
.extern FUN_020386A4
@@ -2860,11 +2860,11 @@
.extern ScrCmd_InitHallOfFame
.extern ScrCmd_Unk00B2
.extern ScrCmd_Unk00B3
.extern ScrCmd_Unk00B4
.extern ScrCmd_Unk00B5
.extern ScrCmd_Unk0178
.extern ScrCmd_Unk0179
.extern ScrCmd_Unk00BA
.extern ScrCmd_StarterSelectionScreen
.extern ScrCmd_EndStarterSelectionScreen
.extern ScrCmd_ShowBagScreen
.extern ScrCmd_GetBagScreenSelection
.extern ScrCmd_NamePlayerScreen
.extern ScrCmd_Unk00BB
.extern ScrCmd_Unk0271
.extern ScrCmd_Unk0243

View File

@@ -91,7 +91,7 @@ void DayCareMon_Extras_Init(struct DayCareMail * mail)
{
int i;
for (i = 0; i < OT_NAME_LENGTH + 1; i++)
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
mail->ot_name[i] = 0;
for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++)
mail->nickname[i] = 0;

View File

@@ -48,7 +48,7 @@ void Save_HOF_RecordParty(struct HallOfFame * hof, struct PlayerParty * party, R
GetMonData(mon, MON_DATA_NICKNAME_3, str);
CopyStringToU16Array(str, hof_party->party[j].nickname, POKEMON_NAME_LENGTH + 1);
GetMonData(mon, MON_DATA_OT_NAME_2, str);
CopyStringToU16Array(str, hof_party->party[j].otname, OT_NAME_LENGTH + 1);
CopyStringToU16Array(str, hof_party->party[j].otname, PLAYER_NAME_LENGTH + 1);
}
else
{

View File

@@ -68,13 +68,13 @@ void PlayerProfile_Init(struct PlayerData * data)
void CopyPlayerName(u16 * dest, struct PlayerData * data)
{
GF_ASSERT((s32)StringLength(data->playerName) < OT_NAME_LENGTH + 1);
GF_ASSERT((s32)StringLength(data->playerName) < PLAYER_NAME_LENGTH + 1);
CopyU16StringArray(dest, data->playerName);
}
void PlayerName_StringToFlat(struct PlayerData * data, struct String * str)
{
CopyStringToU16Array(str, data->playerName, OT_NAME_LENGTH + 1);
CopyStringToU16Array(str, data->playerName, PLAYER_NAME_LENGTH + 1);
}
u16 * PlayerProfile_GetNamePtr(struct PlayerData * data)
@@ -89,7 +89,7 @@ void PlayerName_FlatToString(struct PlayerData * data, struct String * str)
struct String * PlayerProfile_GetPlayerName_NewString(struct PlayerData * data, u32 heap_id)
{
struct String * str = String_New(OT_NAME_LENGTH + 1, heap_id);
struct String * str = String_New(PLAYER_NAME_LENGTH + 1, heap_id);
PlayerName_FlatToString(data, str);
return str;
}
@@ -226,5 +226,5 @@ BOOL PlayerProfile_GetNatDexFlag(struct PlayerData * data)
BOOL PlayerProfile_NameAndOTIDMatchPlayer(struct PlayerData * a, struct PlayerData * b)
{
return !StringNotEqualN(a->playerName, b->playerName, OT_NAME_LENGTH) && a->playerId == b->playerId;
return !StringNotEqualN(a->playerName, b->playerName, PLAYER_NAME_LENGTH) && a->playerId == b->playerId;
}

View File

@@ -909,7 +909,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
case MON_DATA_OT_NAME:
{
u16 * dest16 = (u16 *)dest;
for (ret = 0; ret < OT_NAME_LENGTH; ret++)
for (ret = 0; ret < PLAYER_NAME_LENGTH; ret++)
dest16[ret] = blockD->otTrainerName[ret];
dest16[ret] = EOS;
}
@@ -1366,13 +1366,13 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
blockC->sinnohRibbons2 &= -1ull ^ mask;
break;
case MON_DATA_OT_NAME:
for (i = 0; i < OT_NAME_LENGTH + 1; i++)
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
{
blockD->otTrainerName[i] = VALUE(u16); value = (void *)((char *)value + 2);
}
break;
case MON_DATA_OT_NAME_2:
CopyStringToU16Array(value, blockD->otTrainerName, OT_NAME_LENGTH + 1);
CopyStringToU16Array(value, blockD->otTrainerName, PLAYER_NAME_LENGTH + 1);
break;
case MON_DATA_EGG_MET_YEAR:
blockD->dateEggReceived[0] = VALUE(u8);
@@ -3687,7 +3687,7 @@ BOOL FUN_0206A9AC(struct BoxPokemon * boxmon, struct PlayerData * sb2, u32 heap_
u32 myGender = PlayerProfile_GetTrainerGender(sb2);
u32 otGender = GetBoxMonData(boxmon, MON_DATA_MET_GENDER, NULL);
struct String * r7 = PlayerProfile_GetPlayerName_NewString(sb2, heap_id);
struct String * r6 = String_New(OT_NAME_LENGTH + 1, heap_id);
struct String * r6 = String_New(PLAYER_NAME_LENGTH + 1, heap_id);
BOOL ret = FALSE;
GetBoxMonData(boxmon, MON_DATA_OT_NAME_2, r6);
if (myId == otId && myGender == otGender && StringCompare(r7, r6) == 0)

View File

@@ -17,6 +17,8 @@
#include "text.h"
#include "text_02054590.h"
#include "unk_0200CA44.h"
#include "unk_020337E8.h"
#include "unk_020377F0.h"
#include "unk_0204AF24.h"
#include "unk_0205EC84.h"
#include "unk_0208890C.h"
@@ -139,6 +141,12 @@ extern void FUN_020383D8(TaskManager *taskManager);
extern void *FUN_0203842C(FieldSystem *fieldSystem);
extern void Task_GameClear(TaskManager *taskManager);
extern HallOfFame *FUN_02038824(FieldSystem *fieldSystem);
extern void FUN_020386E0(FieldSystem *fieldSystem, u16 param1);
extern void FUN_0206F3D8(TaskManager *taskManager, u16 *param1);
extern void FUN_020386A4(FieldSystem *fieldSystem, StarterSelectionData *starterSelectionData);
extern void FUN_0205F378(struct ScriptState *flags, u16 state);
extern BagScreenAppData *FUN_0203789C(FieldSystem *fieldSystem, u8 mode);
extern u16 FUN_020378FC(BagScreenAppData *bagScreenAppData);
u8 UNK_021C5A0C[4];
@@ -2268,3 +2276,69 @@ BOOL ScrCmd_InitHallOfFame(ScriptContext *ctx) { //00B1
SetupNativeScript(ctx, FUN_0203BB90);
return TRUE;
}
BOOL ScrCmd_Unk00B2(ScriptContext *ctx) { //00B2
u16 unk0 = ScriptGetVar(ctx);
u16 *unk1 = ScriptGetVarPointer(ctx);
if (FUN_0203384C(ctx->fieldSystem->saveBlock2)) {
*unk1 = 1;
FUN_020386E0(ctx->fieldSystem, unk0);
SetupNativeScript(ctx, FUN_0203BC04);
}
else {
*unk1 = 0;
}
return TRUE;
}
BOOL ScrCmd_Unk00B3(ScriptContext *ctx) { //00B3
u16 *var = ScriptGetVarPointer(ctx);
FUN_0206F3D8(ctx->taskManager, var);
return TRUE;
}
BOOL ScrCmd_StarterSelectionScreen(ScriptContext *ctx) { //00B4
StarterSelectionData **starterSelectionPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
*starterSelectionPtr = AllocFromHeap(11, sizeof(StarterSelectionData));
StarterSelectionData *starterSelectionData = *starterSelectionPtr; //consider inlining
starterSelectionData->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveBlock2);
FUN_020386A4(ctx->fieldSystem, *starterSelectionPtr);
SetupNativeScript(ctx, FUN_0203BC04);
return TRUE;
}
BOOL ScrCmd_EndStarterSelectionScreen(ScriptContext *ctx) { //00B5
StarterSelectionData **starterSelectionData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
struct ScriptState *flags = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2);
FUN_0205F378(flags, (*starterSelectionData)->state);
FreeToHeap(*starterSelectionData);
return FALSE;
}
BOOL ScrCmd_ShowBagScreen(ScriptContext *ctx) { //0178
BagScreenAppData **bagData; //required for matching
u8 mode = ScriptReadByte(ctx) != 0 ? 1 : 0;
bagData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
GF_ASSERT(*bagData == NULL);
*bagData = FUN_0203789C(ctx->fieldSystem, mode); //BagData_New?
SetupNativeScript(ctx, FUN_0203BC04);
return TRUE;
}
BOOL ScrCmd_GetBagScreenSelection(ScriptContext *ctx) { //0179
u16 *var = ScriptGetVarPointer(ctx);
BagScreenAppData **bagData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
GF_ASSERT(*bagData != NULL);
*var = FUN_020378FC(*bagData); //BagData_GetSelection?
FreeToHeap(*bagData);
*bagData = NULL;
return FALSE;
}
BOOL ScrCmd_NamePlayerScreen(ScriptContext *ctx) { //00BA
u16 *var = ScriptGetVarPointer(ctx);
CreateNamingScreen(ctx->taskManager, NAMINGSCREEN_PLAYER, 0, PLAYER_NAME_LENGTH, 0, NULL, var);
return TRUE;
}

View File

@@ -3,10 +3,10 @@
#include "message_format.h"
#include "math_util.h"
#include "unk_020286F8.h"
#include "unk_020377F0.h"
extern void* FieldSysGetAttrAddr(struct FieldSystem*, u8 idx);
extern void FUN_020385CC(struct TaskManager *, u32, u32, u32, u32, u16*, u16* ret_ptr);
extern BOOL FUN_020612EC(struct FieldSystem*);
extern BOOL FUN_020612F8(struct FieldSystem*);
@@ -51,7 +51,7 @@ BOOL ScrCmd_UnionGroup(struct ScriptContext* ctx) //021D
u16* unk_str_ptr = FUN_020287A8(unk_sav_ptr, 0, 0);
u16* ret_ptr = ScriptGetVarPointer(ctx);
FUN_020385CC(ctx->taskManager, 5, 0, 7, 0, unk_str_ptr, ret_ptr);
CreateNamingScreen(ctx->taskManager, NAMINGSCREEN_GROUP, 0, PLAYER_NAME_LENGTH, 0, unk_str_ptr, ret_ptr); //should be GROUP_NAME_LENGTH?
return TRUE;
}
case 5: { //enter in group id (whatever this means, needs more investigation)

View File

@@ -32,7 +32,7 @@ void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2
else
{
str = NewString_ReadMsgData(msgData, enemies->trainer_idxs[i]);
CopyStringToU16Array(str, enemies->datas[i].name, OT_NAME_LENGTH + 1);
CopyStringToU16Array(str, enemies->datas[i].name, PLAYER_NAME_LENGTH + 1);
String_Delete(str);
}
CreateNPCTrainerParty(enemies, i, heap_id);

View File

@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_CONSTANTS_GLOBAL_H
#define POKEDIAMOND_CONSTANTS_GLOBAL_H
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
#define POKEMON_NAME_LENGTH 10
#define PLAYER_NAME_LENGTH 7
#endif //POKEDIAMOND_CONSTANTS_GLOBAL_H

View File

@@ -6,7 +6,7 @@
struct DayCareMail
{
struct Mail seal;
u16 ot_name[OT_NAME_LENGTH + 1];
u16 ot_name[PLAYER_NAME_LENGTH + 1];
u16 nickname[POKEMON_NAME_LENGTH + 1];
u8 padding_5E[2];
};

View File

@@ -3,7 +3,7 @@
#include "save_block_2.h"
struct ScriptState
struct ScriptState //todo this is not a very good name
{
u16 vars[288];
u8 flags[364];

View File

@@ -13,7 +13,7 @@ struct HOFMon
/* 0x04 */ u32 personality;
/* 0x08 */ u32 otid;
/* 0x0C */ u16 nickname[POKEMON_NAME_LENGTH + 1];
/* 0x22 */ u16 otname[OT_NAME_LENGTH + 1];
/* 0x22 */ u16 otname[PLAYER_NAME_LENGTH + 1];
/* 0x32 */ u16 moves[4];
/* 0x3A */ u8 padding[2];
};

View File

@@ -20,7 +20,7 @@ struct Mail
u8 author_language; // language
u8 author_version; // version
u8 mail_type; // mail type
u16 author_name[OT_NAME_LENGTH + 1]; // author name
u16 author_name[PLAYER_NAME_LENGTH + 1]; // author name
union MailPatternData unk_18[3];
u8 padding_1E[2];
struct MailMessage unk_20[3];

View File

@@ -17,7 +17,7 @@ typedef enum
struct PlayerData
{
/* 0x00 */ u16 playerName[OT_NAME_LENGTH + 1];
/* 0x00 */ u16 playerName[PLAYER_NAME_LENGTH + 1];
/* 0x10 */ u32 playerId;
/* 0x14 */ u32 money;
/* 0x18 */ u8 gender;

View File

@@ -194,6 +194,13 @@ BOOL ScrCmd_Unk00AE(ScriptContext *ctx);
BOOL ScrCmd_Unk00AF(ScriptContext *ctx);
BOOL ScrCmd_ShowEndGameScreen(ScriptContext *ctx);
BOOL ScrCmd_InitHallOfFame(ScriptContext *ctx);
BOOL ScrCmd_Unk00B2(ScriptContext *ctx);
BOOL ScrCmd_Unk00B3(ScriptContext *ctx);
BOOL ScrCmd_StarterSelectionScreen(ScriptContext *ctx);
BOOL ScrCmd_EndStarterSelectionScreen(ScriptContext *ctx);
BOOL ScrCmd_ShowBagScreen(ScriptContext *ctx);
BOOL ScrCmd_GetBagScreenSelection(ScriptContext *ctx);
BOOL ScrCmd_NamePlayerScreen(ScriptContext *ctx);
// scrcmd_mart.c
BOOL ScrCmd_NormalMart(struct ScriptContext * ctx);

View File

@@ -64,6 +64,15 @@ typedef struct ScrCmdUnkStruct01D9 {
u16 unk06;
} ScrCmdUnkStruct01D9; //todo identify and move to own file
typedef struct StarterSelectionData {
s32 state;
struct Options *options;
} StarterSelectionData; //todo move to own file
typedef struct BagScreenAppData {
} BagScreenAppData; //todo fill out and move to own file
typedef struct FieldSystem //todo move to field_system.c
{
u32 *unk00;

View File

@@ -65,7 +65,7 @@ struct TrainerData
struct TrainerDataLoaded
{
struct TrainerData data;
u16 name[OT_NAME_LENGTH + 1];
u16 name[PLAYER_NAME_LENGTH + 1];
u8 padding[16];
};

View File

@@ -1,6 +1,10 @@
#ifndef POKEDIAMOND_UNK_020377F0_H
#define POKEDIAMOND_UNK_020377F0_H
#include "task.h"
// this file likely has to do with scrcmd apps.
struct Options;
struct PlayerParty;
@@ -27,4 +31,14 @@ struct UnkStruct_02037CF0
BOOL unk2C;
};
enum NamingScreenType {
NAMINGSCREEN_PLAYER,
NAMINGSCREEN_POKEMON,
NAMINGSCREEN_BOX,
NAMINGSCREEN_RIVAL,
NAMINGSCREEN_GROUP = 5,
};
void CreateNamingScreen(TaskManager *taskManager, enum NamingScreenType type, s32 param2, s32 maxLen, s32 initPos, const u16 *defaultStr, u16 *retVar);
#endif