Decomped CanThrowItems

This commit is contained in:
AnonymousRandomPerson
2025-05-21 23:19:57 -04:00
parent f5b1d26394
commit d552f1dee5
9 changed files with 2835 additions and 2824 deletions

View File

@@ -1,83 +1,2 @@
#pragma once
.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 _020B09C8
.public _020B09D0
.public _020B12F4_EU
.public _020B1308_EU
.public _s32_div_f
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FemaleToMaleForm
.public FORBIDDEN_FORGOT_MOVE_LIST
.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 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 LoadMonsterMd
.public MemAlloc
.public MemFree
.public MONSTER_DATA_TABLE_PTR
.public PointsToZero
.public Rand16Bit
.public RandIntSafe
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public SprintfStatic__02052418
.public StrcpyName
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.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 TEAM_MEMBER_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public vsprintf
.public ZInit8

View File

@@ -0,0 +1,84 @@
#pragma once
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FORBIDDEN_FORGOT_MOVE_LIST
.public FemaleToMaleForm
.public GetBaseHp
.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 MONSTER_DATA_TABLE_PTR
.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 _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

File diff suppressed because it is too large Load Diff

2728
asm/main_0205297C.s Normal file

File diff suppressed because it is too large Load Diff

8
include/main_02052950.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_MAIN_02052950_H
#define PMDSKY_MAIN_02052950_H
#include "util.h"
bool8 CanThrowItems(s16 monster_id);
#endif //PMDSKY_MAIN_02052950_H

View File

@@ -6,7 +6,9 @@
struct monster_data {
u8 fill0[0x16];
enum mobility_type mobility_type;
u8 fill17[0x2D];
u8 fill17[0x3];
u8 can_throw_items;
u8 fill1b[0x29];
};
struct monster_data_table {

View File

@@ -43,6 +43,8 @@ Static main
Object asm/main_02051098.o
Object src/main_02052874.o
Object asm/main_02052890.o
Object src/main_02052950.o
Object asm/main_0205297C.o
Object src/main_02054BE0.o
Object asm/main_02054C24.o
Object src/pokemon.o

View File

@@ -1,6 +1,5 @@
#include "dungeon_logic_2.h"
extern bool8 CanThrowItems(s16 monster_id);
#include "main_02052950.h"
bool8 MonsterCanThrowItems(struct monster *monster)
{

9
src/main_02052950.c Normal file
View File

@@ -0,0 +1,9 @@
#include "main_02052950.h"
#include "monster_data.h"
extern struct monster_data_table *MONSTER_DATA_TABLE_PTR;
bool8 CanThrowItems(s16 monster_id)
{
return MONSTER_DATA_TABLE_PTR->entries[monster_id].can_throw_items & 0x20 ? TRUE : FALSE;
}