diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-06-26 19:47:30 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-06-26 19:47:30 -0400 |
commit | 5d268f0acf7ecc320423b0c9bff18e125015b4c3 (patch) | |
tree | 52ce08a521e03a38a2474c029d3222e4dfe45328 /src | |
parent | 4fedd5183be7de5d5e0fa59c269b28c49d88ef88 (diff) |
Make Ruby compile with gcc-8
Diffstat (limited to 'src')
-rw-r--r-- | src/battle/anim/fire_2.c | 1 | ||||
-rw-r--r-- | src/battle/anim/ghost.c | 3 | ||||
-rw-r--r-- | src/battle/anim/heal_bell.c | 2 | ||||
-rw-r--r-- | src/battle/anim/musical.c | 2 | ||||
-rw-r--r-- | src/battle/battle_7.c | 2 | ||||
-rw-r--r-- | src/battle/battle_anim_80CA710.c | 8 | ||||
-rw-r--r-- | src/battle/battle_controller_linkopponent.c | 6 | ||||
-rw-r--r-- | src/battle/battle_controller_linkpartner.c | 16 | ||||
-rw-r--r-- | src/battle/battle_controller_opponent.c | 8 | ||||
-rw-r--r-- | src/battle/battle_controller_player.c | 1 | ||||
-rw-r--r-- | src/battle/battle_controller_safari.c | 2 | ||||
-rw-r--r-- | src/battle/battle_controller_wally.c | 4 | ||||
-rw-r--r-- | src/berry_blender.c | 16 | ||||
-rw-r--r-- | src/daycare.c | 10 | ||||
-rw-r--r-- | src/debug/sound_check_menu.c | 4 | ||||
-rw-r--r-- | src/egg_hatch.c | 3 | ||||
-rw-r--r-- | src/field_weather_effects.c | 2 | ||||
-rw-r--r-- | src/item_menu.c | 34 | ||||
-rw-r--r-- | src/libs/m4a.c | 1 | ||||
-rw-r--r-- | src/main.c | 7 | ||||
-rw-r--r-- | src/main_menu.c | 7 | ||||
-rw-r--r-- | src/pokemon_size_record.c | 2 | ||||
-rw-r--r-- | src/pokenav_before.c | 2 | ||||
-rw-r--r-- | src/reset_rtc_screen.c | 2 | ||||
-rw-r--r-- | src/roulette.c | 48 | ||||
-rw-r--r-- | src/save.c | 5 | ||||
-rw-r--r-- | src/trade.c | 2 |
27 files changed, 77 insertions, 123 deletions
diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 7ebd7dd87..1d69b2c1c 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -467,6 +467,7 @@ static void sub_80D54E0(u8 taskId) // animate Move_ERUPTION? break; default: + break; } } diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c index 52911f366..69d47a998 100644 --- a/src/battle/anim/ghost.c +++ b/src/battle/anim/ghost.c @@ -1145,7 +1145,8 @@ static void sub_80DF0B8(struct Sprite *sprite) if (++coeffB > 16) coeffB = 16; - if (--(s16)coeffA < 0) + --coeffA; + if ((s16)coeffA < 0) coeffA = 0; REG_BLDALPHA = (coeffB << 8) | coeffA; diff --git a/src/battle/anim/heal_bell.c b/src/battle/anim/heal_bell.c index e191460ea..94bf490c2 100644 --- a/src/battle/anim/heal_bell.c +++ b/src/battle/anim/heal_bell.c @@ -76,7 +76,7 @@ void sub_80D1ADC(u8 taskId) { int i; u8 sp[8]; - void* src; + const void* src; void* dest; void* what; sp[0] = IndexOfSpritePaletteTag(0x27DE); diff --git a/src/battle/anim/musical.c b/src/battle/anim/musical.c index 1e559d975..1a58c4daf 100644 --- a/src/battle/anim/musical.c +++ b/src/battle/anim/musical.c @@ -291,7 +291,7 @@ void sub_80CECE8(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimAttacker) == 1) { a = gBattleAnimArgs[1]; - (u16)gBattleAnimArgs[1] = -a; + *(u16*)&gBattleAnimArgs[1] = -a; } sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 6e1ddceaf..0ff44a249 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -94,9 +94,7 @@ const struct SpritePalette gUnknown_0820A4D4[] = }; extern void c3_0802FDF4(u8); -extern void sub_80440EC(); extern void sub_804777C(); -extern u8 GetBattlerSpriteCoord(); extern u8 IsBankSpritePresent(u8); extern u8 sub_8077F68(u8); extern u8 sub_8077F7C(u8); diff --git a/src/battle/battle_anim_80CA710.c b/src/battle/battle_anim_80CA710.c index 65ccd7c21..75168f083 100644 --- a/src/battle/battle_anim_80CA710.c +++ b/src/battle/battle_anim_80CA710.c @@ -6,10 +6,10 @@ // Static RAM declarations -IWRAM_DATA u32 filler_03000724; -IWRAM_DATA u16 gUnknown_03000728[4]; -IWRAM_DATA u16 gUnknown_03000730[6]; -IWRAM_DATA u32 filler_0300073c; +BSS_DATA u32 filler_03000724; +BSS_DATA u16 gUnknown_03000728[4]; +BSS_DATA u16 gUnknown_03000730[6]; +BSS_DATA u32 filler_0300073c; // Static ROM declarations diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 117aeb932..05a6f8ac0 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -55,7 +55,6 @@ extern MainCallback gPreBattleCallback1; extern struct MusicPlayerInfo gMPlay_BGM; extern u8 sub_8077F68(); -extern u8 GetBattlerSubpriority(); extern u8 GetBattlerPosition(u8); extern void BattleLoadOpponentMonSprite(struct Pokemon *, u8); extern void sub_8037A74(void); @@ -64,7 +63,6 @@ extern void sub_8037E30(void); extern void sub_80312F0(struct Sprite *); extern u8 StartSendOutMonAnimation(); extern void sub_8032A08(); -extern void sub_8043DB0(); extern void sub_8037BBC(void); extern s32 sub_803FC34(u16); extern void sub_8031A6C(u16, u8); @@ -78,15 +76,12 @@ extern void sub_8010384(struct Sprite *); extern void sub_8037B78(void); extern u8 sub_8031720(); extern bool8 mplay_80342A4(u8); -extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); extern void BufferStringBattle(); extern void sub_8037C2C(void); -extern void sub_8043D84(); extern void sub_8037B24(void); -extern void sub_8045A5C(); extern void sub_8037FAC(void); extern void move_anim_start_t2_for_situation(); extern void dp01t_0F_4_move_anim(void); @@ -99,7 +94,6 @@ extern void nullsub_47(void); extern bool8 IsDoubleBattle(void); extern void sub_8037840(void); extern void sub_8031B74(); -extern u8 IsBankSpritePresent(); extern u8 move_anim_start_t3(); extern void sub_8037FD8(void); extern void sub_8037F34(void); diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 0db2f54b4..018fd1bf0 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -58,17 +58,14 @@ extern u8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern u8 move_anim_start_t3(); -extern u8 IsBankSpritePresent(); extern void sub_8044CA0(u8); extern void sub_8030E38(struct Sprite *); extern void StartBattleIntroAnim(); extern void sub_8047858(); extern void move_anim_start_t2_for_situation(); -extern void sub_8043D84(); extern void BufferStringBattle(); extern void sub_8031F24(void); extern void sub_80326EC(); -extern void DoMoveAnim(); extern void sub_80324BC(); extern u8 sub_8031720(); extern u8 mplay_80342A4(); @@ -83,21 +80,10 @@ extern u8 StartSendOutMonAnimation(); extern void sub_80312F0(struct Sprite *); extern u8 CreateInvisibleSpriteWithCallback(); extern void BattleLoadPlayerMonSprite(); -extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); -extern u8 GetBattlerSubpriority(); extern void nullsub_10(); -extern void sub_8045A5C(); -extern void sub_804777C(); -extern void sub_8043DFC(); -//extern s16 sub_8045C78(); -extern void sub_80440EC(); -extern void HandleLowHpMusicChange(); extern void nullsub_9(u16); -extern void sub_8043DB0(); -extern void move_anim_start_t4(); extern void c3_0802FDF4(u8); -extern void sub_8031F88(); extern void c2_8011A1C(void); // this file's functions @@ -327,7 +313,7 @@ void sub_811DCA0(void) sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); - (s8)ewram17810[4].unk9 &= ~1; + ewram17810[4].unk9 = (s8)ewram17810[4].unk9 & ~1; gBattleBankFunc[gActiveBattler] = sub_811DBC0; } } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 15e077e92..8717f7f82 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -59,15 +59,12 @@ extern bool8 gDoingBattleAnim; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; extern MainCallback gPreBattleCallback1; -extern void (*const gOpponentBufferCommands[])(void); extern struct MusicPlayerInfo gMPlay_SE1; extern struct MusicPlayerInfo gMPlay_SE2; extern struct MusicPlayerInfo gMPlay_BGM; extern u32 gBattleExecBuffer; -extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); -extern u8 GetBattlerSubpriority(); extern void sub_8033018(void); extern void BattleLoadOpponentMonSprite(); extern u8 GetBattlerPosition(u8); @@ -76,7 +73,6 @@ extern void sub_80333D4(void); extern void sub_80312F0(struct Sprite *); extern u8 StartSendOutMonAnimation(); extern void sub_8032A08(); -extern void sub_8043DB0(); extern void sub_8033160(void); extern u8 get_trainer_class_pic_index(void); extern void sub_80313A0(struct Sprite *); @@ -91,7 +87,6 @@ extern void sub_803311C(void); extern void sub_8010384(struct Sprite *); extern bool8 mplay_80342A4(u8); extern u8 sub_8031720(); -extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); @@ -100,8 +95,6 @@ extern void sub_80331D0(void); extern void AI_TrySwitchOrUseItem(void); extern u8 GetBattlerAtPosition(u8); extern void sub_80330C8(void); -extern void sub_8043D84(); -extern void sub_8045A5C(); void sub_8033494(void); extern void move_anim_start_t2_for_situation(); extern void bx_blink_t7(void); @@ -113,7 +106,6 @@ extern void nullsub_45(void); extern void sub_8031B74(); extern bool8 IsDoubleBattle(void); extern void sub_8032E2C(void); -extern u8 IsBankSpritePresent(); extern u8 move_anim_start_t3(); extern void sub_80334C0(void); diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 5d7a8955c..5dde153e6 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -106,7 +106,6 @@ extern void sub_802E460(void); extern void b_link_standby_message(void); extern void sub_802D18C(void); extern void sub_802DF18(void); -extern void BufferStringBattle(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index e547c4a3c..1722925f3 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -45,10 +45,8 @@ extern void LoadPlayerTrainerBankSprite(); extern u8 GetBattlerSubpriority(); extern void sub_80313A0(struct Sprite *); extern void sub_810BADC(void); -extern void sub_8045A5C(); extern void StartBattleIntroAnim(); extern void sub_804777C(); -extern void sub_8043DFC(); extern bool8 move_anim_start_t3(); #if ENGLISH diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index fa8b2a63b..9be426187 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -64,9 +64,7 @@ extern void Emitcmd35(u8, u16); extern void nullsub_14(void); extern void PrepareBagForWallyTutorial(void); -extern void sub_8045A5C(); extern void sub_804777C(); -extern void sub_8043DFC(); extern bool8 IsDoubleBattle(void); extern void c3_0802FDF4(u8); extern void PlayerHandlecmd1(void); @@ -75,11 +73,9 @@ extern u8 GetBattlerPosition(u8); extern void sub_80313A0(struct Sprite *); extern u8 GetBattlerAtPosition(u8); extern u8 sub_8031720(); -extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); -extern void BufferStringBattle(); extern u8 GetBattlerSide(u8); extern void sub_80304A8(void); extern void sub_8047858(); diff --git a/src/berry_blender.c b/src/berry_blender.c index 85c992d8d..219e65994 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -214,14 +214,14 @@ u16 gUnknown_03004840[10]; struct BerryBlenderData* gBerryBlenderData; // iwram bss -IWRAM_DATA s16 gUnknown_03000510[8]; -IWRAM_DATA s16 gUnknown_03000520[6]; -IWRAM_DATA s16 gUnknown_0300052C; -IWRAM_DATA s16 gUnknown_0300052E; -IWRAM_DATA s32 gUnknown_03000530[6]; -IWRAM_DATA s32 gUnknown_03000548[5]; -IWRAM_DATA u32 gUnknown_0300055C; -IWRAM_DATA struct BlenderDebug sBlenderDebug; +static s16 gUnknown_03000510[8]; +static s16 gUnknown_03000520[6]; +static s16 gUnknown_0300052C; +static s16 gUnknown_0300052E; +static s32 gUnknown_03000530[6]; +static s32 gUnknown_03000548[5]; +static u32 gUnknown_0300055C; +static struct BlenderDebug sBlenderDebug; // this file's functions void Blender_SetBankBerryData(u8 bank, u16 itemID); diff --git a/src/daycare.c b/src/daycare.c index 1bc2d9ef1..616b1dd22 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -23,11 +23,11 @@ #include "trade.h" // RAM buffers used to assist with BuildEggMoveset() -IWRAM_DATA u16 gHatchedEggLevelUpMoves[52]; -IWRAM_DATA u16 gHatchedEggFatherMoves[4]; -IWRAM_DATA u16 gHatchedEggFinalMoves[4]; -IWRAM_DATA u16 gHatchedEggEggMoves[12]; -IWRAM_DATA u16 gHatchedEggMotherMoves[4]; +static u16 gHatchedEggLevelUpMoves[52]; +static u16 gHatchedEggFatherMoves[4]; +static u16 gHatchedEggFinalMoves[4]; +static u16 gHatchedEggEggMoves[12]; +static u16 gHatchedEggMotherMoves[4]; extern u16 gMoveToLearn; diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c index ba2439a64..a1a09d8df 100644 --- a/src/debug/sound_check_menu.c +++ b/src/debug/sound_check_menu.c @@ -184,8 +184,8 @@ void Task_InitSoundCheckMenu(u8 taskId) // ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct. static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 }; -extern const u8 *const gBGMNames[]; -extern const u8 *const gSENames[]; +static const u8 *const gBGMNames[]; +static const u8 *const gSENames[]; void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText { diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 876034d2a..0c115ddfe 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -44,9 +44,6 @@ struct EggHatchData* gEggHatchData; extern const u32 gBattleTextboxTiles[]; extern const u32 gBattleTextboxTilemap[]; extern const u16 gBattleTextboxPalette[]; //palette -extern const struct SpriteSheet sUnknown_0820A3B0; -extern const struct SpriteSheet sUnknown_0820A3B8; -extern const struct SpritePalette sUnknown_0820A3C0; bool8 GetSetPokedexFlag(u16 nationalNum, u8 caseID); u8 sav1_map_get_name(void); diff --git a/src/field_weather_effects.c b/src/field_weather_effects.c index da3314aa1..db67be4de 100644 --- a/src/field_weather_effects.c +++ b/src/field_weather_effects.c @@ -544,7 +544,7 @@ void sub_807E6F0(struct Sprite *sprite, u16 b) } } -extern const struct SpriteSheet sRainSpriteSheet; // defined below +static const struct SpriteSheet sRainSpriteSheet; // defined below void LoadRainSpriteSheet(void) { diff --git a/src/item_menu.c b/src/item_menu.c index b69866453..19be2ad5d 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -36,24 +36,12 @@ #include "scanline_effect.h" #include "menu_helpers.h" #include "ewram.h" - -// External stuff -extern void FreeAndReserveObjectSpritePalettes(void); -extern void SetVerticalScrollIndicatorPriority(); -extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16); -extern void PauseVerticalScrollIndicator(); -extern u8 sub_80F9284(void); -extern void sub_808B5B4(); -extern u8 sub_80F92F4(); -extern void pal_fill_black(void); -extern bool8 IsWeatherNotFadingIn(void); -extern u8 sub_80F931C(); -extern void sub_808A3F8(u8); -extern void Shop_FadeReturnToMartMenu(void); -extern void sub_80546B8(u8); -extern void sub_804E990(u8); -extern void sub_802E424(u8); -extern void ScriptUnfreezeEventObjects(void); +#include "berry_blender.h" +#include "field_fadetransition.h" +#include "shop.h" +#include "field_weather.h" +#include "pokemon_storage_system.h" +#include "event_obj_lock.h" struct UnknownStruct2 { @@ -762,7 +750,7 @@ static void sub_80A39B8(u16 *a, u8 b) { u8 var = b * 2; - sub_809D104(a, 4, 10, gBagScreenLabels_Tilemap, 0, var, 8, 2); + sub_809D104((void *)a, 4, 10, gBagScreenLabels_Tilemap, 0, var, 8, 2); } static void sub_80A39E4(u16 *a, u8 b, u8 c, s8 d) @@ -776,8 +764,8 @@ static void sub_80A39E4(u16 *a, u8 b, u8 c, s8 d) if (b == 5) r7 = 2; - sub_809D104(a, 4, 10, gBagScreenLabels_Tilemap, 8 - c, r2, c, 2); - sub_809D104(a, c + 4, 10, gBagScreenLabels_Tilemap, 0, r7, 8 - c, 2); + sub_809D104((void *)a, 4, 10, gBagScreenLabels_Tilemap, 8 - c, r2, c, 2); + sub_809D104((void *)a, c + 4, 10, gBagScreenLabels_Tilemap, 0, r7, 8 - c, 2); } else if (d == 1) { @@ -785,8 +773,8 @@ static void sub_80A39E4(u16 *a, u8 b, u8 c, s8 d) if (b == 1) r7 = 10; - sub_809D104(a, 4, 10, gBagScreenLabels_Tilemap, c, r7, 8 - c, 2); - sub_809D104(a, 12 - c, 10, gBagScreenLabels_Tilemap, 0, r2, c, 2); + sub_809D104((void *)a, 4, 10, gBagScreenLabels_Tilemap, c, r7, 8 - c, 2); + sub_809D104((void *)a, 12 - c, 10, gBagScreenLabels_Tilemap, 0, r2, c, 2); } } diff --git a/src/libs/m4a.c b/src/libs/m4a.c index 7b4441ca4..267a72657 100644 --- a/src/libs/m4a.c +++ b/src/libs/m4a.c @@ -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 d7ef91df0..75845213f 100644 --- a/src/main.c +++ b/src/main.c @@ -89,7 +89,14 @@ static void WaitForVBlank(void); void AgbMain() { +#if MODERN + // Modern compilers are liberal with the stack on entry to this function, + // so RegisterRamReset may crash if it resets IWRAM. + RegisterRamReset(RESET_ALL & ~RESET_IWRAM); + DmaFill32(3, 0, (void *)0x03000000, 0x7E00); +#else RegisterRamReset(RESET_ALL); +#endif //MODERN REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; InitKeys(); InitIntrHandlers(); diff --git a/src/main_menu.c b/src/main_menu.c index 93d9be77a..11d6381c6 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -40,13 +40,6 @@ extern u8 gBirchSpeech_AhOkayYouArePlayer[]; extern u8 gBirchSpeech_AreYouReady[]; extern struct SpriteTemplate gUnknown_02024E8C; -extern const struct MenuAction gUnknown_081E79B0[]; -extern const struct MenuAction gMalePresetNames[]; -extern const struct MenuAction gFemalePresetNames[]; - -extern const u8 gUnknown_081E7834[]; - -extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[]; //Menu layouts enum diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 6a7ee69b3..42de71e14 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -96,7 +96,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/pokenav_before.c b/src/pokenav_before.c index 3150629b7..f017cf834 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -98,7 +98,7 @@ struct PokenavRibbonIconGfx { u8 paletteNum; }; -IWRAM_DATA void (*gUnknown_03000744)(void); +static void (*gUnknown_03000744)(void); struct UnkPokenavStruct *const gPokenavStructPtr = (struct UnkPokenavStruct *)gSharedMem; diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 7bccddde5..7c0a47b13 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -118,7 +118,7 @@ const union AnimCmd gSpriteAnim_83764C4[] = const union AnimCmd gSpriteAnim_83764CC[] = { - 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 288de36fd..bde1b2842 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -242,7 +242,7 @@ void sub_8119D80(struct Sprite *); extern u8 gUnknown_02019000[]; extern u16 gSpecialVar_0x8004; extern struct StructgUnknown_083F8DF4 gUnknown_083F8DF4[]; -extern u8 gUnknown_083F8EC4; +extern const u16 gUnknown_083F8EC4[3]; extern u8 gUnknown_083F8DF0[]; extern u8 gUnknown_083F8E34[]; extern const u8 gUnknown_08E8096C[]; @@ -371,7 +371,7 @@ void sub_8115238(void) struct StructgUnknown_083F8DF4 *s0; u16 arr[0x3]; // the third is never used ? - memcpy(arr, &gUnknown_083F8EC4, 0x6); + memcpy(arr, gUnknown_083F8EC4, sizeof(gUnknown_083F8EC4)); // u16 arr[] = {RGB(24, 4, 10), RGB(10, 19, 6), RGB(24, 4, 10)}; memset(eRoulette, 0x0, 0x17C); eRoulette->var04_0 = (gSpecialVar_0x8004 & 0x1); @@ -2526,7 +2526,7 @@ void sub_8118F8C(struct Sprite *sprite) struct StructgUnknown_083F8DF4 *p; eRoulette->var90 = 0.0f; p = &gUnknown_083F8DF4[0]; - eRoulette->var8C -= ((float)p[eRoulette->var04_0].var03) + eRoulette->var8C -= (FLOAT_U8(p[eRoulette->var04_0].var03)) / ((float)(s16)(p[eRoulette->var04_0].var04 + 0x1)); sprite->data[0x1] = 0x4; #if DEBUG @@ -2554,32 +2554,32 @@ void sub_8118F8C(struct Sprite *sprite) void sub_8119088(struct Sprite *sprite) { sub_8118724(sprite); - if (!(eRoulette->var94 > 40.f)) - { - eRoulette->var98 = - ( 4.0f / (float)(u16)eRoulette->var86); - eRoulette->var90 = - (eRoulette->var8C / (float)(u16)eRoulette->var86); - sprite->animNum = 0x2; - sprite->animBeginning = TRUE; - sprite->animEnded = FALSE; - sprite->data[0x1] = 0x3; - sprite->callback = &sub_8118F8C; - } + if (eRoulette->var94 > 40.f) + return; + + eRoulette->var98 = - ( 4.0f / FLOAT_U16((u16)eRoulette->var86)); + eRoulette->var90 = - (eRoulette->var8C / FLOAT_U16((u16)eRoulette->var86)); + sprite->animNum = 0x2; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->data[0x1] = 0x3; + sprite->callback = &sub_8118F8C; } void sub_8119134(struct Sprite *sprite) { sub_8118724(sprite); - if (!(eRoulette->var94 > 60.0f)) - { - m4aSongNumStartOrChange(0x5D); - eRoulette->var98 = - ( 20.0f / (float)(u16)eRoulette->var84); - eRoulette->var90 = ((1.0f - eRoulette->var8C) / (float)(u16)eRoulette->var84); - sprite->animNum = 0x1; - sprite->animBeginning = TRUE; - sprite->animEnded = FALSE; - sprite->data[0x1] = 0x2; - sprite->callback = &sub_8119088; - } + if (eRoulette->var94 > 60.0f) + return; + + m4aSongNumStartOrChange(SE_TAMAKORO_E); + eRoulette->var98 = - ( 20.0f / FLOAT_U16((u16)eRoulette->var84)); + eRoulette->var90 = ((1.0f - eRoulette->var8C) / FLOAT_U16((u16)eRoulette->var84)); + sprite->animNum = 0x1; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->data[0x1] = 0x2; + sprite->callback = &sub_8119088; } void sub_81191F4(struct Sprite *sprite) diff --git a/src/save.c b/src/save.c index 0df83200a..bc9546f52 100644 --- a/src/save.c +++ b/src/save.c @@ -658,7 +658,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/trade.c b/src/trade.c index bd298b58e..bee58ff15 100644 --- a/src/trade.c +++ b/src/trade.c @@ -126,7 +126,7 @@ struct TradeEwramSubstruct { /*0x08fc*/ u8 filler_08fc[0x704]; }; -IWRAM_DATA u8 gUnknown_03000508[8]; +static u8 gUnknown_03000508[8]; struct UnkStructF { u8 filler_0000[9]; |