Merge pull request #454 from DizzyEggg/ground_externs

Clean up externs in ground files
This commit is contained in:
Seth Barberee
2025-10-24 08:13:25 -07:00
committed by GitHub
45 changed files with 997 additions and 1075 deletions

View File

@@ -1,17 +1,10 @@
#ifndef GUARD_CODE_8099360_H
#define GUARD_CODE_8099360_H
bool8 sub_8099360(u8 *);
bool8 sub_8099394(u8 *);
void sub_80993C0(bool8);
void sub_80993D8(void);
void sub_80993E4(void);
void sub_8099648(void);
void nullsub_103(void);
void sub_809965C(void);
extern void sub_8099690(u32);
void sub_8099690(u32 param_1);
// code_8099360.s

23
include/code_809D148.h Normal file
View File

@@ -0,0 +1,23 @@
#ifndef GUARD_CODE_809D148_H
#define GUARD_CODE_809D148_H
#include "structs/str_position.h"
void sub_809D0AC(void);
void nullsub_119(void);
void sub_809D0BC(void);
void sub_809D124(s32 r0, s32 r1, s32 r2);
void sub_809D158(s32 r0, const PixelPos *r1);
void sub_809D170(s32 r0, s32 r1);
void sub_809D190(s32 r0, PixelPos *r1, s32 r2);
void sub_809D1A8(s32 r0, s32 r1, s32 r2);
void sub_809D1CC(s32 r0, PixelPos *r1, s32 r2);
void sub_809D1E4(s32 r0, s32 r1, s32 r2);
void sub_809D208(s32 r0, PixelPos *r1, s32 r2);
void sub_809D220(s32 r0, s32 r1, s32 r2);
bool8 sub_809D234(void);
u8 sub_809D248(PixelPos *r0);
void sub_809D25C(void);
void nullsub_120(void);
#endif // GUARD_CODE_809D148_H

View File

@@ -16,10 +16,12 @@ void GetCameraPositionForLayer(GroundBg *groundBg, s32 id, PixelPos *dstPos);
void SetCameraPositionForLayer(GroundBg *groundBg, s32 id, const PixelPos *srcPos);
void sub_80A4580(GroundBg *groundBg, s32 id, PixelPos *pixPos);
void sub_80A4608(GroundBg *groundBg, PixelPos *dstPos);
void GetDungeonBounds(GroundBg *groundBg, PixelPos *dstPos1, PixelPos *dstPos2);
u8 sub_80A4660(GroundBg *groundBg, u8 bits, PixelPos *pixPos1, PixelPos *boundary);
u8 sub_80A46C0(GroundBg *groundBg, u8 bits, PixelPos *pixPos1, PixelPos *boundary);
u16 sub_80A4720(GroundBg *groundBg, s32 id, PixelPos *pixPos);
void sub_80A4740(GroundBg *groundBg, s32 id, PixelPos *pixPos, u32 dstVal);
void sub_80A4764(GroundBg *groundBg);
void sub_80A49E8(GroundBg *groundBg);
void GetDungeonBounds(GroundBg *groundBg, PixelPos *dstPos1, PixelPos *dstPos2);
#endif // GUARD_GROUND_BG_H

23
include/ground_effect.h Normal file
View File

@@ -0,0 +1,23 @@
#ifndef GUARD_GROUND_EFFECT_H
#define GUARD_GROUND_EFFECT_H
#include "structs/str_ground_script.h"
void AllocGroundEffects(void);
void DeleteGroundEffects(void);
void FreeGroundEffects(void);
void GroundEffect_Select(s32 scriptID, s32 group, s32 sector);
void GroundEffect_Cancel(s32 scriptID, s32 sector);
void GroundEffect_CancelBlank(void);
s32 GroundEffect_Add(s32 _id, const GroundEffectData *effectData, s32 _group, s32 _sector);
void sub_80AD0C8(s32 _id, s32 flags);
Action *sub_80AD158(s32 index_);
bool8 GroundEffect_ExecuteScript(s32 index_, ActionUnkIds *a1, ScriptInfoSmall *script);
bool8 GroundEffectsNotifyAll(s32 index_);
bool8 GroundEffectsCancelAll(void);
s16 sub_80AD360(s32 index_, PixelPos *pos);
s16 sub_80AD3B4(s32 index_, PixelPos *pos);
void GroundEffect_Action(void);
void sub_80AD7AC(void);
#endif // GUARD_GROUND_EFFECT_H

View File

@@ -2,7 +2,15 @@
#define GUARD_GROUND_EVENT_H
#include "structs/str_position.h"
#include "structs/str_ground_script.h"
void AllocGroundEvents(void);
void DeleteGroundEvents(void);
void FreeGroundEvents(void);
void GroundEvent_Select(s32 scriptID, s32 group, s32 sector);
void GroundEvent_Cancel(s32 scriptID, s32 sector);
bool8 sub_80ADC64(s32 id, ScriptInfoSmall *dst);
s16 FindGroundEvent(u32 flags, PixelPos *arg1, PixelPos *arg2);
void nullsub_124(void);
#endif // GUARD_GROUND_EVENT_H

View File

@@ -4,11 +4,45 @@
#include "structs/str_position.h"
#include "structs/str_ground_script.h"
#include "structs/str_ground_lives.h"
#include "structs/str_pokemon.h"
#include "structs/str_dungeon_location.h"
// ground_lives.s
void AllocGroundLives(void);
void DeleteGroundLives(void);
void FreeGroundLives(void);
void GroundLives_Select(s32 scriptID, s32 group, s32 sector);
void GroundLives_Cancel(s32 scriptID, s32 sector);
void GroundLives_CancelBlank_1(void);
void GroundLives_CancelBlank_2(void);
s32 sub_80A7AE8(s16);
s32 sub_80A8FD8(s32 id_, PixelPos *pixelPos);
s32 sub_80A7DDC(s16 *a0, s16 *speciesDst);
void sub_80A86C8(s32 id_, u32 flags);
void sub_80A87AC(s32 id_, s32 a1);
bool8 sub_80A87E0(s32 id_, Pokemon *a1);
Action *sub_80A882C(s32 id_);
bool8 GroundLives_ExecuteScript(s32 id_, ActionUnkIds *a1, ScriptInfoSmall *scriptInfo);
bool8 GroundLives_ExecutePlayerScriptActionLives(s32 id1_, s32 id2_);
bool8 GroundLivesNotifyAll(s32 a0_);
bool8 GroundLivesCancelAll(void);
s32 sub_80A8BBC(s32 id_);
s32 sub_80A8BD8(s32 id_, u32 *a1);
s32 sub_80A8BFC(s32 id_);
s32 sub_80A8C2C(s32 a0);
s32 sub_80A8C4C(s32 id_, DungeonLocation *dungLoc);
bool8 GroundLives_IsStarterMon(s32 id_);
bool8 IsStarterMonster(s32 monsterId_);
bool8 sub_80A8D20(void);
Pokemon *sub_80A8D54(s32 a0);
Pokemon *sub_80A8E9C(s32 id_);
void sub_80A8EC0(u8 *buffer, s32 a1);
void sub_80A8F50(u8 *buffer, s32 a1_, s32 size);
s32 sub_80A8F9C(s32 id_, PixelPos *pixelPos);
s32 sub_80A8FD8(s32 id_, PixelPos *pixelPos);
s32 sub_80A9050(s32 id_, s8 *a1);
s32 sub_80A9090(s32 id_, s32 a1_);
s16 GetFriendAreaDialogueId(s32 id_);
s32 GetLivesCollision_80A92A0(s32 id_, u32 flags, PixelPos *pixelPos1, PixelPos *pixelPos2);
void GroundLives_Action(void);
void sub_80ABA7C(void);
#endif // GUARD_GROUND_LIVES_H

View File

@@ -1,18 +1,30 @@
#ifndef GUARD_GROUND_MAIN_H
#define GUARD_GROUND_MAIN_H
#include "structs/str_pokemon.h"
#include "structs/str_wonder_mail.h"
bool8 sub_8098F88(void);
const char *GetCurrentGroundPlaceName(void);
#include "structs/str_dungeon_setup.h"
u32 xxx_script_related_8098468(s32 param_1);
void sub_8098C58(void);
void sub_8098CC8(void);
bool8 GroundMainGroundRequest(s32 r0, s32 r1, s32 r2);
bool8 GroundMainRescueRequest(s32 r0, s32 r1);
bool8 sub_8098D80(u32 speed);
bool8 sub_8098DCC(u32 speed);
bool8 GroundMainRescueRequest(s32 dungeonId_, s32 r1);
bool32 GroundMainGameEndRequest(u32 r0);
bool32 GroundMainGameCancelRequest(u32 r0);
bool8 sub_8098D80(u32 speed);
bool8 sub_8098F88(void);
bool8 GetScriptMode(void);
const char *GetCurrentGroundPlaceName(void);
u8 sub_80990EC(struct DungeonSetupInfo *param_1, s32 param_2);
u8 sub_80991E0(struct DungeonSetupInfo *param_1, s16 *param_2);
void sub_8099220(struct DungeonSetupInfo *param_1, s32 param_2);
void sub_809927C(u8 param_1);
bool8 sub_80992E0(s16 *param_1, s16 *param_2);
bool8 sub_8099328(u8 *);
bool8 sub_8099328(u8 *dungeonId);
bool8 sub_8099360(u8 *dungeonId);
bool8 sub_8099394(u8 *param);
void sub_80993C0(bool8 param);
void sub_80993D8(void);
void sub_80993E4(void);
#endif // GUARD_GROUND_MAIN_H

View File

@@ -2,21 +2,38 @@
#define GUARD_GROUND_MAP_H
#include "structs/str_position.h"
#include "structs/str_ground_script.h"
#include "structs/str_dungeon_location.h"
void GroundMap_Reset(void);
void AllocGroundMapAction(void);
void FreeGroundMapAction(void);
void GroundMap_Reset(void);
void sub_80A4B38(void);
void sub_80A4B54(void);
void sub_80A56C0(PixelPos *pos);
s16 GetAdjustedGroundMap(s32 mapId);
s16 GetGroundMapID(void);
void GroundMap_ExecuteEnter(s16);
void GroundMap_ExecuteEvent(s16 scriptIndex, u32);
void GroundMap_GetStationScript(ScriptInfoSmall *r0, s32 _groundScriptId, s32 _groupId, s32 _sectorId);
void GroundMap_ExecuteEvent(s16 scriptIndex, u32 param_2);
void GroundMap_ExecuteStation(s32 _map, s32 _group, s32 _sector, bool32 _setScriptState);
bool8 GroundMapNotifyAll(s16);
void GroundMap_ExecuteEnter(s16 param_1);
bool8 GroundMapNotifyAll(s16 param_1);
bool8 sub_80A4D48(s16 index);
s16 GetAdjustedGroundMap(s32 mapId);
void GroundMap_Select(s32 mapId_);
void GroundMap_SelectDungeon(s32 mapId_, const DungeonLocation *loc, u32 param_2);
void sub_80A56A0(u8 param_1, u8 param_2);
void sub_80A56C0(PixelPos *pos);
void sub_80A56F0(PixelPos *pos);
void sub_80A5704(PixelPos *pos);
s16 GetGroundMapID(void);
bool8 GetCurrentDungeonBounds(PixelPos *pos1, PixelPos *pos2);
bool8 sub_80A579C(PixelPos *pos1, PixelPos *pos2);
bool8 CheckMapCollision_80A585C(PixelPos *pixPos1, PixelPos *boundary);
bool8 sub_80A58C8(PixelPos *pixPos1, PixelPos *boundary);
u8 sub_80A5934(u8 param_1, PixelPos *param_2, PixelPos *param_3);
u8 sub_80A595C(u8 param_1, PixelPos *param_2, PixelPos *param_3);
u16 sub_80A5984(s32 param_1, PixelPos *param_2);
void sub_80A59A0(s32 param_1, PixelPos *param_2, u16 param_3);
void GroundMap_Action(void);
void sub_80A59DC(void);
void sub_80A5E70(void);
#endif // GUARD_GROUND_MAP_H

View File

@@ -1,31 +0,0 @@
#ifndef GUARD_GROUND_MAP_1_H
#define GUARD_GROUND_MAP_1_H
// size: 0x24
#include "structs/str_position.h"
typedef struct unkStruct_3001B74
{
s16 unk0;
u8 unk2;
s32 unk4;
s32 unk8;
PixelPos unkC;
u32 unk14;
u32 unk18;
u32 unk1C;
u32 unk20;
} unkStruct_3001B74;
void GroundWeather_Select(s16);
void nullsub_121(void);
void nullsub_122(void);
void nullsub_123(void);
void sub_80A5E70(void);
void sub_80A5E8C(u8);
void sub_80A5EBC(void);
void sub_80A5EDC(u8);
void sub_80A60D8(void);
#endif // GUARD_GROUND_MAP_1_H

27
include/ground_object.h Normal file
View File

@@ -0,0 +1,27 @@
#ifndef GUARD_GROUND_OBJECT_H
#define GUARD_GROUND_OBJECT_H
#include "structs/str_ground_script.h"
void AllocGroundObjects(void);
void DeleteGroundObjects(void);
void FreeGroundObjects(void);
void GroundObject_Select(s32 scriptID, s32 group, s32 sector);
void GroundObject_Cancel(s32 scriptID, s32 sector);
void GroundObject_CancelBlank(void);
s32 GroundObject_Add(s32 id_, const GroundObjectData *objectData, s32 group_, s32 sector_);
void sub_80AC1B0(s32 index_, s32 flag);
Action *GroundObject_GetAction(s32 index_);
bool8 GroundObject_GetScript(s32 index_, ScriptInfoSmall *scriptInfo, s32 a2_);
bool8 GroundObject_ExecuteScript(s32 index_, ActionUnkIds *a1, ScriptInfoSmall *script);
bool8 GroundObjectsNotifyAll(s32 index_);
bool8 GroundObjectsCancelAll(void);
s16 GroundObject_GetFlags(s32 index_, s32 *flags);
s16 sub_80AC448(s32 index_, PixelPos *pos);
s16 sub_80AC49C(s32 index_, PixelPos *pos);
s32 sub_80AC4C8(s32 index, PixelPos *a0, PixelPos *a1);
s32 sub_80AC554(s32 flag, PixelPos *param_2,PixelPos *param_3);
void GroundObject_Action(void);
void sub_80ACAD4(void);
#endif // GUARD_GROUND_OBJECT_H

View File

@@ -25,16 +25,24 @@ static inline void SetUnkInGroundEvent(const CompactPos *posPtr, PixelPos *dst)
#include "debug.h"
void sub_809D490(void);
void sub_809D4B0(void);
void InitScriptData(ScriptData *a0);
u8 GroundScriptCheckLockCondition(Action *param_1, s16 param_2);
void sub_809D508(void);
void InitActionWithParams(Action *action, const CallbackData *callbacks, void *parent, s32 group, s32 sector);
void InitAction2(Action *action);
void GetFunctionScript(Action *param_1, ScriptInfoSmall *script, s16 index);
bool8 sub_809D678(Action *action);
bool8 sub_809D684(Action *action, ScriptInfoSmall *scriptInfo);
bool8 GroundScriptLockCond(Action *param_1, s16 index, s32 param_3);
void SetPredefinedScript(Action *param_1, s16 index, const ScriptCommand *param_3);
bool8 GetPredefinedScript(Action *param_1, ScriptInfoSmall *script, s32 _index);
void GetFunctionScript(Action *param_1, ScriptInfoSmall *script, s16 index);
bool8 ActionResetScriptData(Action *param_1, const DebugLocation *unused);
bool8 GroundScript_ExecutePP(Action *action, ActionUnkIds *param_2, ScriptInfoSmall *param_3, const DebugLocation *unused);
bool8 ExecutePredefinedScript(Action *param_1, ActionUnkIds *param_2, s16 index, DebugLocation *debug);
void InitActionWithParams(Action *action, const CallbackData *callbacks, void *parent, s32 group, s32 sector);
bool8 ExecutePredefinedScript(Action *param_1, ActionUnkIds *param_2, s16 index, const DebugLocation *debug);
bool8 GroundScript_Cancel(Action *r0);
bool8 GroundScriptNotify(Action *param_1, s32 param_2);
void GroundScriptLockJumpZero(s16 index);
void GroundScriptLock(s16 index, s32 r1);
s16 HandleAction(Action *action, const DebugLocation *debug);
void GroundScript_Unlock(void);
#endif // GUARD_GROUND_SCRIPT_H

View File

@@ -63,15 +63,24 @@ typedef struct unkStruct_3001B7C
unkStruct_3001B7C_sub108 unk108[UNK_3001B7C_SUB108_COUNT];
} unkStruct_3001B7C;
void GroundSprite_Reset(s32);
void GroundSprite_ExtendPaletteAdd(struct UnkGroundSpriteStruct *ptr, u16);
void GroundSprite_ExtendPaletteDelete(struct UnkGroundSpriteStruct *ptr);
void sub_80A62F0(void);
void GroundSprite_Reset(s32 a0);
void sub_80A658C(void);
void sub_80A6688(struct UnkGroundSpriteStruct *ptr, s32 a0);
bool8 SpriteHasPokemonSize_80A66A4(struct UnkGroundSpriteStruct *ptr);
bool8 sub_80A66D4(struct UnkGroundSpriteStruct *ptr);
bool8 IsOnscreen_80A675C(struct UnkGroundSpriteStruct *ptr, PixelPos *pixPosArg);
void sub_80A67CC(struct UnkGroundSpriteStruct *ptr, struct UnkGroundSpriteSubStructx48 *a1, s32 a2);
void sub_80A68A0(struct UnkGroundSpriteStruct *ptr);
void GroundSprite_ExtendPaletteAdd(struct UnkGroundSpriteStruct *ptr, u16 a1);
void GroundSprite_ExtendPaletteDelete(struct UnkGroundSpriteStruct *ptr);
void sub_80A6E68(void);
void sub_80A6E80(void);
void sub_80A6EC8(struct UnkGroundSpriteStruct *ptr, s32 a1);
void sub_80A6EFC(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 a2_);
void sub_80A7040(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 a2_, s32 a3);
bool8 sub_80A7094(struct UnkGroundSpriteStruct *ptr, PixelPos *r10, PixelPos *posArg, s32 a3);
bool8 sub_80A7310(struct UnkGroundSpriteStruct *ptr, PixelPos *posArg1, PixelPos *posArg2, s32 a3);
void sub_80A73EC(void);
#endif // GUARD_GROUND_SPRITE_H

View File

@@ -0,0 +1,12 @@
#ifndef GUARD_GROUND_SPRITE_MONSTER_H
#define GUARD_GROUND_SPRITE_MONSTER_H
#include "ground_sprite.h"
#include "structs/str_position.h"
void sub_80A7428(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 monsterId_, s32 a3);
void sub_80A74E4(struct UnkGroundSpriteStruct *ptr);
void sub_80A74F0(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 a2_, s32 a3);
void sub_80A7524(struct UnkGroundSpriteStruct *ptr, s32 monsterId_, PixelPos *pixelPosArg, s32 a3);
#endif // GUARD_GROUND_SPRITE_MONSTER_H

14
include/ground_weather.h Normal file
View File

@@ -0,0 +1,14 @@
#ifndef GUARD_GROUND_WEATHER_H
#define GUARD_GROUND_WEATHER_H
void sub_80A5E8C(bool8 param_1);
void sub_80A5EBC(void);
void sub_80A5EDC(bool8 param_1);
void nullsub_121(void);
void nullsub_122(void);
void GroundWeather_Select(s16 param_1);
void nullsub_123(void);
void sub_80A60D8(void);
void sub_80A62D0(void);
#endif /* GUARD_GROUND_WEATHER_H */

View File

@@ -7,7 +7,7 @@ void MemoryClear8(void *dest, s32 size);
void MemoryClear16(u16 *dest, s32 size);
void MemoryFill8(void *dest, u8 value, s32 size);
void MemoryFill16(u16 *dest, u16 value, s32 size);
void MemoryCopy8(void *dest, void *src, s32 size);
void MemoryCopy8(void *dest, const void *src, s32 size);
void MemoryCopy32(u32 *dest, const u32 *src, s32 size);
void *MemoryAlloc(s32 size, s32 group);

View File

@@ -4,7 +4,7 @@
u32 NamingScreen_Init(u32 type, u8 *defaultText);
u32 NamingScreen_HandleInput(void);
void NamingScreen_Free(void);
s32 GetStrWidth(u8 *buffer, s32 size);
s32 GetStrWidth(const u8 *buffer, s32 size);
s32 GetMaxPokeNameWidth(void);
#endif

View File

@@ -2,6 +2,7 @@
#define GUARD_TEXTBOX_H
#include "structs/str_position.h"
#include "structs/menu.h"
enum
{
@@ -15,16 +16,35 @@ enum
void TextboxInit(void);
void TextboxFree(void);
void TextboxResetAll(void);
void sub_809A6E4(u16 r0);
void sub_809A6F8(u16 r0);
void SetAutoPressTextboxFrames(s32 frames);
void SetAutoPressTextboxMidEndMsgFrames(s32 endMsgFrames, s32 midMsgFrames);
bool8 IsTextboxOpen_809A750(void);
bool8 sub_809A768(void);
bool8 ScriptClearTextbox(void);
bool8 ScriptClearTextbox2(void);
void ResetTextboxPortrait(s16 id_);
bool8 sub_809AB4C(s32 a0_, s32 a1_);
bool8 sub_809ABB4(s32 id_, s32 a1_);
bool8 sub_809AC18(s32 a0_, s32 a1_);
bool8 ScriptSetPortraitInfo(s32 portraitId_, s32 spriteId_, s32 placementId_);
bool8 ScriptSetPortraitPosDelta(s32 portraitId_, PixelPos *newPosDelta);
bool8 ScriptPrintText(s32 scriptMsgType, s32 speakerId_, const char *text);
bool8 ScriptPrintTextOnBg(const char *text);
bool8 ScriptPrintTextOnBg2(const char *text);
bool8 ScriptPrintTextOnBgAuto(s32 unused, const char *text);
bool8 sub_809AFAC(void);
void sub_809AFC8(s32 a0_, s32 a1, s32 a2_, const char *text);
bool8 sub_809AFFC(u8 *a0);
void sub_809B028(const MenuItem * menuItems, s32 a1_, s32 a2, s32 a3, s32 a4_, const char *text);
bool8 sub_809B18C(s32 *sp);
bool8 sub_809B1C0(s32 a0, u32 kind, void *a2);
bool8 sub_809B1D4(s32 a0, u32 kind, s32 a2, void *a3);
bool8 sub_809B260(s32 *a0);
void sub_809B474(void);
void sub_809B57C(void);
void sub_809B614(void);
void sub_809B638(void);
#endif // GUARD_WONDER_MAIL_H