diff options
author | Cameron Hall <cameronghall@cox.net> | 2018-01-21 13:53:32 -0600 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2018-01-21 13:53:32 -0600 |
commit | 11a9371349e1743a18dce28cc60b69dd6a29b665 (patch) | |
tree | e696d1fda7556af8b5234eae833ea2fd146fc75d /include | |
parent | 7383117626ebb2b3d993e5ad8855da5752c9cce8 (diff) | |
parent | 68a402883f780a61f54c2f0c8740429d0b2b3a81 (diff) |
resolve merge conflicts and make it compile
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/weather.h | 4 | ||||
-rw-r--r-- | include/debug.h | 2 | ||||
-rw-r--r-- | include/decoration.h | 3 | ||||
-rw-r--r-- | include/ewram.h | 2 | ||||
-rw-r--r-- | include/field_effect.h | 1 | ||||
-rw-r--r-- | include/field_weather.h | 99 | ||||
-rw-r--r-- | include/gba/macro.h | 53 | ||||
-rw-r--r-- | include/global.fieldmap.h | 3 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | include/matsuda_debug_menu.h | 1 | ||||
-rw-r--r-- | include/menu_helpers.h | 27 | ||||
-rw-r--r-- | include/money.h | 2 | ||||
-rw-r--r-- | include/pokedex.h | 2 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | include/shop.h | 27 |
15 files changed, 147 insertions, 83 deletions
diff --git a/include/constants/weather.h b/include/constants/weather.h index 946316984..1110be7a2 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -12,7 +12,7 @@ #define WEATHER_SANDSTORM 8 #define WEATHER_FOG_2 9 #define WEATHER_FOG_3 10 -#define WEATHER_DARK 11 +#define WEATHER_SHADE 11 #define WEATHER_DROUGHT 12 #define WEATHER_RAIN_HEAVY 13 #define WEATHER_BUBBLES 14 @@ -31,7 +31,7 @@ #define COORD_EVENT_WEATHER_FOG_2 7 #define COORD_EVENT_WEATHER_ASH 8 #define COORD_EVENT_WEATHER_SANDSTORM 9 -#define COORD_EVENT_WEATHER_DARK 10 +#define COORD_EVENT_WEATHER_SHADE 10 #define COORD_EVENT_WEATHER_DROUGHT 11 #define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 #define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 diff --git a/include/debug.h b/include/debug.h index 8f9e84c24..3c1a2b0a5 100644 --- a/include/debug.h +++ b/include/debug.h @@ -3,6 +3,6 @@ // matsuda_debug_menu void sub_80AAF30(void); -void unref_sub_80AB084(const u8 *text); +void Crash(const u8 *text); #endif // GUARD_DEBUG_H diff --git a/include/decoration.h b/include/decoration.h index 972e82faf..c38bd1bcb 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -151,7 +151,6 @@ extern const struct YesNoFuncTable gUnknown_083EC634[]; extern const u8 gUnknown_083EC65A[]; extern const u8 gUnknown_083EC97C[]; extern const u8 gUnknown_083EC984[]; -extern void sub_80B3068(u8); // src/shop extern const struct YesNoFuncTable gUnknown_083EC95C; extern const struct YesNoFuncTable gUnknown_083EC964; extern const struct YesNoFuncTable gUnknown_083EC9CC; @@ -161,7 +160,7 @@ extern const struct YesNoFuncTable gUnknown_083ECAA0; extern u8 sub_8134194(u8); // src/decoration_inventory extern bool8 sub_81341D4(void); // src/decoration_inventory extern void sub_8134104(u8); // src/decoration_inventory -extern bool8 sub_807D770(void); +extern bool8 IsWeatherNotFadingIn(void); extern void sub_8109DAC(u8); // src/trader extern void ReshowPlayerPC(u8); // src/player_pc void Task_SecretBasePC_Decoration(u8); diff --git a/include/ewram.h b/include/ewram.h index 6f42925c1..13e478ff1 100644 --- a/include/ewram.h +++ b/include/ewram.h @@ -8,7 +8,7 @@ extern u8 gSharedMem[]; // regions overlap others but have different definitions. Until some // dupes can be determined to be the same, they will be deliberate // seperated. -#define eWeatherPaletteData (*(struct WeatherPaletteData *)gSharedMem) +#define eDroughtPaletteData (*(struct WeatherPaletteData *)gSharedMem) #define gBattleStruct ((struct BattleStruct *) (gSharedMem + 0x0)) #define ewram0_2 (*(struct Struct2000000 *)(gSharedMem + 0x0)) #define namingScreenData (*(struct NamingScreenData *)(gSharedMem + 0x0)) diff --git a/include/field_effect.h b/include/field_effect.h index bb859074f..4d0e90767 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -103,7 +103,6 @@ void FieldEffectActiveListClear(void); void FieldEffectActiveListAdd(u8 id); void FieldEffectActiveListRemove(u8 id); bool8 FieldEffectActiveListContains(u8 id); -void sub_807DE38(u8 index); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); diff --git a/include/field_weather.h b/include/field_weather.h index 267650a2a..0bdebf747 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -1,7 +1,15 @@ #ifndef GUARD_WEATHER_H #define GUARD_WEATHER_H -struct Sprite; +#include "sprite.h" + +// Controls how the weather should be changing the screen palettes. +enum { + WEATHER_PAL_STATE_CHANGING_WEATHER, + WEATHER_PAL_STATE_SCREEN_FADING_IN, + WEATHER_PAL_STATE_SCREEN_FADING_OUT, + WEATHER_PAL_STATE_IDLE, +}; struct Weather { @@ -23,21 +31,17 @@ struct Weather struct Sprite *sandstormSprites2[5]; } s2; } sprites; - u8 unknown_200[2][32]; - u8 filler_240[0x460-0x240]; - u8 unk460[2][32]; - u8 filler4A0[0x6B6-0x4A0]; - s8 unknown_6B6; - u8 filler_6B7[0xC0-0xB7]; - s8 unknown_6C0; - s8 unknown_6C1; - u8 unknown_6C2; - u8 unknown_6C3; - u16 unknown_6C4; - u8 unknown_6C6; - u8 unknown_6C7; - u8 unknown_6C8; - u8 unknown_6C9; + u8 gammaShifts[19][32]; + u8 altGammaShifts[19][32]; + s8 gammaIndex; + s8 gammaTargetIndex; + u8 gammaStepDelay; + u8 gammaStepFrameCounter; + u16 fadeDestColor; + u8 palProcessingState; + u8 fadeScreenCounter; + bool8 readyForInit; + u8 taskId; u8 unknown_6CA; u8 unknown_6CB; u16 initStep; @@ -45,9 +49,9 @@ struct Weather u8 currWeather; u8 nextWeather; u8 weatherGfxLoaded; - u8 unknown_6D3; - u8 unknown_6D4; - u8 unknown_6D5; + bool8 weatherChangeComplete; + u8 weatherPicSpritePalIndex; + u8 altGammaSpritePalIndex; u16 unknown_6D6; u8 unknown_6D8; u8 unknown_6D9; @@ -70,8 +74,8 @@ struct Weather u16 fog1ScrollPosX; u16 unknown_6F0; u16 unknown_6F2; - u8 unknown_6F4[6]; - u8 unknown_6FA; + u8 lightenedFogSpritePals[6]; + u8 lightenedFogSpritePalsCount; u8 fog1SpritesCreated; u16 unknown_6FC; u16 unknown_6FE; @@ -104,8 +108,8 @@ struct Weather u16 currBlendEVB; u16 targetBlendEVA; u16 targetBlendEVB; - u8 unknown_738; - u8 unknown_739; + u8 blendUpdateCounter; + u8 blendFrameCounter; u8 blendDelay; u8 filler_73B[0x3C-0x3B]; s16 unknown_73C; @@ -113,42 +117,35 @@ struct Weather s16 unknown_740; s16 unknown_742; u8 filler_744[0xD-4]; - s8 unknown_74D; - u8 unknown_74E; + s8 loadDroughtPalsIndex; + u8 loadDroughtPalsOffset; }; void StartWeather(void); -void DoWeatherEffect(u8 effect); +void ChangeWeather(u8 weather); void sub_807C988(u8 effect); void sub_807C9B4(u8 effect); void Task_WeatherInit(u8); void Task_WeatherMain(u8); void sub_807CAE8(void); void nullsub_38(void); -void sub_807CB10(void); -void sub_807CC24(void); -void sub_807CCAC(void); -u8 sub_807CDC4(void); -u8 sub_807CE24(void); -u8 sub_807CE7C(void); -void nullsub_39(void); +void SetWeatherScreenFadeOut(void); -// ASM -void sub_807CEBC(u8, u8, s8); -//void sub_807D1BC(u8, u8, u8, u8, u16); -void sub_807D1BC(u8 a, u8 a2, s8 c, u8 d, u16 e); -void sub_807D304(s8 a, u8 arg2, u16 c); -void sub_807D424(u8, u16); -// ... -void fade_screen(u8, u8); +enum +{ + FADE_FROM_BLACK, + FADE_TO_BLACK, + FADE_FROM_WHITE, + FADE_TO_WHITE, +}; + +void FadeScreen(u8, u8); // ... -void sub_807D78C(u8 tag); -void sub_807D874(u8); +void UpdateSpritePaletteWithWeather(u8 tag); +void ApplyWeatherGammaShiftToPal(u8); // ... void Weather_SetBlendCoeffs(u8, u8); // ... -void sub_807DE68(void); -// ... void PlayRainSoundEffect(void); // ... void SetSav1Weather(u32); @@ -158,10 +155,18 @@ void SetSav1WeatherFromCurrMapHeader(void); void DoCurrentWeather(void); void sub_8080750(); -bool8 sub_807D770(void); -bool8 sub_807DDFC(void); +bool8 IsWeatherNotFadingIn(void); +bool8 IsWeatherChangeComplete(void); void SetWeather(u32); void UpdateWeatherPerDay(u16); +void PreservePaletteInWeather(u8 index); +void ResetPreservedPalettesInWeather(void); +extern void ResetDroughtWeatherPaletteLoading(void); +void ResetDroughtWeatherPaletteLoading(void); +bool8 LoadDroughtWeatherPalettes(void); +u8 GetCurrentWeather(void); +void LoadCustomWeatherSpritePalette(const u16 *palette); + extern struct Weather gWeather; diff --git a/include/gba/macro.h b/include/gba/macro.h index dcad009e1..d39d10738 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -167,4 +167,57 @@ #define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16) #define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32) +// from pokeemerald +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define MAX_DMA_REQUESTS 128 + +#define DMA_REQUEST_COPY32 1 +#define DMA_REQUEST_FILL32 2 +#define DMA_REQUEST_COPY16 3 +#define DMA_REQUEST_FILL16 4 + +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + #endif // GUARD_GBA_MACRO_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index a828cf131..30047c677 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -101,8 +101,7 @@ struct WarpEvent struct CoordEvent { s16 x, y; - u8 unk4; - u8 filler_5; + u8 elevation; u16 trigger; u16 index; u8 filler_A[0x2]; diff --git a/include/item_menu.h b/include/item_menu.h index 29618f347..726d36789 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -27,7 +27,7 @@ void CleanUpItemMenuMessage(u8); void CleanUpOverworldMessage(u8); void ExecuteItemUseFromBlackPalette(void); void sub_80A5D04(void); -void sub_80A6300(void); +void ItemMenu_LoadSellMenu(void); void sub_80A68CC(); void sub_80A6A30(void); bool32 sub_80A6D1C(void); diff --git a/include/matsuda_debug_menu.h b/include/matsuda_debug_menu.h index 60f2dc48c..ad877a014 100644 --- a/include/matsuda_debug_menu.h +++ b/include/matsuda_debug_menu.h @@ -3,7 +3,6 @@ #define BIT(n) (1 << (n)) -void sub_80AB184(void); void sub_80AA280(u8); void sub_80AA5E8(u8); void sub_80AA658(u8); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 993d698bd..a1c872c73 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -9,7 +9,22 @@ struct YesNoFuncTable void (*noFunc)(u8); }; -void sub_80F9020(void); +// SetVerticalScrollIndicators enums +enum +{ + TOP_ARROW, + BOTTOM_ARROW, + LEFT_ARROW, // Bag arrows + RIGHT_ARROW +}; + +enum +{ + VISIBLE, + INVISIBLE +}; + +void ClearBGTilemapBuffers(void); void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16); void DoYesNoFuncWithChoice(u8, const struct YesNoFuncTable *); void sub_80F914C(u8, const struct YesNoFuncTable *); @@ -19,21 +34,21 @@ bool8 sub_80F92F4(u16); bool8 sub_80F931C(u16); bool8 sub_80F9344(void); void sub_80F9368(void); -void sub_80F9438(void); -void sub_80F944C(void); +void ClearVideoCallbacks(void); +void ClearVerticalScrollIndicatorPalettes(void); void sub_80F9480(u8 *, u8); void sub_80F94A4(u8, u8 *, s16, s16); void sub_80F94F8(u8 *); void sub_80F9520(u8 *, u8); void CreateVerticalScrollIndicators(u8, u16, u16); -void sub_80F979C(u8, bool8); +void SetVerticalScrollIndicators(u8, bool8); void DestroyVerticalScrollIndicator(u8); void LoadScrollIndicatorPalette(void); void BuyMenuFreeMemory(void); -void sub_80F98A4(u8); +void StopVerticalScrollIndicators(u8); void StartVerticalScrollIndicators(u8); void sub_80F98DC(u8); void PauseVerticalScrollIndicator(u8); -void sub_80F9988(u8, u8); +void SetVerticalScrollIndicatorPriority(u8, u8); #endif // GUARD_MENU_HELPERS_H diff --git a/include/money.h b/include/money.h index 9f4ef71bc..e3a3f898d 100644 --- a/include/money.h +++ b/include/money.h @@ -7,7 +7,7 @@ void RemoveMoney(u32 *, u32); void GetMoneyAmountText(u8 *buffer, u32 arg1, u8 arg2); void PrintMoneyAmount(u32 arg0, u8 arg1, u8 x, u8 y); void sub_80B7AEC(u32, u8 left, u8 top); -void sub_80B7B34(u8, u8, int); +void Draw10000Sprite(u8, u8, int); void UpdateMoneyWindow(u32, u8, u8); void OpenMoneyWindow(u32, u8, u8); void CloseMoneyWindow(u8, u8); diff --git a/include/pokedex.h b/include/pokedex.h index d8416889a..73877bead 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -23,6 +23,6 @@ s8 GetSetPokedexFlag(u16, u8); u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); bool8 CompletedHoennPokedex(void); -u16 sub_8090FF4(void); +bool16 CompletedNationalPokedex(void); #endif // GUARD_POKEDEX_H diff --git a/include/pokemon.h b/include/pokemon.h index 8f1b46387..6e3e15404 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -258,7 +258,6 @@ struct BoxPokemon /*0x13*/ u8 isBadEgg:1; u8 hasSpecies:1; u8 isEgg:1; - u8 unused:5; /*0x14*/ u8 otName[OT_NAME_LENGTH]; /*0x1B*/ u8 markings; /*0x1C*/ u16 checksum; @@ -419,7 +418,6 @@ struct BattleMove u8 target; s8 priority; u8 flags; - u8 pad[3]; }; #define FLAG_MAKES_CONTACT 0x1 diff --git a/include/shop.h b/include/shop.h index b785ca764..80602e26c 100644 --- a/include/shop.h +++ b/include/shop.h @@ -17,6 +17,14 @@ enum ANIM_NUM }; +// shop options +enum +{ + SHOP_BUY, + SHOP_SELL, + SHOP_EXIT +}; + struct MartInfo { /* 0x0 */ void (* callback) (void); @@ -29,20 +37,9 @@ struct MartInfo /* 0xD */ u8 curItemCount; // if you are selling an item, this is the count of the current item stack you have. }; -void sub_80B2E38(u8); -void HandleShopMenuQuit(u8); -void sub_80B2FA0(u8); -void BuyMenuDrawGraphics(void); -void sub_80B3240(void); -void sub_80B3270(void); -void BuyMenuDrawMapGraphics(void); -void sub_80B3764(int, int); -void sub_80B37EC(void); -void sub_80B40E8(u8); -void CreatePokemartMenu(u16 *); -void CreateDecorationShop1Menu(u16 *); -void CreateDecorationShop2Menu(u16 *); -void sub_80B356C(void); -void sub_80B368C(void); +void Shop_CreatePokemartMenu(u16 *); +void Shop_CreateDecorationShop1Menu(u16 *); +void Shop_CreateDecorationShop2Menu(u16 *); +void Shop_RunExitSellMenuTask(u8 taskId); #endif // GUARD_SHOP_H |