From 3c28624de27f8b51d6aaf7456c6081cc8ba1affc Mon Sep 17 00:00:00 2001 From: ElectricGeorge <17412569+ElectricGeorge@users.noreply.github.com> Date: Thu, 28 Dec 2023 10:33:24 -0500 Subject: [PATCH] Decomp ov29_022DC240 --- ...9_022DC240.inc => overlay_29_022DC2B8.inc} | 67 ++++++++++--------- ...ay_29_022DC240.s => overlay_29_022DC2B8.s} | 37 +--------- include/overlay_29_022DC240.h | 23 +++++++ main.lsf | 3 +- src/overlay_29_022DC240.c | 16 +++++ 5 files changed, 76 insertions(+), 70 deletions(-) rename asm/include/{overlay_29_022DC240.inc => overlay_29_022DC2B8.inc} (99%) rename asm/{overlay_29_022DC240.s => overlay_29_022DC2B8.s} (99%) create mode 100644 include/overlay_29_022DC240.h create mode 100644 src/overlay_29_022DC240.c diff --git a/asm/include/overlay_29_022DC240.inc b/asm/include/overlay_29_022DC2B8.inc similarity index 99% rename from asm/include/overlay_29_022DC240.inc rename to asm/include/overlay_29_022DC2B8.inc index cba8bf4b..658ce227 100644 --- a/asm/include/overlay_29_022DC240.inc +++ b/asm/include/overlay_29_022DC2B8.inc @@ -1,29 +1,26 @@ #pragma once -.public _020AFC4C -.public _020AFC70 -.public _s32_div_f .public AllocAndLoadFileInPack .public AllocTopScreenStatus .public ChangeGiratinaFormIfSkyDungeon .public ClearHiddenStairs .public CloseFixedBin .public CountItemsOnFloorForAcuteSniffer +.public DIRECTIONS_XY +.public DUNGEON_PTR .public DebugPrint0 .public DeleteAllMonsterSpriteFiles .public DetermineAllTilesWalkableNeighbors -.public DIRECTIONS_XY .public DisplayFloorCard .public DisplayMessage .public DisplayMessage2 .public DrawTeamStats -.public DUNGEON_PTR .public DungeonGoesUp .public DungeonRandInt .public DungeonRngUnsetSecondary .public EnemyEvolution .public EntityIsValid__022E0354 -.public FadeToBlack .public FIXED_ROOM_REVISIT_OVERRIDES +.public FadeToBlack .public FreeLoadedAttackSpriteAndMore .public FreeMapAndTeam .public FreeTeamStats @@ -62,6 +59,36 @@ .public MemFree .public MemZero .public OpenFixedBin +.public Rand16Bit +.public RefillTeam +.public ResetGravity +.public RunFractionalTurn +.public SetBothScreensWindowColorToDefault +.public SetDungeonRngPreseed +.public SetDungeonRngPreseed23Bit +.public SetForcedLossReason +.public SetMaxReachedFloor +.public SetMinimapDataE447 +.public SpawnInitialMonsters +.public SpawnShopkeepers +.public SpawnTeam +.public StartFadeDungeonWrapper +.public TryActivateArtificialWeatherAbilities +.public TryActivateIqBooster +.public TryActivateSlowStart +.public TryActivateWeather +.public TryForcedLoss +.public TryInflictBurnStatusWholeTeam +.public TrySpawnDoughSeedPoke +.public UnloadFile +.public UpdateMinimap +.public UpdateShouldBoostHiddenStairsSpawnChance +.public UpdateShouldBoostKecleonShopSpawnChance +.public UpdateTeamStats +.public UpdateTrapsVisibility +.public _020AFC4C +.public _020AFC70 +.public _s32_div_f .public ov10_022BDAB0 .public ov10_022BDB54 .public ov10_022BDB60 @@ -78,6 +105,7 @@ .public ov10_022C14D0 .public ov10_022C159C .public ov10_022C22A0 +.public ov29_022DC240 .public ov29_022E0434 .public ov29_022E081C .public ov29_022E0DFC @@ -262,20 +290,6 @@ .public ov29_02373690 .public ov29_0237C6D4 .public ov29_0237C714 -.public Rand16Bit -.public RefillTeam -.public ResetGravity -.public RunFractionalTurn -.public SetBothScreensWindowColorToDefault -.public SetDungeonRngPreseed -.public SetDungeonRngPreseed23Bit -.public SetForcedLossReason -.public SetMaxReachedFloor -.public SetMinimapDataE447 -.public SpawnInitialMonsters -.public SpawnShopkeepers -.public SpawnTeam -.public StartFadeDungeonWrapper .public sub_01FF8130 .public sub_01FF81CC .public sub_01FF8C60 @@ -328,16 +342,3 @@ .public sub_02063734 .public sub_02063770 .public sub_02063830 -.public TryActivateArtificialWeatherAbilities -.public TryActivateIqBooster -.public TryActivateSlowStart -.public TryActivateWeather -.public TryForcedLoss -.public TryInflictBurnStatusWholeTeam -.public TrySpawnDoughSeedPoke -.public UnloadFile -.public UpdateMinimap -.public UpdateShouldBoostHiddenStairsSpawnChance -.public UpdateShouldBoostKecleonShopSpawnChance -.public UpdateTeamStats -.public UpdateTrapsVisibility diff --git a/asm/overlay_29_022DC240.s b/asm/overlay_29_022DC2B8.s similarity index 99% rename from asm/overlay_29_022DC240.s rename to asm/overlay_29_022DC2B8.s index 8994ad5a..29087ef4 100644 --- a/asm/overlay_29_022DC240.s +++ b/asm/overlay_29_022DC2B8.s @@ -1,43 +1,8 @@ .include "asm/macros.inc" - .include "overlay_29_022DC240.inc" + .include "overlay_29_022DC2B8.inc" .text - arm_func_start ov29_022DC240 -ov29_022DC240: ; 0x022DC240 - stmdb sp!, {r4, lr} - ldr r1, _022DC2B0 ; =0x0001963C - mov r4, r0 - bl MemZero - ldr r0, _022DC2B4 ; =0x0001962A - mov r2, #0 - strh r2, [r4, r0] - add r1, r0, #2 - strh r2, [r4, r1] - add r1, r0, #4 - mov r2, #0x100 - strh r2, [r4, r1] - add r1, r0, #6 - mov r2, #0xc0 - strh r2, [r4, r1] - add r1, r0, #8 - mov r2, #0x40 - strh r2, [r4, r1] - add r1, r0, #0xa - mov r2, #0x18 - strh r2, [r4, r1] - add r1, r0, #0xc - mov r2, #4 - strh r2, [r4, r1] - add r0, r0, #0xe - mov r1, #8 - strh r1, [r4, r0] - ldmia sp!, {r4, pc} - .align 2, 0 -_022DC2B0: .word 0x0001963C -_022DC2B4: .word 0x0001962A - arm_func_end ov29_022DC240 - arm_func_start ov29_022DC2B8 ov29_022DC2B8: ; 0x022DC2B8 stmdb sp!, {r3, lr} diff --git a/include/overlay_29_022DC240.h b/include/overlay_29_022DC240.h new file mode 100644 index 00000000..a1fff7ee --- /dev/null +++ b/include/overlay_29_022DC240.h @@ -0,0 +1,23 @@ +#ifndef PMDSKY_OVERLAY_29_022DC240_H +#define PMDSKY_OVERLAY_29_022DC240_H + +struct unk_ov29_022DC240_t { + char unk0[0x1962a]; + + struct unk_ov29_022DC240_1962a_t { + short unk0; + short unk2; + short unk4; + short unk6; + short unk8; + short unka; + short unkc; + short unke; + } unk1962a; + + short unk1963a; +}; + +void ov29_022DC240(struct unk_ov29_022DC240_t *param0); + +#endif //PMDSKY_OVERLAY_29_022DC240_H diff --git a/main.lsf b/main.lsf index c1c9d44b..9b22efb3 100644 --- a/main.lsf +++ b/main.lsf @@ -181,7 +181,8 @@ Overlay OVY_28 Overlay OVY_29 { After OVY_10 - Object asm/overlay_29_022DC240.o + Object src/overlay_29_022DC240.o + Object asm/overlay_29_022DC2B8.o Object src/overlay_29_022E0354.o Object asm/overlay_29_022E0378.o Object src/overlay_29_022E1A1C.o diff --git a/src/overlay_29_022DC240.c b/src/overlay_29_022DC240.c new file mode 100644 index 00000000..c5d3359a --- /dev/null +++ b/src/overlay_29_022DC240.c @@ -0,0 +1,16 @@ +#include "overlay_29_022DC240.h" + +extern void MemZero(void* ptr, u32 len); + +void ov29_022DC240(struct unk_ov29_022DC240_t *param0) +{ + MemZero(param0, sizeof(struct unk_ov29_022DC240_t)); + param0->unk1962a.unk0 = 0; + param0->unk1962a.unk2 = 0; + param0->unk1962a.unk4 = 0x100; + param0->unk1962a.unk6 = 0xc0; + param0->unk1962a.unk8 = 0x40; + param0->unk1962a.unka = 0x18; + param0->unk1962a.unkc = 0x4; + param0->unk1962a.unke = 0x8; +}