This commit is contained in:
bhvNT 2025-02-22 17:09:16 +01:00
parent f6f69896cc
commit 1690f0c01c
3 changed files with 209 additions and 205 deletions

View File

@ -7,113 +7,65 @@
#include "pokemon_storage_system.h"
#include "save_vars_flags.h"
#include "scrcmd.h"
#include "sav_chatot.h"
extern void *FieldSysGetAttrAddr(struct FieldSystem *, u8 idx);
extern void *FieldSysGetAttrAddr(FieldSystem *fieldSystem, u8 idx);
extern SaveFashionData *Save_FashionData_Get(SaveData *save);
extern void sub_02082140(void *, u8);
extern void sub_02082158(void *, u8);
extern BOOL sub_0205ED0C(struct SaveVarsFlags *state);
extern void *sub_02081214(void *);
extern void sub_02082630(void *, SaveData *, u32, u32 *);
extern void sub_020814E8(void *);
extern void sub_0208201C(void *, u16, MessageFormat *, u16);
extern void sub_02082034(void *, u16, MessageFormat *, u16);
extern void sub_0208206C(void *, u16, MessageFormat *, u16);
extern void sub_02081DC4(void *);
extern void sub_02081EB8(void *);
extern void sub_02080E0C(TaskManager *, void *);
extern void sub_02082090(void *, MessageFormat *, u16);
extern void sub_020820B8(void *, MessageFormat *, u16);
extern void sub_020820DC(void *, MessageFormat *, u16);
extern u16 sub_0208213C(void *);
extern void sub_0208210C(void *, void *, u16);
extern u16 sub_0208217C(void *);
extern u16 sub_02082190(void *);
extern u16 sub_020821B4(void *);
extern u16 sub_020821C4(void *, u16);
extern u16 sub_020821DC(void *, u16);
extern u16 sub_020821F0(void *);
extern void sub_02082214(void *, u16 *, u16 *, u16 *, u16 *);
extern u16 sub_02082254(void *);
extern void sub_02082284(void *, MessageFormat *, u16, s32);
extern u16 sub_020822F0(void *);
extern void sub_0208223C(void *);
extern void sub_0208224C(void *);
extern void sub_02082444(void *, u16);
extern BOOL sub_02082508(void *);
extern void sub_02082140(void *param1, u8 param2);
extern void sub_02082158(void *param1, u8 param2);
extern BOOL sub_0205ED0C(SaveVarsFlags *state);
extern void *sub_02081214(void *param1);
extern void sub_02082630(void *param1, SaveData *save, u32 mapSec, u32 *param4);
extern void sub_020814E8(void *param1);
extern void sub_0208201C(void *param1, u16 param2, MessageFormat *msgFormat, u16 param4);
extern void sub_02082034(void *param1, u16 param2, MessageFormat *msgFormat, u16 param4);
extern void sub_0208206C(void *param1, u16 param2, MessageFormat *msgFormat, u16 param4);
extern void sub_02081DC4(void *param1);
extern void sub_02081EB8(void *param1);
extern void sub_02080E0C(TaskManager *taskManager, void *param2);
extern void sub_02082090(void *param1, MessageFormat *msgFormat, u16 param3);
extern void sub_020820B8(void *param1, MessageFormat *msgFormat, u16 param3);
extern void sub_020820DC(void *param1, MessageFormat *msgFormat, u16 param3);
extern u16 sub_0208213C(void *param1);
extern void sub_0208210C(void *param1, MessageFormat *msgFormat, u16 param3);
extern u16 sub_0208217C(void *param1);
extern u16 sub_02082190(void *param1);
extern u16 sub_020821B4(void *param1);
extern u16 sub_020821C4(void *param1, u16 param2);
extern u16 sub_020821DC(void *param1, u16 param2);
extern u16 sub_020821F0(void *param1);
extern void sub_02082214(void *param1, u16 *param2, u16 *param3, u16 *param4, u16 *param5);
extern u16 sub_02082254(void *param1);
extern void sub_02082284(void *param1, MessageFormat *msgFormat, u16 param3, s32 param4);
extern u16 sub_020822F0(void *param1);
extern void sub_0208223C(void *param1);
extern void sub_0208224C(void *param1);
extern void sub_02082444(void *param1, u16 param2);
extern BOOL sub_02082508(void *param1);
extern void ov05_021F4608(u32);
extern void ov05_021F45E8(u32);
extern void ov05_021F4608(u32 param1);
extern void ov05_021F45E8(u32 param1);
extern void sub_020825A0(void *, u32 *, u32 *, u32 *, u32 *, u32 *);
extern void sub_020825A0(void *param1, u32 *param2, u32 *param3, u32 *param4, u32 *param5, u32 *param6);
extern void ov06_0224D3E8(TaskManager *);
extern void ov06_0224D3E8(TaskManager *taskManager);
typedef struct unk_scrcmd_3 {
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
u8 nationalDexFlag;
u8 monSlot;
u8 unk6;
Pokemon *pokemon;
String *playerName;
PlayerProfile *profile;
SaveFashionData *saveFashionData;
Options *options;
struct SaveData *saveData;
struct SaveChatotSoundClip *chatotSoundClip;
} unk_scrcmd_3;
static BOOL sub_0203FEF4(ScriptContext *ctx);
static BOOL sub_020401F0(ScriptContext *ctx);
static BOOL sub_02040618(ScriptContext *ctx);
BOOL ScrCmd_Unk00F8(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00F9(struct ScriptContext *ctx);
BOOL sub_0203FEF4(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FA(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FB(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FC(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FD(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FE(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00FF(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0100(struct ScriptContext *ctx);
BOOL sub_020401F0(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0101(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0102(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0103(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0104(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0105(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0106(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0107(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0108(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0109(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010A(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010B(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010C(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0110(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010D(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010E(struct ScriptContext *ctx);
BOOL ScrCmd_Unk010F(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0117(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0118(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0111(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0112(struct ScriptContext *ctx);
BOOL sub_02040618(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0113(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0114(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0115(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0116(struct ScriptContext *ctx);
BOOL ScrCmd_Unk00F8(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk00F8(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_02082140(*misc_data_ptr, ScriptGetVar(ctx));
sub_02082140(*miscDataPtr, ScriptGetVar(ctx));
return FALSE;
}
BOOL ScrCmd_Unk00F9(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk00F9(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
ctx->data[0] = ScriptGetVar(ctx);
@ -122,22 +74,22 @@ BOOL ScrCmd_Unk00F9(struct ScriptContext *ctx) {
return TRUE;
}
BOOL sub_0203FEF4(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
static BOOL sub_0203FEF4(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_02082158(*misc_data_ptr, ctx->data[0]);
sub_02082158(*miscDataPtr, ctx->data[0]);
}
BOOL ScrCmd_Unk00FA(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk00FA(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
PlayerProfile *player = Save_PlayerData_GetProfile(FieldSystem_GetSaveData(ctx->fieldSystem));
u32 var1 = ScriptGetVar(ctx);
u32 var2 = ScriptGetVar(ctx);
u32 var3 = ScriptGetVar(ctx);
u32 mon_slot = ScriptGetVar(ctx);
Pokemon *pokemon = Party_GetMonByIndex(SaveArray_Party_Get(ctx->fieldSystem->saveData), mon_slot);
u32 monSlot = ScriptGetVar(ctx);
Pokemon *pokemon = Party_GetMonByIndex(SaveArray_Party_Get(ctx->fieldSystem->saveData), monSlot);
String *str = PlayerProfile_GetPlayerName_NewString(player, HEAP_ID_4);
unk_scrcmd_3 unk;
UnkStruct_Scrcmd3 unk;
unk.unk0 = var2;
unk.unk1 = var1;
@ -146,7 +98,7 @@ BOOL ScrCmd_Unk00FA(struct ScriptContext *ctx) {
unk.unk3 = sub_0205ED0C(Save_VarsFlags_Get(ctx->fieldSystem->saveData));
unk.nationalDexFlag = Pokedex_GetNatDexFlag(Save_Pokedex_Get(ctx->fieldSystem->saveData));
unk.monSlot = mon_slot;
unk.monSlot = monSlot;
unk.pokemon = pokemon;
unk.playerName = str;
@ -157,291 +109,291 @@ BOOL ScrCmd_Unk00FA(struct ScriptContext *ctx) {
unk.saveData = ctx->fieldSystem->saveData;
unk.chatotSoundClip = Save_Chatot_Get(ctx->fieldSystem->saveData);
*misc_data_ptr = sub_02081214(&unk);
*miscDataPtr = sub_02081214(&unk);
String_Delete(str);
return FALSE;
}
BOOL ScrCmd_Unk00FB(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk00FB(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 var = ScriptGetVar(ctx);
u32 sec = MapHeader_GetMapSec(ctx->fieldSystem->location->mapId);
SaveData *save_data = ctx->fieldSystem->saveData;
SaveData *saveData = ctx->fieldSystem->saveData;
sub_02082630(*misc_data_ptr, save_data, sec, ctx->fieldSystem->unk98);
sub_02082630(*miscDataPtr, saveData, sec, ctx->fieldSystem->unk98);
sub_020814E8(*misc_data_ptr);
sub_020814E8(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk00FC(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk00FC(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var1 = ScriptGetVar(ctx);
u16 var2 = ScriptGetVar(ctx);
sub_0208201C(*misc_data_ptr, var1, *msg_format, var2);
sub_0208201C(*miscDataPtr, var1, *msgFormat, var2);
return FALSE;
}
BOOL ScrCmd_Unk00FD(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk00FD(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var1 = ScriptGetVar(ctx);
u16 var2 = ScriptGetVar(ctx);
sub_02082034(*misc_data_ptr, var1, *msg_format, var2);
sub_02082034(*miscDataPtr, var1, *msgFormat, var2);
return FALSE;
}
BOOL ScrCmd_Unk00FE(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk00FE(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var1 = ScriptGetVar(ctx);
u16 var2 = ScriptGetVar(ctx);
sub_0208206C(*misc_data_ptr, var1, *msg_format, var2);
sub_0208206C(*miscDataPtr, var1, *msgFormat, var2);
return FALSE;
}
BOOL ScrCmd_Unk00FF(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk00FF(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 num = ScriptGetVar(ctx);
u16 idx = ScriptGetVar(ctx);
BufferIntegerAsString(*msg_format, idx, num, 1, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(*msgFormat, idx, num, 1, PRINTING_MODE_LEFT_ALIGN, TRUE);
return FALSE;
}
BOOL ScrCmd_Unk0100(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0100(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_02081DC4(*misc_data_ptr);
sub_02081DC4(*miscDataPtr);
SetupNativeScript(ctx, sub_020401F0);
return TRUE;
}
BOOL sub_020401F0(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
static BOOL sub_020401F0(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_02081EB8(*misc_data_ptr);
sub_02081EB8(*miscDataPtr);
}
BOOL ScrCmd_Unk0101(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0101(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_02080E0C(ctx->taskManager, *misc_data_ptr);
sub_02080E0C(ctx->taskManager, *miscDataPtr);
return TRUE;
}
BOOL ScrCmd_Unk0102(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk0102(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var = ScriptGetVar(ctx);
sub_02082090(*misc_data_ptr, *msg_format, var);
sub_02082090(*miscDataPtr, *msgFormat, var);
return FALSE;
}
BOOL ScrCmd_Unk0103(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk0103(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var = ScriptGetVar(ctx);
sub_020820B8(*misc_data_ptr, *msg_format, var);
sub_020820B8(*miscDataPtr, *msgFormat, var);
return FALSE;
}
BOOL ScrCmd_Unk0104(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk0104(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var = ScriptGetVar(ctx);
sub_020820DC(*misc_data_ptr, *msg_format, var);
sub_020820DC(*miscDataPtr, *msgFormat, var);
return FALSE;
}
BOOL ScrCmd_Unk0105(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0105(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_0208213C(*misc_data_ptr);
*var = sub_0208213C(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0106(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk0106(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var = ScriptGetVar(ctx);
sub_0208210C(*misc_data_ptr, *msg_format, var);
sub_0208210C(*miscDataPtr, *msgFormat, var);
return FALSE;
}
BOOL ScrCmd_Unk0107(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0107(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_0208217C(*misc_data_ptr);
*var = sub_0208217C(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0108(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0108(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_02082190(*misc_data_ptr);
*var = sub_02082190(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0109(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0109(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_020821B4(*misc_data_ptr);
*var = sub_020821B4(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk010A(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk010A(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 var1 = ScriptGetVar(ctx);
u16 *var2 = ScriptGetVarPointer(ctx);
*var2 = sub_020821C4(*misc_data_ptr, var1);
*var2 = sub_020821C4(*miscDataPtr, var1);
return FALSE;
}
BOOL ScrCmd_Unk010B(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk010B(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 var1 = ScriptGetVar(ctx);
u16 *var2 = ScriptGetVarPointer(ctx);
*var2 = sub_020821DC(*misc_data_ptr, var1);
*var2 = sub_020821DC(*miscDataPtr, var1);
return FALSE;
}
BOOL ScrCmd_Unk010C(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk010C(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_020821F0(*misc_data_ptr);
*var = sub_020821F0(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0110(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0110(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var1 = ScriptGetVarPointer(ctx);
u16 *var2 = ScriptGetVarPointer(ctx);
u16 *var3 = ScriptGetVarPointer(ctx);
u16 *var4 = ScriptGetVarPointer(ctx);
sub_02082214(*misc_data_ptr, var1, var2, var3, var4);
sub_02082214(*miscDataPtr, var1, var2, var3, var4);
return FALSE;
}
BOOL ScrCmd_Unk010D(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk010D(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_02082254(*misc_data_ptr);
*var = sub_02082254(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk010E(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msg_format = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
BOOL ScrCmd_Unk010E(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
MessageFormat **msgFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 var = ScriptGetVar(ctx);
sub_02082284(*misc_data_ptr, *msg_format, var, 11);
sub_02082284(*miscDataPtr, *msgFormat, var, 11);
return FALSE;
}
BOOL ScrCmd_Unk010F(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk010F(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_020822F0(*misc_data_ptr);
*var = sub_020822F0(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0117(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0117(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_0208223C(*misc_data_ptr);
sub_0208223C(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0118(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0118(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
sub_0208224C(*misc_data_ptr);
sub_0208224C(*miscDataPtr);
return FALSE;
}
BOOL ScrCmd_Unk0111(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0111(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 var = ScriptGetVar(ctx);
sub_02082444(*misc_data_ptr, var);
sub_02082444(*miscDataPtr, var);
return FALSE;
}
BOOL ScrCmd_Unk0112(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0112(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
SetupNativeScript(ctx, sub_02040618);
return TRUE;
}
BOOL sub_02040618(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
static BOOL sub_02040618(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
return sub_02082508(*misc_data_ptr) == TRUE ? TRUE : FALSE;
return sub_02082508(*miscDataPtr) == TRUE;
}
BOOL ScrCmd_Unk0113(struct ScriptContext *ctx) {
BOOL ScrCmd_Unk0113(ScriptContext *ctx) {
ov05_021F4608(ctx->fieldSystem->unk04->unk1C);
return FALSE;
}
BOOL ScrCmd_Unk0114(struct ScriptContext *ctx) {
BOOL ScrCmd_Unk0114(ScriptContext *ctx) {
ov05_021F45E8(ctx->fieldSystem->unk04->unk1C);
return FALSE;
}
BOOL ScrCmd_Unk0115(struct ScriptContext *ctx) {
void **misc_data_ptr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
BOOL ScrCmd_Unk0115(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
u16 *var = ScriptGetVarPointer(ctx);
u32 temp;
u32 t1;
@ -449,7 +401,7 @@ BOOL ScrCmd_Unk0115(struct ScriptContext *ctx) {
u32 t3;
u32 t4;
sub_020825A0(*misc_data_ptr, &temp, &t1, &t2, &t3, &t4);
sub_020825A0(*miscDataPtr, &temp, &t1, &t2, &t3, &t4);
if (t1 == 1 || t2 == 1 || t3 == 1 || t4 == 1) {
*var = 1;
@ -460,7 +412,7 @@ BOOL ScrCmd_Unk0115(struct ScriptContext *ctx) {
return FALSE;
}
BOOL ScrCmd_Unk0116(struct ScriptContext *ctx) {
BOOL ScrCmd_Unk0116(ScriptContext *ctx) {
ov06_0224D3E8(ctx->taskManager);
return TRUE;

View File

@ -3,11 +3,11 @@
#include "save.h"
struct SaveChatotSoundClip {
typedef struct SaveChatotSoundClip {
// TODO: Fill this in
BOOL exists;
s8 data[1000];
};
} SaveChatotSoundClip;
u32 Save_Chatot_sizeof(void);
void Save_Chatot_Init(struct SaveChatotSoundClip *chatot);

View File

@ -32,6 +32,23 @@ typedef struct UnkStruct_0203B174 {
struct FieldSystem *fieldSystem;
} UnkStruct_0203B174;
typedef struct UnkStruct_Scrcmd3 {
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
u8 nationalDexFlag;
u8 monSlot;
u8 unk6;
Pokemon *pokemon;
String *playerName;
PlayerProfile *profile;
SaveFashionData *saveFashionData;
Options *options;
SaveData *saveData;
SaveChatotSoundClip *chatotSoundClip;
} UnkStruct_Scrcmd3;
// scrcmd.c
BOOL ScrCmd_Nop(ScriptContext *ctx);
BOOL ScrCmd_Dummy(ScriptContext *ctx);
@ -460,6 +477,41 @@ BOOL ScrCmd_GoodsMart(ScriptContext *ctx);
BOOL ScrCmd_SealsMart(ScriptContext *ctx);
BOOL ScrCmd_AccessoriesShop(ScriptContext *ctx);
// scrcmd_3.c
BOOL ScrCmd_Unk00F8(ScriptContext *ctx);
BOOL ScrCmd_Unk00F9(ScriptContext *ctx);
BOOL ScrCmd_Unk00FA(ScriptContext *ctx);
BOOL ScrCmd_Unk00FB(ScriptContext *ctx);
BOOL ScrCmd_Unk00FC(ScriptContext *ctx);
BOOL ScrCmd_Unk00FD(ScriptContext *ctx);
BOOL ScrCmd_Unk00FE(ScriptContext *ctx);
BOOL ScrCmd_Unk00FF(ScriptContext *ctx);
BOOL ScrCmd_Unk0100(ScriptContext *ctx);
BOOL ScrCmd_Unk0101(ScriptContext *ctx);
BOOL ScrCmd_Unk0102(ScriptContext *ctx);
BOOL ScrCmd_Unk0103(ScriptContext *ctx);
BOOL ScrCmd_Unk0104(ScriptContext *ctx);
BOOL ScrCmd_Unk0105(ScriptContext *ctx);
BOOL ScrCmd_Unk0106(ScriptContext *ctx);
BOOL ScrCmd_Unk0107(ScriptContext *ctx);
BOOL ScrCmd_Unk0108(ScriptContext *ctx);
BOOL ScrCmd_Unk0109(ScriptContext *ctx);
BOOL ScrCmd_Unk010A(ScriptContext *ctx);
BOOL ScrCmd_Unk010B(ScriptContext *ctx);
BOOL ScrCmd_Unk010C(ScriptContext *ctx);
BOOL ScrCmd_Unk0110(ScriptContext *ctx);
BOOL ScrCmd_Unk010D(ScriptContext *ctx);
BOOL ScrCmd_Unk010E(ScriptContext *ctx);
BOOL ScrCmd_Unk010F(ScriptContext *ctx);
BOOL ScrCmd_Unk0117(ScriptContext *ctx);
BOOL ScrCmd_Unk0118(ScriptContext *ctx);
BOOL ScrCmd_Unk0111(ScriptContext *ctx);
BOOL ScrCmd_Unk0112(ScriptContext *ctx);
BOOL ScrCmd_Unk0113(ScriptContext *ctx);
BOOL ScrCmd_Unk0114(ScriptContext *ctx);
BOOL ScrCmd_Unk0115(ScriptContext *ctx);
BOOL ScrCmd_Unk0116(ScriptContext *ctx);
// scrcmd_names.c
BOOL ScrCmd_GetPlayerName(ScriptContext *ctx);
BOOL ScrCmd_GetRivalName(ScriptContext *ctx);