summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h2
-rw-r--r--[-rwxr-xr-x]include/battle_ai_switch_items.h0
-rw-r--r--[-rwxr-xr-x]include/constants/field_effects.h0
-rw-r--r--include/constants/songs.h238
-rw-r--r--include/event_object_movement.h25
-rw-r--r--include/ewram.h2
-rw-r--r--include/field_effect.h5
-rw-r--r--include/field_effect_helpers.h42
-rw-r--r--include/field_fadetransition.h2
-rw-r--r--include/field_screen_effect.h2
-rw-r--r--include/fieldmap.h8
-rw-r--r--include/fldeff_flash.h4
-rw-r--r--include/gba/types.h4
-rw-r--r--include/global.fieldmap.h12
-rw-r--r--include/global.h2
-rw-r--r--include/item_menu.h9
-rw-r--r--include/item_use.h7
-rw-r--r--include/overworld.h42
-rw-r--r--include/party_menu.h2
-rw-r--r--include/rom_8077ABC.h7
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