ScrCmd_GetSealCountFromId

This commit is contained in:
Akashi Akira
2023-05-09 23:21:18 +01:00
parent bbd54b4957
commit 70ac17f19b
5 changed files with 13 additions and 31 deletions

View File

@@ -14,35 +14,6 @@ UNK_021C5A0C: ; 0x021C5A0C
.text
thumb_func_start ScrCmd_Unk0093
ScrCmd_Unk0093: ; 0x0203B81C
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 r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Sav2_SealCase_get
add r1, r6, #0x0
bl FUN_02029E2C
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start ScrCmd_Unk0094
ScrCmd_Unk0094: ; 0x0203B85C
push {r4-r6, lr}

View File

@@ -296,7 +296,7 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_TakeUndergroundSphere
.word ScrCmd_HasSpaceForSphere
.word ScrCmd_GetSphereCount
.word ScrCmd_Unk0093
.word ScrCmd_GetSealCountFromId
.word ScrCmd_Unk0094
.word ScrCmd_Unk0095
.word ScrCmd_GiveMon

View File

@@ -2808,7 +2808,7 @@
.extern ScrCmd_GetOverworldEventMovement
.extern ScrCmd_OverworldEventStopFollowing
.extern ScrCmd_Unk02AB
.extern ScrCmd_Unk0093
.extern ScrCmd_GetSealCountFromId
.extern ScrCmd_Unk0094
.extern ScrCmd_Unk0095
.extern ScrCmd_Unk0191

View File

@@ -89,6 +89,7 @@ extern void FUN_02058E90(struct Vecx32 *vector, u16 movement);
extern u16 FUN_02058480(struct Vecx32 *vector);
extern void FUN_02058EB0(struct Vecx32 *vector, u32 param1);
extern u16 FUN_02029E0C(struct SealCase *sealCase);
extern u16 FUN_02029E2C(struct SealCase *sealCase, u16 sealId);
extern u8 UNK_021C5A0C[4];
@@ -1776,3 +1777,12 @@ THUMB_FUNC BOOL ScrCmd_Unk02AB(struct ScriptContext *ctx) //02AB
*unk0 = FUN_02029E0C(sealCase);
return FALSE;
}
THUMB_FUNC BOOL ScrCmd_GetSealCountFromId(struct ScriptContext *ctx) //0093
{
u16 sealId = VarGet(ctx->fieldSystem, ScriptReadHalfword(ctx));
u16 *variable = GetVarPointer(ctx->fieldSystem, ScriptReadHalfword(ctx));
struct SealCase *sealCase = Sav2_SealCase_get(ctx->fieldSystem->saveBlock2);
*variable = FUN_02029E2C(sealCase, sealId);
return FALSE;
}

View File

@@ -135,6 +135,7 @@ BOOL ScrCmd_SetOverworldEventMovement(struct ScriptContext *ctx);
BOOL ScrCmd_GetOverworldEventMovement(struct ScriptContext *ctx);
BOOL ScrCmd_OverworldEventStopFollowing(struct ScriptContext *ctx);
BOOL ScrCmd_Unk02AB(struct ScriptContext *ctx);
BOOL ScrCmd_GetSealCountFromId(struct ScriptContext *ctx);
// scrcmd_mart.c
BOOL ScrCmd_NormalMart(struct ScriptContext * ctx);