merge dungeon util and code_8045A00

This commit is contained in:
DizzyEggg 2025-03-30 10:39:20 +02:00
parent 1af147eb11
commit c98a145e0e
44 changed files with 81 additions and 133 deletions

View File

@ -1,10 +0,0 @@
#ifndef GUARD_CODE_8045A00_H
#define GUARD_CODE_8045A00_H
#include "structs/dungeon_entity.h"
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3);
void sub_8045ACC(void);
#endif // GUARD_CODE_8045A00_H

View File

@ -33,5 +33,7 @@ bool8 CanTargetEntity(Entity *entity, Entity *targetEntity);
bool8 sub_8045A70(Entity *entity, Entity *targetEntity);
bool8 sub_8045AAC(Entity *entity, DungeonPos *pos);
bool8 CanTargetPosition(Entity *entity, DungeonPos *pos);
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3);
void sub_8045ACC(void);
#endif // GUARD_DUNGEON_UTIL_H

View File

@ -210,7 +210,6 @@ SECTIONS {
src/dungeon_action.o(.text);
src/code_8044CC8.o(.text);
src/dungeon_util.o(.text);
src/code_8045A00.o(.text);
src/dungeon_items.o(.text);
asm/code_8046CE4.o(.text);
src/code_8048480.o(.text);

View File

@ -6,7 +6,6 @@
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "dungeon.h"
#include "dungeon_engine.h"

View File

@ -1,85 +1,3 @@
#include "global.h"
#include "code_8045A00.h"
#include "constants/item.h"
#include "dungeon_items.h"
#include "dungeon_map_access.h"
#include "dungeon_random.h"
#include "dungeon_util.h"
#include "dungeon_leader.h"
#include "dungeon_message.h"
#include "dungeon_music.h"
#include "dungeon_map.h"
#include "dungeon_ai_targeting.h"
#include "string_format.h"
#include "items.h"
#include "trap.h"
#include "status_checks_1.h"
#include "structs/map.h"
#include "structs/str_dungeon.h"
void sub_8045BF8(u8 *, Item *);
extern u8 *gUnknown_80FE6F4[];
void sub_8045ACC(void)
{
Entity *entity;
s32 index;
s32 pokeCount;
pokeCount = 0;
for(index = 0; index < MAX_TEAM_MEMBERS; index++)
{
entity = gDungeon->teamPokemon[index];
if (EntityIsValid(entity)) {
gDungeon->activePokemon[pokeCount] = entity;
pokeCount++;
}
}
for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++)
{
entity = gDungeon->wildPokemon[index];
if (EntityIsValid(entity)) {
gDungeon->activePokemon[pokeCount] = entity;
pokeCount++;
}
}
for (; pokeCount < DUNGEON_MAX_POKEMON; pokeCount++) {
gDungeon->activePokemon[pokeCount] = NULL;
}
}
s32 GetTeamMemberEntityIndex(Entity *pokemon)
{
Entity *entity;
s32 index;
for(index = 0; index < MAX_TEAM_MEMBERS; index++)
{
entity = gDungeon->teamPokemon[index];
if (pokemon == entity)
return index;
}
return -1;
}
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3)
{
switch(GetEntityType(entity))
{
case ENTITY_MONSTER:
SetMessageArgument_2(buffer, GetEntInfo(entity), param_3);
break;
case ENTITY_ITEM:
sub_8045BF8(buffer, GetItemData_1(entity));
break;
case ENTITY_TRAP:
GetTrapName(buffer, GetTrapData_1(entity)->id);
break;
default:
strcpy(buffer, *gUnknown_80FE6F4);
break;
}
}

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -7,7 +7,6 @@
#include "code_803E724.h"
#include "code_8041AD0.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_8066D04.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"

View File

@ -14,7 +14,6 @@
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "code_805D8C8.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"

View File

@ -10,7 +10,6 @@
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "code_805D8C8.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"

View File

@ -16,7 +16,6 @@
#include "number_util.h"
#include "status.h"
#include "dungeon_random.h"
#include "code_8045A00.h"
#include "dungeon_items.h"
#include "structs/str_damage.h"
#include "dungeon_util.h"

View File

@ -5,7 +5,6 @@
#include "dungeon_misc.h"
#include "code_80118A4.h"
#include "code_803E668.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"

View File

@ -6,7 +6,6 @@
#include "dungeon_leader.h"
#include "dungeon_message.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "code_8077274_1.h"
#include "constants/dungeon.h"
#include "dungeon_map_access.h"

View File

@ -4,7 +4,6 @@
#include "status.h"
#include "weather.h"
#include "dungeon_ai_targeting.h"
#include "code_8045A00.h"
#include "dungeon_capabilities.h"
#include "structs/dungeon_entity.h"
#include "structs/map.h"

View File

@ -1,6 +1,5 @@
#include "global.h"
#include "code_803E46C.h"
#include "code_8045A00.h"
#include "dungeon_map_access.h"
#include "dungeon_message.h"
#include "code_805D8C8.h"

View File

@ -2,7 +2,6 @@
#include "constants/ability.h"
#include "constants/weather.h"
#include "code_803E46C.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "dungeon_misc.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "constants/ability.h"
#include "constants/type.h"

View File

@ -24,7 +24,6 @@
#include "dungeon_random.h"
#include "code_805D8C8.h"
#include "code_803E668.h"
#include "code_8045A00.h"
#include "dungeon_items.h"
#include "move_util.h"
#include "moves.h"

View File

@ -2,7 +2,6 @@
#include "dungeon_ai.h"
#include "code_803E668.h"
#include "code_803E724.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_808417C.h"

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "dungeon_ai_attack.h"
#include "dungeon_move_util.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "constants/direction.h"

View File

@ -4,7 +4,6 @@
#include "code_803E46C.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "code_8066D04.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"

View File

@ -5,7 +5,6 @@
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_8045A00.h"
#include "code_80861A8.h"
#include "code_806CD90.h"
#include "code_80869E4.h"

View File

@ -3,7 +3,6 @@
#include "dungeon_items.h"
#include "code_803E668.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "code_80861A8.h"
#include "code_80869E4.h"
#include "dungeon_capabilities.h"

View File

@ -17,7 +17,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_8066D04.h"
#include "code_806CD90.h"
#include "dungeon_action.h"

View File

@ -15,7 +15,6 @@
#include "items.h"
#include "dungeon_music.h"
#include "dungeon_ai_movement.h"
#include "code_8045A00.h"
#include "string_format.h"
#include "code_803E46C.h"
#include "code_803E724.h"

View File

@ -5,7 +5,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "dungeon_action.h"
#include "dungeon_leader.h"
#include "dungeon_main.h"

View File

@ -4,7 +4,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_8097DD0.h"
#include "dungeon.h"
#include "dungeon_action.h"

View File

@ -3,7 +3,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_8097DD0.h"
#include "dungeon.h"
#include "dungeon_action.h"

View File

@ -11,7 +11,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8097DD0.h"
#include "dungeon_action.h"

View File

@ -3,7 +3,6 @@
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8044CC8.h"
#include "code_8045A00.h"
#include "code_8097DD0.h"
#include "dungeon.h"
#include "dungeon_action.h"

View File

@ -10,7 +10,6 @@
#include "code_803E46C.h"
#include "code_803E668.h"
#include "code_803E724.h"
#include "code_8045A00.h"
#include "dungeon.h"
#include "dungeon_leader.h"
#include "dungeon_map.h"

View File

@ -11,7 +11,6 @@
#include "moves.h"
#include "string_format.h"
#include "friend_area.h"
#include "code_8045A00.h"
#include "code_803E668.h"
#include "dungeon_engine.h"
#include "move_effects_target.h"

View File

@ -15,7 +15,6 @@
#include "code_803E668.h"
#include "code_803E724.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -14,7 +14,6 @@
#include "code_803E668.h"
#include "code_803E724.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "dungeon_pokemon_attributes.h"
#include "dungeon_message.h"
#include "code_8045A00.h"
#include "constants/ability.h"
#include "constants/dungeon.h"
#include "constants/iq_skill.h"

View File

@ -2,7 +2,6 @@
#include "globaldata.h"
#include "structs/str_dungeon.h"
#include "code_800F958.h"
#include "code_8045A00.h"
#include "code_805D8C8.h"
#include "code_806CD90.h"
#include "dungeon_items.h"

View File

@ -2,25 +2,40 @@
#include "dungeon_util.h"
#include "structs/str_dungeon.h"
#include "structs/str_traps.h"
#include "structs/map.h"
#include "code_800F958.h"
#include "code_8041AD0.h"
#include "code_8069E0C.h"
#include "code_807E5AC.h"
#include "dungeon_items.h"
#include "dungeon_map_access.h"
#include "dungeon_util.h"
#include "code_803E724.h"
#include "dungeon_range.h"
#include "pokemon.h"
#include "code_805D8C8.h"
#include "constants/status.h"
#include "constants/item.h"
#include "dungeon_pokemon_attributes.h"
#include "dungeon_random.h"
#include "dungeon_util.h"
#include "dungeon_leader.h"
#include "dungeon_message.h"
#include "dungeon_music.h"
#include "dungeon_map.h"
#include "dungeon_ai_targeting.h"
#include "string_format.h"
#include "items.h"
#include "trap.h"
#include "status_checks_1.h"
extern u8 gUnknown_202EE70[MAX_TEAM_BODY_SIZE];
extern u8 gUnknown_202EE76[DUNGEON_MAX_WILD_POKEMON_BODY_SIZE];
extern const u8 *gUnknown_80FE6F4[];
extern void sub_8045ACC(void);
extern s32 GetMonsterApparentID(Entity *pokemon, s32 id);
extern void sub_8045BF8(u8 *, Item *);
const DungeonPos gAdjacentTileOffsets[] = {
{0, 1},
@ -557,3 +572,66 @@ bool8 CanTargetPosition(Entity *entity, DungeonPos *pos)
{
return IsPositionInSight(&entity->pos, pos);
}
void sub_8045ACC(void)
{
Entity *entity;
s32 index;
s32 pokeCount;
pokeCount = 0;
for(index = 0; index < MAX_TEAM_MEMBERS; index++)
{
entity = gDungeon->teamPokemon[index];
if (EntityIsValid(entity)) {
gDungeon->activePokemon[pokeCount] = entity;
pokeCount++;
}
}
for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++)
{
entity = gDungeon->wildPokemon[index];
if (EntityIsValid(entity)) {
gDungeon->activePokemon[pokeCount] = entity;
pokeCount++;
}
}
for (; pokeCount < DUNGEON_MAX_POKEMON; pokeCount++) {
gDungeon->activePokemon[pokeCount] = NULL;
}
}
s32 GetTeamMemberEntityIndex(Entity *pokemon)
{
Entity *entity;
s32 index;
for(index = 0; index < MAX_TEAM_MEMBERS; index++)
{
entity = gDungeon->teamPokemon[index];
if (pokemon == entity)
return index;
}
return -1;
}
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3)
{
switch(GetEntityType(entity))
{
case ENTITY_MONSTER:
SetMessageArgument_2(buffer, GetEntInfo(entity), param_3);
break;
case ENTITY_ITEM:
sub_8045BF8(buffer, GetItemData_1(entity));
break;
case ENTITY_TRAP:
GetTrapName(buffer, GetTrapData_1(entity)->id);
break;
default:
strcpy(buffer, *gUnknown_80FE6F4);
break;
}
}

View File

@ -1,6 +1,5 @@
#include "global.h"
#include "move_effects_target.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"

View File

@ -3,7 +3,6 @@
#include "dungeon_move_util.h"
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -3,7 +3,6 @@
#include "dungeon_move_util.h"
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -2,7 +2,6 @@
#include "globaldata.h"
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"

View File

@ -2,7 +2,6 @@
#include "globaldata.h"
#include "status_actions.h"
#include "dungeon_move_util.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "dungeon_move.h"
#include "code_806CD90.h"

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "status.h"
#include "code_803E46C.h"
#include "code_8045A00.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_808417C.h"

View File

@ -2,7 +2,6 @@
#include "status_checks.h"
#include "dungeon_util.h"
#include "dungeon_move_util.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "constants/direction.h"

View File

@ -3,7 +3,6 @@
#include "code_803E668.h"
#include "code_803E724.h"
#include "code_8041AD0.h"
#include "code_8045A00.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"