diff --git a/audio.asm b/audio.asm index 203684d69..d21bdbe41 100644 --- a/audio.asm +++ b/audio.asm @@ -5,8 +5,8 @@ SECTION "Audio", ROMX INCLUDE "audio/engine.asm" -; What music plays when a trainer notices you -INCLUDE "audio/trainer_encounters.asm" +TrainerEncounterMusic:: +INCLUDE "trainers/encounter_music.asm" Music: INCLUDE "audio/music_pointers.asm" diff --git a/audio/drumkits.asm b/audio/drumkits.asm new file mode 100644 index 000000000..4e311a2e5 --- /dev/null +++ b/audio/drumkits.asm @@ -0,0 +1,301 @@ +Drumkits: ; e8e52 + dw Drumkit0 + dw Drumkit1 + dw Drumkit2 + dw Drumkit3 + dw Drumkit4 + dw Drumkit5 +; e8e5e + +Drumkit0: ; e8e5e + dw Drum00 ; rest + dw Snare1 ; c + dw Snare2 ; c# + dw Snare3 ; d + dw Snare4 ; d# + dw Drum05 ; e + dw Triangle1 ; f + dw Triangle2 ; f# + dw HiHat1 ; g + dw Snare5 ; g# + dw Snare6 ; a + dw Snare7 ; a# + dw HiHat2 ; b +Drumkit1: ; e8e78 + dw Drum00 + dw HiHat1 + dw Snare5 + dw Snare6 + dw Snare7 + dw HiHat2 + dw HiHat3 + dw Snare8 + dw Triangle3 + dw Triangle4 + dw Snare9 + dw Snare10 + dw Snare11 +Drumkit2: ; e8e92 + dw Drum00 + dw Snare1 + dw Snare9 + dw Snare10 + dw Snare11 + dw Drum05 + dw Triangle1 + dw Triangle2 + dw HiHat1 + dw Snare5 + dw Snare6 + dw Snare7 + dw HiHat2 +Drumkit3: ; e8eac + dw Drum21 + dw Snare12 + dw Snare13 + dw Snare14 + dw Kick1 + dw Triangle5 + dw Drum20 + dw Drum27 + dw Drum28 + dw Drum29 + dw Drum21 + dw Kick2 + dw Crash2 +Drumkit4: ; e8ec6 + dw Drum21 + dw Drum20 + dw Snare13 + dw Snare14 + dw Kick1 + dw Drum33 + dw Triangle5 + dw Drum35 + dw Drum31 + dw Drum32 + dw Drum36 + dw Kick2 + dw Crash1 +Drumkit5: ; e8ee0 + dw Drum00 + dw Snare9 + dw Snare10 + dw Snare11 + dw Drum27 + dw Drum28 + dw Drum29 + dw Drum05 + dw Triangle1 + dw Crash1 + dw Snare14 + dw Snare13 + dw Kick2 +; e8efa + +Drum00: ; e8efa +; unused + noise C#, 1, $11, $00 + endchannel +; e8efe + +Snare1: ; e8efe + noise C#, 1, $c1, $33 + endchannel +; e8f02 + +Snare2: ; e8f02 + noise C#, 1, $b1, $33 + endchannel +; e8f06 + +Snare3: ; e8f06 + noise C#, 1, $a1, $33 + endchannel +; e8f0a + +Snare4: ; e8f0a + noise C#, 1, $81, $33 + endchannel +; e8f0e + +Drum05: ; e8f0e + noise C#, 8, $84, $37 + noise C#, 7, $84, $36 + noise C#, 6, $83, $35 + noise C#, 5, $83, $34 + noise C#, 4, $82, $33 + noise C#, 3, $81, $32 + endchannel +; e8f21 + +Triangle1: ; e8f21 + noise C#, 1, $51, $2a + endchannel +; e8f25 + +Triangle2: ; e8f25 + noise C#, 2, $41, $2b + noise C#, 1, $61, $2a + endchannel +; e8f2c + +HiHat1: ; e8f2c + noise C#, 1, $81, $10 + endchannel +; e8f30 + +Snare5: ; e8f30 + noise C#, 1, $82, $23 + endchannel +; e8f34 + +Snare6: ; e8f34 + noise C#, 1, $82, $25 + endchannel +; e8f38 + +Snare7: ; e8f38 + noise C#, 1, $82, $26 + endchannel +; e8f3c + +HiHat2: ; e8f3c + noise C#, 1, $a1, $10 + endchannel +; e8f40 + +HiHat3: ; e8f40 + noise C#, 1, $a2, $11 + endchannel +; e8f44 + +Snare8: ; e8f44 + noise C#, 1, $a2, $50 + endchannel +; e8f48 + +Triangle3: ; e8f48 + noise C#, 1, $a1, $18 + noise C#, 1, $31, $33 + endchannel +; e8f4f + +Triangle4: ; e8f4f + noise C#, 3, $91, $28 + noise C#, 1, $71, $18 + endchannel +; e8f56 + +Snare9: ; e8f56 + noise C#, 1, $91, $22 + endchannel +; e8f5a + +Snare10: ; e8f5a + noise C#, 1, $71, $22 + endchannel +; e8f5e + +Snare11: ; e8f5e + noise C#, 1, $61, $22 + endchannel +; e8f62 + +Drum20: ; e8f62 + noise C#, 1, $11, $11 + endchannel +; e8f66 + +Drum21: ; e8f66 + endchannel +; e8f67 + +Snare12: ; e8f67 + noise C#, 1, $91, $33 + endchannel +; e8f6b + +Snare13: ; e8f6b + noise C#, 1, $51, $32 + endchannel +; e8f6f + +Snare14: ; e8f6f + noise C#, 1, $81, $31 + endchannel +; e8f73 + +Kick1: ; e8f73 + noise C#, 1, $88, $6b + noise C#, 1, $71, $00 + endchannel +; e8f7a + +Triangle5: ; e8f7a + noise D_, 1, $91, $18 + endchannel +; e8f7e + +Drum27: ; e8f7e + noise C#, 8, $92, $10 + endchannel +; e8f82 + +Drum28: ; e8f82 + noise D_, 4, $91, $00 + noise D_, 4, $11, $00 + endchannel +; e8f89 + +Drum29: ; e8f89 + noise D_, 4, $91, $11 + noise D_, 4, $11, $00 + endchannel +; e8f90 + +Crash1: ; e8f90 + noise D_, 4, $88, $15 + noise C#, 1, $65, $12 + endchannel +; e8f97 + +Drum31: ; e8f97 + noise D_, 4, $51, $21 + noise D_, 4, $11, $11 + endchannel +; e8f9e + +Drum32: ; e8f9e + noise D_, 4, $51, $50 + noise D_, 4, $11, $11 + endchannel +; e8fa5 + +Drum33: ; e8fa5 + noise C#, 1, $a1, $31 + endchannel +; e8fa9 + +Crash2: ; e8fa9 + noise C#, 1, $84, $12 + endchannel +; e8fad + +Drum35: ; e8fad + noise D_, 4, $81, $00 + noise D_, 4, $11, $00 + endchannel +; e8fb4 + +Drum36: ; e8fb4 + noise D_, 4, $81, $21 + noise D_, 4, $11, $11 + endchannel +; e8fbb + +Kick2: ; e8fbb + noise C#, 1, $a8, $6b + noise C#, 1, $71, $00 + endchannel +; e8fc2 diff --git a/audio/engine.asm b/audio/engine.asm index b6e9b1aeb..7a4854b39 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -2883,349 +2883,14 @@ LoadMusicByte:: ; e8d76 ; e8d80 FrequencyTable: ; e8d80 - dw 0 ; __ - dw $f82c ; C_ - dw $f89d ; C# - dw $f907 ; D_ - dw $f96b ; D# - dw $f9ca ; E_ - dw $fa23 ; F_ - dw $fa77 ; F# - dw $fac7 ; G_ - dw $fb12 ; G# - dw $fb58 ; A_ - dw $fb9b ; A# - dw $fbda ; B_ - dw $fc16 ; C_ - dw $fc4e ; C# - dw $fc83 ; D_ - dw $fcb5 ; D# - dw $fce5 ; E_ - dw $fd11 ; F_ - dw $fd3b ; F# - dw $fd63 ; G_ - dw $fd89 ; G# - dw $fdac ; A_ - dw $fdcd ; A# - dw $fded ; B_ +INCLUDE "data/audio/notes.asm" ; e8db2 WaveSamples: ; e8db2 - ; these are streams of 32 4-bit values used as wavepatterns - ; nothing interesting here! - dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 - dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 - dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 - dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 - dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 - dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14 - dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1 - dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14 - dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5 - dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1 +INCLUDE "data/audio/wave_samples.asm" ; e8e52 -Drumkits: ; e8e52 - dw Drumkit0 - dw Drumkit1 - dw Drumkit2 - dw Drumkit3 - dw Drumkit4 - dw Drumkit5 -; e8e5e - -Drumkit0: ; e8e5e - dw Drum00 ; rest - dw Snare1 ; c - dw Snare2 ; c# - dw Snare3 ; d - dw Snare4 ; d# - dw Drum05 ; e - dw Triangle1 ; f - dw Triangle2 ; f# - dw HiHat1 ; g - dw Snare5 ; g# - dw Snare6 ; a - dw Snare7 ; a# - dw HiHat2 ; b -Drumkit1: ; e8e78 - dw Drum00 - dw HiHat1 - dw Snare5 - dw Snare6 - dw Snare7 - dw HiHat2 - dw HiHat3 - dw Snare8 - dw Triangle3 - dw Triangle4 - dw Snare9 - dw Snare10 - dw Snare11 -Drumkit2: ; e8e92 - dw Drum00 - dw Snare1 - dw Snare9 - dw Snare10 - dw Snare11 - dw Drum05 - dw Triangle1 - dw Triangle2 - dw HiHat1 - dw Snare5 - dw Snare6 - dw Snare7 - dw HiHat2 -Drumkit3: ; e8eac - dw Drum21 - dw Snare12 - dw Snare13 - dw Snare14 - dw Kick1 - dw Triangle5 - dw Drum20 - dw Drum27 - dw Drum28 - dw Drum29 - dw Drum21 - dw Kick2 - dw Crash2 -Drumkit4: ; e8ec6 - dw Drum21 - dw Drum20 - dw Snare13 - dw Snare14 - dw Kick1 - dw Drum33 - dw Triangle5 - dw Drum35 - dw Drum31 - dw Drum32 - dw Drum36 - dw Kick2 - dw Crash1 -Drumkit5: ; e8ee0 - dw Drum00 - dw Snare9 - dw Snare10 - dw Snare11 - dw Drum27 - dw Drum28 - dw Drum29 - dw Drum05 - dw Triangle1 - dw Crash1 - dw Snare14 - dw Snare13 - dw Kick2 -; e8efa - -Drum00: ; e8efa -; unused - noise C#, 1, $11, $00 - endchannel -; e8efe - -Snare1: ; e8efe - noise C#, 1, $c1, $33 - endchannel -; e8f02 - -Snare2: ; e8f02 - noise C#, 1, $b1, $33 - endchannel -; e8f06 - -Snare3: ; e8f06 - noise C#, 1, $a1, $33 - endchannel -; e8f0a - -Snare4: ; e8f0a - noise C#, 1, $81, $33 - endchannel -; e8f0e - -Drum05: ; e8f0e - noise C#, 8, $84, $37 - noise C#, 7, $84, $36 - noise C#, 6, $83, $35 - noise C#, 5, $83, $34 - noise C#, 4, $82, $33 - noise C#, 3, $81, $32 - endchannel -; e8f21 - -Triangle1: ; e8f21 - noise C#, 1, $51, $2a - endchannel -; e8f25 - -Triangle2: ; e8f25 - noise C#, 2, $41, $2b - noise C#, 1, $61, $2a - endchannel -; e8f2c - -HiHat1: ; e8f2c - noise C#, 1, $81, $10 - endchannel -; e8f30 - -Snare5: ; e8f30 - noise C#, 1, $82, $23 - endchannel -; e8f34 - -Snare6: ; e8f34 - noise C#, 1, $82, $25 - endchannel -; e8f38 - -Snare7: ; e8f38 - noise C#, 1, $82, $26 - endchannel -; e8f3c - -HiHat2: ; e8f3c - noise C#, 1, $a1, $10 - endchannel -; e8f40 - -HiHat3: ; e8f40 - noise C#, 1, $a2, $11 - endchannel -; e8f44 - -Snare8: ; e8f44 - noise C#, 1, $a2, $50 - endchannel -; e8f48 - -Triangle3: ; e8f48 - noise C#, 1, $a1, $18 - noise C#, 1, $31, $33 - endchannel -; e8f4f - -Triangle4: ; e8f4f - noise C#, 3, $91, $28 - noise C#, 1, $71, $18 - endchannel -; e8f56 - -Snare9: ; e8f56 - noise C#, 1, $91, $22 - endchannel -; e8f5a - -Snare10: ; e8f5a - noise C#, 1, $71, $22 - endchannel -; e8f5e - -Snare11: ; e8f5e - noise C#, 1, $61, $22 - endchannel -; e8f62 - -Drum20: ; e8f62 - noise C#, 1, $11, $11 - endchannel -; e8f66 - -Drum21: ; e8f66 - endchannel -; e8f67 - -Snare12: ; e8f67 - noise C#, 1, $91, $33 - endchannel -; e8f6b - -Snare13: ; e8f6b - noise C#, 1, $51, $32 - endchannel -; e8f6f - -Snare14: ; e8f6f - noise C#, 1, $81, $31 - endchannel -; e8f73 - -Kick1: ; e8f73 - noise C#, 1, $88, $6b - noise C#, 1, $71, $00 - endchannel -; e8f7a - -Triangle5: ; e8f7a - noise D_, 1, $91, $18 - endchannel -; e8f7e - -Drum27: ; e8f7e - noise C#, 8, $92, $10 - endchannel -; e8f82 - -Drum28: ; e8f82 - noise D_, 4, $91, $00 - noise D_, 4, $11, $00 - endchannel -; e8f89 - -Drum29: ; e8f89 - noise D_, 4, $91, $11 - noise D_, 4, $11, $00 - endchannel -; e8f90 - -Crash1: ; e8f90 - noise D_, 4, $88, $15 - noise C#, 1, $65, $12 - endchannel -; e8f97 - -Drum31: ; e8f97 - noise D_, 4, $51, $21 - noise D_, 4, $11, $11 - endchannel -; e8f9e - -Drum32: ; e8f9e - noise D_, 4, $51, $50 - noise D_, 4, $11, $11 - endchannel -; e8fa5 - -Drum33: ; e8fa5 - noise C#, 1, $a1, $31 - endchannel -; e8fa9 - -Crash2: ; e8fa9 - noise C#, 1, $84, $12 - endchannel -; e8fad - -Drum35: ; e8fad - noise D_, 4, $81, $00 - noise D_, 4, $11, $00 - endchannel -; e8fb4 - -Drum36: ; e8fb4 - noise D_, 4, $81, $21 - noise D_, 4, $11, $11 - endchannel -; e8fbb - -Kick2: ; e8fbb - noise C#, 1, $a8, $6b - noise C#, 1, $71, $00 - endchannel -; e8fc2 +INCLUDE "audio/drumkits.asm" GetLRTracks: ; e8fc2 ; gets the default sound l/r channels @@ -3306,3 +2971,24 @@ ClearChannel: ; e8ffe ret ; e900a + +PlayTrainerEncounterMusic:: ; e900a +; input: e = trainer type + ; turn fade off + xor a + ld [MusicFade], a + ; play nothing for one frame + push de + ld de, 0 ; id: Music_Nothing + call PlayMusic + call DelayFrame + ; play new song + call MaxVolume + pop de + ld d, $00 + ld hl, TrainerEncounterMusic + add hl, de + ld e, [hl] + call PlayMusic + ret +; e9027 diff --git a/audio/trainer_encounters.asm b/audio/trainer_encounters.asm deleted file mode 100644 index e909c96e6..000000000 --- a/audio/trainer_encounters.asm +++ /dev/null @@ -1,96 +0,0 @@ -; Currently, must be in the same bank as the sound engine. - -PlayTrainerEncounterMusic:: ; e900a -; input: e = trainer type - ; turn fade off - xor a - ld [MusicFade], a - ; play nothing for one frame - push de - ld de, 0 ; id: Music_Nothing - call PlayMusic - call DelayFrame - ; play new song - call MaxVolume - pop de - ld d, $00 - ld hl, TrainerEncounterMusic - add hl, de - ld e, [hl] - call PlayMusic - ret -; e9027 - -TrainerEncounterMusic: ; e9027 - db MUSIC_HIKER_ENCOUNTER - db MUSIC_YOUNGSTER_ENCOUNTER ; falkner - db MUSIC_LASS_ENCOUNTER ; whitney - db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy - db MUSIC_OFFICER_ENCOUNTER ; morty - db MUSIC_OFFICER_ENCOUNTER ; pryce - db MUSIC_LASS_ENCOUNTER ; jasmine - db MUSIC_OFFICER_ENCOUNTER ; chuck - db MUSIC_BEAUTY_ENCOUNTER ; clair - db MUSIC_RIVAL_ENCOUNTER ; rival1 - db MUSIC_HIKER_ENCOUNTER ; pokemon_prof - db MUSIC_HIKER_ENCOUNTER ; will - db MUSIC_HIKER_ENCOUNTER ; cal - db MUSIC_OFFICER_ENCOUNTER ; bruno - db MUSIC_HIKER_ENCOUNTER ; karen - db MUSIC_HIKER_ENCOUNTER ; koga - db MUSIC_OFFICER_ENCOUNTER ; champion - db MUSIC_YOUNGSTER_ENCOUNTER ; brock - db MUSIC_LASS_ENCOUNTER ; misty - db MUSIC_OFFICER_ENCOUNTER ; lt_surge - db MUSIC_ROCKET_ENCOUNTER ; scientist - db MUSIC_OFFICER_ENCOUNTER ; erika - db MUSIC_YOUNGSTER_ENCOUNTER ; youngster - db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy - db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper - db MUSIC_LASS_ENCOUNTER ; lass - db MUSIC_LASS_ENCOUNTER ; janine - db MUSIC_HIKER_ENCOUNTER ; cooltrainerm - db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf - db MUSIC_BEAUTY_ENCOUNTER ; beauty - db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac - db MUSIC_ROCKET_ENCOUNTER ; gruntm - db MUSIC_HIKER_ENCOUNTER ; gentleman - db MUSIC_BEAUTY_ENCOUNTER ; skier - db MUSIC_BEAUTY_ENCOUNTER ; teacher - db MUSIC_BEAUTY_ENCOUNTER ; sabrina - db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher - db MUSIC_HIKER_ENCOUNTER ; fisher - db MUSIC_HIKER_ENCOUNTER ; swimmerm - db MUSIC_BEAUTY_ENCOUNTER ; swimmerf - db MUSIC_HIKER_ENCOUNTER ; sailor - db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd - db MUSIC_RIVAL_ENCOUNTER ; rival2 - db MUSIC_HIKER_ENCOUNTER ; guitarist - db MUSIC_HIKER_ENCOUNTER ; hiker - db MUSIC_HIKER_ENCOUNTER ; biker - db MUSIC_OFFICER_ENCOUNTER ; blaine - db MUSIC_POKEMANIAC_ENCOUNTER ; burglar - db MUSIC_HIKER_ENCOUNTER ; firebreather - db MUSIC_POKEMANIAC_ENCOUNTER ; juggler - db MUSIC_HIKER_ENCOUNTER ; blackbelt_t - db MUSIC_ROCKET_ENCOUNTER ; executivem - db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t - db MUSIC_LASS_ENCOUNTER ; picnicker - db MUSIC_YOUNGSTER_ENCOUNTER ; camper - db MUSIC_ROCKET_ENCOUNTER ; executivef - db MUSIC_SAGE_ENCOUNTER ; sage - db MUSIC_SAGE_ENCOUNTER ; medium - db MUSIC_HIKER_ENCOUNTER ; boarder - db MUSIC_HIKER_ENCOUNTER ; pokefanm - db MUSIC_KIMONO_ENCOUNTER ; kimono_girl - db MUSIC_LASS_ENCOUNTER ; twins - db MUSIC_BEAUTY_ENCOUNTER ; pokefanf - db MUSIC_HIKER_ENCOUNTER ; red - db MUSIC_RIVAL_ENCOUNTER ; blue - db MUSIC_HIKER_ENCOUNTER ; officer - db MUSIC_ROCKET_ENCOUNTER ; gruntf - db MUSIC_HIKER_ENCOUNTER ; mysticalman - db MUSIC_HIKER_ENCOUNTER - db MUSIC_HIKER_ENCOUNTER - db MUSIC_HIKER_ENCOUNTER -; e906e diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index a0c2f05ae..dd39df20f 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,4 +1,5 @@ ; pitch +; FrequencyTable indexes (see data/audio/notes.asm) const_def const __ ; 0 const C_ ; 1 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index a9b923deb..7caa3529a 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -7,8 +7,8 @@ MAP_NONE EQU 0 ; map group ids ; `newgroup` indexes are for: ; - MapGroupPointers (see maps/map_headers.asm) -; - OutdoorSprites (see engine/overworld.asm) -; - MapGroupRoofs (see tilesets/roofs.asm) +; - OutdoorSprites (see data/outdoor_sprites.asm) +; - MapGroupRoofs (see data/mapgroup_roofs.asm) ; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) const_def diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 42b499abb..49a0df454 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -2,8 +2,8 @@ ; `trainerclass` indexes are for: ; - TrainerClassAttributes (see trainers/attributes.asm) ; - TrainerClassDVs (see trainers/dvs.asm) +; - TrainerEncounterMusic (see trainers/encounter_music.asm) ; - TrainerGroups (see trainers/trainer_pointers.asm) -; - TrainerEncounterMusic (see audio/trainer_encounters.asm) ; - BTTrainerClassGenders (see misc/battle_tower_47.asm) ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm) enum_start diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index a1047fc53..23692fdef 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -48,6 +48,11 @@ const_value SET -1 const LEFT ; 2 const RIGHT ; 3 +DOWN_MASK EQU 1 << DOWN +UP_MASK EQU 1 << UP +LEFT_MASK EQU 1 << LEFT +RIGHT_MASK EQU 1 << RIGHT + ; FacingDirection: ; d044 FACE_CURRENT EQU 0 FACE_DOWN EQU 8 diff --git a/data/audio/notes.asm b/data/audio/notes.asm new file mode 100644 index 000000000..bc5e682c9 --- /dev/null +++ b/data/audio/notes.asm @@ -0,0 +1,25 @@ + dw 0 ; __ + dw $f82c ; C_ + dw $f89d ; C# + dw $f907 ; D_ + dw $f96b ; D# + dw $f9ca ; E_ + dw $fa23 ; F_ + dw $fa77 ; F# + dw $fac7 ; G_ + dw $fb12 ; G# + dw $fb58 ; A_ + dw $fb9b ; A# + dw $fbda ; B_ + dw $fc16 ; C_ + dw $fc4e ; C# + dw $fc83 ; D_ + dw $fcb5 ; D# + dw $fce5 ; E_ + dw $fd11 ; F_ + dw $fd3b ; F# + dw $fd63 ; G_ + dw $fd89 ; G# + dw $fdac ; A_ + dw $fdcd ; A# + dw $fded ; B_ diff --git a/data/audio/wave_samples.asm b/data/audio/wave_samples.asm new file mode 100644 index 000000000..abf0925ce --- /dev/null +++ b/data/audio/wave_samples.asm @@ -0,0 +1,12 @@ + ; these are streams of 32 4-bit values used as wavepatterns + ; nothing interesting here! + dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 + dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 + dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 + dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14 + dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1 + dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14 + dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5 + dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1 diff --git a/data/bug_contest_winners.asm b/data/bug_contest_winners.asm new file mode 100644 index 000000000..8529ed0f0 --- /dev/null +++ b/data/bug_contest_winners.asm @@ -0,0 +1,74 @@ +BugContestantPointers: ; 13783 + dw BugContestant_BugCatcherDon ; This reverts back to the player + dw BugContestant_BugCatcherDon + dw BugContestant_BugCatcherEd + dw BugContestant_CooltrainerMNick + dw BugContestant_PokefanMWilliam + dw BugContestant_BugCatcherBenny + dw BugContestant_CamperBarry + dw BugContestant_PicnickerCindy + dw BugContestant_BugCatcherJosh + dw BugContestant_YoungsterSamuel + dw BugContestant_SchoolboyKipp +; 13799 + +BugContestant_BugCatcherDon: + db BUG_CATCHER, DON + dbw KAKUNA, 300 + dbw METAPOD, 285 + dbw CATERPIE, 226 + +BugContestant_BugCatcherEd: + db BUG_CATCHER, ED + dbw BUTTERFREE, 286 + dbw BUTTERFREE, 251 + dbw CATERPIE, 237 + +BugContestant_CooltrainerMNick: + db COOLTRAINERM, NICK + dbw SCYTHER, 357 + dbw BUTTERFREE, 349 + dbw PINSIR, 368 + +BugContestant_PokefanMWilliam: + db POKEFANM, WILLIAM + dbw PINSIR, 332 + dbw BUTTERFREE, 324 + dbw VENONAT, 321 + +BugContestant_BugCatcherBenny: + db BUG_CATCHER, BUG_CATCHER_BENNY + dbw BUTTERFREE, 318 + dbw WEEDLE, 295 + dbw CATERPIE, 285 + +BugContestant_CamperBarry: + db CAMPER, BARRY + dbw PINSIR, 366 + dbw VENONAT, 329 + dbw KAKUNA, 314 + +BugContestant_PicnickerCindy: + db PICNICKER, CINDY + dbw BUTTERFREE, 341 + dbw METAPOD, 301 + dbw CATERPIE, 264 + +BugContestant_BugCatcherJosh: + db BUG_CATCHER, JOSH + dbw SCYTHER, 326 + dbw BUTTERFREE, 292 + dbw METAPOD, 282 + +BugContestant_YoungsterSamuel: + db YOUNGSTER, SAMUEL + dbw WEEDLE, 270 + dbw PINSIR, 282 + dbw CATERPIE, 251 + +BugContestant_SchoolboyKipp: + db SCHOOLBOY, KIPP + dbw VENONAT, 267 + dbw PARAS, 254 + dbw KAKUNA, 259 +; 13807 diff --git a/data/hm_moves.asm b/data/hm_moves.asm new file mode 100644 index 000000000..49d40d1d7 --- /dev/null +++ b/data/hm_moves.asm @@ -0,0 +1,9 @@ +; HM moves can't be forgotten + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WATERFALL + db WHIRLPOOL + db -1 ; end diff --git a/data/mail_input_chars.asm b/data/mail_input_chars.asm new file mode 100644 index 000000000..4466464b2 --- /dev/null +++ b/data/mail_input_chars.asm @@ -0,0 +1,19 @@ +; see engine/naming_screen.asm + +MailEntry_Uppercase: ; 122dd + db "A B C D E F G H I J" + db "K L M N O P Q R S T" + db "U V W X Y Z , ? !" + db "1 2 3 4 5 6 7 8 9 0" + db " é ♂ ♀ ¥ … ×" + db "lower DEL END " + +; 1224f + +MailEntry_Lowercase: ; 1224f + db "a b c d e f g h i j" + db "k l m n o p q r s t" + db "u v w x y z . - /" + db "'d 'l 'm 'r 's 't 'v & ( )" + db "<``> <''> [ ] ' : ; " + db "UPPER DEL END " diff --git a/data/mapgroup_roofs.asm b/data/mapgroup_roofs.asm new file mode 100644 index 000000000..076a0e8e1 --- /dev/null +++ b/data/mapgroup_roofs.asm @@ -0,0 +1,28 @@ +; valid roofs: 0, 1, 2, 3, 4; -1 for none + db -1 ; group 0 (unused) + db 3 ; group 1 (Olivine) + db 2 ; group 2 (Mahogany) + db -1 ; group 3 + db 1 ; group 4 (Ecruteak) + db 2 ; group 5 (Blackthorn) + db -1 ; group 6 + db -1 ; group 7 + db 2 ; group 8 (Azalea) + db 2 ; group 9 (Lake of Rage) + db 1 ; group 10 (Violet) + db 4 ; group 11 (Goldenrod) + db -1 ; group 12 + db -1 ; group 13 + db -1 ; group 14 + db -1 ; group 15 + db -1 ; group 16 + db -1 ; group 17 + db -1 ; group 18 + db 0 ; group 19 (Silver Cave) + db -1 ; group 20 + db -1 ; group 21 + db 3 ; group 22 (Cianwood) + db -1 ; group 23 + db 0 ; group 24 (New Bark) + db -1 ; group 25 + db 0 ; group 26 (Cherrygrove) diff --git a/data/name_input_chars.asm b/data/name_input_chars.asm new file mode 100644 index 000000000..d89289142 --- /dev/null +++ b/data/name_input_chars.asm @@ -0,0 +1,31 @@ +; see engine/naming_screen.asm + +NameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "× ( ) : ; [ ] " + db "UPPER DEL END " + +BoxNameInputLower: + db "a b c d e f g h i" + db "j k l m n o p q r" + db "s t u v w x y z " + db "é 'd 'l 'm 'r 's 't 'v 0" + db "1 2 3 4 5 6 7 8 9" + db "UPPER DEL END " + +NameInputUpper: + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "- ? ! / . , " + db "lower DEL END " + +BoxNameInputUpper: + db "A B C D E F G H I" + db "J K L M N O P Q R" + db "S T U V W X Y Z " + db "× ( ) : ; [ ] " + db "- ? ! ♂ ♀ / . , &" + db "lower DEL END " diff --git a/data/outdoor_sprites.asm b/data/outdoor_sprites.asm index ef88fbb8a..b99efcfe7 100644 --- a/data/outdoor_sprites.asm +++ b/data/outdoor_sprites.asm @@ -1,5 +1,7 @@ -OutdoorSprites: ; 144b8 ; Valid sprite IDs for each map group. +; Maps with permission ROUTE or TOWN can only use these sprites. + +OutdoorSprites: ; 144b8 dw Group1Sprites dw Group2Sprites dw Group3Sprites diff --git a/data/time_capsule/catch_rate_items.asm b/data/time_capsule/catch_rate_items.asm new file mode 100644 index 000000000..1db3818f8 --- /dev/null +++ b/data/time_capsule/catch_rate_items.asm @@ -0,0 +1,17 @@ +; Pokémon traded from RBY do not have held items, so GSC usually interprets the +; catch rate as an item. However, if the catch rate appears in this table, the +; item associated with the table entry is used instead. + + db ITEM_19, LEFTOVERS + db ITEM_2D, BITTER_BERRY + db ITEM_32, GOLD_BERRY + db ITEM_5A, BERRY + db ITEM_64, BERRY + db ITEM_78, BERRY + db ITEM_87, BERRY + db ITEM_BE, BERRY + db ITEM_C3, BERRY + db ITEM_DC, BERRY + db ITEM_FA, BERRY + db -1, BERRY + db 0 ; end diff --git a/engine/link.asm b/engine/link.asm index ab3d38968..1aac20489 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1130,22 +1130,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 ret .TimeCapsuleAlt: ; 28785 -; Pokémon traded from RBY do not have held items, so GSC usually interprets the -; catch rate as an item. However, if the catch rate appears in this table, the -; item associated with the table entry is used instead. - db ITEM_19, LEFTOVERS - db ITEM_2D, BITTER_BERRY - db ITEM_32, GOLD_BERRY - db ITEM_5A, BERRY - db ITEM_64, BERRY - db ITEM_78, BERRY - db ITEM_87, BERRY - db ITEM_BE, BERRY - db ITEM_C3, BERRY - db ITEM_DC, BERRY - db ITEM_FA, BERRY - db -1, BERRY - db 0 +INCLUDE "data/time_capsule/catch_rate_items.asm" ; 2879e Link_CopyOTData: ; 2879e diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index d4f11cb8c..0bc613709 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -953,36 +953,7 @@ NamingScreenGFX_Cursor: ; 11cc7 INCBIN "gfx/namingscreen/cursor.2bpp" ; 11ce7 -NameInputLower: - db "a b c d e f g h i" - db "j k l m n o p q r" - db "s t u v w x y z " - db "× ( ) : ; [ ] " - db "UPPER DEL END " - -BoxNameInputLower: - db "a b c d e f g h i" - db "j k l m n o p q r" - db "s t u v w x y z " - db "é 'd 'l 'm 'r 's 't 'v 0" - db "1 2 3 4 5 6 7 8 9" - db "UPPER DEL END " - -NameInputUpper: - db "A B C D E F G H I" - db "J K L M N O P Q R" - db "S T U V W X Y Z " - db "- ? ! / . , " - db "lower DEL END " - -BoxNameInputUpper: - db "A B C D E F G H I" - db "J K L M N O P Q R" - db "S T U V W X Y Z " - db "× ( ) : ; [ ] " - db "- ? ! ♂ ♀ / . , &" - db "lower DEL END " - +INCLUDE "data/name_input_chars.asm" ; 11e5d NamingScreenGFX_End: ; unused @@ -1499,22 +1470,6 @@ MailComposition_TryAddLastCharacter: ; 121ac (4:61ac) ; 121dd -MailEntry_Uppercase: ; 122dd - db "A B C D E F G H I J" - db "K L M N O P Q R S T" - db "U V W X Y Z , ? !" - db "1 2 3 4 5 6 7 8 9 0" - db " é ♂ ♀ ¥ … ×" - db "lower DEL END " - -; 1224f - -MailEntry_Lowercase: ; 1224f - db "a b c d e f g h i j" - db "k l m n o p q r s t" - db "u v w x y z . - /" - db "'d 'l 'm 'r 's 't 'v & ( )" - db "<``> <''> [ ] ' : ; " - db "UPPER DEL END " +INCLUDE "data/mail_input_chars.asm" ; 122c1 diff --git a/engine/npc_movement.asm b/engine/npc_movement.asm index bc36e3ee9..9a18cdcb1 100755 --- a/engine/npc_movement.asm +++ b/engine/npc_movement.asm @@ -118,7 +118,7 @@ Function6f3e: ; 6f3e ; 6f5b .data_6f5b - db 1 << DOWN, 1 << UP, 1 << RIGHT, 1 << LEFT + db DOWN_MASK, UP_MASK, RIGHT_MASK, LEFT_MASK ; 6f5f Function6f5f: ; 6f5f @@ -143,7 +143,7 @@ Function6f5f: ; 6f5f ; 6f7b .data_6f7b - db 1 << UP, 1 << DOWN, 1 << LEFT, 1 << RIGHT + db UP_MASK, DOWN_MASK, LEFT_MASK, RIGHT_MASK ; 6f7f Function6f7f: ; 6f7f diff --git a/event/bug_contest_judging.asm b/event/bug_contest_judging.asm index 0d400bb39..a7a9eb022 100755 --- a/event/bug_contest_judging.asm +++ b/event/bug_contest_judging.asm @@ -134,81 +134,11 @@ LoadContestantName: ; 13730 jp CopyBytes ; 13783 -BugContestantPointers: ; 13783 - dw BugContestant_BugCatcherDon ; This reverts back to the player - dw BugContestant_BugCatcherDon - dw BugContestant_BugCatcherEd - dw BugContestant_CooltrainerMNick - dw BugContestant_PokefanMWilliam - dw BugContestant_BugCatcherBenny - dw BugContestant_CamperBarry - dw BugContestant_PicnickerCindy - dw BugContestant_BugCatcherJosh - dw BugContestant_YoungsterSamuel - dw BugContestant_SchoolboyKipp -; 13799 -BugContestant_BugCatcherDon: - db BUG_CATCHER, DON - dbw KAKUNA, 300 - dbw METAPOD, 285 - dbw CATERPIE, 226 - -BugContestant_BugCatcherEd: - db BUG_CATCHER, ED - dbw BUTTERFREE, 286 - dbw BUTTERFREE, 251 - dbw CATERPIE, 237 - -BugContestant_CooltrainerMNick: - db COOLTRAINERM, NICK - dbw SCYTHER, 357 - dbw BUTTERFREE, 349 - dbw PINSIR, 368 - -BugContestant_PokefanMWilliam: - db POKEFANM, WILLIAM - dbw PINSIR, 332 - dbw BUTTERFREE, 324 - dbw VENONAT, 321 - -BugContestant_BugCatcherBenny: - db BUG_CATCHER, BUG_CATCHER_BENNY - dbw BUTTERFREE, 318 - dbw WEEDLE, 295 - dbw CATERPIE, 285 - -BugContestant_CamperBarry: - db CAMPER, BARRY - dbw PINSIR, 366 - dbw VENONAT, 329 - dbw KAKUNA, 314 - -BugContestant_PicnickerCindy: - db PICNICKER, CINDY - dbw BUTTERFREE, 341 - dbw METAPOD, 301 - dbw CATERPIE, 264 - -BugContestant_BugCatcherJosh: - db BUG_CATCHER, JOSH - dbw SCYTHER, 326 - dbw BUTTERFREE, 292 - dbw METAPOD, 282 - -BugContestant_YoungsterSamuel: - db YOUNGSTER, SAMUEL - dbw WEEDLE, 270 - dbw PINSIR, 282 - dbw CATERPIE, 251 - -BugContestant_SchoolboyKipp: - db SCHOOLBOY, KIPP - dbw VENONAT, 267 - dbw PARAS, 254 - dbw KAKUNA, 259 +INCLUDE "data/bug_contest_winners.asm" ; 13807 + BugContest_GetPlayersResult: ; 13807 ld hl, wBugContestThirdPlacePersonID ld de, -4 diff --git a/home.asm b/home.asm index 4686ed4b1..7e2cc786f 100644 --- a/home.asm +++ b/home.asm @@ -1041,14 +1041,7 @@ IsHMMove:: ; 34e7 jp IsInArray .HMMoves: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db WATERFALL - db WHIRLPOOL - db -1 +INCLUDE "data/hm_moves.asm" ; 34f8 GetMoveName:: ; 34f8 diff --git a/home/map.asm b/home/map.asm index 6d9337fe9..fb6b2d738 100644 --- a/home/map.asm +++ b/home/map.asm @@ -1593,14 +1593,14 @@ GetMovementPermissions:: ; 2914 ; 2945 .MovementPermissionsData: ; 2945 - db 1 << DOWN - db 1 << UP - db 1 << LEFT - db 1 << RIGHT - db (1 << DOWN) | (1 << RIGHT) - db (1 << UP) | (1 << RIGHT) - db (1 << DOWN) | (1 << LEFT) - db (1 << UP) | (1 << LEFT) + db DOWN_MASK + db UP_MASK + db LEFT_MASK + db RIGHT_MASK + db DOWN_MASK | RIGHT_MASK + db UP_MASK | RIGHT_MASK + db DOWN_MASK | LEFT_MASK + db UP_MASK | LEFT_MASK ; 294d .UpDown: diff --git a/main.asm b/main.asm index 0c699954c..829118d99 100644 --- a/main.asm +++ b/main.asm @@ -3398,46 +3398,7 @@ GetMobileOTTrainerClass: ; mobile function ld a, [hl] ret -MaleTrainers: ; 4e95d - db BURGLAR - db YOUNGSTER - db SCHOOLBOY - db BIRD_KEEPER - db POKEMANIAC - db GENTLEMAN - db BUG_CATCHER - db FISHER - db SWIMMERM - db SAILOR - db SUPER_NERD - db GUITARIST - db HIKER - db FIREBREATHER - db BLACKBELT_T - db PSYCHIC_T - db CAMPER - db COOLTRAINERM - db BOARDER - db JUGGLER - db POKEFANM - db OFFICER - db SAGE - db BIKER - db SCIENTIST -MaleTrainersEnd: - -FemaleTrainers: ; 4e976 - db MEDIUM - db LASS - db BEAUTY - db SKIER - db TEACHER - db SWIMMERF - db PICNICKER - db KIMONO_GIRL - db POKEFANF - db COOLTRAINERF -FemaleTrainersEnd: +INCLUDE "trainers/gendered_trainers.asm" INCLUDE "battle/sliding_intro.asm" diff --git a/tilesets/roofs.asm b/tilesets/roofs.asm index d17d4464e..e829065ba 100644 --- a/tilesets/roofs.asm +++ b/tilesets/roofs.asm @@ -18,33 +18,7 @@ LoadMapGroupRoof:: ; 1c000 ; 1c021 MapGroupRoofs: ; 1c021i - db -1 ; group 0 (unused) - db 3 ; group 1 (Olivine) - db 2 ; group 2 (Mahogany) - db -1 ; group 3 - db 1 ; group 4 (Ecruteak) - db 2 ; group 5 (Blackthorn) - db -1 ; group 6 - db -1 ; group 7 - db 2 ; group 8 (Azalea) - db 2 ; group 9 (Lake of Rage) - db 1 ; group 10 (Violet) - db 4 ; group 11 (Goldenrod) - db -1 ; group 12 - db -1 ; group 13 - db -1 ; group 14 - db -1 ; group 15 - db -1 ; group 16 - db -1 ; group 17 - db -1 ; group 18 - db 0 ; group 19 (Silver Cave) - db -1 ; group 20 - db -1 ; group 21 - db 3 ; group 22 (Cianwood) - db -1 ; group 23 - db 0 ; group 24 (New Bark) - db -1 ; group 25 - db 0 ; group 26 (Cherrygrove) +INCLUDE "data/mapgroup_roofs.asm" ; 1c03c Roofs: ; 1c03c diff --git a/trainers/encounter_music.asm b/trainers/encounter_music.asm new file mode 100644 index 000000000..9d41294be --- /dev/null +++ b/trainers/encounter_music.asm @@ -0,0 +1,73 @@ +; What music plays when a trainer notices you + + db MUSIC_HIKER_ENCOUNTER ; none + db MUSIC_YOUNGSTER_ENCOUNTER ; falkner + db MUSIC_LASS_ENCOUNTER ; whitney + db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy + db MUSIC_OFFICER_ENCOUNTER ; morty + db MUSIC_OFFICER_ENCOUNTER ; pryce + db MUSIC_LASS_ENCOUNTER ; jasmine + db MUSIC_OFFICER_ENCOUNTER ; chuck + db MUSIC_BEAUTY_ENCOUNTER ; clair + db MUSIC_RIVAL_ENCOUNTER ; rival1 + db MUSIC_HIKER_ENCOUNTER ; pokemon_prof + db MUSIC_HIKER_ENCOUNTER ; will + db MUSIC_HIKER_ENCOUNTER ; cal + db MUSIC_OFFICER_ENCOUNTER ; bruno + db MUSIC_HIKER_ENCOUNTER ; karen + db MUSIC_HIKER_ENCOUNTER ; koga + db MUSIC_OFFICER_ENCOUNTER ; champion + db MUSIC_YOUNGSTER_ENCOUNTER ; brock + db MUSIC_LASS_ENCOUNTER ; misty + db MUSIC_OFFICER_ENCOUNTER ; lt_surge + db MUSIC_ROCKET_ENCOUNTER ; scientist + db MUSIC_OFFICER_ENCOUNTER ; erika + db MUSIC_YOUNGSTER_ENCOUNTER ; youngster + db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy + db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper + db MUSIC_LASS_ENCOUNTER ; lass + db MUSIC_LASS_ENCOUNTER ; janine + db MUSIC_HIKER_ENCOUNTER ; cooltrainerm + db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf + db MUSIC_BEAUTY_ENCOUNTER ; beauty + db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac + db MUSIC_ROCKET_ENCOUNTER ; gruntm + db MUSIC_HIKER_ENCOUNTER ; gentleman + db MUSIC_BEAUTY_ENCOUNTER ; skier + db MUSIC_BEAUTY_ENCOUNTER ; teacher + db MUSIC_BEAUTY_ENCOUNTER ; sabrina + db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher + db MUSIC_HIKER_ENCOUNTER ; fisher + db MUSIC_HIKER_ENCOUNTER ; swimmerm + db MUSIC_BEAUTY_ENCOUNTER ; swimmerf + db MUSIC_HIKER_ENCOUNTER ; sailor + db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd + db MUSIC_RIVAL_ENCOUNTER ; rival2 + db MUSIC_HIKER_ENCOUNTER ; guitarist + db MUSIC_HIKER_ENCOUNTER ; hiker + db MUSIC_HIKER_ENCOUNTER ; biker + db MUSIC_OFFICER_ENCOUNTER ; blaine + db MUSIC_POKEMANIAC_ENCOUNTER ; burglar + db MUSIC_HIKER_ENCOUNTER ; firebreather + db MUSIC_POKEMANIAC_ENCOUNTER ; juggler + db MUSIC_HIKER_ENCOUNTER ; blackbelt_t + db MUSIC_ROCKET_ENCOUNTER ; executivem + db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t + db MUSIC_LASS_ENCOUNTER ; picnicker + db MUSIC_YOUNGSTER_ENCOUNTER ; camper + db MUSIC_ROCKET_ENCOUNTER ; executivef + db MUSIC_SAGE_ENCOUNTER ; sage + db MUSIC_SAGE_ENCOUNTER ; medium + db MUSIC_HIKER_ENCOUNTER ; boarder + db MUSIC_HIKER_ENCOUNTER ; pokefanm + db MUSIC_KIMONO_ENCOUNTER ; kimono_girl + db MUSIC_LASS_ENCOUNTER ; twins + db MUSIC_BEAUTY_ENCOUNTER ; pokefanf + db MUSIC_HIKER_ENCOUNTER ; red + db MUSIC_RIVAL_ENCOUNTER ; blue + db MUSIC_HIKER_ENCOUNTER ; officer + db MUSIC_ROCKET_ENCOUNTER ; gruntf + db MUSIC_HIKER_ENCOUNTER ; mysticalman + db MUSIC_HIKER_ENCOUNTER + db MUSIC_HIKER_ENCOUNTER + db MUSIC_HIKER_ENCOUNTER diff --git a/trainers/gendered_trainers.asm b/trainers/gendered_trainers.asm new file mode 100644 index 000000000..98cfec2ac --- /dev/null +++ b/trainers/gendered_trainers.asm @@ -0,0 +1,40 @@ +MaleTrainers: ; 4e95d + db BURGLAR + db YOUNGSTER + db SCHOOLBOY + db BIRD_KEEPER + db POKEMANIAC + db GENTLEMAN + db BUG_CATCHER + db FISHER + db SWIMMERM + db SAILOR + db SUPER_NERD + db GUITARIST + db HIKER + db FIREBREATHER + db BLACKBELT_T + db PSYCHIC_T + db CAMPER + db COOLTRAINERM + db BOARDER + db JUGGLER + db POKEFANM + db OFFICER + db SAGE + db BIKER + db SCIENTIST +MaleTrainersEnd + +FemaleTrainers: ; 4e976 + db MEDIUM + db LASS + db BEAUTY + db SKIER + db TEACHER + db SWIMMERF + db PICNICKER + db KIMONO_GIRL + db POKEFANF + db COOLTRAINERF +FemaleTrainersEnd