diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim_effects_1.c | 2 | ||||
-rw-r--r-- | src/battle_dome.c | 4 | ||||
-rw-r--r-- | src/bg.c | 13 | ||||
-rw-r--r-- | src/contest.c | 4 | ||||
-rw-r--r-- | src/contest_painting.c | 10 | ||||
-rw-r--r-- | src/dma3_manager.c | 2 | ||||
-rw-r--r-- | src/dodrio_berry_picking.c | 2 | ||||
-rwxr-xr-x | src/ereader_helpers.c | 22 | ||||
-rw-r--r-- | src/fire.c | 1 | ||||
-rw-r--r-- | src/ghost.c | 3 | ||||
-rw-r--r-- | src/link.c | 31 | ||||
-rw-r--r-- | src/link_rfu.c | 11 | ||||
-rw-r--r-- | src/m4a.c | 1 | ||||
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | src/mauville_old_man.c | 2 | ||||
-rw-r--r-- | src/multiboot.c | 2 | ||||
-rw-r--r-- | src/pokemon_size_record.c | 2 | ||||
-rw-r--r-- | src/reset_rtc_screen.c | 2 | ||||
-rw-r--r-- | src/roulette.c | 10 | ||||
-rwxr-xr-x | src/roulette_util.c | 1 | ||||
-rw-r--r-- | src/save.c | 5 | ||||
-rw-r--r-- | src/scrcmd.c | 2 | ||||
-rw-r--r-- | src/script_menu.c | 4 | ||||
-rw-r--r-- | src/tv.c | 9 | ||||
-rw-r--r-- | src/union_room.c | 6 | ||||
-rw-r--r-- | src/union_room_battle.c | 2 |
26 files changed, 80 insertions, 75 deletions
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 49bb0216b..15b73a1e0 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -5354,7 +5354,7 @@ void sub_8102EB0(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) { a = gBattleAnimArgs[1]; - (u16)gBattleAnimArgs[1] = -a; + *(u16 *)&gBattleAnimArgs[1] = -a; } sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; diff --git a/src/battle_dome.c b/src/battle_dome.c index 162d46d61..1c116467d 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -1024,13 +1024,13 @@ static const union AnimCmd gUnknown_0860D020[] = static const union AnimCmd gUnknown_0860D028[] = { - ANIMCMD_FRAME(18, 129, .vFlip = TRUE), + ANIMCMD_FRAME(18, 1, .vFlip = TRUE), ANIMCMD_END, }; static const union AnimCmd gUnknown_0860D030[] = { - ANIMCMD_FRAME(16, 65, .hFlip = TRUE), + ANIMCMD_FRAME(16, 1, .hFlip = TRUE), ANIMCMD_END, }; @@ -914,7 +914,6 @@ void CopyBgTilemapBufferToVram(u8 bg) void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height) { - const void *srcCopy; u16 destX16; u16 destY16; u16 mode; @@ -924,27 +923,31 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi switch (GetBgType(bg)) { case 0: - srcCopy = src; + { + const u16 * srcCopy = src; for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *((u16*)srcCopy)++; + ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++; } } break; + } case 1: - srcCopy = src; + { + const u8 * srcCopy = src; mode = GetBgMetricAffineMode(bg, 0x1); for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *((u8*)srcCopy)++; + ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++; } } break; } + } } } diff --git a/src/contest.c b/src/contest.c index eb3252f72..869300a92 100644 --- a/src/contest.c +++ b/src/contest.c @@ -269,8 +269,6 @@ extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; extern const u8 *const gUnknown_08587E10[]; -extern const struct SpriteTemplate gSpriteTemplate_8587AD0; -extern const struct SpriteTemplate gSpriteTemplate_8587B18[]; extern void (*const gContestEffectFuncs[])(void); static const u8 gUnknown_08587A6C[] = @@ -1268,7 +1266,7 @@ static void sub_80D8108(u8 taskId) gTasks[taskId].data[0]++; break; case 1: - (s16)gBattle_BG1_Y += 7; + *(s16*)&gBattle_BG1_Y += 7; if ((s16)gBattle_BG1_Y <= 160) break; gTasks[taskId].data[0]++; diff --git a/src/contest_painting.c b/src/contest_painting.c index b43923c7b..4e8fd72f7 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -28,11 +28,11 @@ struct ContestWinner *gUnknown_030061C0; u16 *gContestPaintingMonPalette; // IWRAM bss -IWRAM_DATA u8 gContestPaintingState; -IWRAM_DATA u16 gContestPaintingMosaicVal; -IWRAM_DATA u16 gContestPaintingFadeCounter; -IWRAM_DATA bool8 gUnknown_030011F6; -IWRAM_DATA u8 gContestPaintingWindowId; +static u8 gContestPaintingState; +static u16 gContestPaintingMosaicVal; +static u16 gContestPaintingFadeCounter; +static bool8 gUnknown_030011F6; +static u8 gContestPaintingWindowId; static void ShowContestPainting(void); static void HoldContestPainting(void); diff --git a/src/dma3_manager.c b/src/dma3_manager.c index 51fa7072d..f11bf33dd 100644 --- a/src/dma3_manager.c +++ b/src/dma3_manager.c @@ -8,7 +8,7 @@ #define DMA_REQUEST_COPY16 3 #define DMA_REQUEST_FILL16 4 -IWRAM_DATA struct +BSS_DATA struct { const u8 *src; u8 *dest; diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 966dccfcf..e9ff76f49 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -145,7 +145,7 @@ EWRAM_DATA u16 * gUnknown_02022CE4[4] = {NULL}; EWRAM_DATA struct DodrioBerryPickingStruct_2022CF4 * gUnknown_02022CF4 = NULL; EWRAM_DATA struct DodrioBerryPickingSubstruct_0160 * gUnknown_02022CF8 = NULL; -IWRAM_DATA bool32 gUnknown_03000DB0; +static bool32 gUnknown_03000DB0; void sub_8024A1C(void); void sub_8024A30(struct DodrioBerryPickingStruct *); diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index cd64afe0e..11aaaafe7 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -26,17 +26,17 @@ static void sub_81D414C(void); static void sub_81D3F1C(u32, u32*, u32*); static void sub_81D3F68(void); -IWRAM_DATA struct Unknown030012C8 gUnknown_030012C8; -IWRAM_DATA u16 gUnknown_030012E0; -IWRAM_DATA u16 gUnknown_030012E2; -IWRAM_DATA u16 gUnknown_030012E4; -IWRAM_DATA u16 gUnknown_030012E6; -IWRAM_DATA u32 gUnknown_030012E8; -IWRAM_DATA u16 gUnknown_030012EC; -IWRAM_DATA u16 gUnknown_030012EE; -IWRAM_DATA u16 gUnknown_030012F0; -IWRAM_DATA u16 gUnknown_030012F2; -IWRAM_DATA u16 gUnknown_030012F4; +static struct Unknown030012C8 gUnknown_030012C8; +static u16 gUnknown_030012E0; +static u16 gUnknown_030012E2; +static u16 gUnknown_030012E4; +static u16 gUnknown_030012E6; +static u32 gUnknown_030012E8; +static u16 gUnknown_030012EC; +static u16 gUnknown_030012EE; +static u16 gUnknown_030012F0; +static u16 gUnknown_030012F2; +static u16 gUnknown_030012F4; extern const u8 gUnknown_08625B6C[][0x148]; diff --git a/src/fire.c b/src/fire.c index d428dc13b..2998d46ca 100644 --- a/src/fire.c +++ b/src/fire.c @@ -891,6 +891,7 @@ static void sub_81094D0(u8 taskId) // animate Move_ERUPTION? break; default: + break; } } diff --git a/src/ghost.c b/src/ghost.c index 97b86aa76..dd29fb7ca 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -1148,7 +1148,8 @@ static void sub_8112B78(struct Sprite *sprite) if (++coeffB > 16) coeffB = 16; - if (--(s16)coeffA < 0) + --coeffA; + if ((s16)coeffA < 0) coeffA = 0; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(coeffA, coeffB)); diff --git a/src/link.c b/src/link.c index bcdcb52a4..9928b48da 100644 --- a/src/link.c +++ b/src/link.c @@ -52,22 +52,21 @@ struct LinkTestBGInfo // Static RAM declarations -IWRAM_DATA struct BlockTransfer sBlockSend; -IWRAM_DATA u32 link_c_unused_03000d1c; -IWRAM_DATA struct BlockTransfer sBlockRecv[MAX_LINK_PLAYERS]; -IWRAM_DATA u32 sBlockSendDelayCounter; -IWRAM_DATA u32 gUnknown_03000D54; -IWRAM_DATA u8 gUnknown_03000D58; -IWRAM_DATA u32 sPlayerDataExchangeStatus; -IWRAM_DATA u32 gUnknown_03000D60; -IWRAM_DATA u8 sLinkTestLastBlockSendPos; -ALIGNED() IWRAM_DATA u8 sLinkTestLastBlockRecvPos[MAX_LINK_PLAYERS]; -IWRAM_DATA u8 sNumVBlanksWithoutSerialIntr; -IWRAM_DATA bool8 sSendBufferEmpty; -IWRAM_DATA u16 sSendNonzeroCheck; -IWRAM_DATA u16 sRecvNonzeroCheck; -IWRAM_DATA u8 sChecksumAvailable; -IWRAM_DATA u8 sHandshakePlayerCount; +static struct BlockTransfer sBlockSend; +static struct BlockTransfer sBlockRecv[MAX_LINK_PLAYERS]; +static u32 sBlockSendDelayCounter; +static u32 gUnknown_03000D54; +static u8 gUnknown_03000D58; +static u32 sPlayerDataExchangeStatus; +static u32 gUnknown_03000D60; +static u8 sLinkTestLastBlockSendPos; +static u8 sLinkTestLastBlockRecvPos[MAX_LINK_PLAYERS]; +static u8 sNumVBlanksWithoutSerialIntr; +static bool8 sSendBufferEmpty; +static u16 sSendNonzeroCheck; +static u16 sRecvNonzeroCheck; +static u8 sChecksumAvailable; +static u8 sHandshakePlayerCount; u16 gLinkPartnersHeldKeys[6]; u32 gLinkDebugSeed; diff --git a/src/link_rfu.c b/src/link_rfu.c index 9732e9889..ae36493a2 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -24,10 +24,10 @@ extern u16 gHeldKeyCodeToSend; struct UnkRfuStruct_1 gUnknown_03004140; struct UnkRfuStruct_2 gUnknown_03005000; -IWRAM_DATA u8 gUnknown_03000D74; -ALIGNED(4) IWRAM_DATA u8 gUnknown_03000D78[8]; -IWRAM_DATA u8 gUnknown_03000D80[16]; -IWRAM_DATA u16 gUnknown_03000D90[8]; +BSS_DATA u8 gUnknown_03000D74; +ALIGNED(4) BSS_DATA u8 gUnknown_03000D78[8]; +BSS_DATA u8 gUnknown_03000D80[16]; +BSS_DATA u16 gUnknown_03000D90[8]; EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0; EWRAM_DATA ALIGNED(4) struct UnkLinkRfuStruct_02022B14 gUnknown_02022B14 = {}; @@ -2021,6 +2021,8 @@ void sub_800DBF8(u8 *q1, u8 mode) } } +// File boundary here maybe? + void PkmnStrToASCII(u8 *q1, const u8 *q2) { s32 i; @@ -5191,4 +5193,3 @@ u32 GetRfuRecvQueueLength(void) { return gUnknown_03005000.unk_124.unk_8c2; } - @@ -1,3 +1,4 @@ +#include <string.h> #include "gba/m4a_internal.h" extern const u8 gCgb3Vol[]; diff --git a/src/main.c b/src/main.c index 40381bb68..d0c9ff7b4 100644 --- a/src/main.c +++ b/src/main.c @@ -85,7 +85,7 @@ void EnableVCountIntrAtLine150(void); void AgbMain() { - RegisterRamReset(RESET_ALL); + RegisterRamReset(MODERN ? RESET_ALL & ~RESET_IWRAM : RESET_ALL); *(vu16 *)BG_PLTT = 0x7FFF; InitGpuRegManager(); REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 8bb9cb6e4..64f04f3bc 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -33,7 +33,7 @@ static void Task_BardSong(u8 taskId); static void StorytellerSetup(void); static void Storyteller_ResetFlag(void); -IWRAM_DATA u8 sSelectedStory; +static u8 sSelectedStory; struct BardSong gBardSong; diff --git a/src/multiboot.c b/src/multiboot.c index da90a55c0..5cc3ad17e 100644 --- a/src/multiboot.c +++ b/src/multiboot.c @@ -435,7 +435,7 @@ static int MultiBootHandShake(struct MultiBootParam *mp) #undef must_data } -static void MultiBootWaitCycles(u32 cycles) +static NOINLINE void MultiBootWaitCycles(u32 cycles) { asm("mov r2, pc"); asm("lsr r2, #24"); diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index f63e1ccba..d70f57f47 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -97,7 +97,7 @@ static void FormatMonSizeRecord(u8 *string, u32 size) { #ifdef UNITS_IMPERIAL //Convert size from centimeters to inches - size = (double)(size * 10) / (CM_PER_INCH * 10); + size = DOUBLE_U32(size * 10) / (CM_PER_INCH * 10); #endif string = ConvertIntToDecimalStringN(string, size / 10, 0, 8); diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index d675c49d1..1fe9f2279 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -142,7 +142,7 @@ static const union AnimCmd sSpriteAnim_85104CC[] = static const union AnimCmd sSpriteAnim_85104D4[] = { - ANIMCMD_FRAME(0, 158, .vFlip = TRUE), + ANIMCMD_FRAME(0, 30, .vFlip = TRUE), ANIMCMD_JUMP(0), }; diff --git a/src/roulette.c b/src/roulette.c index 25c079cda..5225118d5 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -3969,7 +3969,7 @@ static void sub_8144410(struct Sprite *sprite) if (!sub_8143B48(sprite)) { gUnknown_0203AB88->var90 = 0.0f; - gUnknown_0203AB88->var8C -= (float)(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var03) + gUnknown_0203AB88->var8C -= FLOAT_U8(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var03) / (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var04 + 1); sprite->data[1] = 4; sprite->callback = sub_8144264; @@ -3994,8 +3994,8 @@ static void sub_8144514(struct Sprite *sprite) if (gUnknown_0203AB88->var94 > 40.f) return; - gUnknown_0203AB88->var98 = -(4.0f / (float)gUnknown_0203AB88->var86); - gUnknown_0203AB88->var90 = -(gUnknown_0203AB88->var8C / (float)gUnknown_0203AB88->var86); + gUnknown_0203AB88->var98 = -(4.0f / FLOAT_U16(gUnknown_0203AB88->var86)); + gUnknown_0203AB88->var90 = -(gUnknown_0203AB88->var8C / FLOAT_U16(gUnknown_0203AB88->var86)); sprite->animNum = 2; sprite->animBeginning = TRUE; sprite->animEnded = FALSE; @@ -4010,8 +4010,8 @@ static void sub_81445D8(struct Sprite *sprite) return; m4aSongNumStartOrChange(SE_TAMAKORO_E); - gUnknown_0203AB88->var98 = -(20.0f / (float)gUnknown_0203AB88->var84); - gUnknown_0203AB88->var90 = ((1.0f - gUnknown_0203AB88->var8C) / (float)gUnknown_0203AB88->var84); + gUnknown_0203AB88->var98 = -(20.0f / FLOAT_U16(gUnknown_0203AB88->var84)); + gUnknown_0203AB88->var90 = ((1.0f - gUnknown_0203AB88->var8C) / FLOAT_U16(gUnknown_0203AB88->var84)); sprite->animNum = 1; sprite->animBeginning = TRUE; sprite->animEnded = FALSE; diff --git a/src/roulette_util.c b/src/roulette_util.c index 9531302d9..16c3e8150 100755 --- a/src/roulette_util.c +++ b/src/roulette_util.c @@ -409,6 +409,7 @@ void UpdatePulseBlend(struct PulseBlend *pulseBlend) } break; case 2: // Flip back and forth + // This code is never reached if (pulseBlendPalette->fadeDirection) pulseBlendPalette->blendCoeff = 0; else diff --git a/src/save.c b/src/save.c index 45a75b5dc..cdfd2ae1d 100644 --- a/src/save.c +++ b/src/save.c @@ -626,7 +626,10 @@ static u16 CalculateChecksum(void *data, u16 size) u32 checksum = 0; for (i = 0; i < (size / 4); i++) - checksum += *((u32 *)data)++; + { + checksum += *((u32 *)data); + data += sizeof(u32); + } return ((checksum >> 16) + checksum); } diff --git a/src/scrcmd.c b/src/scrcmd.c index 8d597b887..57cd3edbe 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -62,7 +62,7 @@ static EWRAM_DATA u16 sMovingNpcMapBank = 0; static EWRAM_DATA u16 sMovingNpcMapId = 0; static EWRAM_DATA u16 sFieldEffectScriptId = 0; -IWRAM_DATA u8 gUnknown_03000F30; +static u8 gUnknown_03000F30; extern const SpecialFunc gSpecials[]; extern const u8 *gStdScripts[]; diff --git a/src/script_menu.c b/src/script_menu.c index 082253e35..b17d3df38 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1017,8 +1017,8 @@ const u8 *const gUnknown_0858BBEC[] = EWRAM_DATA u8 gUnknown_02039F90 = 0; -IWRAM_DATA u8 gUnknown_03001124[7]; -IWRAM_DATA u32 filler_0300112c; +static u8 gUnknown_03001124[7]; +static u32 filler_0300112c; static void Task_HandleMultichoiceInput(u8); static void Task_HandleYesNoInput(u8); @@ -56,9 +56,9 @@ struct { u16 move; } sTV_SecretBaseVisitMonsTemp[10]; -IWRAM_DATA u8 sTVShowMixingNumPlayers; -IWRAM_DATA u8 sTVShowNewsMixingNumPlayers; -IWRAM_DATA s8 sTVShowMixingCurSlot; +static u8 sTVShowMixingNumPlayers; +static u8 sTVShowNewsMixingNumPlayers; +static s8 sTVShowMixingCurSlot; EWRAM_DATA u16 sPokemonAnglerSpecies = 0; EWRAM_DATA u16 sPokemonAnglerAttemptCounters = 0; @@ -70,9 +70,6 @@ EWRAM_DATA u8 sTVSecretBaseSecretsRandomValues[3] = {}; // Static ROM declarations -extern const u8 *const sTVBravoTrainerTextGroup[]; -extern const u8 *const sTVBravoTrainerBattleTowerTextGroup[]; - void ClearPokemonNews(void); u8 GetTVChannelByShowType(u8 kind); u8 FindFirstActiveTVShowThatIsNotAMassOutbreak(void); diff --git a/src/union_room.c b/src/union_room.c index 6e7c0965d..486771af7 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -60,9 +60,9 @@ EWRAM_DATA u8 gUnknown_02022C3E = 0; EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {}; // IWRAM vars -IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0; -IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4; -IWRAM_DATA struct UnkStruct_URoom *gUnknown_03000DA8; +static struct UnkStruct_Leader *gUnknown_03000DA0; +static struct UnkStruct_Group *gUnknown_03000DA4; +static struct UnkStruct_URoom *gUnknown_03000DA8; // this file's functions void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5); diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 321b49092..79d12291d 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -40,7 +40,7 @@ struct UnkStruct_2022C6C s16 a0; }; -IWRAM_DATA struct UnkStruct_3000DAC * gUnknown_03000DAC; +static struct UnkStruct_3000DAC * gUnknown_03000DAC; EWRAM_DATA struct UnkStruct_2022C6C * gUnknown_02022C6C = NULL; |