summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants.asm60
-rw-r--r--music.asm323
2 files changed, 377 insertions, 6 deletions
diff --git a/constants.asm b/constants.asm
index 573e97e5..18eea507 100644
--- a/constants.asm
+++ b/constants.asm
@@ -89,6 +89,9 @@ TX_RAM: MACRO
; wram locations
+W_PLAYERSELECTEDMOVE EQU $CCDC
+W_ENEMYSELECTEDMOVE EQU $CCDD
+
W_AICOUNT EQU $CCDF ; number of times remaining that AI action can occur
W_WHICHTRADE EQU $CD3D ; which entry from TradeMons to select
@@ -97,6 +100,20 @@ W_WHICHPOKEMON EQU $CF92 ; which pokemon you selected
W_WALKCOUNTER EQU $CFC5 ; walk animation counter
+W_ENEMYMOVENUM EQU $CFCC
+W_ENEMYMOVEEFFECT EQU $CFCD
+W_ENEMYMOVEPOWER EQU $CFCE
+W_ENEMYMOVETYPE EQU $CFCF
+W_ENEMYMOVEACCURACY EQU $CFD0
+W_ENEMYMOVEMAXPP EQU $CFD1
+
+W_PLAYERMOVENUM EQU $CFD2
+W_PLAYERMOVEEFFECT EQU $CFD3
+W_PLAYERMOVEPOWER EQU $CFD4
+W_PLAYERMOVETYPE EQU $CFD5
+W_PLAYERMOVEACCURACY EQU $CFD6
+W_PLAYERMOVEMAXPP EQU $CFD7
+
W_OPPONENTHP EQU $CFE6 ; active opponent's hp (16 bits)
W_OPPONENTNUMBER EQU $CFE8 ; active opponent's position in team (0 to 5)
W_OPPONENTSTATUS EQU $CFE9 ; active opponent's status condition
@@ -119,9 +136,6 @@ W_CURMONSTATUS EQU $D018 ; the status of the player’s current monster
; bit 6 par
; unused? (XXX confirm)
-W_CURMONBATTSTATUS EQU $D067 ; various battle statuses
- ; bit 5 held in place (Bind, Clamp, etc.)
-
W_TRAINERCLASS EQU $D031
W_ISINBATTLE EQU $D057 ; no battle, this is 0
@@ -138,6 +152,46 @@ W_BATTLETYPE EQU $D05A ; in normal battle, this is 0
W_LONEATTACKNO EQU $D05C ; which entry in LoneAttacks to use
W_TRAINERNO EQU $D05D ; which instance of [youngster, lass, etc] is this?
+; not entirely sure that all these bits are 100% correct
+; Battle Status Byte 1
+; bit 0 - bide
+; bit 1 - thrash / petal dance
+; bit 2 - attacking multiple times (e.g. double kick)
+; bit 3 - flinch
+; bit 4 - charging up for attack
+; bit 5 - using multi-turn move (e.g. wrap)
+; bit 6 - invulnerable to normal attack (using fly/dig)
+; bit 7 - confusion
+
+; Battle Status Byte 2
+; bit 0 - X Accuracy effect
+; bit 1 - protected by "mist"
+; bit 2 - focus energy effect
+; bit 4 - has a substitute
+; bit 5 - need to recharge
+; bit 6 - rage
+; bit 7 - leech seeded
+
+; Battle Status Byte 3
+; bit 0 - toxic
+; bit 1 - light screen
+; bit 2 - reflect
+; bit 3 - tranformed
+
+W_PLAYERBATTSTATUS1 EQU $D062
+W_PLAYERBATTSTATUS2 EQU $D063
+W_PLAYERBATTSTATUS3 EQU $D062
+
+W_ENEMYBATTSTATUS1 EQU $D067
+W_ENEMYBATTSTATUS2 EQU $D068
+W_ENEMYBATTSTATUS3 EQU $D069
+
+W_PLAYERTOXICCOUNTER EQU $D06C
+W_PLAYERDISABLEDMOVE EQU $D06D
+
+W_ENEMYTOXICCOUNTER EQU $D071
+W_ENEMYDISABLEDMOVE EQU $D072
+
W_NUMHITS EQU $D074 ; number of hits in attacks like Doubleslap, etc.
; List type
diff --git a/music.asm b/music.asm
index 5aa15f53..409b88bf 100644
--- a/music.asm
+++ b/music.asm
@@ -2801,7 +2801,7 @@ branch_A4A8:
mus_note noteC#, note8
mus_note noteB, note8
mus_note noteC#, note8
- mus_jump 0, $64A8
+ mus_jump 0, branch_A4A8
; A5EF
;No end byte until indigo plateu channel 1
@@ -3975,12 +3975,329 @@ branch_a9d8:
; AA6F
mus_tempo 0, 232
- mus_jump 0, $6A79 ;;Leads into city music not dugout yet
+ mus_jump 0, branch_aa79
; AA75
;Viridian City, Pewter City, Saffron City
Cities1_md_1: ;AA76 - AB91
-INCBIN "baserom.gbc",$aa76,$ab92 - $aa76
+ ; AA76
+ mus_tempo 0, 144
+
+branch_aa79:
+ mus_volume 119
+ mus_mod 8, 2, 4
+ mus_duty duty75
+branch_aa80:
+ mus_vel 12, 5
+
+ mus_octave oct2
+ mus_note noteG#, note4
+ mus_note noteF#, note4
+ mus_note noteE, note8
+ mus_note noteE, note8
+ mus_note noteF#, note8
+ mus_note noteD#, note8
+ mus_note noteE, note8
+ mus_note noteE, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note4
+ mus_note noteD#, note4
+ mus_note noteE, note8
+ mus_note noteD#, note4
+ mus_note noteC#, note8
+ mus_note noteE, note8
+ mus_note noteE, note4
+ mus_vel 10, 5
+ mus_note noteC#, note4
+
+ mus_octave oct1
+ mus_note noteB, note4_8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteC#, note4
+
+ mus_octave oct1
+ mus_note noteB, note4
+ mus_vel 12, 5
+ mus_call branch_ab7d
+
+ mus_octave oct2
+ mus_note noteD#, note4_8
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note4
+ mus_vel 10, 5
+
+ mus_octave oct2
+ mus_note noteC#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+ mus_note noteA, note4
+ mus_note noteB, note4
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_note noteE, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_vel 12, 5
+ mus_note noteG#, note8
+ mus_note noteE, note8
+ mus_note noteF#, note8
+ mus_note noteE, note8
+ mus_note noteE, note4
+ mus_note noteF#, note8
+ mus_note noteD#, note8
+ mus_note noteE, note4
+ mus_note noteD#, note8
+ mus_note noteC#, note4
+ mus_note noteD#, note4
+ mus_note noteE, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note8
+ mus_note noteC#, note8
+ mus_note noteE, note8
+ mus_note noteE, note4
+ mus_vel 10, 5
+ mus_note noteC#, note8
+
+ mus_octave oct1
+ mus_note noteA, note8
+ mus_note noteB, note4_8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteC#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+ mus_note noteB, note4
+ mus_vel 12, 5
+ mus_call branch_ab7d
+
+ mus_octave oct2
+ mus_note noteD#, note4
+ mus_note noteD#, note8
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteG#, note8
+ mus_note noteE, note4
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note8
+ mus_vel 10, 5
+ mus_note noteC#, note4
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteD#, note4
+ mus_note noteC#, note8
+ mus_note noteE, note4
+ mus_vel 11, 3
+ mus_call branch_ab8a
+ mus_note noteA, note8
+ mus_note noteB, note8
+ mus_note noteA, note8
+ mus_note noteG#, note8
+ mus_note noteA, note4
+ mus_note noteF#, note4
+ mus_note noteG#, note8
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note4
+ mus_note noteG#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note8
+ mus_note noteE, note8
+ mus_note noteF#, note8
+ mus_note noteE, note8
+ mus_note noteD#, note8
+ mus_note noteE, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+branch_ab12:
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note8
+
+ mus_octave oct1
+ mus_note noteB, note4
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_jump 2, branch_ab12
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note4
+
+ mus_octave oct2
+ mus_note noteE, note4
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteG#, note8
+ mus_note noteG#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteF#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteD#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_call branch_ab8a
+ mus_note noteA, note8
+ mus_note noteE, note8
+ mus_note noteA, note8
+ mus_note noteB, note8
+ mus_note noteA, note8
+ mus_note noteG#, note8
+ mus_note noteA, note8
+ mus_note noteF#, note8
+ mus_note noteG#, note8
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note8
+ mus_note noteC#, note8
+ mus_note noteG#, note8
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_note noteB, note8
+ mus_note noteE, note8
+ mus_note noteG#, note8
+ mus_note noteE, note8
+ mus_note noteF#, note8
+ mus_note noteE, note4
+ mus_note noteG#, note8
+ mus_note noteF#, note8
+ mus_note noteD#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteD#, note4
+ mus_note noteF#, note8
+ mus_note noteD#, note8
+ mus_note noteD#, note8
+ mus_note noteF#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteE, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteD#, note8
+
+ mus_octave oct1
+ mus_note noteB, note8
+ mus_note noteB, note8
+
+ mus_octave oct2
+ mus_note noteD#, note8
+ mus_vel 11, 6
+ mus_note noteF#, note2
+ mus_note noteF#, note4
+ mus_note noteD#, note4
+ mus_note noteE, note2
+ mus_vel 8, 4
+
+ mus_octave oct1
+ mus_note noteB, note4
+
+ mus_octave oct2
+ mus_note noteE, note8
+ mus_note noteF#, note8
+ mus_jump 0, branch_aa80
+
+branch_ab7d:
+ mus_octave oct2
+ mus_note noteF#, note8
+ mus_note noteD#, note4
+ mus_note noteE, note8
+ mus_note noteD#, note4
+ mus_note noteC#, note4
+
+ mus_octave oct1
+ mus_note noteB, note4
+
+ mus_octave oct2
+ mus_note noteC#, note8
+ mus_note noteD#, note8
+ mus_note noteC#, note8
+ mus_end
+ ; AB89
+
+ ; AB8A
+branch_ab8a:
+ mus_note noteA, note8
+ mus_note noteE, note8
+ mus_note noteC#, note8
+ mus_note noteE, note4
+ mus_note noteA, note8
+ mus_note noteC#, note8
+ mus_note noteE, note8
+ mus_end
+ ; AB91
Cities1_md_2: ;AB92 - AC02
INCBIN "baserom.gbc",$ab92,$ac32 - $ab92