summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/songs.h501
-rw-r--r--include/field_effect.h3
-rw-r--r--include/field_effect_helpers.h1
-rwxr-xr-xinclude/field_map_obj.h12
-rw-r--r--include/field_player_avatar.h1
-rw-r--r--include/global.fieldmap.h2
-rw-r--r--include/global.h13
-rw-r--r--include/graphics.h27
-rw-r--r--include/lilycove_lady.h2
-rw-r--r--include/list_menu.h23
-rw-r--r--include/map_obj_8097404.h2
-rw-r--r--include/menu.h7
-rw-r--r--include/menu_helpers.h13
-rw-r--r--include/party_menu.h4
-rw-r--r--include/pokeblock.h41
-rw-r--r--include/pokenav.h11
-rw-r--r--include/rom6.h2
-rw-r--r--include/songs.h466
-rw-r--r--include/strings.h57
-rw-r--r--include/text_window.h4
-rw-r--r--include/trainer_see.h31
21 files changed, 493 insertions, 730 deletions
diff --git a/include/constants/songs.h b/include/constants/songs.h
index 2e3adcbbf..fdecff09a 100644
--- a/include/constants/songs.h
+++ b/include/constants/songs.h
@@ -1,9 +1,9 @@
#ifndef GUARD_CONSTANTS_SONGS_H
#define GUARD_CONSTANTS_SONGS_H
-#define SE_STOP 0
+#define MUS_DUMMY 0
#define SE_KAIFUKU 1
-#define SE_PC_LOGON 2
+#define SE_PC_LOGIN 2
#define SE_PC_OFF 3
#define SE_PC_ON 4
#define SE_SELECT 5
@@ -52,7 +52,7 @@
#define SE_HI_TURUN 48
#define SE_TRACK_MOVE 49
#define SE_TRACK_STOP 50
-#define SE_TRACK_HAIK 51
+#define SE_TRACK_HAIKI 51
#define SE_TRACK_DOOR 52
#define SE_MOTER 53
#define SE_CARD 54
@@ -249,217 +249,290 @@
#define SE_W287B 245
#define SE_W114 246
#define SE_W063B 247
-#define BGM_STOP 349
-#define BGM_TETSUJI 350
-#define BGM_FIELD13 351
-#define BGM_KACHI22 352
-#define BGM_KACHI2 353
-#define BGM_KACHI3 354
-#define BGM_KACHI5 355
-#define BGM_PCC 356
-#define BGM_NIBI 357
-#define BGM_SUIKUN 358
-#define BGM_DOORO1 359
-#define BGM_DOORO_X1 360
-#define BGM_DOORO_X3 361
-#define BGM_MACHI_S2 362
-#define BGM_MACHI_S4 363
-#define BGM_GIM 364
-#define BGM_NAMINORI 365
-#define BGM_DAN01 366
-#define BGM_FANFA1 367
-#define BGM_ME_ASA 368
-#define BGM_ME_BACHI 369
-#define BGM_FANFA4 370
-#define BGM_FANFA5 371
-#define BGM_ME_WAZA 372
-#define BGM_BIJYUTU 373
-#define BGM_DOORO_X4 374
-#define BGM_FUNE_KAN 375
-#define BGM_ME_SHINKA 376
-#define BGM_SHINKA 377
-#define BGM_ME_WASURE 378
-#define BGM_SYOUJOEYE 379
-#define BGM_BOYEYE 380
-#define BGM_DAN02 381
-#define BGM_MACHI_S3 382
-#define BGM_ODAMAKI 383
-#define BGM_B_TOWER 384
-#define BGM_SWIMEYE 385
-#define BGM_DAN03 386
-#define BGM_ME_KINOMI 387
-#define BGM_ME_TAMA 388
-#define BGM_ME_B_BIG 389
-#define BGM_ME_B_SMALL 390
-#define BGM_ME_ZANNEN 391
-#define BGM_BD_TIME 392
-#define BGM_TEST1 393
-#define BGM_TEST2 394
-#define BGM_TEST3 395
-#define BGM_TEST4 396
-#define BGM_TEST 397
-#define BGM_GOMACHI0 398
-#define BGM_GOTOWN 399
-#define BGM_POKECEN 400
-#define BGM_NEXTROAD 401
-#define BGM_GRANROAD 402
-#define BGM_CYCLING 403
-#define BGM_FRIENDLY 404
-#define BGM_MISHIRO 405
-#define BGM_TOZAN 406
-#define BGM_GIRLEYE 407
-#define BGM_MINAMO 408
-#define BGM_ASHROAD 409
-#define BGM_EVENT0 410
-#define BGM_DEEPDEEP 411
-#define BGM_KACHI1 412
-#define BGM_TITLE3 413
-#define BGM_DEMO1 414
-#define BGM_GIRL_SUP 415
-#define BGM_HAGESHII 416
-#define BGM_KAKKOII 417
-#define BGM_KAZANBAI 418
-#define BGM_AQA_0 419
-#define BGM_TSURETEK 420
-#define BGM_BOY_SUP 421
-#define BGM_RAINBOW 422
-#define BGM_AYASII 423
-#define BGM_KACHI4 424
-#define BGM_ROPEWAY 425
-#define BGM_CASINO 426
-#define BGM_HIGHTOWN 427
-#define BGM_SAFARI 428
-#define BGM_C_ROAD 429
-#define BGM_AJITO 430
-#define BGM_M_BOAT 431
-#define BGM_M_DUNGON 432
-#define BGM_FINECITY 433
-#define BGM_MACHUPI 434
-#define BGM_P_SCHOOL 435
-#define BGM_DENDOU 436
-#define BGM_TONEKUSA 437
-#define BGM_MABOROSI 438
-#define BGM_CON_FAN 439
-#define BGM_CONTEST0 440
-#define BGM_MGM0 441
-#define BGM_T_BATTLE 442
-#define BGM_OOAME 443
-#define BGM_HIDERI 444
-#define BGM_RUNECITY 445
-#define BGM_CON_K 446
-#define BGM_EIKOU_R 447
-#define BGM_KARAKURI 448
-#define BGM_HUTAGO 449
-#define BGM_SITENNOU 450
-#define BGM_YAMA_EYE 451
-#define BGM_CONLOBBY 452
-#define BGM_INTER_V 453
-#define BGM_DAIGO 454
-#define BGM_THANKFOR 455
-#define BGM_END 456
-#define BGM_BATTLE_FRONTIER 457
-#define BGM_BATTLE_ARENA 458
-#define BGM_ME_BATTLE_POINTS 459
-#define BGM_ME_MATCH_CALL 460
-#define BGM_BATTLE_PYRAMID 461
-#define BGM_BATTLE_PYRAMID_SUMMIT 462
-#define BGM_BATTLE_PALACE 463
-#define BGM_FANFA_RAYQUAZA 464
-#define BGM_BATTLE_TOWER 465
-#define BGM_ME_BATTLE_SYMBOL 466
-#define BGM_BATTLE_DOME_TOURNAMENT 467
-#define BGM_BATTLE_PIKE 468
-#define BGM_BATTLE_FACTORY 469
-#define BGM_BATTLE_LEGENDARY 470
-#define BGM_BATTLE_FRONTIER_BRAIN 471
-#define BGM_BATTLE_MEW 472
-#define BGM_BATTLE_DOME 473
-#define BGM_BATTLE27 474
-#define BGM_BATTLE31 475
-#define BGM_BATTLE20 476
-#define BGM_BATTLE32 477
-#define BGM_BATTLE33 478
-#define BGM_BATTLE36 479
-#define BGM_BATTLE34 480
-#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 SE_RG_W_DOOR 248
+#define SE_RG_CARD1 249
+#define SE_RG_CARD2 250
+#define SE_RG_CARD3 251
+#define SE_RG_BAG1 252
+#define SE_RG_BAG2 253
+#define SE_RG_GETTING 254
+#define SE_RG_SHOP 255
+#define SE_RG_KITEKI 256
+#define SE_RG_HELP_OP 257
+#define SE_RG_HELP_CL 258
+#define SE_RG_HELP_NG 259
+#define SE_RG_DEOMOV 260
+#define SE_RG_EXCELLENT 261
+#define SE_RG_NAWAMISS 262
+#define SE_TOREEYE 263
+#define SE_TOREOFF 264
+#define SE_HANTEI1 265
+#define SE_HANTEI2 266
+#define SE_CURTAIN 267
+#define SE_CURTAIN1 268
+#define SE_USSOKI 269
-#define BGM_ROUTE_118 0x7FFF // What is this for?
+#define MUS_TETSUJI 350
+#define MUS_FIELD13 351
+#define MUS_KACHI22 352
+#define MUS_KACHI2 353
+#define MUS_KACHI3 354
+#define MUS_KACHI5 355
+#define MUS_PCC 356
+#define MUS_NIBI 357
+#define MUS_SUIKUN 358
+#define MUS_DOORO1 359
+#define MUS_DOORO_X1 360
+#define MUS_DOORO_X3 361
+#define MUS_MACHI_S2 362
+#define MUS_MACHI_S4 363
+#define MUS_GIM 364
+#define MUS_NAMINORI 365
+#define MUS_DAN01 366
+#define MUS_FANFA1 367
+#define MUS_ME_ASA 368
+#define MUS_ME_BACHI 369
+#define MUS_FANFA4 370
+#define MUS_FANFA5 371
+#define MUS_ME_WAZA 372
+#define MUS_BIJYUTU 373
+#define MUS_DOORO_X4 374
+#define MUS_FUNE_KAN 375
+#define MUS_ME_SHINKA 376
+#define MUS_SHINKA 377
+#define MUS_ME_WASURE 378
+#define MUS_SYOUJOEYE 379
+#define MUS_BOYEYE 380
+#define MUS_DAN02 381
+#define MUS_MACHI_S3 382
+#define MUS_ODAMAKI 383
+#define MUS_B_TOWER 384
+#define MUS_SWIMEYE 385
+#define MUS_DAN03 386
+#define MUS_ME_KINOMI 387
+#define MUS_ME_TAMA 388
+#define MUS_ME_B_BIG 389
+#define MUS_ME_B_SMALL 390
+#define MUS_ME_ZANNEN 391
+#define MUS_BD_TIME 392
+#define MUS_TEST1 393
+#define MUS_TEST2 394
+#define MUS_TEST3 395
+#define MUS_TEST4 396
+#define MUS_TEST 397
+#define MUS_GOMACHI0 398
+#define MUS_GOTOWN 399
+#define MUS_POKECEN 400
+#define MUS_NEXTROAD 401
+#define MUS_GRANROAD 402
+#define MUS_CYCLING 403
+#define MUS_FRIENDLY 404
+#define MUS_MISHIRO 405
+#define MUS_TOZAN 406
+#define MUS_GIRLEYE 407
+#define MUS_MINAMO 408
+#define MUS_ASHROAD 409
+#define MUS_EVENT0 410
+#define MUS_DEEPDEEP 411
+#define MUS_KACHI1 412
+#define MUS_TITLE3 413
+#define MUS_DEMO1 414
+#define MUS_GIRL_SUP 415
+#define MUS_HAGESHII 416
+#define MUS_KAKKOII 417
+#define MUS_KAZANBAI 418
+#define MUS_AQA_0 419
+#define MUS_TSURETEK 420
+#define MUS_BOY_SUP 421
+#define MUS_RAINBOW 422
+#define MUS_AYASII 423
+#define MUS_KACHI4 424
+#define MUS_ROPEWAY 425
+#define MUS_CASINO 426
+#define MUS_HIGHTOWN 427
+#define MUS_SAFARI 428
+#define MUS_C_ROAD 429
+#define MUS_AJITO 430
+#define MUS_M_BOAT 431
+#define MUS_M_DUNGON 432
+#define MUS_FINECITY 433
+#define MUS_MACHUPI 434
+#define MUS_P_SCHOOL 435
+#define MUS_DENDOU 436
+#define MUS_TONEKUSA 437
+#define MUS_MABOROSI 438
+#define MUS_CON_FAN 439
+#define MUS_CONTEST0 440
+#define MUS_MGM0 441
+#define MUS_T_BATTLE 442
+#define MUS_OOAME 443
+#define MUS_HIDERI 444
+#define MUS_RUNECITY 445
+#define MUS_CON_K 446
+#define MUS_EIKOU_R 447
+#define MUS_KARAKURI 448
+#define MUS_HUTAGO 449
+#define MUS_SITENNOU 450
+#define MUS_YAMA_EYE 451
+#define MUS_CONLOBBY 452
+#define MUS_INTER_V 453
+#define MUS_DAIGO 454
+#define MUS_THANKFOR 455
+#define MUS_END 456
+#define MUS_B_FRONTIER 457
+#define MUS_B_ARENA 458
+#define MUS_ME_POINTGET 459
+#define MUS_ME_TORE_EYE 460
+#define MUS_PYRAMID 461
+#define MUS_PYRAMID_TOP 462
+#define MUS_B_PALACE 463
+#define MUS_REKKUU_KOURIN 464
+#define MUS_SATTOWER 465
+#define MUS_ME_SYMBOLGET 466
+#define MUS_B_DOME 467
+#define MUS_B_TUBE 468
+#define MUS_B_FACTORY 469
+#define MUS_VS_REKKU 470
+#define MUS_VS_FRONT 471
+#define MUS_VS_MEW 472
+#define MUS_B_DOME1 473
+#define MUS_BATTLE27 474
+#define MUS_BATTLE31 475
+#define MUS_BATTLE20 476
+#define MUS_BATTLE32 477
+#define MUS_BATTLE33 478
+#define MUS_BATTLE36 479
+#define MUS_BATTLE34 480
+#define MUS_BATTLE35 481
+#define MUS_BATTLE38 482
+#define MUS_BATTLE30 483
+#define MUS_RG_ANNAI 484
+#define MUS_RG_SLOT 485
+#define MUS_RG_AJITO 486
+#define MUS_RG_GYM 487
+#define MUS_RG_PURIN 488
+#define MUS_RG_DEMO 489
+#define MUS_RG_TITLE 490
+#define MUS_RG_GUREN 491
+#define MUS_RG_SHION 492
+#define MUS_RG_KAIHUKU 493
+#define MUS_RG_CYCLING 494
+#define MUS_RG_ROCKET 495
+#define MUS_RG_SHOUJO 496
+#define MUS_RG_SHOUNEN 497
+#define MUS_RG_DENDOU 498
+#define MUS_RG_T_MORI 499
+#define MUS_RG_OTSUKIMI 500
+#define MUS_RG_POKEYASHI 501
+#define MUS_RG_ENDING 502
+#define MUS_RG_LOAD01 503
+#define MUS_RG_OPENING 504
+#define MUS_RG_LOAD02 505
+#define MUS_RG_LOAD03 506
+#define MUS_RG_CHAMP_R 507
+#define MUS_RG_VS_GYM 508
+#define MUS_RG_VS_TORE 509
+#define MUS_RG_VS_YASEI 510
+#define MUS_RG_VS_LAST 511
+#define MUS_RG_MASARA 512
+#define MUS_RG_KENKYU 513
+#define MUS_RG_OHKIDO 514
+#define MUS_RG_POKECEN 515
+#define MUS_RG_SANTOAN 516
+#define MUS_RG_NAMINORI 517
+#define MUS_RG_P_TOWER 518
+#define MUS_RG_SHIRUHU 519
+#define MUS_RG_HANADA 520
+#define MUS_RG_TAMAMUSI 521
+#define MUS_RG_WIN_TRE 522
+#define MUS_RG_WIN_YASEI 523
+#define MUS_RG_WIN_GYM 524
+#define MUS_RG_KUCHIBA 525
+#define MUS_RG_NIBI 526
+#define MUS_RG_RIVAL1 527
+#define MUS_RG_RIVAL2 528
+#define MUS_RG_FAN2 529
+#define MUS_RG_FAN5 530
+#define MUS_RG_FAN6 531
+#define MUS_ME_RG_PHOTO 532
+#define MUS_RG_TITLEROG 533
+#define MUS_RG_GET_YASEI 534
+#define MUS_RG_SOUSA 535
+#define MUS_RG_SEKAIKAN 536
+#define MUS_RG_SEIBETU 537
+#define MUS_RG_JUMP 538
+#define MUS_RG_UNION 539
+#define MUS_RG_NETWORK 540
+#define MUS_RG_OKURIMONO 541
+#define MUS_RG_KINOMIKUI 542
+#define MUS_RG_NANADUNGEON 543
+#define MUS_RG_OSHIE_TV 544
+#define MUS_RG_NANASHIMA 545
+#define MUS_RG_NANAISEKI 546
+#define MUS_RG_NANA123 547
+#define MUS_RG_NANA45 548
+#define MUS_RG_NANA67 549
+#define MUS_RG_POKEFUE 550
+#define MUS_RG_VS_DEO 551
+#define MUS_RG_VS_MYU2 552
+#define MUS_RG_VS_DEN 553
+#define MUS_RG_EXEYE 554
+#define MUS_RG_DEOEYE 555
+#define MUS_RG_T_TOWER 556
+#define MUS_RG_SLOWMASARA 557
+#define MUS_RG_TVNOIZE 558
+#define PH_TRAP_BLEND 559
+#define PH_TRAP_HELD 560
+#define PH_TRAP_SOLO 561
+#define PH_FACE_BLEND 562
+#define PH_FACE_HELD 563
+#define PH_FACE_SOLO 564
+#define PH_CLOTH_BLEND 565
+#define PH_CLOTH_HELD 566
+#define PH_CLOTH_SOLO 567
+#define PH_DRESS_BLEND 568
+#define PH_DRESS_HELD 569
+#define PH_DRESS_SOLO 570
+#define PH_FLEECE_BLEND 571
+#define PH_FLEECE_HELD 572
+#define PH_FLEECE_SOLO 573
+#define PH_KIT_BLEND 574
+#define PH_KIT_HELD 575
+#define PH_KIT_SOLO 576
+#define PH_PRICE_BLEND 577
+#define PH_PRICE_HELD 578
+#define PH_PRICE_SOLO 579
+#define PH_LOT_BLEND 580
+#define PH_LOT_HELD 581
+#define PH_LOT_SOLO 582
+#define PH_GOAT_BLEND 583
+#define PH_GOAT_HELD 584
+#define PH_GOAT_SOLO 585
+#define PH_THOUGHT_BLEND 586
+#define PH_THOUGHT_HELD 587
+#define PH_THOUGHT_SOLO 588
+#define PH_CHOICE_BLEND 589
+#define PH_CHOICE_HELD 590
+#define PH_CHOICE_SOLO 591
+#define PH_MOUTH_BLEND 592
+#define PH_MOUTH_HELD 593
+#define PH_MOUTH_SOLO 594
+#define PH_FOOT_BLEND 595
+#define PH_FOOT_HELD 596
+#define PH_FOOT_SOLO 597
+#define PH_GOOSE_BLEND 598
+#define PH_GOOSE_HELD 599
+#define PH_GOOSE_SOLO 600
+#define PH_STRUT_BLEND 601
+#define PH_STRUT_HELD 602
+#define PH_STRUT_SOLO 603
+#define PH_CURE_BLEND 604
+#define PH_CURE_HELD 605
+#define PH_CURE_SOLO 606
+#define PH_NURSE_BLEND 607
+#define PH_NURSE_HELD 608
+#define PH_NURSE_SOLO 609
+
+#define MUS_ROUTE_118 0x7FFF // What is this for?
#endif // GUARD_CONSTANTS_SONGS_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 629ae07c7..772b20d37 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -71,8 +71,9 @@ enum FieldEffectScriptIdx
extern u32 gFieldEffectArguments[8];
-u8 FieldEffectStart(u8);
+u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void sub_80B69DC(void);
+void FieldEffectStop(struct Sprite *sprite, u8 id);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index e80daf3bd..15928eba3 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -12,5 +12,6 @@
// Exported ROM declarations
u8 sub_8154228(void);
bool8 sub_8155DA0(struct MapObject *);
+void sub_8155D78(struct MapObject *);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index 696d1c2e2..198dd9759 100755
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -60,7 +60,7 @@ void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
-void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
+void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup);
void npc_coords_shift(struct MapObject *, s16, s16);
void sub_808EB08(struct MapObject *, s16, s16);
void sub_808F254(u8, u8, u8);
@@ -78,6 +78,16 @@ u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern);
u8 npc_running_behaviour_by_direction(u8 direction);
+const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId);
+u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
+u8 GetFaceDirectionAnimId(u32);
+u8 GetGoSpeed0AnimId(u32);
+u8 sub_80934BC(u32);
+bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId);
+bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject);
+u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject);
+void sub_808F23C(const struct MapObject *mapObject, u8 movementType);
+void sub_808F208(const struct MapObject *mapObject);
// Exported data declarations
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 40a1c1f3b..cc4c65448 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -30,6 +30,7 @@ void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
u8 PlayerGetZCoord(void);
void SetPlayerAvatarTransitionFlags(u16 a);
+void sub_808BCE8(void);
void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index a0d16fc50..b12febefd 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -224,7 +224,7 @@ struct MapObject
/*0x0C*/ struct Coords16 coords1;
/*0x10*/ struct Coords16 coords2;
/*0x14*/ struct Coords16 coords3;
- /*0x18*/ u8 mapobj_unk_18:4; //current direction?
+ /*0x18*/ u8 mapobj_unk_18:4; // current direction?
/*0x18*/ u8 placeholder18:4;
/*0x19*/ union __attribute__((packed)) {
u8 as_byte;
diff --git a/include/global.h b/include/global.h
index 9fe0d975f..b6a496dd1 100644
--- a/include/global.h
+++ b/include/global.h
@@ -514,11 +514,12 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
-#define MAP_OBJECTS_COUNT 16
-#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 300
-#define VARS_COUNT 256
-#define MAIL_COUNT 16
+#define POKEBLOCKS_COUNT 40
+#define MAP_OBJECTS_COUNT 16
+#define BERRY_TREES_COUNT 128
+#define FLAGS_COUNT 300
+#define VARS_COUNT 256
+#define MAIL_COUNT 16
enum
{
@@ -611,7 +612,7 @@ struct SaveBlock1
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
- /*0x848*/ struct Pokeblock pokeblocks[40];
+ /*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
/*0x988*/ u8 seen1[52];
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
diff --git a/include/graphics.h b/include/graphics.h
index 15af31c6e..0a38c9b82 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -1,10 +1,7 @@
-//
-// Created by scott on 10/21/2017.
-//
-
#ifndef GUARD_GRAPHICS_H
#define GUARD_GRAPHICS_H
+// interface pokeballs
extern const u8 gInterfaceGfx_PokeBall[];
extern const u8 gInterfacePal_PokeBall[];
extern const u8 gInterfaceGfx_GreatBall[];
@@ -31,6 +28,28 @@ extern const u8 gInterfaceGfx_PremierBall[];
extern const u8 gInterfacePal_PremierBall[];
extern const u8 gOpenPokeballGfx[];
+// pokeblock
+extern const u8 gMenuPokeblock_Gfx[];
+extern const u8 gMenuPokeblock_Pal[];
+extern const u8 gMenuPokeblock_Tilemap[];
+extern const u8 gMenuPokeblockDevice_Gfx[];
+extern const u8 gMenuPokeblockDevice_Pal[];
+extern const u8 gPokeblockRed_Pal[];
+extern const u8 gPokeblockBlue_Pal[];
+extern const u8 gPokeblockPink_Pal[];
+extern const u8 gPokeblockGreen_Pal[];
+extern const u8 gPokeblockYellow_Pal[];
+extern const u8 gPokeblockPurple_Pal[];
+extern const u8 gPokeblockIndigo_Pal[];
+extern const u8 gPokeblockBrown_Pal[];
+extern const u8 gPokeblockLiteBlue_Pal[];
+extern const u8 gPokeblockOlive_Pal[];
+extern const u8 gPokeblockGray_Pal[];
+extern const u8 gPokeblockBlack_Pal[];
+extern const u8 gPokeblockWhite_Pal[];
+extern const u8 gPokeblockGold_Pal[];
+extern const u8 gPokeblock_Gfx[];
+
extern const u8 gItemIcon_QuestionMark[];
extern const u8 gItemIconPalette_QuestionMark[];
extern const u8 gUnknown_08DB7AA0[];
diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h
index c7776131b..084e5722e 100644
--- a/include/lilycove_lady.h
+++ b/include/lilycove_lady.h
@@ -7,7 +7,7 @@ void sub_818DA78(void);
void sub_818DEF4(void);
void sub_818E564(void);
void sub_818E570(const struct LilycoveLadyQuiz *quiz);
-bool8 sub_818E704(struct Pokeblock *pokeblock);
+bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock);
void sub_818E7E0(u8 *dest1, u8 *dest2);
void sub_818E81C(u8 *dest);
void sub_818E848(u8 *dest);
diff --git a/include/list_menu.h b/include/list_menu.h
index 0249b06af..8b793c0e4 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -1,14 +1,17 @@
#ifndef GUARD_LIST_MENU_H
#define GUARD_LIST_MENU_H
+#define LIST_NOTHING_CHOSEN -1
+#define LIST_B_PRESSED -2
+
// Exported type declarations
// Exported RAM declarations
struct ListMenuItem
{
- const u8 *unk_00;
- s32 unk_04;
+ const u8 *name;
+ s32 id;
};
struct ListMenu;
@@ -16,7 +19,7 @@ struct ListMenu;
struct ListMenuTemplate
{
const struct ListMenuItem *items;
- void (* unk_04)(u32, bool8, struct ListMenu *);
+ void (* moveCursorFunc)(u32, bool8, struct ListMenu *);
void (* unk_08)(u8, s32, u8);
u16 totalItems;
u16 maxShowed;
@@ -32,9 +35,11 @@ struct ListMenuTemplate
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
u32 unk_16_7:1; // x800000
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
+ u32 cursorKind:2; // x40000000, x80000000
};
-struct ListMenu {
+struct ListMenu
+{
struct ListMenuTemplate _template;
u16 scrollOffset;
u16 selectedRow;
@@ -44,13 +49,13 @@ struct ListMenu {
u8 unk_1F;
};
-extern struct ListMenuTemplate gUnknown_03006310;
+extern struct ListMenuTemplate gMultiuseListMenuTemplate;
// Exported ROM declarations
-u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
-s32 ListMenuHandleInput(u8 id);
-void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
-void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
+u8 ListMenuInit(struct ListMenuTemplate *template, u16 cursorPage, u16 cursorPosition);
+s32 ListMenuHandleInputGetItemId(u8 listTaskId);
+void sub_81AE860(u8 listTaskId, u16 *a1, u16 *a2);
+void sub_81AE6C8(u8 listTaskId, u16 *a1, u16 *a2);
#endif //GUARD_LIST_MENU_H
diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h
index 27ffd18cb..0800b15b0 100644
--- a/include/map_obj_8097404.h
+++ b/include/map_obj_8097404.h
@@ -28,5 +28,7 @@ void sub_8097750(struct Sprite *);
bool8 sub_8097758(struct Sprite *);
void sub_8097FA4(struct MapObject *);
void sub_8098044(u8);
+void UnfreezeMapObjects(void);
+void sub_80974D0(u8 mapObjectId);
#endif //GUARD_MAP_OBJ_8097404_H
diff --git a/include/menu.h b/include/menu.h
index 99ff35adb..124303570 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -4,6 +4,9 @@
#include "text.h"
#include "window.h"
+#define MENU_NOTHING_CHOSEN -2
+#define MENU_B_PRESSED -1
+
struct MenuAction
{
const u8 *text;
@@ -32,7 +35,9 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs
s8 ProcessMenuInputNoWrap_(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
-void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);
+void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
+void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
+void sub_8197DF8(u8 windowId, bool8 copyToVram);
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index f083a10e2..14b6d32ca 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -3,7 +3,8 @@
// Exported type declarations
-struct YesNoFuncTable {
+struct YesNoFuncTable
+{
TaskFunc yesFunc;
TaskFunc noFunc;
};
@@ -16,5 +17,15 @@ void sub_812225C(u16 *, u16 *, u8, u8);
void sub_8122298(u16 *, u16 *, u8, u8, u8);
void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data);
bool8 sub_81221AC(void);
+void ResetVramOamAndBgCntRegs(void);
+void SetVBlankHBlankCallbacksToNull(void);
+void ResetAllBgsCoordinates(void);
+bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
+void sub_8122344(void *arg0, u8 arg1);
+void LoadListMenuArrowsGfx(void);
+void sub_81223FC(u8 *a0, u8 count, u8 a2);
+void sub_8122448(u8 *a0, u8 count, u16 x, u16 y);
+void DisplayMessageAndContinueTask(u8 taskId, u8 arg1, u16 arg2, u8 arg3, u8 arg4, u8 textSpeed, const u8 *string, void *taskFunc);
+void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
#endif //GUARD_MENU_HELPERS_H
diff --git a/include/party_menu.h b/include/party_menu.h
index c787bafb1..3756ef569 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -1,7 +1,8 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
-enum {
+enum
+{
AILMENT_NONE,
AILMENT_PSN,
AILMENT_PRZ,
@@ -14,5 +15,6 @@ bool8 pokemon_has_move(struct Pokemon *, u16);
void sub_81B58A8(void);
void DoWallyTutorialBagMenu(void);
u8 pokemon_ailments_get_primary(u32 status);
+u8 *GetMonNickname(struct Pokemon *mon, u8 *dst);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeblock.h b/include/pokeblock.h
index a145cbada..6dd07b689 100644
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
@@ -1,6 +1,9 @@
#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
+#define GFX_TAG_POKEBLOCK 14818
+#define GFX_TAG_POKEBLOCK_CASE 14800
+
enum
{
PBLOCK_CLR_BLACK,
@@ -22,12 +25,44 @@ enum
PBLOCK_FEEL,
};
+enum
+{
+ PBLOCK_CASE_FIELD,
+ PBLOCK_CASE_BATTLE,
+ PBLOCK_CASE_FEEDER,
+ PBLOCK_CASE_GIVE
+};
+
+// use pokeblock
+extern u8 gPokeblockMonId;
+extern s16 gPokeblockGain;
+
+void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void));
+
+// pokeblock feed
+void CB2_PreparePokeblockFeedScene(void);
+
+// pokeblock
+extern const s8 gPokeblockFlavorCompatibilityTable[];
+extern const u8 *const gPokeblockNames[];
+extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
+extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
+
+void OpenPokeblockCase(u8 caseId, void (*callback)(void));
+void OpenPokeblockCaseInBattle(void);
+void OpenPokeblockCaseOnFeeder(void);
+void ResetPokeblockScrollPositions(void);
+u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
void ClearPokeblocks(void);
-s8 GetFirstFreePokeblockSlot(void);
-bool32 AddPokeblock(struct Pokeblock *pokeblock);
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
+s8 GetFirstFreePokeblockSlot(void);
+bool32 AddPokeblock(const struct Pokeblock *pokeblock);
+bool32 TryClearPokeblock(u8 pkblId);
+s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field);
+s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock);
+void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest);
+bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest);
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
-s16 PokeblockGetGain(u8, const struct Pokeblock *);
#endif // GUARD_POKEBLOCK_H
diff --git a/include/pokenav.h b/include/pokenav.h
index 06676610a..ebe3b325c 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -2,5 +2,16 @@
#define GUARD_POKENAV_H
bool8 sub_81D5C18(void);
+bool8 sub_81D20BC(void *arg0);
+bool8 sub_81D312C(void *arg0);
+void sub_81D1ED4(void *arg0);
+void sub_81D2108(void *arg0);
+void sub_81D20AC(void *arg0);
+void sub_81D2230(void *arg0);
+void sub_81D3464(void *arg0);
+void sub_81D3480(void *arg0, u8 arg1);
+void sub_81D2754(void *arg0, void *arg1);
+void sub_81D1F84(void *arg0, void *arg1, void *arg2);
+const u8 *sub_81D62AC(void);
#endif //GUARD_POKENAV_H
diff --git a/include/rom6.h b/include/rom6.h
index 6d20752e2..fc33b7d1f 100644
--- a/include/rom6.h
+++ b/include/rom6.h
@@ -1,7 +1,7 @@
#ifndef GUARD_ROM6_H
#define GUARD_ROM6_H
-void sub_81357FC(u8, void(void));
+void OpenPokeblockCase(u8, void(void));
u8 GetLeadMonIndex(void);
u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
void sub_813BADC(bool8);
diff --git a/include/songs.h b/include/songs.h
deleted file mode 100644
index 37c4f16b4..000000000
--- a/include/songs.h
+++ /dev/null
@@ -1,466 +0,0 @@
-#ifndef GUARD_SONGS_H
-#define GUARD_SONGS_H
-
-enum
-{
- /*0x00*/ SE_STOP,
- /*0x01*/ SE_KAIFUKU,
- /*0x02*/ SE_PC_LOGON,
- /*0x03*/ SE_PC_OFF,
- /*0x04*/ SE_PC_ON,
- /*0x05*/ SE_SELECT,
- /*0x06*/ SE_WIN_OPEN,
- /*0x07*/ SE_WALL_HIT,
- /*0x08*/ SE_DOOR,
- /*0x09*/ SE_KAIDAN,
- /*0x0A*/ SE_DANSA,
- /*0x0B*/ SE_JITENSYA,
- /*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because
- /*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move
- /*0x0E*/ SE_KOUKA_H,
- /*0x0F*/ SE_BOWA2,
- /*0x10*/ SE_POKE_DEAD,
- /*0x11*/ SE_NIGERU,
- /*0x12*/ SE_JIDO_DOA,
- /*0x13*/ SE_NAMINORI,
- /*0x14*/ SE_BAN,
- /*0x15*/ SE_PIN,
- /*0x16*/ SE_BOO,
- /*0x17*/ SE_BOWA,
- /*0x18*/ SE_JYUNI,
- /*0x19*/ SE_A,
- /*0x1A*/ SE_I,
- /*0x1B*/ SE_U,
- /*0x1C*/ SE_E,
- /*0x1D*/ SE_O,
- /*0x1E*/ SE_N,
- /*0x1F*/ SE_SEIKAI,
- /*0x20*/ SE_HAZURE,
- /*0x21*/ SE_EXP,
- /*0x22*/ SE_JITE_PYOKO,
- /*0x23*/ SE_MU_PACHI,
- /*0x24*/ SE_TK_KASYA,
- /*0x25*/ SE_FU_ZAKU,
- /*0x26*/ SE_FU_ZAKU2,
- /*0x27*/ SE_FU_ZUZUZU,
- /*0x28*/ SE_RU_GASHIN,
- /*0x29*/ SE_RU_GASYAN,
- /*0x2A*/ SE_RU_BARI,
- /*0x2B*/ SE_RU_HYUU,
- /*0x2C*/ SE_KI_GASYAN,
- /*0x2D*/ SE_TK_WARPIN,
- /*0x2E*/ SE_TK_WARPOUT,
- /*0x2F*/ SE_TU_SAA,
- /*0x30*/ SE_HI_TURUN,
- /*0x31*/ SE_TRACK_MOVE,
- /*0x32*/ SE_TRACK_STOP,
- /*0x33*/ SE_TRACK_HAIK,
- /*0x34*/ SE_TRACK_DOOR,
- /*0x35*/ SE_MOTER,
- /*0x36*/ SE_CARD,
- /*0x37*/ SE_SAVE,
- /*0x38*/ SE_KON,
- /*0x39*/ SE_KON2,
- /*0x3A*/ SE_KON3,
- /*0x3B*/ SE_KON4,
- /*0x3C*/ SE_SUIKOMU,
- /*0x3D*/ SE_NAGERU,
- SE_TOY_C,
- SE_TOY_D,
- SE_TOY_E,
- SE_TOY_F,
- SE_TOY_G,
- SE_TOY_A,
- SE_TOY_B,
- SE_TOY_C1,
- SE_MIZU,
- SE_HASHI,
- SE_DAUGI,
- SE_PINPON,
- SE_FUUSEN1,
- SE_FUUSEN2,
- SE_FUUSEN3,
- SE_TOY_KABE,
- SE_TOY_DANGO,
- SE_DOKU,
- SE_ESUKA,
- SE_T_AME,
- SE_T_AME_E,
- SE_T_OOAME,
- SE_T_OOAME_E,
- SE_T_KOAME,
- SE_T_KOAME_E,
- SE_T_KAMI,
- SE_T_KAMI2,
- SE_ELEBETA,
- /*0x5A*/ SE_HINSI,
- /*0x5B*/ SE_EXPMAX,
- /*0x5C*/ SE_TAMAKORO,
- /*0x5D*/ SE_TAMAKORO_E,
- /*0x5E*/ SE_BASABASA,
- /*0x5F*/ SE_REGI,
- SE_C_GAJI,
- SE_C_MAKU_U,
- SE_C_MAKU_D,
- SE_C_PASI,
- SE_C_SYU,
- SE_C_PIKON,
- /*0x66*/ SE_REAPOKE,
- /*0x67*/ SE_OP_BASYU,
- /*0x68*/ SE_BT_START,
- SE_DENDOU,
- SE_JIHANKI,
- SE_TAMA,
- SE_Z_SCROLL,
- /*0x6D*/ SE_Z_PAGE,
- /*0x6E*/ SE_PN_ON,
- /*0x6F*/ SE_PN_OFF,
- /*0x70*/ SE_Z_SEARCH,
- /*0x71*/ SE_TAMAGO,
- /*0x72*/ SE_TB_START,
- /*0x73*/ SE_TB_KON,
- /*0x74*/ SE_TB_KARA,
- /*0x75*/ SE_BIDORO,
- /*0x76*/ SE_W085,
- /*0x77*/ SE_W085B,
- /*0x78*/ SE_W231,
- /*0x79*/ SE_W171,
- /*0x7A*/ SE_W233,
- /*0x7B*/ SE_W233B,
- /*0x7C*/ SE_W145,
- /*0x7D*/ SE_W145B,
- /*0x7E*/ SE_W145C,
- /*0x7F*/ SE_W240,
- /*0x80*/ SE_W015,
- /*0x81*/ SE_W081,
- /*0x82*/ SE_W081B,
- /*0x83*/ SE_W088,
- /*0x84*/ SE_W016,
- /*0x85*/ SE_W016B,
- /*0x86*/ SE_W003,
- /*0x87*/ SE_W104,
- /*0x88*/ SE_W013,
- /*0x89*/ SE_W196,
- /*0x8A*/ SE_W086,
- /*0x8B*/ SE_W004,
- /*0x8C*/ SE_W025,
- /*0x8D*/ SE_W025B,
- SE_W152,
- SE_W026,
- SE_W172,
- SE_W172B,
- SE_W053,
- SE_W007,
- SE_W092,
- SE_W221,
- SE_W221B,
- SE_W052,
- SE_W036,
- SE_W059,
- SE_W059B,
- SE_W010,
- SE_W011,
- SE_W017,
- SE_W019,
- SE_W028,
- SE_W013B,
- SE_W044,
- SE_W029,
- SE_W057,
- SE_W056,
- SE_W250,
- SE_W030,
- SE_W039,
- SE_W054,
- SE_W077,
- SE_W020,
- SE_W082,
- SE_W047,
- SE_W195,
- SE_W006,
- SE_W091,
- SE_W146,
- SE_W120,
- SE_W153,
- SE_W071B,
- SE_W071,
- SE_W103,
- /*0xB6*/ SE_W062,
- /*0xB7*/ SE_W062B,
- /*0xB8*/ SE_W048,
- /*0xB9*/ SE_W187,
- /*0xBA*/ SE_W118,
- /*0xBB*/ SE_W155,
- /*0xBC*/ SE_W122,
- /*0xBD*/ SE_W060,
- /*0xBE*/ SE_W185,
- /*0xBF*/ SE_W014,
- /*0xC0*/ SE_W043,
- /*0xC1*/ SE_W207,
- /*0xC2*/ SE_W207B,
- /*0xC3*/ SE_W215,
- /*0xC4*/ SE_W109,
- /*0xC5*/ SE_W173,
- /*0xC6*/ SE_W280,
- /*0xC7*/ SE_W202,
- /*0xC8*/ SE_W060B,
- /*0xC9*/ SE_W076,
- /*0xCA*/ SE_W080,
- /*0xCB*/ SE_W100,
- /*0xCC*/ SE_W107,
- SE_W166,
- SE_W129,
- SE_W115,
- SE_W112,
- SE_W197,
- SE_W199,
- SE_W236,
- SE_W204,
- SE_W268,
- SE_W070,
- SE_W063,
- SE_W127,
- SE_W179,
- SE_W151,
- SE_W201,
- SE_W161,
- SE_W161B,
- SE_W227,
- SE_W227B,
- SE_W226,
- SE_W208,
- SE_W213,
- SE_W213B,
- SE_W234,
- SE_W260,
- SE_W328,
- SE_W320,
- SE_W255,
- SE_W291,
- SE_W089,
- SE_W239,
- SE_W230,
- SE_W281,
- SE_W327,
- SE_W287,
- SE_W257,
- SE_W253,
- SE_W258,
- SE_W322,
- SE_W298,
- SE_W287B,
- SE_W114,
- SE_W063B,
- BGM_STOP = 349,
- /*0x15E*/ BGM_TETSUJI,
- /*0x15F*/ BGM_FIELD13,
- /*0x160*/ BGM_KACHI22,
- /*0x161*/ BGM_KACHI2,
- /*0x162*/ BGM_KACHI3,
- /*0x163*/ BGM_KACHI5,
- /*0x164*/ BGM_PCC,
- /*0x165*/ BGM_NIBI,
- /*0x166*/ BGM_SUIKUN,
- /*0x167*/ BGM_DOORO1,
- /*0x168*/ BGM_DOORO_X1,
- /*0x169*/ BGM_DOORO_X3,
- /*0x16A*/ BGM_MACHI_S2,
- /*0x16B*/ BGM_MACHI_S4,
- /*0x16C*/ BGM_GIM,
- /*0x16D*/ BGM_NAMINORI,
- /*0x16E*/ BGM_DAN01,
- /*0x16F*/ BGM_FANFA1,
- /*0x170*/ BGM_ME_ASA,
- /*0x171*/ BGM_ME_BACHI,
- /*0x172*/ BGM_FANFA4,
- /*0x173*/ BGM_FANFA5,
- /*0x174*/ BGM_ME_WAZA,
- /*0x175*/ BGM_BIJYUTU,
- /*0x176*/ BGM_DOORO_X4,
- /*0x177*/ BGM_FUNE_KAN,
- /*0x178*/ BGM_ME_SHINKA,
- /*0x179*/ BGM_SHINKA,
- /*0x17A*/ BGM_ME_WASURE,
- /*0x17B*/ BGM_SYOUJOEYE,
- /*0x17C*/ BGM_BOYEYE,
- /*0x17D*/ BGM_DAN02,
- /*0x17E*/ BGM_MACHI_S3,
- /*0x17F*/ BGM_ODAMAKI,
- /*0x180*/ BGM_B_TOWER,
- /*0x181*/ BGM_SWIMEYE,
- /*0x182*/ BGM_DAN03,
- /*0x183*/ BGM_ME_KINOMI,
- /*0x184*/ BGM_ME_TAMA,
- /*0x185*/ BGM_ME_B_BIG,
- /*0x186*/ BGM_ME_B_SMALL,
- /*0x187*/ BGM_ME_ZANNEN,
- /*0x188*/ BGM_BD_TIME,
- /*0x189*/ BGM_TEST1,
- /*0x18A*/ BGM_TEST2,
- /*0x18B*/ BGM_TEST3,
- /*0x18C*/ BGM_TEST4,
- /*0x18D*/ BGM_TEST,
- /*0x18E*/ BGM_GOMACHI0,
- /*0x18F*/ BGM_GOTOWN,
- /*0x190*/ BGM_POKECEN,
- /*0x191*/ BGM_NEXTROAD,
- /*0x192*/ BGM_GRANROAD,
- /*0x193*/ BGM_CYCLING,
- /*0x194*/ BGM_FRIENDLY,
- /*0x195*/ BGM_MISHIRO,
- /*0x196*/ BGM_TOZAN,
- /*0x197*/ BGM_GIRLEYE,
- /*0x198*/ BGM_MINAMO,
- /*0x199*/ BGM_ASHROAD,
- /*0x19A*/ BGM_EVENT0,
- /*0x19B*/ BGM_DEEPDEEP,
- /*0x19C*/ BGM_KACHI1,
- /*0x19D*/ BGM_TITLE3,
- /*0x19E*/ BGM_DEMO1,
- /*0x19F*/ BGM_GIRL_SUP,
- /*0x1A0*/ BGM_HAGESHII,
- /*0x1A1*/ BGM_KAKKOII,
- /*0x1A2*/ BGM_KAZANBAI,
- /*0x1A3*/ BGM_AQA_0,
- /*0x1A4*/ BGM_TSURETEK,
- /*0x1A5*/ BGM_BOY_SUP,
- /*0x1A6*/ BGM_RAINBOW,
- /*0x1A7*/ BGM_AYASII,
- /*0x1A8*/ BGM_KACHI4,
- /*0x1A9*/ BGM_ROPEWAY,
- /*0x1AA*/ BGM_CASINO,
- /*0x1AB*/ BGM_HIGHTOWN,
- /*0x1AC*/ BGM_SAFARI,
- BGM_C_ROAD,
- BGM_AJITO,
- BGM_M_BOAT,
- BGM_M_DUNGON,
- BGM_FINECITY,
- BGM_MACHUPI,
- BGM_P_SCHOOL,
- BGM_DENDOU,
- BGM_TONEKUSA,
- BGM_MABOROSI,
- BGM_CON_FAN,
- BGM_CONTEST0,
- BGM_MGM0,
- BGM_T_BATTLE,
- BGM_OOAME,
- BGM_HIDERI,
- BGM_RUNECITY,
- BGM_CON_K,
- BGM_EIKOU_R,
- BGM_KARAKURI,
- BGM_HUTAGO,
- BGM_SITENNOU,
- BGM_YAMA_EYE,
- BGM_CONLOBBY,
- BGM_INTER_V,
- BGM_DAIGO,
- BGM_THANKFOR,
- BGM_END,
- /*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames
- BGM_BATTLE_ARENA,
- BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above
- BGM_ME_MATCH_CALL,
- BGM_BATTLE_PYRAMID,
- BGM_BATTLE_PYRAMID_SUMMIT,
- BGM_BATTLE_PALACE,
- BGM_FANFA_RAYQUAZA,
- BGM_BATTLE_TOWER,
- BGM_ME_BATTLE_SYMBOL,
- BGM_BATTLE_DOME_TOURNAMENT,
- BGM_BATTLE_PIKE,
- BGM_BATTLE_FACTORY,
- /*0x1D6*/ BGM_BATTLE_LEGENDARY,
- /*0x1D7*/ BGM_BATTLE_FRONTIER_BRAIN,
- /*0x1D8*/ BGM_BATTLE_MEW,
- /*0x1D9*/ BGM_BATTLE_DOME, // end of the human-readable names
- /*0x1DA*/ BGM_BATTLE27, // wild
- /*0x1DB*/ BGM_BATTLE31, // aqua/magma grunt
- /*0x1DC*/ BGM_BATTLE20, // trainer
- /*0x1DD*/ BGM_BATTLE32, // gym leader
- /*0x1DE*/ BGM_BATTLE33, // champion
- /*0x1DF*/ BGM_BATTLE36, // regi
- /*0x1E0*/ BGM_BATTLE34, // weather trio
- /*0x1E1*/ BGM_BATTLE35, // rival
- /*0x1E2*/ BGM_BATTLE38, // elite four
- /*0x1E3*/ BGM_BATTLE30, // aqua/magma leader
- /*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again!
- BGM_FRLG_GAMECORNER,
- BGM_FRLG_ROCKET_HIDEOUT,
- BGM_FRLG_GYM,
- BGM_FRLG_JIGGLYPUFF,
- BGM_FRLG_OPENING,
- BGM_FRLG_TITLE,
- BGM_FRLG_CINNABAR_ISLAND,
- BGM_FRLG_LAVENDER_TOWN,
- BGM_FRLG_HEALING_TEST,
- BGM_FRLG_BICYCLE,
- BGM_FRLG_SUSPICIOUS_EYE,
- BGM_FRLG_GIRL_EYE,
- BGM_FRLG_BOY_EYE,
- BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME,
- BGM_FRLG_VIRIDIAN_FOREST,
- BGM_FRLG_MT_MOON,
- BGM_FRLG_POKEMON_MANSION,
- BGM_FRLG_CREDITS,
- BGM_FRLG_ROUTE_1,
- BGM_FRLG_ROUTE_24,
- BGM_FRLG_ROUTE_3,
- BGM_FRLG_ROUTE_11,
- BGM_FRLG_INDIGO_PLATEAU,
- BGM_FRLG_BATTLE_LEADER,
- BGM_FRLG_BATTLE_TRAINER,
- BGM_FRLG_BATTLE_WILD_POKEMON,
- BGM_FRLG_BATTLE_CHAMPION,
- BGM_FRLG_PALLET_TOWN,
- BGM_FRLG_OAK_LAB,
- BGM_FRLG_PROF_OAK,
- BGM_FRLG_POKEMON_CENTER,
- BGM_FRLG_SS_ANNE,
- BGM_FRLG_SURF,
- BGM_FRLG_POKEMON_TOWER,
- BGM_FRLG_SILPH,
- BGM_FRLG_CERULEAN_CITY,
- BGM_FRLG_CELADON_CITY,
- BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory
- BGM_FRLG_KACHI_WILD_POKEMON,
- BGM_FRLG_KACHI_LEADER,
- BGM_FRLG_VERMILION_CITY,
- BGM_FRLG_VIRIDIAN_CITY,
- BGM_FRLG_RIVAL,
- BGM_FRLG_RIVAL_POSTBATTLE,
- BGM_FRLG_ME_POKEDEX_EVAL,
- BGM_FRLG_ME_KEYITEM,
- BGM_FRLG_FANFA_POKEMON_CAUGHT,
- BGM_FRLG_FANFA_TRAINERCARD_PHOTO,
- BGM_FRLG_GAMEFREAK_LOGO,
- BGM_FRLG_CAUGHT_POKEMON,
- BGM_FRLG_GAME_EXPLANATION_START,
- BGM_FRLG_GAME_EXPLANATION_MIDDLE,
- BGM_FRLG_GAME_EXPLANATION_END,
- BGM_FRLG_POKEMON_JUMP,
- BGM_FRLG_UNION_ROOM,
- BGM_FRLG_POKEMON_NETWORK_CENTER,
- BGM_FRLG_MYSTERY_GIFT,
- BGM_FRLG_DODRIO_BERRY_PICK,
- BGM_FRLG_MT_EMBER,
- BGM_FRLG_TEACHY_TV_EPISODE,
- BGM_FRLG_SEVII_ISLANDS,
- BGM_FRLG_TANOBY_RUINS,
- BGM_FRLG_ISLAND_ONE,
- BGM_FRLG_ISLAND_FOUR,
- BGM_FRLG_ISLAND_SIX,
- BGM_FRLG_FLUTE,
- /*0x227*/ BGM_FRLG_BATTLE_DEOXYS,
- /*0x228*/ BGM_FRLG_BATTLE_MEWTWO,
- /*0x229*/ BGM_FRLG_BATTLE_LEGENDARY,
- /*0x22A*/ BGM_FRLG_LEADER_EYE,
- /*0x22B*/ BGM_FRLG_DEOXYS_EYE,
- /*0x22C*/ BGM_FRLG_TRAINER_TOWER,
- /*0x22D*/ BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
- /*0x22E*/ BGM_FRLG_TEACHY_TV,
-};
-
-#endif // GUARD_SONGS_H
diff --git a/include/strings.h b/include/strings.h
index e3650bc63..5521d828b 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1,45 +1,62 @@
#ifndef GUARD_STRINGS_H
#define GUARD_STRINGS_H
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
extern const u8 gText_FromSpace[];
+
extern const u8 gText_Lv50[];
extern const u8 gText_OpenLevel[];
+
extern const u8 gText_Mom[];
extern const u8 gText_Dad[];
+
extern const u8 gText_Cool[];
extern const u8 gText_Beauty[];
extern const u8 gText_Cute[];
extern const u8 gText_Smart[];
extern const u8 gText_Tough[];
+
extern const u8 gText_Single[];
extern const u8 gText_Double[];
+
+extern const u8 gText_Spicy[];
+extern const u8 gText_Dry[];
+extern const u8 gText_Sweet[];
+extern const u8 gText_Bitter[];
+extern const u8 gText_Sour[];
+
+extern const u8 gText_StowCase[];
+extern const u8 gText_LvVar1[];
+
extern const u8 gText_Spicy2[];
extern const u8 gText_Dry2[];
extern const u8 gText_Sweet2[];
extern const u8 gText_Bitter2[];
extern const u8 gText_Sour2[];
+
extern const u8 gText_Excellent[];
extern const u8 gText_VeryGood[];
extern const u8 gText_Good[];
extern const u8 gText_SoSo[];
extern const u8 gText_Bad[];
extern const u8 gText_TheWorst[];
+
extern const u8 gText_Slots[];
extern const u8 gText_Roulette[];
extern const u8 gText_Jackpot[];
+
extern const u8 gText_First[];
extern const u8 gText_Second[];
extern const u8 gText_Third[];
+
extern const u8 gText_NoDecorations[];
extern const u8 gText_NoDecorationsInUse[];
+
extern const u8 gText_Exit[];
extern const u8 gText_Cancel[];
+
+extern const u8 gText_ThrowAwayVar1[];
+extern const u8 gText_Var1ThrownAway[];
+
extern const u8 gText_Color161Shadow161[];
extern const u8 gText_GoBackPrevMenu[];
extern const u8 gText_CantPlaceInRoom[];
@@ -56,12 +73,14 @@ extern const u8 gText_NoDecorationHere[];
extern const u8 gText_DecorationWillBeDiscarded[];
extern const u8 gText_CantThrowAwayInUse[];
extern const u8 gText_DecorationThrownAway[];
+
extern const u8 gText_Desk[];
extern const u8 gText_Chair[];
extern const u8 gText_Plant[];
extern const u8 gText_Ornament[];
extern const u8 gText_Mat[];
extern const u8 gText_Poster[];
+
extern const u8 gText_PutOutSelectedDecorItem[];
extern const u8 gText_StoreChosenDecorInPC[];
extern const u8 gText_ThrowAwayUnwantedDecors[];
@@ -92,4 +111,30 @@ extern const u8 gText_Draw[];
extern const u8 gText_Loss[];
extern const u8 gText_Win[];
+extern const u8 gText_Var1AteTheVar2[];
+extern const u8 gText_Var1HappilyAteVar2[];
+extern const u8 gText_Var1DisdainfullyAteVar2[];
+
+extern const u8 gText_RedPokeblock[];
+extern const u8 gText_BluePokeblock[];
+extern const u8 gText_PinkPokeblock[];
+extern const u8 gText_GreenPokeblock[];
+extern const u8 gText_YellowPokeblock[];
+extern const u8 gText_PurplePokeblock[];
+extern const u8 gText_IndigoPokeblock[];
+extern const u8 gText_BrownPokeblock[];
+extern const u8 gText_LiteBluePokeblock[];
+extern const u8 gText_OlivePokeblock[];
+extern const u8 gText_GrayPokeblock[];
+extern const u8 gText_BlackPokeblock[];
+extern const u8 gText_WhitePokeblock[];
+extern const u8 gText_GoldPokeblock[];
+
+extern const u8 gMenuText_Use[];
+extern const u8 gMenuText_Toss[];
+extern const u8 gMenuText_Give[];
+extern const u8 gMenuText_Give2[];
+
+extern const u8 gText_Cancel2[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/text_window.h b/include/text_window.h
index da3fb301e..0af007397 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -3,8 +3,8 @@
struct TilesPal
{
- u32* tiles;
- u16* pal;
+ u32 *tiles;
+ u16 *pal;
};
const struct TilesPal* sub_8098758(u8 id);
diff --git a/include/trainer_see.h b/include/trainer_see.h
index 5da50cfa1..847380782 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -4,20 +4,27 @@
struct ApproachingTrainer
{
u8 mapObjectId;
- u8 radius;
- u8 field_2;
- u8 field_3;
+ u8 radius; // plus 1
const u8 *trainerScriptPtr;
- u8 field_8;
- u8 field_9;
- u8 field_A;
- u8 field_B;
+ u8 taskId;
};
-extern struct ApproachingTrainer gApproachingTrainers[];
+extern u16 gUnknown_03006080;
+extern u8 gUnknown_03006084[4];
+extern struct ApproachingTrainer gApproachingTrainers[2];
+extern u8 gNoOfApproachingTrainers;
+extern u8 gUnknown_030060AC;
+extern u8 gApproachingTrainerId;
-void sub_80B4578(struct MapObject *);
-u8 sub_80B47BC(void);
-void sub_8155D78(struct MapObject *);
+bool8 CheckForTrainersWantingBattle(void);
+void sub_80B4578(struct MapObject *var);
+void EndTrainerApproach(void);
+void sub_80B45D0(void);
+u8 FldEff_ExclamationMarkIcon1(void);
+u8 FldEff_ExclamationMarkIcon2(void);
+u8 FldEff_HeartIcon(void);
+u8 GetCurrentApproachingTrainerMapObjectId(void);
+u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId);
+void sub_80B4808(void);
-#endif //GUARD_TRAINER_SEE_H
+#endif // GUARD_TRAINER_SEE_H