Fix COMMON sym references under modern gcc

This commit is contained in:
PikalaxALT 2020-07-22 13:12:23 -04:00
parent aeeff84462
commit 30793ff41b
18 changed files with 50 additions and 34 deletions

View File

@ -68,4 +68,8 @@
// Fixed in Emerald.
// #define BUGFIX_SETMONIVS
#if MODERN
#define UBFIX
#endif //MODERN
#endif // GUARD_CONFIG_H

View File

@ -147,7 +147,7 @@ extern u16 word_3002910[];
extern bool8 gReceivedRemoteLinkPlayers;
extern bool8 gLinkOpen;
extern bool8 gLinkPlayerPending[MAX_LINK_PLAYERS];
void (*gLinkCallback)(void);
extern void (*gLinkCallback)(void);
extern u8 gUnknown_Debug_30030E0;
void Task_DestroySelf(u8);

View File

@ -27,7 +27,6 @@ SECTIONS {
src/libs/m4a.o(.bss.code);
/* COMMON starts at 0x3001760 */
INCLUDE "sym_common.ld"
*(COMMON);
end = .;
. = 0x8000;

View File

@ -19,9 +19,9 @@
#include "constants/items.h"
#include "constants/songs.h"
extern int gUnknown_03005F0C;
extern u16 gUnknown_03005F10;
extern u16 gUnknown_03005F14;
int gUnknown_03005F0C;
u16 gUnknown_03005F10;
u16 gUnknown_03005F14;
extern s16 gBattleAnimArgs[];
extern u8 gBattleAnimAttacker;

View File

@ -113,11 +113,14 @@ extern u16 gUnknown_02024DE8;
extern u8 gActionSelectionCursor[];
extern u8 gMoveSelectionCursor[];
extern u8 gUnknown_02038470[];
extern MainCallback gPreBattleCallback1;
MainCallback gPreBattleCallback1;
u8 gUnknown_03004344;
u8 gUnknown_03004348;
extern void (*gBattleMainFunc)(void);
extern u8 gLeveledUpInBattle;
extern void (*gBattlerControllerFuncs[])(void);
extern u8 gHealthboxSpriteIds[];
u8 gLeveledUpInBattle;
void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
u8 gUnknown_0300434C[MAX_BATTLERS_COUNT];
extern u16 gBattleTypeFlags;
extern u8 gReservedSpritePaletteCount;
extern u16 gTrainerBattleOpponent;
@ -163,6 +166,7 @@ extern u8 gNumSafariBalls;
extern u8 gUnknown_081FA70C[][3];
extern u8 gUnknown_081FA71B[];
extern u8 gUnknown_081FA71F[];
struct BattleResults gBattleResults;
void BattleMainCB1(void);
static void BattlePrepIntroSlide(void);

View File

@ -1888,7 +1888,12 @@ u32 Blender_GetPokeblockColor(struct BlenderBerry* berries, s16* a1, u8 playersN
s32 r6;
u8 r2;
for (i = 0; i <= 5; i++) // bug, writing one index too far
// bug, writing one index too far
#ifdef UBFIX
for (i = 0; i < 5; i++)
#else
for (i = 0; i <= 5; i++)
#endif //UBFIX
vars[i] = a1[i];
r6 = 0;
for (i = 0; i < 5; i++)

View File

@ -49,7 +49,7 @@ extern u8 gBattlerTarget;
extern u8 gBattlerPositions[];
extern u8 gBattlerSpriteIds[];
extern struct Window gUnknown_03004210;
extern u32 gContestRngValue;
u32 gContestRngValue;
extern struct SpriteTemplate gUnknown_02024E8C;
extern const struct ContestPokemon gContestOpponents[60];

View File

@ -2,17 +2,18 @@
#include "contest_painting_effects.h"
#include "contest_painting.h"
extern u16 (*gUnknown_03005DEC)[][32];
extern u8 gUnknown_083E7A50[][3];
extern u8 gUnknown_03005DE8;
extern u8 gUnknown_03005DF0;
extern u8 gUnknown_03005DFC;
extern u8 gUnknown_03005DF8;
extern u8 gUnknown_03005DF4;
extern u8 gUnknown_03005E00;
extern u8 gUnknown_03005E04;
extern u16 * gUnknown_03005E08;
extern u16 gUnknown_03005E0C;
extern const u8 gUnknown_083E7A50[][3];
u16 (*gUnknown_03005DEC)[][32];
u8 gUnknown_03005DE8;
u8 gUnknown_03005DF0;
u8 gUnknown_03005DFC;
u8 gUnknown_03005DF8;
u8 gUnknown_03005DF4;
u8 gUnknown_03005E00;
u8 gUnknown_03005E04;
u16 * gUnknown_03005E08;
u16 gUnknown_03005E0C;
// this file's functions
void sub_80FCAA4(void);

View File

@ -6,6 +6,7 @@
#include "task.h"
extern u16 gSpecialVar_Facing;
u8 gSelectedObjectEvent;
bool8 walkrun_is_standing_still(void)
{

View File

@ -1031,7 +1031,7 @@ static u16 sCurrentSpecialObjectPaletteTag;
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[];
extern u8 gReservedSpritePaletteCount;
extern struct Camera gCamera;
extern struct ObjectEvent gObjectEvents[16];
struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT];
#if DEBUG
u8 gUnknown_Debug_03004BC0;
#endif

View File

@ -24,9 +24,9 @@ static s16 sVerticalCameraPan;
static u8 gUnknown_0300059C;
static void (*sFieldCameraPanningCallback)(void);
extern struct FieldCamera gFieldCamera;
extern u16 gTotalCameraPixelOffsetY;
extern u16 gTotalCameraPixelOffsetX;
struct FieldCamera gFieldCamera;
u16 gTotalCameraPixelOffsetY;
u16 gTotalCameraPixelOffsetX;
static void RedrawMapSliceNorth(struct FieldCameraOffset*, struct MapLayout*);
static void RedrawMapSliceSouth(struct FieldCameraOffset*, struct MapLayout*);

View File

@ -43,7 +43,7 @@ extern u8 gUnknown_020297ED;
static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0;
static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0;
u8 gSelectedObjectEvent;
extern u8 gSelectedObjectEvent;
//scripts
extern u8 gUnknown_081A2C51[];

View File

@ -141,8 +141,8 @@ static const u8 *sPopupMenuActionList;
// common
void (*gFieldItemUseCallback)(u8) = NULL;
extern u16 gBattle_BG1_Y;
extern struct PocketScrollState gBagPocketScrollStates[];
extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots
struct PocketScrollState gBagPocketScrollStates[5];
struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots
extern const u8 Event_NoRegisteredItem[];
// TODO: decompile the debug code so we can use static in this file

View File

@ -134,7 +134,7 @@ extern const u8 gTextStoryteller_Story36Title[];
extern const u8 gTextStoryteller_Story36Action[];
extern const u8 gTextStoryteller_Story36Text[];
extern struct BardSong gUnknown_03005DA0;
struct BardSong gUnknown_03005DA0;
EWRAM_DATA static u16 gUnknown_020388BC = 0; // set but not used?

View File

@ -102,6 +102,8 @@ static void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d);
static void sub_806BB9C(u8 a);
static void sub_806BBEC(u8 a);
void (*gPokemonItemUseCallback)(u8 taskId, u16 itemId, TaskFunc taskFunc);
extern u16 Random();
EWRAM_DATA u8 gUnknown_0202E8F4 = 0;
@ -4111,7 +4113,7 @@ s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c)
if (hpBarLevel < 2)
b->unkC_0 = 6;
vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.primarySelectedMonIndex];
return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0);
return sub_80460C8(b, (int *)&ewram1C000.unkC, vramPtr, 0);
}
void sub_806F8AC(u8 taskId)

View File

@ -41,7 +41,7 @@ void sub_811A350(u8, u16, u8);
void sub_811A534(struct Sprite *);
void sub_811A6D8(s8);
extern u8 gUnknown_03005E98;
u8 gUnknown_03005E98;
// data/pokedex_cry_screen.o

View File

@ -124,7 +124,7 @@ extern u8 StorageSystemGetNextMonIndex(struct BoxPokemon *, u8, u8, u8);
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern u8 gPPUpReadMasks[];
extern TaskFunc gUnknown_03005CF0;
TaskFunc gUnknown_03005CF0;
extern struct SpriteTemplate gUnknown_02024E8C;
extern const u8 gStatusPal_Icons[];

View File

@ -186,7 +186,7 @@ gUnknown_Debug_03004BC0 = .;
. += 0x4;
#endif
// field_control_avatar.c
// event_object_lock.c
SYMBOL(gSelectedObjectEvent, 4)
// ???