mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-14 03:56:47 -05:00
scrcmd
This commit is contained in:
@@ -6,236 +6,10 @@
|
||||
.extern gSystem
|
||||
.extern FUN_0203A2F0
|
||||
.extern FUN_0203BB90
|
||||
.extern FUN_0203BBBC
|
||||
.extern FUN_0203BC04
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ScrCmd_Unk01D7
|
||||
ScrCmd_Unk01D7: ; 0x0203C174
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r1, #0x13
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
lsl r0, r0, #0x18
|
||||
lsr r1, r0, #0x18
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r2, #0xb
|
||||
bl FUN_02088960
|
||||
str r0, [r4, #0x0]
|
||||
ldr r1, _0203C1A8 ; =FUN_0203BB90
|
||||
add r0, r5, #0x0
|
||||
bl SetupNativeScript
|
||||
mov r0, #0x1
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
_0203C1A8: .word FUN_0203BB90
|
||||
|
||||
thumb_func_start ScrCmd_Unk01D8
|
||||
ScrCmd_Unk01D8: ; 0x0203C1AC
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #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 Save_Bag_Get
|
||||
mov r1, #0x4
|
||||
bl Bag_PocketNotEmpty
|
||||
cmp r0, #0x0
|
||||
bne _0203C1E0
|
||||
mov r0, #0x1
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
_0203C1E0:
|
||||
add r5, #0x80
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_02028048
|
||||
bl FUN_020281B8
|
||||
cmp r0, #0x64
|
||||
blo _0203C1FA
|
||||
mov r0, #0x2
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
_0203C1FA:
|
||||
mov r0, #0x0
|
||||
strh r0, [r4, #0x0]
|
||||
pop {r3-r5, pc}
|
||||
|
||||
thumb_func_start ScrCmd_Unk01D9
|
||||
ScrCmd_Unk01D9: ; 0x0203C200
|
||||
push {r3-r7, 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 r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl VarGet
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r1, #0x13
|
||||
bl FieldSysGetAttrAddr
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0xb
|
||||
mov r1, #0x8
|
||||
bl AllocFromHeap
|
||||
mov r1, #0x0
|
||||
mov r2, #0x8
|
||||
str r0, [r6, #0x0]
|
||||
add r4, r0, #0x0
|
||||
bl MI_CpuFill8
|
||||
ldr r0, [sp, #0x0]
|
||||
strh r7, [r4, #0x4]
|
||||
strh r0, [r4, #0x6]
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
str r0, [r4, #0x0]
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r1, [r6, #0x0]
|
||||
bl FUN_02037FE4
|
||||
ldr r1, _0203C274 ; =FUN_0203BB90
|
||||
add r0, r5, #0x0
|
||||
bl SetupNativeScript
|
||||
mov r0, #0x1
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0203C274: .word FUN_0203BB90
|
||||
|
||||
thumb_func_start ScrCmd_MonStoragePC
|
||||
ScrCmd_MonStoragePC: ; 0x0203C278
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r1, #0x13
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0x0
|
||||
mov r0, #0xb
|
||||
mov r1, #0xc
|
||||
bl AllocFromHeap
|
||||
add r1, r5, #0x0
|
||||
add r1, #0x80
|
||||
ldr r1, [r1, #0x0]
|
||||
ldr r1, [r1, #0xc]
|
||||
str r1, [r0, #0x0]
|
||||
ldr r2, [r5, #0x8]
|
||||
add r1, r2, #0x1
|
||||
str r1, [r5, #0x8]
|
||||
ldrb r1, [r2, #0x0]
|
||||
str r1, [r0, #0x4]
|
||||
str r0, [r4, #0x0]
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r1, [r4, #0x0]
|
||||
bl LaunchStoragePCInterface
|
||||
ldr r1, _0203C2C0 ; =FUN_0203BBBC
|
||||
add r0, r5, #0x0
|
||||
bl SetupNativeScript
|
||||
mov r0, #0x1
|
||||
pop {r3-r5, pc}
|
||||
nop
|
||||
_0203C2C0: .word FUN_0203BBBC
|
||||
|
||||
thumb_func_start ScrCmd_Unk00AC
|
||||
ScrCmd_Unk00AC: ; 0x0203C2C4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_020383F8
|
||||
ldr r1, _0203C2DC ; =FUN_0203BC04
|
||||
add r0, r4, #0x0
|
||||
bl SetupNativeScript
|
||||
mov r0, #0x1
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_0203C2DC: .word FUN_0203BC04
|
||||
|
||||
thumb_func_start ScrCmd_Unk00AD
|
||||
ScrCmd_Unk00AD: ; 0x0203C2E0
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_02065344
|
||||
mov r0, #0x1
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start ScrCmd_Unk00AE
|
||||
ScrCmd_Unk00AE: ; 0x0203C2F0
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x10]
|
||||
bl FUN_020383D8
|
||||
mov r0, #0x1
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start ScrCmd_Unk00AF
|
||||
ScrCmd_Unk00AF: ; 0x0203C300
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r1, #0x13
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_0203842C
|
||||
str r0, [r4, #0x0]
|
||||
ldr r1, _0203C328 ; =FUN_0203BB90
|
||||
add r0, r5, #0x0
|
||||
bl SetupNativeScript
|
||||
mov r0, #0x1
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
_0203C328: .word FUN_0203BB90
|
||||
|
||||
thumb_func_start ScrCmd_HallOfFame
|
||||
ScrCmd_HallOfFame: ; 0x0203C32C
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x10]
|
||||
bl Special_EnterHallOfFame
|
||||
mov r0, #0x1
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start ScrCmd_Unk00B1
|
||||
ScrCmd_Unk00B1: ; 0x0203C33C
|
||||
push {r3-r5, lr}
|
||||
|
||||
@@ -320,12 +320,12 @@ gScriptCmdTable: ; 0x020F355C
|
||||
.word ScrCmd_ShowContestPokemon
|
||||
.word ScrCmd_ShowSealCapsuleEditor
|
||||
.word ScrCmd_ShowTownMapScreen
|
||||
.word ScrCmd_MonStoragePC
|
||||
.word ScrCmd_ShowPCBoxScreen
|
||||
.word ScrCmd_Unk00AC
|
||||
.word ScrCmd_Unk00AD
|
||||
.word ScrCmd_Unk00AE
|
||||
.word ScrCmd_Unk00AF
|
||||
.word ScrCmd_HallOfFame
|
||||
.word ScrCmd_ShowEndGameScreen
|
||||
.word ScrCmd_Unk00B1
|
||||
.word ScrCmd_Unk00B2
|
||||
.word ScrCmd_Unk00B3
|
||||
|
||||
@@ -253,8 +253,8 @@ _02048688:
|
||||
nop
|
||||
_02048690: .word 0x0000061B
|
||||
|
||||
thumb_func_start Special_EnterHallOfFame
|
||||
Special_EnterHallOfFame: ; 0x02048694
|
||||
thumb_func_start Task_GameClear
|
||||
Task_GameClear: ; 0x02048694
|
||||
push {r4-r7, lr}
|
||||
sub sp, #0xc
|
||||
add r7, r0, #0x0
|
||||
|
||||
@@ -2851,12 +2851,12 @@
|
||||
.extern ScrCmd_Unk01D7
|
||||
.extern ScrCmd_Unk01D8
|
||||
.extern ScrCmd_Unk01D9
|
||||
.extern ScrCmd_MonStoragePC
|
||||
.extern ScrCmd_ShowPCBoxScreen
|
||||
.extern ScrCmd_Unk00AC
|
||||
.extern ScrCmd_Unk00AD
|
||||
.extern ScrCmd_Unk00AE
|
||||
.extern ScrCmd_Unk00AF
|
||||
.extern ScrCmd_HallOfFame
|
||||
.extern ScrCmd_ShowEndGameScreen
|
||||
.extern ScrCmd_Unk00B1
|
||||
.extern ScrCmd_Unk00B2
|
||||
.extern ScrCmd_Unk00B3
|
||||
@@ -3476,7 +3476,7 @@
|
||||
.extern FUN_020480E4
|
||||
.extern FUN_0204837C
|
||||
.extern FUN_02048498
|
||||
.extern Special_EnterHallOfFame
|
||||
.extern Task_GameClear
|
||||
.extern FUN_020489DC
|
||||
.extern FUN_020489FC
|
||||
.extern FUN_02048C58
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
#include "global.h"
|
||||
#include "scrcmd.h"
|
||||
#include "PAD_pad.h"
|
||||
#include "bag.h"
|
||||
#include "bg_window.h"
|
||||
#include "camera.h"
|
||||
#include "constants/items.h"
|
||||
#include "fashion_case.h"
|
||||
#include "main.h"
|
||||
#include "options.h"
|
||||
@@ -16,6 +18,7 @@
|
||||
#include "unk_0200CA44.h"
|
||||
#include "unk_0204AF24.h"
|
||||
#include "unk_0205EC84.h"
|
||||
#include "unk_0208890C.h"
|
||||
|
||||
extern void *FieldSysGetAttrAddr(struct FieldSystem* fieldSystem, enum ScriptEnvField id);
|
||||
extern ScriptContext *CreateScriptContext(struct FieldSystem* fieldSystem, u16 id);
|
||||
@@ -125,6 +128,15 @@ extern void ShowGeonetScreen(FieldSystem *fieldSystem);
|
||||
extern void ShowSealCapsuleEditor(TaskManager *taskManager, struct SaveBlock2 *save);
|
||||
extern void FUN_0205F7A0(FieldSystem *fieldSystem, TownMapAppData *townMap, u32 param2); //TownMap_Init?
|
||||
extern void FUN_02037E90(FieldSystem *fieldSystem, TownMapAppData *townMap); //ShowTownMap?
|
||||
extern u32 FUN_02028048(struct SaveBlock2 *save);
|
||||
extern u32 FUN_020281B8(u32 param0);
|
||||
extern void FUN_02037FE4(FieldSystem *fieldSystem, ScrCmdUnkStruct01D9 *param1);
|
||||
extern void LaunchStoragePCInterface(FieldSystem *fieldSystem, PCBoxAppData *pcBoxAppData);
|
||||
extern void FUN_020383F8(FieldSystem *fieldSystem);
|
||||
extern void FUN_02065344(FieldSystem *fieldSystem);
|
||||
extern void FUN_020383D8(TaskManager *taskManager);
|
||||
extern void *FUN_0203842C(FieldSystem *fieldSystem);
|
||||
extern void Task_GameClear(TaskManager *taskManager);
|
||||
|
||||
u8 UNK_021C5A0C[4];
|
||||
|
||||
@@ -151,7 +163,7 @@ static void FUN_0203B174(struct FieldSystem *fieldSystem, u32 param1, void *para
|
||||
static void FUN_0203B1A8(u32 param0, UnkStruct_0203B174 *param1);
|
||||
static BOOL FUN_0203B218(struct ScriptContext *ctx);
|
||||
/*static*/ BOOL FUN_0203BB90(ScriptContext *ctx);
|
||||
/*static*/ BOOL FUN_0203BBBC(ScriptContext *ctx);
|
||||
static BOOL FUN_0203BBBC(ScriptContext *ctx);
|
||||
/*static*/ BOOL FUN_0203BC04(ScriptContext *ctx);
|
||||
static BOOL CheckPortraitSlotFullInternal(struct FieldSystem *fieldSystem, BOOL isContest, u32 portraitSlot);
|
||||
static FashionAppData *FUN_0203BC6C(u32 heapId, struct FieldSystem *fieldSystem, BOOL isContest, u32 portraitSlot);
|
||||
@@ -1938,7 +1950,7 @@ BOOL ScrCmd_DummyGetMapPosition(ScriptContext *ctx) { //009F
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*static*/ BOOL FUN_0203BBBC(ScriptContext *ctx) {
|
||||
static BOOL FUN_0203BBBC(ScriptContext *ctx) {
|
||||
struct FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
PCBoxAppData **pcBoxDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
|
||||
PCBoxAppData *pcBoxData = *pcBoxDataPtr;
|
||||
@@ -2170,3 +2182,80 @@ BOOL ScrCmd_ShowTownMapScreen(ScriptContext *ctx) { //00AA
|
||||
SetupNativeScript(ctx, FUN_0203BB90);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk01D7(ScriptContext *ctx) { //01D7 - TODO: ShowPoffinCaseScreen?
|
||||
PoffinCaseAppData **poffinCaseAppData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
|
||||
u8 unk0 = ScriptReadHalfword(ctx);
|
||||
*poffinCaseAppData = FUN_02088960(ctx->fieldSystem, unk0, 11);
|
||||
SetupNativeScript(ctx, FUN_0203BB90);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk01D8(ScriptContext *ctx) { //01D8
|
||||
u16 *unk0 = ScriptGetVarPointer(ctx);
|
||||
struct Bag *bag = Save_Bag_Get(ctx->fieldSystem->saveBlock2);
|
||||
if (!Bag_PocketNotEmpty(bag, POCKET_BERRIES)) {
|
||||
*unk0 = 1;
|
||||
return FALSE;
|
||||
}
|
||||
else if (FUN_020281B8(FUN_02028048(ctx->fieldSystem->saveBlock2)) >= 0x64) {
|
||||
*unk0 = 2;
|
||||
return FALSE;
|
||||
}
|
||||
*unk0 = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk01D9(ScriptContext *ctx) { //01D9
|
||||
u16 unk0 = ScriptGetVar(ctx);
|
||||
u16 unk1 = ScriptGetVar(ctx);
|
||||
ScrCmdUnkStruct01D9 **unkStructPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
|
||||
*unkStructPtr = AllocFromHeap(11, sizeof(ScrCmdUnkStruct01D9));
|
||||
ScrCmdUnkStruct01D9 *unkStruct = *unkStructPtr;
|
||||
MI_CpuFill8(unkStruct, 0, sizeof(ScrCmdUnkStruct01D9)); //consider inlining as is in heartgold
|
||||
unkStruct->unk04 = unk0;
|
||||
unkStruct->unk06 = unk1;
|
||||
unkStruct->save = ctx->fieldSystem->saveBlock2;
|
||||
FUN_02037FE4(ctx->fieldSystem, *unkStructPtr);
|
||||
SetupNativeScript(ctx, FUN_0203BB90);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_ShowPCBoxScreen(ScriptContext *ctx) { //00AB
|
||||
PCBoxAppData **pcBoxAppDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
|
||||
PCBoxAppData *pcBoxAppData = AllocFromHeap(11, sizeof(PCBoxAppData)); //also seems inlined
|
||||
pcBoxAppData->save = ctx->fieldSystem->saveBlock2;
|
||||
pcBoxAppData->operation = (enum PCBoxOperation)ScriptReadByte(ctx);
|
||||
*pcBoxAppDataPtr = pcBoxAppData;
|
||||
LaunchStoragePCInterface(ctx->fieldSystem, *pcBoxAppDataPtr);
|
||||
SetupNativeScript(ctx, FUN_0203BBBC);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk00AC(ScriptContext *ctx) {
|
||||
FUN_020383F8(ctx->fieldSystem);
|
||||
SetupNativeScript(ctx, FUN_0203BC04);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk00AD(ScriptContext *ctx) {
|
||||
FUN_02065344(ctx->fieldSystem);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk00AE(ScriptContext *ctx) {
|
||||
FUN_020383D8(ctx->fieldSystem->taskManager);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_Unk00AF(ScriptContext *ctx) {
|
||||
void **appData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA); //todo: define an app type for this
|
||||
*appData = FUN_0203842C(ctx->fieldSystem);
|
||||
SetupNativeScript(ctx, FUN_0203BB90);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_ShowEndGameScreen(ScriptContext *ctx) {
|
||||
Task_GameClear(ctx->fieldSystem->taskManager);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "poke_overlay.h"
|
||||
|
||||
extern struct SaveBlock2* ScriptEnvironment_GetSavePtr(struct FieldSystem *);
|
||||
extern void* FUN_02028048(struct SaveBlock2* sav2);
|
||||
extern u32 FUN_02028048(struct SaveBlock2* sav2);
|
||||
extern void FUN_020373D4(struct FieldSystem *, struct OverlayManagerTemplate *, void*);
|
||||
extern BOOL FUN_020889B0(struct OverlayManager *, u32*);
|
||||
extern BOOL FUN_02088A00(struct OverlayManager *, u32*);
|
||||
@@ -21,10 +21,10 @@ const struct OverlayManagerTemplate UNK_020FD6E4 = {
|
||||
SDK_OVERLAY_INVALID_ID,
|
||||
};
|
||||
|
||||
struct UnkStruct_0208890C* FUN_0208890C(void* a0, struct SaveBlock2* sav2, u32 heap_id, void* a3)
|
||||
struct PoffinCaseAppData* FUN_0208890C(u32 a0, struct SaveBlock2* sav2, u32 heap_id, u32 *a3)
|
||||
{
|
||||
struct UnkStruct_0208890C* ret = AllocFromHeap(heap_id, sizeof(struct UnkStruct_0208890C));
|
||||
MI_CpuFill8(ret, 0, sizeof(struct UnkStruct_0208890C));
|
||||
struct PoffinCaseAppData* ret = AllocFromHeap(heap_id, sizeof(struct PoffinCaseAppData));
|
||||
MI_CpuFill8(ret, 0, sizeof(struct PoffinCaseAppData));
|
||||
|
||||
ret->sav2 = sav2;
|
||||
ret->unk8 = FUN_02028048(sav2);
|
||||
@@ -37,15 +37,15 @@ struct UnkStruct_0208890C* FUN_0208890C(void* a0, struct SaveBlock2* sav2, u32 h
|
||||
return ret;
|
||||
}
|
||||
|
||||
void FUN_02088950(struct FieldSystem *fieldSystem, struct UnkStruct_0208890C *param1)
|
||||
void FUN_02088950(struct FieldSystem *fieldSystem, struct PoffinCaseAppData *param1)
|
||||
{
|
||||
FUN_020373D4(fieldSystem, (struct OverlayManagerTemplate *)&UNK_020FD6E4, param1);
|
||||
}
|
||||
|
||||
struct UnkStruct_0208890C* FUN_02088960(struct FieldSystem *fieldSystem, void* a1, u32 heap_id)
|
||||
struct PoffinCaseAppData* FUN_02088960(struct FieldSystem *fieldSystem, u32 a1, u32 heap_id)
|
||||
{
|
||||
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
|
||||
struct UnkStruct_0208890C* ret = FUN_0208890C(a1, sav2, heap_id, fieldSystem->unk98);
|
||||
struct PoffinCaseAppData* ret = FUN_0208890C(a1, sav2, heap_id, fieldSystem->unk98);
|
||||
|
||||
FUN_02088950(fieldSystem, ret);
|
||||
|
||||
|
||||
@@ -89,9 +89,9 @@ u32 FUN_02088B4C(struct UnkStruct_02088AAC *r0)
|
||||
.exitFunc = MOD75_021E6F00,
|
||||
.ovly = FS_OVERLAY_ID(MODULE_75)
|
||||
};
|
||||
struct BagView *bag_view = CreateBagView(r0->unk10->bag, UNK_020FD6F4, r0->heap_id);
|
||||
struct BagView *bag_view = CreateBagView(r0->poffinCaseAppData->bag, UNK_020FD6F4, r0->heap_id);
|
||||
|
||||
FUN_0206E314(bag_view, r0->unk10->sav2, (u8)((u8)r0->unk06 == 1 ? 5 : 4), r0->unk0C);
|
||||
FUN_0206E314(bag_view, r0->poffinCaseAppData->sav2, (u8)((u8)r0->unk06 == 1 ? 5 : 4), r0->unk0C);
|
||||
|
||||
r0->ovly_data = OverlayManager_New(&OVERLAY_75_MANAGER, (s32 *)bag_view, r0->heap_id);
|
||||
r0->ovly_param = bag_view;
|
||||
@@ -129,7 +129,7 @@ u32 FUN_02088BA8(struct UnkStruct_02088AAC *r0)
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
GF_ASSERT(Bag_TakeItem(r0->unk10->bag, (u16)r0->item, 1, r0->heap_id));
|
||||
GF_ASSERT(Bag_TakeItem(r0->poffinCaseAppData->bag, (u16)r0->item, 1, r0->heap_id));
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
@@ -138,7 +138,7 @@ u32 FUN_02088C3C(struct UnkStruct_02088AAC *r0)
|
||||
{
|
||||
FS_EXTERN_OVERLAY(MODULE_68);
|
||||
|
||||
struct Bag *bag = r0->unk10->bag;
|
||||
struct Bag *bag = r0->poffinCaseAppData->bag;
|
||||
const struct OverlayManagerTemplate OVERLAY_68_MANAGER =
|
||||
{
|
||||
.initFunc = MOD68_021D74E0,
|
||||
|
||||
@@ -184,6 +184,15 @@ BOOL ScrCmd_Unk0130(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowGeonetScreen(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowSealCapsuleEditor(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowTownMapScreen(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk01D7(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk01D8(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk01D9(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowPCBoxScreen(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk00AC(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk00AD(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk00AE(ScriptContext *ctx);
|
||||
BOOL ScrCmd_Unk00AF(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowEndGameScreen(ScriptContext *ctx);
|
||||
|
||||
// scrcmd_mart.c
|
||||
BOOL ScrCmd_NormalMart(struct ScriptContext * ctx);
|
||||
|
||||
@@ -34,9 +34,17 @@ typedef struct LocalMapObject { //todo move to local_map_object.c
|
||||
|
||||
typedef struct PartyMenuAppData PartyMenuAppData; //todo move to own file
|
||||
|
||||
enum PCBoxOperation {
|
||||
PC_BOX_OPERATION_DEPOSIT_MON,
|
||||
PC_BOX_OPERATION_WITHDRAW_MON,
|
||||
PC_BOX_OPERATION_MOVE_MONS,
|
||||
PC_BOX_OPERATION_MOVE_ITEMS,
|
||||
PC_BOX_OPERATION_COMPARE_MONS,
|
||||
};
|
||||
|
||||
typedef struct PCBoxAppData {
|
||||
struct SaveBlock2 *save;
|
||||
void *unk04;
|
||||
enum PCBoxOperation operation;
|
||||
BOOL unk08;
|
||||
} PCBoxAppData; //todo move to own file
|
||||
|
||||
@@ -50,6 +58,12 @@ typedef struct TownMapAppData { //todo fill out
|
||||
u8 padding[0x140];
|
||||
} TownMapAppData; //todo move to own file
|
||||
|
||||
typedef struct ScrCmdUnkStruct01D9 {
|
||||
struct SaveBlock2 *save;
|
||||
u16 unk04;
|
||||
u16 unk06;
|
||||
} ScrCmdUnkStruct01D9; //todo identify and move to own file
|
||||
|
||||
typedef struct FieldSystem //todo move to field_system.c
|
||||
{
|
||||
u32 *unk00;
|
||||
|
||||
@@ -8,20 +8,19 @@ struct Options;
|
||||
struct PlayerData;
|
||||
struct SaveBlock2;
|
||||
|
||||
struct UnkStruct_0208890C
|
||||
{
|
||||
typedef struct PoffinCaseAppData {
|
||||
u8 padding[0x4];
|
||||
void* unk4;
|
||||
void* unk8;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
struct SaveBlock2* sav2;
|
||||
struct PlayerData* player;
|
||||
struct Bag* bag;
|
||||
struct Options* options;
|
||||
void* unk1C;
|
||||
};
|
||||
u32 *unk1C;
|
||||
} PoffinCaseAppData;
|
||||
|
||||
struct UnkStruct_0208890C* FUN_0208890C(void*, struct SaveBlock2* sav2, u32 heap_id, void*);
|
||||
void FUN_02088950(struct FieldSystem *fieldSystem, struct UnkStruct_0208890C*);
|
||||
struct UnkStruct_0208890C* FUN_02088960(struct FieldSystem *fieldSystem, void*, u32 heap_id);
|
||||
struct PoffinCaseAppData* FUN_0208890C(u32, struct SaveBlock2* sav2, u32 heap_id, u32 *);
|
||||
void FUN_02088950(struct FieldSystem *fieldSystem, struct PoffinCaseAppData*);
|
||||
struct PoffinCaseAppData* FUN_02088960(struct FieldSystem *fieldSystem, u32, u32 heap_id);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,7 +12,7 @@ struct UnkStruct_02088AAC
|
||||
u16 unk06;
|
||||
u32 item;
|
||||
struct UnkStruct_0206F164 *unk0C;
|
||||
struct UnkStruct_0208890C *unk10;
|
||||
struct PoffinCaseAppData *poffinCaseAppData;
|
||||
u32 unk14;
|
||||
void *ovly_param;
|
||||
struct OverlayManager *ovly_data;
|
||||
|
||||
Reference in New Issue
Block a user