diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | include/battle_ai_switch_items.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | include/constants/field_effects.h | 0 | ||||
-rw-r--r-- | include/constants/songs.h | 238 | ||||
-rw-r--r-- | include/event_object_movement.h | 25 | ||||
-rw-r--r-- | include/ewram.h | 2 | ||||
-rw-r--r-- | include/field_effect.h | 5 | ||||
-rw-r--r-- | include/field_effect_helpers.h | 42 | ||||
-rw-r--r-- | include/field_fadetransition.h | 2 | ||||
-rw-r--r-- | include/field_screen_effect.h | 2 | ||||
-rw-r--r-- | include/fieldmap.h | 8 | ||||
-rw-r--r-- | include/fldeff_flash.h | 4 | ||||
-rw-r--r-- | include/gba/types.h | 4 | ||||
-rw-r--r-- | include/global.fieldmap.h | 12 | ||||
-rw-r--r-- | include/global.h | 2 | ||||
-rw-r--r-- | include/item_menu.h | 9 | ||||
-rw-r--r-- | include/item_use.h | 7 | ||||
-rw-r--r-- | include/overworld.h | 42 | ||||
-rw-r--r-- | include/party_menu.h | 2 | ||||
-rw-r--r-- | include/rom_8077ABC.h | 7 |
20 files changed, 208 insertions, 207 deletions
diff --git a/include/battle.h b/include/battle.h index 7527247fe..346423e65 100644 --- a/include/battle.h +++ b/include/battle.h @@ -823,6 +823,8 @@ void sub_8032638(); void sub_8032AA8(u8, u8); void SetBankFuncToOpponentBufferRunCommand(void); void BattleStopLowHpSound(void); +void sub_8031FC4(u8, u8, bool8); +void sub_8032984(u8, u16); void SetBankFuncToLinkOpponentBufferRunCommand(void); diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 648cfad74..648cfad74 100755..100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index 86fd6718f..86fd6718f 100755..100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h diff --git a/include/constants/songs.h b/include/constants/songs.h index 920873a7c..45e3d335a 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -249,125 +249,125 @@ #define SE_W287B 245 // Stat Decreased #define SE_W114 246 // Haze #define SE_W063B 247 // Hyper Beam 2 -#define BGM_STOP 349 -#define BGM_TETSUJI 350 // Littleroot Town Test 'TETSUJI' -#define BGM_FIELD13 351 // GSC - Route 38 -#define BGM_KACHI22 352 // Wild Pokémon Defeated -#define BGM_KACHI2 353 // Wild Pokémon Defeated with Intro -#define BGM_KACHI3 354 // Gym Leader Defeated -#define BGM_KACHI5 355 // Victory! Elite Four -#define BGM_PCC 356 // Crystal - Pokémon Communication Center -#define BGM_NIBI 357 // GSC - Viridian/Saffron/Pewter/etc -#define BGM_SUIKUN 358 // Crystal - Battle! Legendary Beasts -#define BGM_DOORO1 359 // Route 101 -#define BGM_DOORO_X1 360 // Route 110 -#define BGM_DOORO_X3 361 // Route 120 -#define BGM_MACHI_S2 362 // Petalburg City -#define BGM_MACHI_S4 363 // Oldale Town -#define BGM_GIM 364 // Gym -#define BGM_NAMINORI 365 // Surfing -#define BGM_DAN01 366 // Caves and Darkness -#define BGM_FANFA1 367 // Level Up! -#define BGM_ME_ASA 368 // Pokémon Healed -#define BGM_ME_BACHI 369 // Obtained a Badge! -#define BGM_FANFA4 370 // Obtained an Item! -#define BGM_FANFA5 371 // Your Pokémon Just Evolved! -#define BGM_ME_WAZA 372 // Obtained a TM/HM! -#define BGM_BIJYUTU 373 // Lilycove Musseum -#define BGM_DOORO_X4 374 // Route 122/Intro -#define BGM_FUNE_KAN 375 // Slateport Museum -#define BGM_ME_SHINKA 376 // Evolution Intro -#define BGM_SHINKA 377 // Evolution -#define BGM_ME_WASURE 378 // Move Deleted -#define BGM_SYOUJOEYE 379 // Encounter! Tuber -#define BGM_BOYEYE 380 // Encounter! Boy -#define BGM_DAN02 381 // Abandoned Ship -#define BGM_MACHI_S3 382 // Fortree City -#define BGM_ODAMAKI 383 // Professor Birch's Lab -#define BGM_B_TOWER 384 // Battle Tower (RS) -#define BGM_SWIMEYE 385 // Encounter! Swimmer -#define BGM_DAN03 386 // Meteor Falls -#define BGM_ME_KINOMI 387 // Obtained a Berry! -#define BGM_ME_TAMA 388 // Awakening the Super-Ancient Pokémon -#define BGM_ME_B_BIG 389 // Slots Jackpot! -#define BGM_ME_B_SMALL 390 // Slots Victory! -#define BGM_ME_ZANNEN 391 // Too bad! -#define BGM_BD_TIME 392 // Roulette! -#define BGM_TEST1 393 // Contest Test 1 -#define BGM_TEST2 394 // Contest Test 2 -#define BGM_TEST3 395 // Contest Test 3 -#define BGM_TEST4 396 // Contest Test 4 -#define BGM_TEST 397 // Encounter! Gentleman (Test?) -#define BGM_GOMACHI0 398 // Verdanturf Town -#define BGM_GOTOWN 399 // Rustboro City -#define BGM_POKECEN 400 // Pokémon Center -#define BGM_NEXTROAD 401 // Route 104 -#define BGM_GRANROAD 402 // Route 119 -#define BGM_CYCLING 403 // Cycling -#define BGM_FRIENDLY 404 // Pokémart -#define BGM_MISHIRO 405 // Littleroot Town -#define BGM_TOZAN 406 // Sky Pillar -#define BGM_GIRLEYE 407 // Encounter! Girl -#define BGM_MINAMO 408 // Lilycove City -#define BGM_ASHROAD 409 // Route 111 -#define BGM_EVENT0 410 // Help me! -#define BGM_DEEPDEEP 411 // Underwater -#define BGM_KACHI1 412 // Victory! Trainer -#define BGM_TITLE3 413 // Title Screen -#define BGM_DEMO1 414 // Opening Movie -#define BGM_GIRL_SUP 415 // Encounter! May -#define BGM_HAGESHII 416 // Encounter! Biker -#define BGM_KAKKOII 417 // Encounter! Electric Trainer -#define BGM_KAZANBAI 418 // Route 113 -#define BGM_AQA_0 419 // Encounter! Team Aqua -#define BGM_TSURETEK 420 // Follow Me! -#define BGM_BOY_SUP 421 // Encounter! Brendan -#define BGM_RAINBOW 422 // Ever Grande City -#define BGM_AYASII 423 // Encounter! Psychic -#define BGM_KACHI4 424 // Victory! Aqua/Magma Grunt -#define BGM_ROPEWAY 425 // Cable Car -#define BGM_CASINO 426 // Game Corner -#define BGM_HIGHTOWN 427 // Dewford Town -#define BGM_SAFARI 428 // Safari Zone -#define BGM_C_ROAD 429 // Victory Toad -#define BGM_AJITO 430 // Aqua/Magma Hideout -#define BGM_M_BOAT 431 // Sailing -#define BGM_M_DUNGON 432 // Mt. Pyre (Inside) -#define BGM_FINECITY 433 // Slateport City -#define BGM_MACHUPI 434 // Mt. Pyre (Outside) -#define BGM_P_SCHOOL 435 // Pokémon Trainer's School -#define BGM_DENDOU 436 // Hall of Fame -#define BGM_TONEKUSA 437 // Lavaridge Town -#define BGM_MABOROSI 438 // Sealed Chamber -#define BGM_CON_FAN 439 // You are the Champion! -#define BGM_CONTEST0 440 // Pokémon Contest -#define BGM_MGM0 441 // Encounter! Team Magma -#define BGM_T_BATTLE 442 // Opening Battle -#define BGM_OOAME 443 // The Flood -#define BGM_HIDERI 444 // The Drought -#define BGM_RUNECITY 445 // Sootopolis City -#define BGM_CON_K 446 // Berry Blending Results -#define BGM_EIKOU_R 447 // Hall of Fame -#define BGM_KARAKURI 448 // Trick House -#define BGM_HUTAGO 449 // Encounter! Kid -#define BGM_SITENNOU 450 // Encounter! Elite Four -#define BGM_YAMA_EYE 451 // Encounter! Hiker -#define BGM_CONLOBBY 452 // Contest Lobby -#define BGM_INTER_V 453 // Encounter! Gabby and Ty -#define BGM_DAIGO 454 // Encounter! Wallace -#define BGM_THANKFOR 455 // Credits -#define BGM_END 456 // The End -#define BGM_BATTLE27 457 // Battle! Wild Pokémon -#define BGM_BATTLE31 458 // Battle! Team Aqua/Magma -#define BGM_BATTLE20 459 // Battle! Trainer -#define BGM_BATTLE32 460 // Battle! Gym Leader -#define BGM_BATTLE33 461 // Battle! Champion -#define BGM_BATTLE36 462 // Battle! Regi Trio -#define BGM_BATTLE34 463 // Battle! Legendary Pokémon -#define BGM_BATTLE35 464 // Battle! Rival -#define BGM_BATTLE38 465 // Battle! Elite Four -#define BGM_BATTLE30 466 // Battle! Archie/Maxie +#define MUS_STOP 349 +#define MUS_TETSUJI 350 // Littleroot Town Test 'TETSUJI' +#define MUS_FIELD13 351 // GSC - Route 38 +#define MUS_KACHI22 352 // Wild Pokémon Defeated +#define MUS_KACHI2 353 // Wild Pokémon Defeated with Intro +#define MUS_KACHI3 354 // Gym Leader Defeated +#define MUS_KACHI5 355 // Victory! Elite Four +#define MUS_PCC 356 // Crystal - Pokémon Communication Center +#define MUS_NIBI 357 // GSC - Viridian/Saffron/Pewter/etc +#define MUS_SUIKUN 358 // Crystal - Battle! Legendary Beasts +#define MUS_DOORO1 359 // Route 101 +#define MUS_DOORO_X1 360 // Route 110 +#define MUS_DOORO_X3 361 // Route 120 +#define MUS_MACHI_S2 362 // Petalburg City +#define MUS_MACHI_S4 363 // Oldale Town +#define MUS_GIM 364 // Gym +#define MUS_NAMINORI 365 // Surfing +#define MUS_DAN01 366 // Caves and Darkness +#define MUS_FANFA1 367 // Level Up! +#define MUS_ME_ASA 368 // Pokémon Healed +#define MUS_ME_BACHI 369 // Obtained a Badge! +#define MUS_FANFA4 370 // Obtained an Item! +#define MUS_FANFA5 371 // Your Pokémon Just Evolved! +#define MUS_ME_WAZA 372 // Obtained a TM/HM! +#define MUS_BIJYUTU 373 // Lilycove Musseum +#define MUS_DOORO_X4 374 // Route 122/Intro +#define MUS_FUNE_KAN 375 // Slateport Museum +#define MUS_ME_SHINKA 376 // Evolution Intro +#define MUS_SHINKA 377 // Evolution +#define MUS_ME_WASURE 378 // Move Deleted +#define MUS_SYOUJOEYE 379 // Encounter! Tuber +#define MUS_BOYEYE 380 // Encounter! Boy +#define MUS_DAN02 381 // Abandoned Ship +#define MUS_MACHI_S3 382 // Fortree City +#define MUS_ODAMAKI 383 // Professor Birch's Lab +#define MUS_B_TOWER 384 // Battle Tower (RS) +#define MUS_SWIMEYE 385 // Encounter! Swimmer +#define MUS_DAN03 386 // Meteor Falls +#define MUS_ME_KINOMI 387 // Obtained a Berry! +#define MUS_ME_TAMA 388 // Awakening the Super-Ancient Pokémon +#define MUS_ME_B_BIG 389 // Slots Jackpot! +#define MUS_ME_B_SMALL 390 // Slots Victory! +#define MUS_ME_ZANNEN 391 // Too bad! +#define MUS_BD_TIME 392 // Roulette! +#define MUS_TEST1 393 // Contest Test 1 +#define MUS_TEST2 394 // Contest Test 2 +#define MUS_TEST3 395 // Contest Test 3 +#define MUS_TEST4 396 // Contest Test 4 +#define MUS_TEST 397 // Encounter! Gentleman (Test?) +#define MUS_GOMACHI0 398 // Verdanturf Town +#define MUS_GOTOWN 399 // Rustboro City +#define MUS_POKECEN 400 // Pokémon Center +#define MUS_NEXTROAD 401 // Route 104 +#define MUS_GRANROAD 402 // Route 119 +#define MUS_CYCLING 403 // Cycling +#define MUS_FRIENDLY 404 // Pokémart +#define MUS_MISHIRO 405 // Littleroot Town +#define MUS_TOZAN 406 // Sky Pillar +#define MUS_GIRLEYE 407 // Encounter! Girl +#define MUS_MINAMO 408 // Lilycove City +#define MUS_ASHROAD 409 // Route 111 +#define MUS_EVENT0 410 // Help me! +#define MUS_DEEPDEEP 411 // Underwater +#define MUS_KACHI1 412 // Victory! Trainer +#define MUS_TITLE3 413 // Title Screen +#define MUS_DEMO1 414 // Opening Movie +#define MUS_GIRL_SUP 415 // Encounter! May +#define MUS_HAGESHII 416 // Encounter! Biker +#define MUS_KAKKOII 417 // Encounter! Electric Trainer +#define MUS_KAZANBAI 418 // Route 113 +#define MUS_AQA_0 419 // Encounter! Team Aqua +#define MUS_TSURETEK 420 // Follow Me! +#define MUS_BOY_SUP 421 // Encounter! Brendan +#define MUS_RAINBOW 422 // Ever Grande City +#define MUS_AYASII 423 // Encounter! Psychic +#define MUS_KACHI4 424 // Victory! Aqua/Magma Grunt +#define MUS_ROPEWAY 425 // Cable Car +#define MUS_CASINO 426 // Game Corner +#define MUS_HIGHTOWN 427 // Dewford Town +#define MUS_SAFARI 428 // Safari Zone +#define MUS_C_ROAD 429 // Victory Toad +#define MUS_AJITO 430 // Aqua/Magma Hideout +#define MUS_M_BOAT 431 // Sailing +#define MUS_M_DUNGON 432 // Mt. Pyre (Inside) +#define MUS_FINECITY 433 // Slateport City +#define MUS_MACHUPI 434 // Mt. Pyre (Outside) +#define MUS_P_SCHOOL 435 // Pokémon Trainer's School +#define MUS_DENDOU 436 // Hall of Fame +#define MUS_TONEKUSA 437 // Lavaridge Town +#define MUS_MABOROSI 438 // Sealed Chamber +#define MUS_CON_FAN 439 // You are the Champion! +#define MUS_CONTEST0 440 // Pokémon Contest +#define MUS_MGM0 441 // Encounter! Team Magma +#define MUS_T_BATTLE 442 // Opening Battle +#define MUS_OOAME 443 // The Flood +#define MUS_HIDERI 444 // The Drought +#define MUS_RUNECITY 445 // Sootopolis City +#define MUS_CON_K 446 // Berry Blending Results +#define MUS_EIKOU_R 447 // Hall of Fame +#define MUS_KARAKURI 448 // Trick House +#define MUS_HUTAGO 449 // Encounter! Kid +#define MUS_SITENNOU 450 // Encounter! Elite Four +#define MUS_YAMA_EYE 451 // Encounter! Hiker +#define MUS_CONLOBBY 452 // Contest Lobby +#define MUS_INTER_V 453 // Encounter! Gabby and Ty +#define MUS_DAIGO 454 // Encounter! Wallace +#define MUS_THANKFOR 455 // Credits +#define MUS_END 456 // The End +#define MUS_BATTLE27 457 // Battle! Wild Pokémon +#define MUS_BATTLE31 458 // Battle! Team Aqua/Magma +#define MUS_BATTLE20 459 // Battle! Trainer +#define MUS_BATTLE32 460 // Battle! Gym Leader +#define MUS_BATTLE33 461 // Battle! Champion +#define MUS_BATTLE36 462 // Battle! Regi Trio +#define MUS_BATTLE34 463 // Battle! Legendary Pokémon +#define MUS_BATTLE35 464 // Battle! Rival +#define MUS_BATTLE38 465 // Battle! Elite Four +#define MUS_BATTLE30 466 // Battle! Archie/Maxie -#define BGM_ROUTE_118 0x7FFF // What is this for? +#define MUS_ROUTE_118 0x7FFF // What is this for? #endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 21e60a60a..e1e7529ca 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -245,7 +245,7 @@ enum { #define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18) #define GROUND_EFFECT_FLAG_SEAWEED (1 << 19) -extern const u8 gUnknown_0830FD14[]; +extern const u8 gReflectionEffectPaletteMap[]; #define movement_type_def(setup, table) \ static u8 setup##_callback(struct EventObject *, struct Sprite *);\ @@ -269,10 +269,10 @@ static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprit return 0;\ } -struct PairedPalettes +struct ReflectionPaletteSet { - u16 tag; - const u16 *data; + u16 mainPaletteTag; + const u16 *reflectionPaletteTags; }; extern const u16 gEventObjectPalette19[]; @@ -563,8 +563,7 @@ u8 GetMoveDirectionFastestAnimNum(u8); u32 state_to_direction(u8, u32, u32); -void sub_805AA98(); -void sub_805AAB0(void); +void ResetEventObjects(); u8 GetFirstInactiveEventObjectId(void); u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); @@ -592,13 +591,13 @@ void sub_805BCC0(s16 x, s16 y); void sub_805BCF0(u8, u8, u8, u8); void sub_805BD48(u8, u8, u8); void sub_805BD90(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void gpu_pal_allocator_reset__manage_upper_four(void); +void FreeAndReserveObjectSpritePalettes(void); void sub_805BDF8(u16); u8 sub_805BE58(const struct SpritePalette *); -void pal_patch_for_npc(u16, u16); +void PatchObjectPalette(u16, u16); u8 FindEventObjectPaletteIndexByTag(u16); -void npc_load_two_palettes__no_record(u16, u8); -void npc_load_two_palettes__and_record(u16, u8); +void LoadPlayerObjectReflectionPalette(u16, u8); +void LoadSpecialObjectReflectionPalette(u16, u8); void ShiftEventObjectCoords(struct EventObject *pObject, s16 x, s16 y); void sub_805C0F8(u8, u8, u8, s16, s16); void ShiftStillEventObjectCoords(struct EventObject *pObject); @@ -613,7 +612,7 @@ struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); void OverrideTemplateCoordsForEventObject(struct EventObject *pObject); void OverrideMovementTypeForEventObject(struct EventObject *, u8); void TryOverrideTemplateCoordsForEventObject(u8, u8, u8); -void sub_805C7C4(u8 i); +void InitEventObjectPalettes(u8); u8 GetFaceDirectionAnimNum(u8); u8 GetMoveDirectionAnimNum(u8 unk_19); u8 GetAcroWheelieDirectionAnimNum(u8); @@ -671,8 +670,8 @@ u8 GetOppositeDirection(u8); u8 SpawnSpecialEventObjectParametrized(u8, u8, u8, s16, s16, u8); void CameraObjectSetFollowedObjectId(u8); u8 TryInitLocalEventObject(u8); -u8 obj_unfreeze(struct Sprite *, s16, s16, u8); -u16 npc_paltag_by_palslot(u8); +u8 CreateCopySpriteAt(struct Sprite *, s16, s16, u8); +u16 GetObjectPaletteTag(u8); void sub_8060470(s16 *, s16 *, s16, s16); bool8 FreezeEventObject(struct EventObject *); void FreezeEventObjects(void); diff --git a/include/ewram.h b/include/ewram.h index f8a0d69f9..baa64f42f 100644 --- a/include/ewram.h +++ b/include/ewram.h @@ -232,7 +232,7 @@ extern u8 gSharedMem[]; #define eRoulette ((struct Roulette *)(gSharedMem + 0x19000)) #define shared192D0 (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0)) #define eContestAI ((struct ContestAIInfo *)(gSharedMem + 0x192E4)) -#define EWRAM_19348 (*(u16 *)(gSharedMem + 0x19348)) +#define EWRAM_19348 ((u16 *)(gSharedMem + 0x19348)) #define ewram19800 (&gSharedMem[0x19800]) #define ePokedexView4 (struct PokedexView *)(gSharedMem + 0x19800) #define ewram1A000 (&gSharedMem[0x1A000]) diff --git a/include/field_effect.h b/include/field_effect.h index 4ca97c898..a1c175eb8 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -120,9 +120,6 @@ bool8 sub_8087774(struct Task *, struct EventObject *, struct Sprite *); bool8 sub_80877AC(struct Task *, struct EventObject *, struct Sprite *); bool8 sub_80877D4(struct Task *, struct EventObject *, struct Sprite *); -void sub_80878F4(struct Task *); -void sub_8087914(struct Task *); - void sub_8087AA4(struct Task *); void sub_8087AC8(struct Task *); @@ -176,7 +173,7 @@ u8 CreateBirchSprite(s16 x, s16 y, u8 subpriority); u8 CreateMonSprite_PicBox(u16, s16, s16, u8); void FreeResourcesAndDestroySprite(struct Sprite *sprite); void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); -void sub_80878A8(void); +void StartEscapeRopeFieldEffect(void); void CreateTeleportFieldEffectTask(void); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 8d207aded..8462b6ff8 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -5,32 +5,32 @@ extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; void sub_812869C(struct EventObject *); bool8 sub_81286C4(struct EventObject *); -void oamc_shadow(struct Sprite *); +void UpdateShadowFieldEffect(struct Sprite *); void sub_8087638(struct Sprite *); void sub_808788C(struct Sprite *); -void sub_8127334(struct Sprite *); -void sub_8127584(struct Sprite *); -void sub_81276B4(struct Sprite *); -void sub_8127A7C(struct Sprite *); -void sub_8127D84(struct Sprite *); -void sub_8127F7C(struct Sprite *); -void sub_81282E0(struct Sprite *); -void sub_8128410(struct Sprite *); -void sub_81285AC(struct Sprite *); -void sub_8128774(struct Sprite *); -void sub_81287C4(struct Sprite *); -void sub_8128800(struct Sprite *); -void unc_grass_normal(struct Sprite *); -void unc_grass_tall(struct Sprite *); -u8 sub_8126B54(void); -void objid_set_invisible(u8); -void sub_8126BC4(u8 unk_1B, u8 r6, s16 x, s16 y); +void UpdateShortGrassFieldEffect(struct Sprite *); +void UpdateFootprintsTireTracksFieldEffect(struct Sprite *); +void UpdateSplashFieldEffect(struct Sprite *); +void UpdateHotSpringsWaterFieldEffect(struct Sprite *); +void UpdateAshFieldEffect(struct Sprite *); +void UpdateSurfBlobFieldEffect(struct Sprite *); +void UpdateSandPileFieldEffect(struct Sprite *); +void UpdateBubblesFieldEffect(struct Sprite *); +void UpdateDisguiseFieldEffect(struct Sprite *); +void UpdateSparkleFieldEffect(struct Sprite *); +void UpdateJumpLandingFieldEffect(struct Sprite *); +void WaitFieldEffectSpriteAnim(struct Sprite *); +void UpdateTallGrassFieldEffect(struct Sprite *); +void UpdateLongGrassFieldEffect(struct Sprite *); +u8 CreateWarpArrowSprite(void); +void SetSpriteInvisible(u8); +void ShowWarpArrowSprite(u8 unk_1B, u8 r6, s16 x, s16 y); void sub_8127ED0(u8, u8); void sub_8127F28(u8, u8, s16); u8 sub_8128124(u8 id); -void ash(s16, s16, u16, s16); -void SetUpReflection(struct EventObject *eventObj, struct Sprite *sprite, u8 a); +void StartAshFieldEffect(s16, s16, u16, s16); +void InitObjectReflectionSprite(struct EventObject *eventObj, struct Sprite *sprite, u8 a); u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject); -u8 sub_8126FF0(u8, u8, u8, s16, s16); +u8 FindTallGrassFieldEffectSpriteId(u8, u8, u8, s16, s16); #endif // GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 5265983a4..04538753a 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -27,5 +27,7 @@ void sub_8080F58(void); void sub_8080F68(void); void sub_8080F9C(void); void debug_sub_80888D8(void); +void WarpFadeScreen(void); +void pal_fill_for_map_transition(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index d86109282..c731fded1 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -2,6 +2,6 @@ #define GUARD_FIELD_SCREEN_EFFECT_H void sub_8081594(u8); -void sub_80815E0(u8 val); +void WriteFlashScanlineEffectBuffer(u8 val); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/fieldmap.h b/include/fieldmap.h index a85f5b101..e77342b72 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -2,7 +2,7 @@ #define GUARD_FIELDMAP2_H #include "event_object_movement.h" -extern struct BackupMapData gUnknown_03004870; +extern struct BackupMapLayout gUnknown_03004870; struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection); int GetMapBorderIdAt(int x, int y); int CanCameraMoveInDirection(int direction); @@ -35,9 +35,9 @@ struct MapConnection *sub_8056BA0(s16 x, s16 y); // fieldmap.c void sub_8056C50(u16, u16); void sav1_camera_get_focus_coords(u16 *x, u16 *y); void GetCameraCoords(u16*, u16*); -void sub_8056D28(struct MapData *pData); -void sub_8056D38(struct MapData *pData); -void apply_map_tileset2_palette(struct MapData *pData); +void sub_8056D28(struct MapLayout *pData); +void sub_8056D38(struct MapLayout *pData); +void apply_map_tileset2_palette(struct MapLayout *pData); void copy_map_tileset1_tileset2_to_vram(/*TODO: arg types*/); void apply_map_tileset1_tileset2_palette(/*TODO: arg types*/); diff --git a/include/fldeff_flash.h b/include/fldeff_flash.h index 3b1fbf812..0b56c64dc 100644 --- a/include/fldeff_flash.h +++ b/include/fldeff_flash.h @@ -2,8 +2,8 @@ #define GUARD_FLDEFF_FLASH_H void sub_810CC80(void); -u8 sub_810CDB8(u8, u8); -u8 fade_type_for_given_maplight_pair(u8, u8); +u8 GetMapPairFadeToType(u8, u8); +u8 GetMapPairFadeFromType(u8, u8); void debug_sub_8122080(void); #endif // GUARD_FLDEFF_FLASH_H diff --git a/include/gba/types.h b/include/gba/types.h index 33ae7df9a..4d6c24a6c 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -32,7 +32,9 @@ struct BgCnt { u16 priority:2; u16 charBaseBlock:2; - u16 dummy:4; + u16 dummy:2; + u16 mosaic:1; + u16 palettes:1; u16 screenBaseBlock:5; u16 areaOverflowMode:1; u16 screenSize:2; diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index dc8558146..f15348689 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -53,7 +53,7 @@ struct Tileset /*0x14*/ TilesetCB callback; }; -struct MapData +struct MapLayout { /*0x00*/ s32 width; /*0x04*/ s32 height; @@ -63,7 +63,7 @@ struct MapData /*0x14*/ struct Tileset *secondaryTileset; }; -struct BackupMapData +struct BackupMapLayout { s32 width; s32 height; @@ -157,12 +157,12 @@ struct MapConnections struct MapHeader { - /* 0x00 */ struct MapData *mapData; + /* 0x00 */ struct MapLayout *mapLayout; /* 0x04 */ struct MapEvents *events; /* 0x08 */ u8 *mapScripts; /* 0x0C */ struct MapConnections *connections; /* 0x10 */ u16 music; - /* 0x12 */ u16 mapDataId; + /* 0x12 */ u16 mapLayoutId; /* 0x14 */ u8 regionMapSectionId; /* 0x15 */ u8 cave; /* 0x16 */ u8 weather; @@ -238,8 +238,8 @@ struct EventObject struct EventObjectGraphicsInfo { /*0x00*/ u16 tileTag; - /*0x02*/ u16 paletteTag1; - /*0x04*/ u16 paletteTag2; + /*0x02*/ u16 paletteTag; + /*0x04*/ u16 bridgeReflectionPaletteTag; /*0x06*/ u16 size; /*0x08*/ s16 width; /*0x0A*/ s16 height; diff --git a/include/global.h b/include/global.h index 0f015745b..3c0169606 100644 --- a/include/global.h +++ b/include/global.h @@ -649,7 +649,7 @@ struct SaveBlock1 /* 0x02025734 */ /*0x2E*/ u8 weather; /*0x2F*/ u8 weatherCycleStage; /*0x30*/ u8 flashLevel; // flash level on current map, 0 being normal and 4 being the darkest - /*0x32*/ u16 mapDataId; + /*0x32*/ u16 mapLayoutId; /*0x34*/ u16 mapView[0x100]; /*0x234*/ u8 playerPartyCount; /*0x238*/ struct Pokemon playerParty[6]; diff --git a/include/item_menu.h b/include/item_menu.h index 715d9131a..22ef3892c 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -3,6 +3,15 @@ #include "string_util.h" +enum +{ + ITEM_USE_SINGLE_MON, + ITEM_USE_GIVE_ITEM, + ITEM_USE_UNUSED, + ITEM_USE_GIVE_MAIL, + ITEM_USE_ALL_MONS, +}; + struct PocketScrollState { u8 cursorPos; diff --git a/include/item_use.h b/include/item_use.h index ee7939824..1ba75a0ee 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -10,6 +10,7 @@ void ItemUseOutOfBattle_Rod(u8); void ItemUseOnFieldCB_Rod(u8); void ItemUseOutOfBattle_Itemfinder(u8); void ItemUseOnFieldCB_Itemfinder(u8); +void ItemUseOutOfBattle_Berry(u8); void RunItemfinderResults(u8); void ExitItemfinder(u8); bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8); @@ -22,19 +23,13 @@ void RotatePlayerAndExitItemfinder(u8); void ItemUseOutOfBattle_PokeblockCase(u8); void ItemUseOutOfBattle_CoinCase(u8); void ItemUseOutOfBattle_SSTicket(u8); -void sub_80C9D00(u8); void ItemUseOutOfBattle_WailmerPail(u8); -void sub_80C9D74(u8); void ItemUseOutOfBattle_Medicine(u8); void ItemUseOutOfBattle_SacredAsh(u8); void ItemUseOutOfBattle_PPRecovery(u8); void ItemUseOutOfBattle_PPUp(u8); void ItemUseOutOfBattle_RareCandy(u8); void ItemUseOutOfBattle_TMHM(u8); -void sub_80C9EE4(u8); -void sub_80C9F10(u8); -void sub_80C9F80(u8); -void sub_80C9FC0(u8); void ItemUseOutOfBattle_Repel(u8); void ItemUseOutOfBattle_BlackWhiteFlute(u8); void task08_080A1C44(u8); diff --git a/include/overworld.h b/include/overworld.h index de817e8e0..f7571ee0f 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -3,10 +3,10 @@ #include "sprite.h" -struct UnkPlayerStruct +struct InitialPlayerAvatarState { - u8 player_field_0; - u8 player_field_1; + u8 transitionFlags; + u8 direction; }; struct LinkPlayerEventObject @@ -22,7 +22,7 @@ struct UCoords32 u32 x, y; }; -extern const struct UCoords32 gUnknown_0821664C[]; +extern const struct UCoords32 gDirectionToVectors[]; extern void (*gFieldCallback)(void); extern u8 gFieldLinkPlayerCount; extern u8 gUnknown_03004860; @@ -32,7 +32,6 @@ void Overworld_ResetStateAfterFly(void); void Overworld_ResetStateAfterTeleport(void); void Overworld_ResetStateAfterDigEscRope(void); void Overworld_ResetStateAfterWhiteOut(void); -// sub_805308C void ResetGameStats(void); void IncrementGameStat(u8 index); u32 GetGameStat(u8 index); @@ -42,16 +41,13 @@ void SetGameStat(u8, u32); void Overworld_SetEventObjTemplateCoords(u8, s16, s16); void Overworld_SetEventObjTemplateMovementType(u8, u8); // mapdata_load_assets_to_gpu_and_full_redraw -// get_mapdata_header // ApplyCurrentWarp // SetWarpData // warp_data_is_not_neg_1 struct MapHeader * const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); -struct MapHeader * const warp1_get_mapheader(void); -// set_current_map_header_from_sav1_save_old_name +struct MapHeader * const GetDestinationWarpMapHeader(void); // LoadSaveblockMapHeader -// sub_80533CC -void warp_in(void); +void WarpIntoMap(void); void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId); void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); @@ -63,10 +59,10 @@ void Overworld_SetHealLocationWarp(u8); void sub_80535C4(s16 a1, s16 a2); void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8053678(void); -void sub_8053690(s8, s8, s8, s8, s8); +void SetFixedDiveWarp(s8, s8, s8, s8, s8); // warp1_set_to_warp2 -void sub_80536E4(s8, s8, s8, s8, s8); -void sub_8053720(s16, s16); +void SetFixedHoleWarp(s8, s8, s8, s8, s8); +void SetFixedHoleWarpAsDestination(s16, s16); // sub_8053778 // unref_sub_8053790 void sub_80537CC(u8); @@ -76,12 +72,9 @@ bool8 SetDiveWarpEmerge(u16 x, u16 y); bool8 SetDiveWarpDive(u16 x, u16 y); void sub_80538F0(u8 mapGroup, u8 mapNum); // sub_8053994 -void player_avatar_init_params_reset(void); -void walkrun_find_lowest_active_bit_in_bitfield(void); -// sub_8053AA8 -u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3); -u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8, u16, u8); -u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void); +void ResetInitialPlayerAvatarState(void); +void StoreInitialPlayerAvatarState(void); +u16 GetCenterScreenMetatileBehavior(void); bool32 Overworld_IsBikingAllowed(void); void SetDefaultFlashLevel(void); void Overworld_SetFlashLevel(s32 a1); @@ -100,8 +93,8 @@ void sub_8053F0C(void); void Overworld_ChangeMusicToDefault(void); void Overworld_ChangeMusicTo(u16); // GetMapMusicFadeoutSpeed -void sub_8053FF8(void); -bool8 sub_8054034(void); +void TryFadeOutOldMapMusic(void); +bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); // PlayAmbientCry void UpdateAmbientCry(s16 *, u16 *); @@ -109,7 +102,7 @@ void ChooseAmbientCrySpecies(void); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); // GetMapTypeByWarpData u8 Overworld_GetMapTypeOfSaveblockLocation(void); -u8 get_map_type_from_warp0(void); +u8 GetLastUsedWarpMapType(void); bool8 is_map_type_1_2_3_5_or_6(u8 a1); bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 a1); u8 Overworld_MapTypeIsIndoors(u8); @@ -125,14 +118,12 @@ void CB2_OverworldBasic(void); void c2_overworld(void); // set_callback1 // sub_80543DC -// sub_80543E8 void CB2_NewGame(void); void CB2_WhiteOut(void); void CB2_LoadMap(void); void CB2_LoadMap2(void); void sub_8054534(void); void sub_8054588(void); -void c2_80567AC(void); void c2_exit_to_overworld_2_switch(void); void c2_exit_to_overworld_2_local(void); void c2_exit_to_overworld_2_link(void); @@ -146,15 +137,12 @@ void CB2_ContinueSavedGame(void); void FieldClearVBlankHBlankCallbacks(void); void SetFieldVBlankCallback(void); void VBlankCB_Field(void); -// sub_8054814 -bool32 sub_805483C(u8 *); bool32 sub_805493C(u8 *, u32); bool32 sub_8054A4C(u8 *); bool32 sub_8054A9C(u8 *a1); void do_load_map_stuff_loop(u8 *a1); void sub_8054BA8(void); void sub_8054C2C(void); -void sub_8054C54(void); void sub_8054D4C(u32 a1); void sub_8054D90(void); void mli4_mapscripts_and_other(void); diff --git a/include/party_menu.h b/include/party_menu.h index 9d2f57d7a..e687f48c4 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -192,7 +192,7 @@ void GetMedicineItemEffectMessage(u16); bool8 ExecuteTableBasedItemEffect__(u8, u16, u8); void UseMedicine(u8, u16, TaskFunc); bool8 IsBlueYellowRedFlute(u16); -void sub_8070048(u8, u16, TaskFunc); +void DoSacredAshItemEffect(u8, u16, TaskFunc); void sub_8070088(u8); void sub_80701DC(u8 taskId); void DoPPRecoveryItemEffect(u8, u16, TaskFunc); diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h index 9ce2d5f3e..3942397eb 100644 --- a/include/rom_8077ABC.h +++ b/include/rom_8077ABC.h @@ -10,6 +10,12 @@ struct Struct_sub_8078914 { u8 field_8; }; +struct TransformStatus +{ + u16 unknown; + u16 species; +}; + u8 GetBattlerSpriteCoord(u8, u8); u8 sub_8077E44(u8 slot, u16 species, u8 a3); u8 GetAnimBattlerSpriteId(u8 bank); @@ -108,5 +114,6 @@ void sub_8079AB8(u8 sprite, u8 sprite2); u8 sub_807A4A0(int bank, u8 sprite, int species); void sub_80794A8(struct Sprite *sprite); void sub_807A9BC(struct Sprite *sprite); +void sub_8078954(struct Struct_sub_8078914*, u8); #endif // GUARD_ROM_8077ABC_H |