mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-25 15:46:18 -05:00
merge dungeon util and code_8045A00
This commit is contained in:
parent
1af147eb11
commit
c98a145e0e
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user