fix orb externs / create headers for them

This commit is contained in:
DizzyEggg 2025-08-28 14:44:57 +02:00
parent b224a7d0fd
commit ec436488ac
35 changed files with 127 additions and 78 deletions

View File

@ -1,8 +0,0 @@
#ifndef CODE_807CD9C_H
#define CODE_807CD9C_H
void BlowAwayTarget(Entity *pokemon, Entity *target, u32 direction);
void WarpTarget(Entity *pokemon, Entity *target, u32 param_3, DungeonPos *pos);
void sub_807D3CC(Entity *param_1);
#endif /* ifndef CODE_807CD9C_H */

8
include/drought_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_DROUGHT_ORB_H
#define GUARD_DROUGHT_ORB_H
#include "structs/dungeon_entity.h"
void HandleDroughtOrb(Entity *pokemon, Entity *target);
#endif // GUARD_DROUGHT_ORB_H

9
include/explosion.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef GUARD_EXPLOSION_H
#define GUARD_EXPLOSION_H
#include "structs/str_position.h"
#include "structs/dungeon_entity.h"
void HandleExplosion(Entity *pokemon,Entity *target,DungeonPos *param_3,s32 param_4,u8 moveType,s16 param_6);
#endif // GUARD_EXPLOSION_H

9
include/expose_trap.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef GUARD_EXPOSE_TRAP_H
#define GUARD_EXPOSE_TRAP_H
#include "structs/dungeon_entity.h"
void sub_807D3CC(Entity *param_1);
bool8 ExposeTrap(s32 x,s32 y);
#endif // GUARD_EXPOSE_TRAP_H

8
include/hurl_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_HURL_ORB_H
#define GUARD_HURL_ORB_H
#include "structs/dungeon_entity.h"
void HandleHurlOrb(Entity *target, Entity *attacker);
#endif // GUARD_HURL_ORB_H

8
include/one_room_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_ONE_ROOM_ORB_H
#define GUARD_ONE_ROOM_ORB_H
#include "structs/dungeon_entity.h"
void HandleOneRoomOrb(Entity *pokemon, Entity *target);
#endif // GUARD_ONE_ROOM_ORB_H

8
include/pounce_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_POUNCE_ORB_H
#define GUARD_POUNCE_ORB_H
#include "structs/dungeon_entity.h"
void HandlePounceOrb(Entity *pokemon, Entity *target, u8 r2);
#endif // GUARD_POUNCE_ORB_H

8
include/switcher_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_SWITCHER_ORB_H
#define GUARD_SWITCHER_ORB_H
#include "structs/dungeon_entity.h"
void HandleSwitcherOrb(Entity *pokemon, Entity *target, bool8 unused);
#endif // GUARD_SWITCHER_ORB_H

8
include/trawl_orb.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_TRAWL_ORB_H
#define GUARD_TRAWL_ORB_H
#include "structs/dungeon_entity.h"
void HandleTrawlOrb(Entity *user, Entity *target);
#endif // GUARD_TRAWL_ORB_H

9
include/warp_target.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef GUARD_WARP_TARGET_H
#define GUARD_WARP_TARGET_H
#include "structs/str_position.h"
#include "structs/dungeon_entity.h"
void WarpTarget(Entity *pokemon, Entity *target, u32 param_3, DungeonPos *pos);
#endif // GUARD_WARP_TARGET_H

View File

@ -6,7 +6,6 @@
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -30,6 +29,7 @@
#include "dungeon_damage.h"
#include "dungeon_kecleon_shop.h"
#include "dungeon_engine.h"
#include "warp_target.h"
extern void sub_804EB30();
extern bool8 ExposeTrap(s32 x, s32 y);

View File

@ -10,7 +10,6 @@
#include "code_8066D04.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_jobs.h"
#include "run_dungeon.h"
#include "dungeon_items.h"
@ -42,6 +41,7 @@
#include "dungeon_engine.h"
#include "dungeon_kecleon_shop.h"
#include "dungeon_item_action.h"
#include "warp_target.h"
extern void EnemyEvolution(Entity *);
extern void sub_8057588(Entity * pokemon, u8 param_2);

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "drought_orb.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -26,7 +26,7 @@
#include "dungeon_items.h"
#include "dungeon_strings.h"
void HandleDroughtOrbAction(Entity *pokemon, Entity *target)
void HandleDroughtOrb(Entity *pokemon, Entity *target)
{
s32 x;
s32 y;

View File

@ -10,7 +10,6 @@
#include "code_8066D04.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "run_dungeon.h"
#include "dungeon_items.h"
#include "dungeon_range.h"

View File

@ -8,7 +8,6 @@
#include "code_8066D04.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "constants/dungeon_action.h"
#include "constants/dungeon.h"
#include "constants/iq_skill.h"
@ -32,6 +31,7 @@
#include "dungeon_pos_data.h"
#include "dungeon_engine.h"
#include "dungeon_strings.h"
#include "warp_target.h"
extern u8 gUnknown_202F221;
extern u8 gUnknown_202F222;

View File

@ -40,8 +40,8 @@
#include "random.h"
#include "sprite.h"
#include "exclusive_pokemon.h"
#include "hurl_orb.h"
extern void sub_807F43C(Entity *, Entity *);
extern void sub_8041B18(Entity *pokemon);
extern void sub_8041B90(Entity *pokemon);
extern void sub_8041D00(Entity *pokemon, Entity *target);
@ -124,7 +124,7 @@ void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *
&& GetEntInfo(target)->reflectClassStatus.status == STATUS_VITAL_THROW)
{
sub_8042730(target, attacker);
sub_807F43C(target, attacker);
HandleHurlOrb(target, attacker);
}
if (GetEntInfo(target)->bideClassStatus.status == STATUS_ENRAGED) {

View File

@ -4,7 +4,6 @@
#include "code_8041AD0.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "constants/dungeon_action.h"
#include "constants/dungeon.h"
@ -35,6 +34,7 @@
#include "dungeon_damage.h"
#include "dungeon_strings.h"
#include "dungeon_move.h"
#include "warp_target.h"
extern u32 gUnknown_8106A4C;
extern u32 gUnknown_8106A50;

View File

@ -18,7 +18,6 @@
#include "position_util.h"
#include "dungeon_ai.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "code_805D8C8.h"
#include "dungeon_items.h"
@ -32,6 +31,7 @@
#include "sprite.h"
#include "dungeon_strings.h"
#include "dungeon_engine.h"
#include "warp_target.h"
static void sub_807EFFC(bool8 arg0);
static s32 sub_807F19C(bool8 arg0);

View File

@ -14,7 +14,6 @@
#include "code_8041AD0.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "dungeon_logic.h"
#include "dungeon_config.h"
@ -44,6 +43,7 @@
#include "text_util.h"
#include "dungeon_pos_data.h"
#include "dungeon_engine.h"
#include "warp_target.h"
extern void sub_80429C8(Entity *r0);
extern s16 sub_8057600(Move *move, s32 itemID);

View File

@ -14,7 +14,6 @@
#include "code_8041AD0.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "dungeon_logic.h"
#include "dungeon_config.h"

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "explosion.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -33,8 +33,6 @@ extern void sub_804218C(Entity *pokemon, Entity *target);
static EWRAM_INIT u32 gUnknown_203B444[3] = {0x28, 0x28, 0x50};
void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s32 param_4,s32 param_5);
static const DungeonPos gUnknown_81070E8[] = {
{0, 0},
{0, 1},
@ -83,6 +81,8 @@ static const DungeonPos *const gUnknown_8107178[3] = {
gUnknown_8107110
};
static void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s32 param_4,s32 param_5);
void HandleExplosion(Entity *pokemon,Entity *target,DungeonPos *param_3,s32 param_4,u8 moveType,s16 param_6)
{
bool8 flag;
@ -171,7 +171,7 @@ void HandleExplosion(Entity *pokemon,Entity *target,DungeonPos *param_3,s32 para
}
}
void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s32 param_4,s32 param_5)
static void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s32 param_4,s32 param_5)
{
EntityInfo *targetInfo;
u8 flag;

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "expose_trap.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -26,8 +26,6 @@
#include "dungeon_items.h"
#include "dungeon_strings.h"
bool8 ExposeTrap(s32 x,s32 y);
void sub_807D3CC(Entity *param_1)
{
u32 room;

View File

@ -1,12 +1,12 @@
#include "global.h"
#include "globaldata.h"
#include "hurl_orb.h"
#include "dungeon_vram.h"
#include "code_8041AD0.h"
#include "code_804267C.h"
#include "code_805D8C8.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "constants/ability.h"
#include "constants/monster.h"
#include "constants/type.h"
@ -42,12 +42,11 @@
#include "dungeon_damage.h"
#include "dungeon_kecleon_shop.h"
#include "blow_away.h"
#include "warp_target.h"
extern void sub_806A5B8(Entity *);
static void sub_807F9BC(Entity *entity);
void sub_807F9BC(Entity *entity);
void sub_807F43C(Entity *target, Entity *attacker)
void HandleHurlOrb(Entity *target, Entity *attacker)
{
s32 attackerDirection;
s32 var_3C;
@ -232,7 +231,7 @@ void sub_807F43C(Entity *target, Entity *attacker)
}
}
void sub_807F9BC(Entity *entity)
static void sub_807F9BC(Entity *entity)
{
if (EntityIsValid(entity)) {
EntityInfo *entInfo = GetEntInfo(entity);

View File

@ -6,7 +6,6 @@
#include "dungeon_tilemap.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "constants/ability.h"
#include "constants/status.h"
@ -33,24 +32,12 @@
#include "dungeon_misc.h"
#include "dungeon_strings.h"
#include "dungeon_damage.h"
#include "move_util.h"
extern void sub_806A5B8(Entity *entity);
void sub_8075900(Entity *pokemon, u8 r1);
extern void MudWaterSportEffect(u32);
extern void sub_806A6E8(Entity *);
extern void EndAbilityImmuneStatus(Entity *, Entity *);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
extern void nullsub_92(Entity *);
extern u8 sub_807EAA0(u32, u32);
// move_util.h
extern bool8 sub_805727C(Entity *, Entity *, s32);
bool8 RollSecondaryEffect(Entity *pokemon, s32 chance);
bool8 sub_80571F0(Entity * pokemon, Move *move);
extern s16 sub_8057600(Move *move, s32 itemID);
// Note: For some reason I have to define these as an array of 1 to match asm.
const s32 gUnknown_8106A4C[1] = {0};
const s32 gUnknown_8106A50[1] = {1};

View File

@ -6,7 +6,6 @@
#include "dungeon_tilemap.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "constants/ability.h"
#include "constants/status.h"
@ -34,9 +33,10 @@
#include "dungeon_misc.h"
#include "dungeon_strings.h"
#include "dungeon_damage.h"
#include "warp_target.h"
#include "explosion.h"
extern void EndAbilityImmuneStatus(Entity *, Entity *);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
extern void nullsub_92(Entity *);
extern u8 sub_807EAA0(u32, u32);

View File

@ -5,7 +5,6 @@
#include "dungeon_tilemap.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "constants/ability.h"
#include "constants/move_id.h"
@ -42,13 +41,12 @@
#include "dungeon_pos_data.h"
#include "dungeon_engine.h"
#include "dungeon_kecleon_shop.h"
#include "blow_away.h"
#include "warp_target.h"
static void sub_805A7D4(Entity *, Entity *, Item *, DungeonPos *);
extern void MudWaterSportEffect(u32);
extern void sub_806A6E8(Entity *);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
extern void nullsub_92(Entity *);
extern u8 sub_807EAA0(u32, u32);
extern u32 gUnknown_8106A4C;

View File

@ -8,7 +8,6 @@
#include "dungeon_move.h"
#include "code_806CD90.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "constants/ability.h"
#include "constants/move_id.h"
@ -37,17 +36,18 @@
#include "dungeon_strings.h"
#include "dungeon_damage.h"
#include "dungeon_tilemap.h"
#include "dungeon_spawns.h"
#include "warp_target.h"
#include "expose_trap.h"
#include "one_room_orb.h"
#include "pounce_orb.h"
#include "drought_orb.h"
#include "switcher_orb.h"
#include "trawl_orb.h"
extern void sub_807F43C(Entity *, Entity *);
extern void HandleOneRoomOrb(Entity *, Entity *);
extern void UpdateMinimap(void);
extern void HandleDroughtOrbAction(Entity *);
extern void HandleTrawlOrbAction(Entity *, Entity *);
extern void HandlePounceOrbAction(Entity *, Entity *, s32);
extern s16 GetRandomFloorMonsterId(u32);
extern bool8 sub_806AA0C(s32, u32);
extern void sub_806BB6C(Entity *, s32);
extern void HandleSwitcherOrb(Entity *, Entity *, u32);
extern u32 gUnknown_8106A50;
extern u32 gUnknown_8106A4C;
@ -453,7 +453,7 @@ bool8 ReboundOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_
bool8 SwitcherOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
SetExpMultplier(GetEntInfo(pokemon));
HandleSwitcherOrb(pokemon, target, 1);
HandleSwitcherOrb(pokemon, target, TRUE);
return TRUE;
}
@ -622,13 +622,13 @@ bool8 PetrifyOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_
bool8 PounceOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
HandlePounceOrbAction(pokemon, target, 8);
HandlePounceOrb(pokemon, target, 8);
return TRUE;
}
bool8 TrawlOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
HandleTrawlOrbAction(pokemon, target);
HandleTrawlOrb(pokemon, target);
return TRUE;
}
@ -648,7 +648,7 @@ bool8 EscapeOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4
bool8 DroughtOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
HandleDroughtOrbAction(pokemon);
HandleDroughtOrb(pokemon, target);
return TRUE;
}

View File

@ -15,8 +15,8 @@
#include "status.h"
#include "dungeon_pos_data.h"
#include "dungeon_spawns.h"
#include "hurl_orb.h"
extern void sub_807F43C(Entity *, Entity *);
extern void sub_807FC3C(DungeonPos *, u32, u32);
extern void sub_8042A54(DungeonPos *);
extern void sub_8042A64(DungeonPos *);
@ -101,7 +101,7 @@ bool8 ItemizeOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 HurlOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
sub_807F43C(pokemon, target);
HandleHurlOrb(pokemon, target);
return TRUE;
}

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "one_room_orb.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -25,6 +25,7 @@
#include "dungeon_misc.h"
#include "dungeon_items.h"
#include "dungeon_strings.h"
#include "warp_target.h"
void HandleOneRoomOrb(Entity *pokemon, Entity *target)
{

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "pounce_orb.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -27,8 +27,9 @@
#include "dungeon_strings.h"
#include "dungeon_pos_data.h"
#include "dungeon_kecleon_shop.h"
#include "warp_target.h"
void HandlePounceOrbAction(Entity *pokemon, Entity *target, u8 r2)
void HandlePounceOrb(Entity *pokemon, Entity *target, u8 r2)
{
EntityInfo *info;
const Tile *tile;

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "switcher_orb.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -29,7 +29,7 @@
extern void nullsub_93(DungeonPos *);
void HandleSwitcherOrb(Entity *pokemon,Entity *target)
void HandleSwitcherOrb(Entity *pokemon, Entity *target, bool8 unused)
{
DungeonPos pokemonPos;
DungeonPos targetPos;

View File

@ -5,7 +5,6 @@
#include "code_8041AD0.h"
#include "dungeon_message.h"
#include "code_8077274_1.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "code_806CD90.h"
#include "constants/trap.h"
@ -32,6 +31,9 @@
#include "sprite.h"
#include "dungeon_pos_data.h"
#include "dungeon_damage.h"
#include "warp_target.h"
#include "blow_away.h"
#include "explosion.h"
extern u32 gUnknown_8106A4C;
extern u32 gUnknown_8106A50;
@ -44,7 +46,6 @@ void sub_804225C(Entity *, DungeonPos *, u8);
void EnemyEvolution(Entity *);
void sub_806A1E8(Entity *pokemon);
Entity *sub_8045684(u8, DungeonPos *, u8);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
void sub_807FA18(void)
{

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "trawl_orb.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"
@ -28,7 +28,7 @@
#include "dungeon_pos_data.h"
#include "dungeon_kecleon_shop.h"
void HandleTrawlOrbAction(Entity *user, Entity *target)
void HandleTrawlOrb(Entity *user, Entity *target)
{
Entity itemEntities[25];
Item itemInfo[25];

View File

@ -1,11 +1,11 @@
#include "global.h"
#include "globaldata.h"
#include "warp_target.h"
#include "constants/ability.h"
#include "constants/weather.h"
#include "dungeon_vram.h"
#include "dungeon_message.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "structs/str_dungeon.h"
#include "code_8077274_1.h"
#include "dungeon_ai.h"

View File

@ -21,7 +21,6 @@
#include "position_util.h"
#include "dungeon_ai.h"
#include "code_806CD90.h"
#include "code_807CD9C.h"
#include "dungeon_random.h"
#include "code_805D8C8.h"
#include "dungeon_items.h"