diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/songs.h | 163 | ||||
-rw-r--r-- | include/constants/species.h | 3 | ||||
-rw-r--r-- | include/constants/vars.h | 2 | ||||
-rw-r--r-- | include/decompress.h | 2 | ||||
-rw-r--r-- | include/event_scripts.h | 67 | ||||
-rw-r--r-- | include/field_specials.h | 1 | ||||
-rw-r--r-- | include/help_system.h | 1 | ||||
-rw-r--r-- | include/math_util.h | 6 | ||||
-rw-r--r-- | include/menu.h | 10 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 13 | ||||
-rw-r--r-- | include/oak_speech.h | 6 | ||||
-rw-r--r-- | include/overworld.h | 1 | ||||
-rw-r--r-- | include/pokeball.h | 3 | ||||
-rw-r--r-- | include/pokemon.h | 1 | ||||
-rw-r--r-- | include/pokemon_3.h | 3 | ||||
-rw-r--r-- | include/scanline_effect.h | 46 | ||||
-rw-r--r-- | include/text.h | 2 | ||||
-rw-r--r-- | include/unknown_task.h | 24 | ||||
-rw-r--r-- | include/wild_encounter.h | 1 |
19 files changed, 247 insertions, 108 deletions
diff --git a/include/constants/songs.h b/include/constants/songs.h index e31a38fdc..b216ac988 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -250,6 +250,93 @@ #define SE_W287B 245 #define SE_W114 246 #define SE_W063B 247 +#define MUS_ME_ASA 256 +#define MUS_FANFA1 257 +#define MUS_FANFA4 258 +#define MUS_FANFA5 259 +#define MUS_ME_BACHI 260 +#define MUS_ME_WAZA 261 +#define MUS_ME_KINOMI 262 +#define MUS_ME_B_BIG 268 +#define MUS_ME_B_SMALL 269 +#define MUS_ME_WASURE 270 +#define MUS_ME_ZANNEN 271 +#define BGM_FRLG_FOLLOW_ME 272 +#define BGM_FRLG_GAMECORNER 273 +#define BGM_FRLG_ROCKET_HIDEOUT 274 +#define BGM_FRLG_GYM 275 +#define BGM_FRLG_JIGGLYPUFF 276 +#define BGM_FRLG_OPENING 277 +#define BGM_FRLG_TITLE 278 +#define BGM_FRLG_CINNABAR_ISLAND 279 +#define BGM_FRLG_LAVENDER_TOWN 280 +#define BGM_FRLG_HEALING_TEST 281 +#define BGM_FRLG_BICYCLE 282 +#define BGM_FRLG_SUSPICIOUS_EYE 283 +#define BGM_FRLG_GIRL_EYE 284 +#define BGM_FRLG_BOY_EYE 285 +#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 286 +#define BGM_FRLG_VIRIDIAN_FOREST 287 +#define BGM_FRLG_MT_MOON 288 +#define BGM_FRLG_POKEMON_MANSION 289 +#define BGM_FRLG_CREDITS 290 +#define BGM_FRLG_ROUTE_1 291 +#define BGM_FRLG_ROUTE_24 292 +#define BGM_FRLG_ROUTE_3 293 +#define BGM_FRLG_ROUTE_11 294 +#define BGM_FRLG_INDIGO_PLATEAU 295 +#define BGM_FRLG_BATTLE_LEADER 296 +#define BGM_FRLG_BATTLE_TRAINER 297 +#define BGM_FRLG_BATTLE_WILD_POKEMON 298 +#define BGM_FRLG_BATTLE_CHAMPION 299 +#define BGM_FRLG_PALLET_TOWN 300 +#define BGM_FRLG_OAK_LAB 301 +#define BGM_FRLG_PROF_OAK 302 +#define BGM_FRLG_POKEMON_CENTER 303 +#define BGM_FRLG_SS_ANNE 304 +#define BGM_FRLG_SURF 305 +#define BGM_FRLG_POKEMON_TOWER 306 +#define BGM_FRLG_SILPH 307 +#define BGM_FRLG_CERULEAN_CITY 308 +#define BGM_FRLG_CELADON_CITY 309 +#define BGM_FRLG_KACHI_TRAINER 310 +#define BGM_FRLG_KACHI_WILD_POKEMON 311 +#define BGM_FRLG_KACHI_LEADER 312 +#define BGM_FRLG_VERMILION_CITY 313 +#define BGM_FRLG_VIRIDIAN_CITY 314 +#define BGM_FRLG_RIVAL 315 +#define BGM_FRLG_RIVAL_POSTBATTLE 316 +#define BGM_FRLG_ME_POKEDEX_EVAL 317 +#define BGM_FRLG_ME_KEYITEM 318 +#define BGM_FRLG_FANFA_POKEMON_CAUGHT 319 +#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 320 +#define BGM_FRLG_GAMEFREAK_LOGO 321 +#define BGM_FRLG_CAUGHT_POKEMON 322 +#define BGM_FRLG_GAME_EXPLANATION_START 323 +#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 324 +#define BGM_FRLG_GAME_EXPLANATION_END 325 +#define BGM_FRLG_POKEMON_JUMP 326 +#define BGM_FRLG_UNION_ROOM 327 +#define BGM_FRLG_POKEMON_NETWORK_CENTER 328 +#define BGM_FRLG_MYSTERY_GIFT 329 +#define BGM_FRLG_DODRIO_BERRY_PICK 330 +#define BGM_FRLG_MT_EMBER 331 +#define BGM_FRLG_TEACHY_TV_EPISODE 332 +#define BGM_FRLG_SEVII_ISLANDS 333 +#define BGM_FRLG_TANOBY_RUINS 334 +#define BGM_FRLG_ISLAND_ONE 335 +#define BGM_FRLG_ISLAND_FOUR 336 +#define BGM_FRLG_ISLAND_SIX 337 +#define BGM_FRLG_FLUTE 338 +#define BGM_FRLG_BATTLE_DEOXYS 339 +#define BGM_FRLG_BATTLE_MEWTWO 340 +#define BGM_FRLG_BATTLE_LEGENDARY 341 +#define BGM_FRLG_LEADER_EYE 342 +#define BGM_FRLG_DEOXYS_EYE 343 +#define BGM_FRLG_TRAINER_TOWER 344 +#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 345 +#define BGM_FRLG_TEACHY_TV 346 + #define BGM_STOP 349 #define BGM_TETSUJI 350 #define BGM_FIELD13 351 @@ -385,82 +472,6 @@ #define BGM_BATTLE35 481 #define BGM_BATTLE38 482 #define BGM_BATTLE30 483 -#define BGM_FRLG_FOLLOW_ME 484 -#define BGM_FRLG_GAMECORNER 485 -#define BGM_FRLG_ROCKET_HIDEOUT 486 -#define BGM_FRLG_GYM 487 -#define BGM_FRLG_JIGGLYPUFF 488 -#define BGM_FRLG_OPENING 489 -#define BGM_FRLG_TITLE 490 -#define BGM_FRLG_CINNABAR_ISLAND 491 -#define BGM_FRLG_LAVENDER_TOWN 492 -#define BGM_FRLG_HEALING_TEST 493 -#define BGM_FRLG_BICYCLE 494 -#define BGM_FRLG_SUSPICIOUS_EYE 495 -#define BGM_FRLG_GIRL_EYE 496 -#define BGM_FRLG_BOY_EYE 497 -#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 498 -#define BGM_FRLG_VIRIDIAN_FOREST 499 -#define BGM_FRLG_MT_MOON 500 -#define BGM_FRLG_POKEMON_MANSION 501 -#define BGM_FRLG_CREDITS 502 -#define BGM_FRLG_ROUTE_1 503 -#define BGM_FRLG_ROUTE_24 504 -#define BGM_FRLG_ROUTE_3 505 -#define BGM_FRLG_ROUTE_11 506 -#define BGM_FRLG_INDIGO_PLATEAU 507 -#define BGM_FRLG_BATTLE_LEADER 508 -#define BGM_FRLG_BATTLE_TRAINER 509 -#define BGM_FRLG_BATTLE_WILD_POKEMON 510 -#define BGM_FRLG_BATTLE_CHAMPION 511 -#define BGM_FRLG_PALLET_TOWN 512 -#define BGM_FRLG_OAK_LAB 513 -#define BGM_FRLG_PROF_OAK 514 -#define BGM_FRLG_POKEMON_CENTER 515 -#define BGM_FRLG_SS_ANNE 516 -#define BGM_FRLG_SURF 517 -#define BGM_FRLG_POKEMON_TOWER 518 -#define BGM_FRLG_SILPH 519 -#define BGM_FRLG_CERULEAN_CITY 520 -#define BGM_FRLG_CELADON_CITY 521 -#define BGM_FRLG_KACHI_TRAINER 522 -#define BGM_FRLG_KACHI_WILD_POKEMON 523 -#define BGM_FRLG_KACHI_LEADER 524 -#define BGM_FRLG_VERMILION_CITY 525 -#define BGM_FRLG_VIRIDIAN_CITY 526 -#define BGM_FRLG_RIVAL 527 -#define BGM_FRLG_RIVAL_POSTBATTLE 528 -#define BGM_FRLG_ME_POKEDEX_EVAL 529 -#define BGM_FRLG_ME_KEYITEM 530 -#define BGM_FRLG_FANFA_POKEMON_CAUGHT 531 -#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 532 -#define BGM_FRLG_GAMEFREAK_LOGO 533 -#define BGM_FRLG_CAUGHT_POKEMON 534 -#define BGM_FRLG_GAME_EXPLANATION_START 535 -#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 536 -#define BGM_FRLG_GAME_EXPLANATION_END 537 -#define BGM_FRLG_POKEMON_JUMP 538 -#define BGM_FRLG_UNION_ROOM 539 -#define BGM_FRLG_POKEMON_NETWORK_CENTER 540 -#define BGM_FRLG_MYSTERY_GIFT 541 -#define BGM_FRLG_DODRIO_BERRY_PICK 542 -#define BGM_FRLG_MT_EMBER 543 -#define BGM_FRLG_TEACHY_TV_EPISODE 544 -#define BGM_FRLG_SEVII_ISLANDS 545 -#define BGM_FRLG_TANOBY_RUINS 546 -#define BGM_FRLG_ISLAND_ONE 547 -#define BGM_FRLG_ISLAND_FOUR 548 -#define BGM_FRLG_ISLAND_SIX 549 -#define BGM_FRLG_FLUTE 550 -#define BGM_FRLG_BATTLE_DEOXYS 551 -#define BGM_FRLG_BATTLE_MEWTWO 552 -#define BGM_FRLG_BATTLE_LEGENDARY 553 -#define BGM_FRLG_LEADER_EYE 554 -#define BGM_FRLG_DEOXYS_EYE 555 -#define BGM_FRLG_TRAINER_TOWER 556 -#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 557 -#define BGM_FRLG_TEACHY_TV 558 - #define BGM_ROUTE_118 0x7FFF // What is this for? #endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/constants/species.h b/include/constants/species.h index f698ada14..9cb239799 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -445,6 +445,9 @@ #define SPECIES_UNOWN_EMARK 438 #define SPECIES_UNOWN_QMARK 439 +#define SPECIES_OLD_UNOWN_EMARK 412 +#define SPECIES_OLD_UNOWN_QMARK 413 + #define NUM_SPECIES SPECIES_EGG #endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 886bae93c..2f817fb02 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -54,7 +54,7 @@ #define VAR_0x402F 0x402F #define VAR_0x4030 0x4030 -#define VAR_0x4031 0x4031 +#define VAR_STARTER_MON 0x4031 #define VAR_0x4032 0x4032 #define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 diff --git a/include/decompress.h b/include/decompress.h index 36672dcfd..c2c4f0e1c 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -18,6 +18,8 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src); +bool8 sub_800F078(const struct CompressedSpritePalette *src); + void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species); void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species); void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species); diff --git a/include/event_scripts.h b/include/event_scripts.h index b909566d0..1762faf8e 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -705,4 +705,71 @@ extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[]; +extern const u8 gOtherText_NewName[]; +extern const u8 gNameChoice_Green[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Gary[]; +extern const u8 gNameChoice_Kaz[]; +extern const u8 gNameChoice_Toru[]; +extern const u8 gNameChoice_Ash[]; +extern const u8 gNameChoice_Kene[]; +extern const u8 gNameChoice_Geki[]; +extern const u8 gNameChoice_Jak[]; +extern const u8 gNameChoice_Janne[]; +extern const u8 gNameChoice_Jonn[]; +extern const u8 gNameChoice_Kamon[]; +extern const u8 gNameChoice_Karl[]; +extern const u8 gNameChoice_Taylor[]; +extern const u8 gNameChoice_Oscar[]; +extern const u8 gNameChoice_Hiro[]; +extern const u8 gNameChoice_Max[]; +extern const u8 gNameChoice_Jon[]; +extern const u8 gNameChoice_Ralph[]; +extern const u8 gNameChoice_Kay[]; +extern const u8 gNameChoice_Tosh[]; +extern const u8 gNameChoice_Roak[]; +extern const u8 gNameChoice_Omi[]; +extern const u8 gNameChoice_Jodi[]; +extern const u8 gNameChoice_Amanda[]; +extern const u8 gNameChoice_Hillary[]; +extern const u8 gNameChoice_Makey[]; +extern const u8 gNameChoice_Michi[]; +extern const u8 gNameChoice_Paula[]; +extern const u8 gNameChoice_June[]; +extern const u8 gNameChoice_Cassie[]; +extern const u8 gNameChoice_Rey[]; +extern const u8 gNameChoice_Seda[]; +extern const u8 gNameChoice_Kiko[]; +extern const u8 gNameChoice_Mina[]; +extern const u8 gNameChoice_Norie[]; +extern const u8 gNameChoice_Sai[]; +extern const u8 gNameChoice_Momo[]; +extern const u8 gNameChoice_Suzi[]; +extern const u8 gNewGame_HelpDocs1[]; +extern const u8 gNewGame_HelpDocs2[]; +extern const u8 gNewGame_HelpDocs3[]; +extern const u8 gNewGame_HelpDocs4[]; +extern const u8 gNewGame_HelpDocs5[]; +extern const u8 gNewGame_HelpDocs6[]; +extern const u8 gNewGame_HelpDocs7[]; +extern const u8 gOakText_AskPlayerGender[]; +extern const u8 gNewGameAdventureIntro1[]; +extern const u8 gNewGameAdventureIntro2[]; +extern const u8 gNewGameAdventureIntro3[]; +extern const u8 gOakText_WelcomeToTheWorld[]; +extern const u8 gOakText_WorldInhabited1[]; +extern const u8 gOakText_WorldInhabited2[]; +extern const u8 gOakText_PetsBattlingStudy[]; +extern const u8 gOakText_TellMeALittleAboutYourself[]; +extern const u8 gOakText_AskPlayerName[]; +extern const u8 gOakText_FinalizePlayerName[]; +extern const u8 gOakText_IntroduceRival[]; +extern const u8 gOakText_AskRivalName[]; +extern const u8 gOakText_ConfirmRivalName[]; +extern const u8 gOakText_RememberRivalName[]; +extern const u8 gOakText_LegendAboutToUnfold[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_specials.h b/include/field_specials.h index 2d495fdd5..c1bc8e8c9 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,5 +6,6 @@ u8 GetLeadMonIndex(void); u8 CountDigits(u16 number); void TV_PrintIntToStringVar(u8, int); +u16 ScrSpecial_GetStarter(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/help_system.h b/include/help_system.h index 632788148..3ef5f53e4 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -6,5 +6,6 @@ extern bool8 gUnknown_3005ECC; void sub_812B484(void); +void HelpSystem_SetSomeVariable2(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/math_util.h b/include/math_util.h new file mode 100644 index 000000000..74dbbe98e --- /dev/null +++ b/include/math_util.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MATH_UTIL_H +#define GUARD_MATH_UTIL_H + +s16 sub_80D8B90(s16 y); + +#endif //GUARD_MATH_UTIL_H diff --git a/include/menu.h b/include/menu.h index b5078df5e..f26c7efde 100644 --- a/include/menu.h +++ b/include/menu.h @@ -38,5 +38,15 @@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSp void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); +void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); +void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); +void sub_810F71C(void); +void sub_810F740(void); +u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition); +void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); + +void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); +bool8 IsBlendTaskActive(void); #endif // GUARD_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index e22f89f44..fe8b5b754 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -15,14 +15,19 @@ void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); -void sub_80F6F54(u8, u8); -u8 sub_80F78A8(void); +void ClearDialogWindowAndFrame(u8, u8); +u8 GetTextSpeedSetting(void); void sub_80F6E9C(void); -void sub_80F6EE4(u8 windowId, bool8 transfer); +void DrawDialogueFrame(u8 windowId, bool8 transfer); void sub_80F7974(const u8 *); u8 GetStartMenuWindowId(void); void sub_80F7998(void); void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -void sub_80F6F1C(u8 windowId, bool8 copyNow); +void DrawStdWindowFrame(u8 windowId, bool8 copyNow); +void InitStandardTextBoxWindows(void); +void ResetBg0(void); +void Menu_LoadStdPalAt(u16); +void * malloc_and_decompress(const void * src, u32 * size); +u16 sub_80F796C(void); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/oak_speech.h b/include/oak_speech.h new file mode 100644 index 000000000..d5d94bc83 --- /dev/null +++ b/include/oak_speech.h @@ -0,0 +1,6 @@ +#ifndef GUARD_OAK_SPEECH_H +#define GUARD_OAK_SPEECH_H + +void StartNewGameScene(void); + +#endif //GUARD_OAK_SPEECH_H diff --git a/include/overworld.h b/include/overworld.h index b32d9cf48..8c32d3e06 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -99,5 +99,6 @@ extern u8 gUnknown_2036E28; extern bool8 (* gUnknown_3005024)(void); void SetLastHealLocationWarp(u8 healLocaionId); void sub_8055864(u8 mapGroup, u8 mapNum); +void CB2_NewGame(void); #endif //GUARD_ROM4_H diff --git a/include/pokeball.h b/include/pokeball.h index 10a9529b9..5545f8870 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -24,7 +24,8 @@ enum #define POKEBALL_OPPONENT_SENDOUT 0xFE u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); -void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h); +u8 sub_804BB98(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h); u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); void sub_8076918(u8 bank); void DoHitAnimHealthboxEffect(u8 bank); diff --git a/include/pokemon.h b/include/pokemon.h index f1f04c9eb..c08f37b5f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -673,5 +673,6 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); void PlayMapChosenOrBattleBGM(u16 songId); u8 GetMonsStateToDoubles(void); void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src); +void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition); #endif // GUARD_POKEMON_H diff --git a/include/pokemon_3.h b/include/pokemon_3.h index cffc9780b..e65bc85fc 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -5,5 +5,8 @@ const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); +void * SetUpMonSpriteManagerMaybe(u8, u8); +void sub_8044D80(void); +void * sub_8044E00(u8 buffId); #endif // GUARD_POKEMON_3_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h index d49f5b4d6..711ed7da8 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -1,6 +1,48 @@ #ifndef GUARD_SCANLINE_EFFECT_H #define GUARD_SCANLINE_EFFECT_H -void remove_some_task(void); +// DMA control value to transfer a single 16-bit value at HBlank +#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) +#define SCANLINE_EFFECT_DMACNT_32BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_32BIT | DMA_DEST_RELOAD) << 16) | 1) -#endif //GUARD_SCANLINE_EFFECT_H +#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS) + +struct ScanlineEffectParams +{ + volatile void *dmaDest; + u32 dmaControl; + u8 initState; + u8 unused9; +}; + +struct ScanlineEffect +{ + void *dmaSrcBuffers[2]; + volatile void *dmaDest; + u32 dmaControl; + void (*setFirstScanlineReg)(void); + u8 srcBuffer; + u8 state; + u8 unused16; + u8 unused17; + u8 waveTaskId; +}; + +extern struct ScanlineEffect gScanlineEffect; + +extern u16 gScanlineEffectRegBuffers[2][0x3C0]; + +void ScanlineEffect_Stop(void); +void ScanlineEffect_Clear(void); +void ScanlineEffect_SetParams(struct ScanlineEffectParams); +void ScanlineEffect_InitHBlankDmaTransfer(void); +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7); + +#endif // GUARD_SCANLINE_EFFECT_H
\ No newline at end of file diff --git a/include/text.h b/include/text.h index e127f103a..d2c2ecf42 100644 --- a/include/text.h +++ b/include/text.h @@ -250,5 +250,7 @@ s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); +u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); +void sub_8006398(u8 spriteId); #endif // GUARD_TEXT_H diff --git a/include/unknown_task.h b/include/unknown_task.h deleted file mode 100644 index 429e58aad..000000000 --- a/include/unknown_task.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef GUARD_unknown_task_H -#define GUARD_unknown_task_H - -#include "global.h" - -// Exported type declarations -struct UnknownTaskStruct -{ - volatile void *dest; - u32 control; - u8 unk8; - u8 unk9; -}; - -extern struct UnknownTaskStruct gUnknown_0831AC70; - -// Exported RAM declarations - -// Exported ROM declarations -void remove_some_task(void); -void sub_80BA038(struct UnknownTaskStruct arg0); -void sub_80BA0A8(void); - -#endif // GUARD_unknown_task_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 2186e0b4f..b4c42116a 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -43,5 +43,6 @@ u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); void sub_8082740(u8); +u8 GetUnownLetterByPersonality(u32 personality); #endif // GUARD_WILD_ENCOUNTER_H |