Decomped PosIsOutOfBounds

Decomped by @DizzyEggg
This commit is contained in:
AnonymousRandomPerson 2024-12-16 23:47:45 -05:00
parent 56f62a198b
commit f0b49548c3
9 changed files with 4847 additions and 4788 deletions

View File

@ -1,159 +1,89 @@
#pragma once
.public CORNER_CARDINAL_NEIGHBOR_IS_OPEN
.public ConvertWallsToChasms
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonRandInt
.public DungeonRandRange
.public GenerateSecondaryTerrainFormations
.public GetFinalKecleonShopSpawnChance
.public GetFloorType
.public GetHiddenStairsType
.public GetKecleonIdToSpawnByFloor
.public GetLeader
.public GetNextFixedRoomAction
.public GetTile
.public GetTileSafe
.public GetTrapInfo
.public HIDDEN_STAIRS_SPAWN_BLOCKED
.public HandleSir0Translation
.public InitRender3dElement64
.public IsCurrentMissionType
.public IsCurrentMissionTypeExact
.public IsCurrentTilesetBackground
.public IsDestinationFloorWithMonster
.public IsExperienceLocked
.public IsGoldenChamber
.public IsHiddenStairsFloor
.public IsOutlawMonsterHouseFloor
.public IsSecretBazaar
.public LoadFixedRoomData
.public LoadWteFromFileDirectory
.public LogMessageByIdWithPopupCheckUser
.public MAP_COLOR_TABLE
.public MarkEnemySpawns
.public MarkNonEnemySpawns
.public MarkShopkeeperSpawn
.public MemZero
.public Memcpy32
.public MultiplyByFixedPoint
.public PlaceFixedRoomTile
.public PlayEffectAnimationPos
.public PosIsOutOfBounds
.public ProcessWte
.public ResetHiddenStairsSpawn
.public ResetImportantSpawnPositions
.public ResetInnerBoundaryTileRows
.public SECONDARY_TERRAIN_TYPES
.public ShouldMinimapDisplayEntity
.public StairsAlwaysReachable
.public TILESET_PROPERTIES
.public TeamMemberHasExclusiveItemEffectActive
.public UnloadFile
.public UpdateTrapsVisibility
.public _020AFC4C
.public _020AFC70
.public _s32_div_f
.public abs
.public CORNER_CARDINAL_NEIGHBOR_IS_OPEN
.public CountStickyItemsInBag
.public DetermineAllTilesWalkableNeighbors
.public DIRECTIONS_XY
.public DirectoryFileMngr_OpenDirectoryFile
.public DUNGEON_PTR
.public DungeonRand16Bit
.public DungeonRandInt
.public DungeonRandRange
.public DungeonRngSetPrimary
.public DungeonRngSetSecondary
.public EntityIsValid__02344AF8
.public FIRST_DUNGEON_WITH_MONSTER_HOUSE_TRAPS
.public FIXED_ROOM_DATA_PTR
.public FIXED_ROOM_ENTITY_SPAWN_TABLE
.public FIXED_ROOM_MONSTER_SPAWN_STATS_TABLE
.public GenerateCleanItem
.public GenerateStandardItem
.public GetActiveTeamMember
.public GetDungeonMode
.public GetExclusiveItem
.public GetExplorerMazeMonster
.public GetFloorType
.public GetItemCategoryVeneer
.public GetKecleonIdToSpawnByFloor
.public GetLeader
.public GetMissionEnemyMinionGroup
.public GetMissionTargetEnemy
.public GetMoneyCarried
.public GetMonsterIdFromSpawnEntry
.public GetMonsterLevelToSpawn
.public GetOutlawLeaderLevel
.public GetOutlawLevel
.public GetOutlawMinionLevel
.public GetPerformanceFlagWithChecks
.public GetSpecialTargetItem
.public GetTile
.public GetTileSafe
.public GetTrapInfo
.public HandleSir0Translation
.public HIDDEN_STAIRS_SPAWN_BLOCKED
.public HIDDEN_STAIRS_SPAWN_CHANCE_MULTIPLIER
.public InitOtherMonsterData
.public InitRender3dElement64
.public InitStandardItem
.public IsBagFull
.public IsCurrentMissionType
.public IsCurrentMissionTypeExact
.public IsCurrentTilesetBackground
.public IsDestinationFloor
.public IsDestinationFloorWithMonster
.public IsExperienceLocked
.public IsFullFloorFixedRoom
.public IsGoldenChamber
.public IsItemInBag
.public IsOutlawMonsterHouseFloor
.public IsSecretBazaar
.public IsTreasureBox
.public KECLEON_SHOP_BOOST_CHANCE_MULTIPLIER
.public LoadFileFromRom
.public LoadScriptVariableValue
.public LoadWteFromFileDirectory
.public LogMessageByIdWithPopupCheckUser
.public MAP_COLOR_TABLE
.public MarkShopkeeperSpawn
.public MemAlloc
.public Memcpy32
.public MemFree
.public MemZero
.public MONSTER_HOUSE_MAX_MONSTER_SPAWNS
.public MONSTER_HOUSE_MAX_NON_MONSTER_SPAWNS
.public MultiplyByFixedPoint
.public ov10_022BFD20
.public ov10_022C4B34
.public ov10_022C6326
.public ov10_022C6C74
.public ov10_022C6C75
.public ov10_022C6C76
.public ov10_022C6C77
.public ov10_022C6C78
.public ov10_022C6C79
.public ov29_022DE288
.public ov29_022E2418
.public ov29_022E3580
.public ov29_022E6694
.public ov29_022E7BB8
.public ov29_022E7BD0
.public ov29_022E7F7C
.public ov29_022EA370
.public ov29_022EA408
.public ov29_022EFAE8
.public ov29_022EFB20
.public ov29_022EFB84
.public ov29_022F05B4
.public ov29_022F05E4
.public ov29_022F0604
.public ov29_022F0618
.public ov29_022F062C
.public ov29_022F0654
.public ov29_022F067C
.public ov29_022F0780
.public ov29_022F07BC
.public ov29_022F07D8
.public ov29_022F0848
.public ov29_023365E8
.public ov29_02336694
.public ov29_02344B9C
.public ov29_02345004
.public ov29_02348BE8
.public ov29_0234B09C
.public ov29_0234B1A4
.public ov29_0234C738
.public ov29_023502F0
.public ov29_023502F4
.public ov29_0234217C
.public ov29_02342594
.public ov29_023427E4
.public ov29_02343DC4
.public ov29_02343DD8
.public ov29_02352F1C
.public ov29_02352F40
.public ov29_02352F7C
.public ov29_02352FCC
.public ov29_02352FF4
.public ov29_02353030
.public ov29_02353050
.public ov29_02353110
.public ov29_023534F0
.public ov29_0235352C
.public ov29_0235372C
.public ov29_02353730
.public ov29_0235376C
.public ov29_0235377C
.public ov29_02353784
.public ov29_02353798
.public ov29_0237CACC
.public ov29_0237CD40
.public ov29_0237CFB8
.public ov29_0237CFBC
.public ov29_0237CFC0
.public ov29_0237CFFC
.public PlayEffectAnimationPos
.public PointsToZero
.public ProcessWte
.public SECONDARY_TERRAIN_TYPES
.public SetMonsterLevelAndId
.public SetShouldBoostHiddenStairsSpawnChance
.public SetShouldBoostKecleonShopSpawnChance
.public SHOP_ITEM_CHANCES
.public ShouldBoostHiddenStairsSpawnChance
.public ShouldBoostKecleonShopSpawnChance
.public ShouldMinimapDisplayEntity
.public SpawnEnemyTrapAtPos
.public SpawnItem
.public SpawnMonster
.public StartFadeDungeonWrapper
.public sub_020018D0
.public sub_0200A174
.public sub_0200B330
@ -165,11 +95,3 @@
.public sub_0204AEA0
.public sub_0204AEC0
.public sub_0204AF30
.public sub_02056880
.public SubstitutePlaceholderStringTags
.public TeamMemberHasExclusiveItemEffectActive
.public TILESET_PROPERTIES
.public TREASURE_BOX_1_ITEM_IDS
.public UnloadFile
.public UpdateTrapsVisibility
.public ZInit8

View File

@ -0,0 +1,122 @@
#pragma once
.public CountStickyItemsInBag
.public DUNGEON_PTR
.public DetermineAllTilesWalkableNeighbors
.public DungeonRand16Bit
.public DungeonRandInt
.public DungeonRandRange
.public DungeonRngSetPrimary
.public DungeonRngSetSecondary
.public EntityIsValid__02344AF8
.public FIRST_DUNGEON_WITH_MONSTER_HOUSE_TRAPS
.public FIXED_ROOM_DATA_PTR
.public FIXED_ROOM_ENTITY_SPAWN_TABLE
.public FIXED_ROOM_MONSTER_SPAWN_STATS_TABLE
.public GenerateCleanItem
.public GenerateStandardItem
.public GetActiveTeamMember
.public GetDungeonMode
.public GetExclusiveItem
.public GetExplorerMazeMonster
.public GetFloorType
.public GetItemCategoryVeneer
.public GetMissionEnemyMinionGroup
.public GetMissionTargetEnemy
.public GetMoneyCarried
.public GetMonsterIdFromSpawnEntry
.public GetMonsterLevelToSpawn
.public GetOutlawLeaderLevel
.public GetOutlawLevel
.public GetOutlawMinionLevel
.public GetPerformanceFlagWithChecks
.public GetSpecialTargetItem
.public GetTile
.public GetTileSafe
.public HIDDEN_STAIRS_SPAWN_BLOCKED
.public HIDDEN_STAIRS_SPAWN_CHANCE_MULTIPLIER
.public HandleSir0Translation
.public InitOtherMonsterData
.public InitStandardItem
.public InitializeTile
.public IsBagFull
.public IsCurrentMissionType
.public IsDestinationFloor
.public IsFullFloorFixedRoom
.public IsGoldenChamber
.public IsItemInBag
.public IsSecretBazaar
.public IsSecretRoom
.public IsTreasureBox
.public KECLEON_SHOP_BOOST_CHANCE_MULTIPLIER
.public LoadFileFromRom
.public LoadScriptVariableValue
.public LogMessageByIdWithPopupCheckUser
.public MONSTER_HOUSE_MAX_MONSTER_SPAWNS
.public MONSTER_HOUSE_MAX_NON_MONSTER_SPAWNS
.public MemAlloc
.public MemFree
.public MemZero
.public MultiplyByFixedPoint
.public PointsToZero
.public PosIsOutOfBounds
.public SHOP_ITEM_CHANCES
.public SetMonsterLevelAndId
.public SetShouldBoostHiddenStairsSpawnChance
.public SetShouldBoostKecleonShopSpawnChance
.public ShouldBoostHiddenStairsSpawnChance
.public ShouldBoostKecleonShopSpawnChance
.public SpawnEnemyTrapAtPos
.public SpawnItem
.public SpawnMonster
.public StartFadeDungeonWrapper
.public SubstitutePlaceholderStringTags
.public TREASURE_BOX_1_ITEM_IDS
.public UnloadFile
.public UpdateMinimap
.public UpdateTrapsVisibility
.public ZInit8
.public _s32_div_f
.public abs
.public ov10_022C4B34
.public ov10_022C6C74
.public ov10_022C6C75
.public ov10_022C6C76
.public ov10_022C6C77
.public ov10_022C6C78
.public ov10_022C6C79
.public ov29_022E6694
.public ov29_022E7BB8
.public ov29_022E7BD0
.public ov29_022EA370
.public ov29_022EFB20
.public ov29_022EFB84
.public ov29_022F05B4
.public ov29_022F05E4
.public ov29_022F0604
.public ov29_022F0618
.public ov29_022F062C
.public ov29_022F0654
.public ov29_022F067C
.public ov29_022F0780
.public ov29_022F07BC
.public ov29_022F07D8
.public ov29_022F0848
.public ov29_023365E8
.public ov29_02336694
.public ov29_02344B9C
.public ov29_02345004
.public ov29_02348BE8
.public ov29_0234B09C
.public ov29_0234B1A4
.public ov29_0234C738
.public ov29_023502F0
.public ov29_023502F4
.public ov29_02353030
.public ov29_02353050
.public ov29_02353110
.public ov29_023534F0
.public ov29_02353798
.public ov29_0237CFBC
.public ov29_0237CFC0
.public ov29_0237CFFC
.public sub_02056880

View File

@ -40977,6 +40977,7 @@ _02054B6C: .word 0x000001CD
_02054B70: .word 0xFFFFFBDC
arm_func_end IsCherrim
; https://decomp.me/scratch/IvDKt
arm_func_start IsDeoxys
IsDeoxys: ; 0x02054B74
ldr r1, _02054BA0 ; =0xFFFFFE5E

File diff suppressed because it is too large Load Diff

4638
asm/overlay_29_02340CE4.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@
#define MAX_TEAM_MEMBERS 4
#define DUNGEON_MAX_POKEMON 20
#define DUNGEON_MAX_SIZE_X 56
#define DUNGEON_MAX_SIZE_Y 32
// Dungeon state
struct dungeon {

View File

@ -0,0 +1,9 @@
#ifndef PMDSKY_OVERLAY_29_02340CAC_H
#define PMDSKY_OVERLAY_29_02340CAC_H
#include "util.h"
// Checks if a position (x, y) is out of bounds on the map: !((0 <= x <= 55) && (0 <= y <= 31)).
bool8 PosIsOutOfBounds(s32 x, s32 y);
#endif //PMDSKY_OVERLAY_29_02340CAC_H

View File

@ -364,6 +364,8 @@ Overlay OVY_29
Object asm/overlay_29_02338560.o
Object src/overlay_29_02338604.o
Object asm/overlay_29_0233861C.o
Object src/overlay_29_02340CAC.o
Object asm/overlay_29_02340CE4.o
Object src/overlay_29_02344AF8.o
Object asm/overlay_29_02344B1C.o
Object src/overlay_29_02345698.o

15
src/overlay_29_02340CAC.c Normal file
View File

@ -0,0 +1,15 @@
#include "overlay_29_02340CAC.h"
#include "dungeon.h"
bool8 PosIsOutOfBounds(s32 x, s32 y)
{
if (x < 0)
return TRUE;
if (y < 0)
return TRUE;
if (DUNGEON_MAX_SIZE_X <= x)
return TRUE;
if (DUNGEON_MAX_SIZE_Y <= y)
return TRUE;
return FALSE;
}