Decomped GetMobilityType

This commit is contained in:
AnonymousRandomPerson
2025-05-10 23:39:51 -04:00
parent e966925e00
commit 6eaeeae7ca
12 changed files with 2997 additions and 2952 deletions

View File

@@ -6,7 +6,7 @@
.public _02099784
.public _02099E44
.public _020A2CF8
.public _020B09B4
.public MONSTER_DATA_TABLE_PTR
.public _0229AFC0
.public _0229AFCC
.public _0229AFE4

View File

@@ -1,14 +1,38 @@
#pragma once
.public ARM9_UNKNOWN_PTR__NA_20A2C84
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
.public AllocateTemp1024ByteBufferFromPool
.public ArrayCopy32
.public ArrayFill32
.public BAG_CAPACITY_TABLE
.public BAG_CAPACITY_TABLE_SPECIAL_EPISODES
.public CopyBitsFrom
.public CopyBitsTo
.public DUNGEON_RESTRICTIONS
.public DecompressAtNormalVeneer
.public DungeonFloorToGroupFloor
.public GetAtSize
.public GetBaseForm
.public GetItemIdFromList
.public GetNbFloorsPlusOne
.public LoadFileFromRom
.public LoadM2nAndN2m
.public MISSION_FLOORS_FORBIDDEN
.public MONSTER_SPRITE_DATA
.public MemAlloc
.public MemFree
.public MemZero
.public RANK_UP_TABLE
.public RandIntSafe
.public StringFromId
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
.public UnloadFile
.public _020A0C68
.public _020A0C69
.public _020A0C6A
.public _020A0C6C
.public _020A0C6E
.public _020A1864
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A20B1
.public _020A2D09
.public _020A31B8
@@ -17,86 +41,15 @@
.public _020A31F4
.public _020A31FC
.public _020A3200
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public _020A45C8_JP
.public _020AFF7C
.public _020AFF80
.public _020AFF88
.public _020B09B0
.public _020B09B4
.public MONSTER_DATA_TABLE_PTR
.public _020B09C0
.public _020B09C8
.public _020B09D0
.public _020B12F4_EU
.public _020B1308_EU
.public _s32_div_f
.public AllocateTemp1024ByteBufferFromPool
.public ARM9_UNKNOWN_PTR__NA_20A2C84
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
.public ArrayCopy32
.public ArrayFill32
.public BAG_CAPACITY_TABLE
.public BAG_CAPACITY_TABLE_SPECIAL_EPISODES
.public CopyBitsFrom
.public CopyBitsTo
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DUNGEON_RESTRICTIONS
.public DungeonFloorToGroupFloor
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FemaleToMaleForm
.public FORBIDDEN_FORGOT_MOVE_LIST
.public GetAtSize
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetItemIdFromList
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNbFloorsPlusOne
.public GetNbMoves
.public GroundToDungeonMoveset
.public HandleSir0Translation
.public HIDDEN_POWER_BASE_POWER_TABLE
.public IsValidTeamMember
.public ItemZInit
.public LEVEL_UP_DATA_DECOMPRESS_BUFFER
.public LEVEL_UP_DATA_MONSTER_ID
.public LoadFileFromRom
.public MemAlloc
.public MemFree
.public MemZero
.public MISSION_FLOORS_FORBIDDEN
.public MONSTER_SPRITE_DATA
.public PointsToZero
.public Rand16Bit
.public RandIntSafe
.public RANK_UP_TABLE
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public StrcpyName
.public StringFromId
.public StrncmpSimple
.public strncpy
.public StrncpyName
.public StrncpySimple
.public sub_01FF8F28
.public sub_0200302C
.public sub_020030FC
.public sub_0200A124
@@ -114,21 +67,4 @@
.public sub_0200B3C0
.public sub_0200B3D4
.public sub_0200B3FC
.public sub_02015090
.public sub_02025304_JP
.public sub_02050FF8
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_020560B8
.public sub_020564B0
.public sub_02056504
.public TEAM_MEMBER_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
.public vsprintf
.public ZInit8

View File

@@ -0,0 +1,83 @@
#pragma once
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FORBIDDEN_FORGOT_MOVE_LIST
.public FemaleToMaleForm
.public GetDexNumber
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetMonsterGender
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNameRaw
.public GetNameString
.public GetNbMoves
.public GetSpriteSize
.public GroundToDungeonMoveset
.public HIDDEN_POWER_BASE_POWER_TABLE
.public HandleSir0Translation
.public IsValidTeamMember
.public ItemZInit
.public LEVEL_UP_DATA_DECOMPRESS_BUFFER
.public LEVEL_UP_DATA_MONSTER_ID
.public LoadFileFromRom
.public LoadMonsterMd
.public MemAlloc
.public MemFree
.public PointsToZero
.public Rand16Bit
.public RandIntSafe
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public SprintfStatic__02052418
.public StrcpyName
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.public TEAM_MEMBER_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public ZInit8
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public MONSTER_DATA_TABLE_PTR
.public _020B09C8
.public _020B09D0
.public _020B12F4_EU
.public _020B1308_EU
.public _s32_div_f
.public sub_01FF8F28
.public sub_02015090
.public sub_02025304_JP
.public sub_02050FF8
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_020560B8
.public sub_020564B0
.public sub_02056504
.public vsprintf

View File

@@ -1666,7 +1666,7 @@ _01FF948C:
mov r0, #0
bx lr
_01FF9494:
ldr r2, _01FF94D0 ; =_020B09B4
ldr r2, _01FF94D0 ; =MONSTER_DATA_TABLE_PTR
mov r3, r0, lsl #0x1f
ldr r2, [r2, #0x14]
mov r0, r0, asr #1
@@ -1682,7 +1682,7 @@ _01FF9494:
bx lr
.align 2, 0
_01FF94CC: .word 0x0000022B
_01FF94D0: .word _020B09B4
_01FF94D0: .word MONSTER_DATA_TABLE_PTR
arm_func_end GetKeyN2M
arm_func_start GetKeyN2MBaseForm
@@ -1743,7 +1743,7 @@ GetKeyM2N: ; 0x01FF9540
_01FF9564:
mov r0, #0
_01FF9568:
ldr r1, _01FF95A4 ; =_020B09B4
ldr r1, _01FF95A4 ; =MONSTER_DATA_TABLE_PTR
mov r2, r0, lsl #0x1f
ldr r3, [r1, #0x1c]
mov r1, r0, asr #1
@@ -1759,7 +1759,7 @@ _01FF9568:
bx lr
.align 2, 0
_01FF95A0: .word 0x00000483
_01FF95A4: .word _020B09B4
_01FF95A4: .word MONSTER_DATA_TABLE_PTR
_01FF95A8: .word 0x000003FF
arm_func_end GetKeyM2N

File diff suppressed because it is too large Load Diff

2822
asm/main_02052890.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -31967,8 +31967,8 @@ ITEM_TABLES_PTRS_1:
.global _020B09B0
_020B09B0:
.byte 0x00, 0x00, 0x00, 0x00
.global _020B09B4
_020B09B4:
.global MONSTER_DATA_TABLE_PTR
MONSTER_DATA_TABLE_PTR:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global _020B09C0
_020B09C0:

8
include/main_02052874.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_MAIN_02052874_H
#define PMDSKY_MAIN_02052874_H
#include "enums.h"
enum mobility_type GetMobilityType(s16 monster_id);
#endif //PMDSKY_MAIN_02052874_H

16
include/monster_data.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef PMDSKY_MONSTER_DATA_TABLE_PTR_H
#define PMDSKY_MONSTER_DATA_TABLE_PTR_H
#include "enums.h"
struct monster_data {
u8 fill0[0x16];
enum mobility_type mobility_type;
u8 fill17[0x2D];
};
struct monster_data_table {
struct monster_data entries[MONSTER_RESERVE_45 + 1];
};
#endif //PMDSKY_MONSTER_DATA_TABLE_PTR_H

View File

@@ -39,6 +39,8 @@ Static main
Object asm/main_02034974.o
Object src/number_util.o
Object asm/main_02051098.o
Object src/main_02052874.o
Object asm/main_02052890.o
Object src/main_02054BE0.o
Object asm/main_02054C24.o
Object src/pokemon.o

View File

@@ -6,14 +6,13 @@
#include "dungeon_statuses.h"
#include "dungeon_util.h"
#include "dungeon_util_static.h"
#include "main_02052874.h"
#include "main_02054BE0.h"
#include "number_util.h"
#include "overlay_29_0231E9F0.h"
#include "targeting.h"
#include "util.h"
extern enum mobility_type GetMobilityType(s16 monster_id);
u32 GetAiUseItemProbability(struct entity *item_consumer, struct item *item, u32 flags)
{
u32 item_weight = 0;

9
src/main_02052874.c Normal file
View File

@@ -0,0 +1,9 @@
#include "main_02052874.h"
#include "monster_data.h"
extern struct monster_data_table *MONSTER_DATA_TABLE_PTR;
enum mobility_type GetMobilityType(s16 monster_id)
{
return MONSTER_DATA_TABLE_PTR->entries[monster_id].mobility_type;
}