shithub: pokecrystal

Download patch

ref: a01dad8e49ab9a892d24c011a85a03d42a3a7c24
parent: 0ea86cecba2c453fae823e72675d5609f1ae5398
author: yenatch <[email protected]>
date: Sat Feb 22 19:37:09 EST 2014

Partymon structs for opponent and player parties.

--- a/battle/ai/scoring.asm
+++ b/battle/ai/scoring.asm
@@ -1565,7 +1565,7 @@
 	ld a, [OTPartyCount]
 	ld b, a
 	ld c, 0
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld de, $0030
 
 .asm_38d2c
@@ -1784,7 +1784,7 @@
 	ld a, [PartyCount]
 	ld b, a
 	ld c, 0
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld de, PartyMon2 - PartyMon1
 
 .loop
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -11,7 +11,7 @@
 	ld [BattleEnded], a
 	inc a
 	ld [$d264], a
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld bc, $002f
 	ld d, $3
 .asm_3c019
@@ -1234,7 +1234,7 @@
 	xor a
 	ld [hli], a
 	ld [hl], a
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld a, [CurBattleMon]
 	call GetPartyLocation
 	xor a
@@ -1250,7 +1250,7 @@
 	ld a, [IsInBattle]
 	dec a
 	ret z
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld a, [CurOTMon]
 	call GetPartyLocation
 	xor a
@@ -2177,7 +2177,7 @@
 	dec a
 	jr z, .asm_3ce16
 	ld a, [CurOTMon]
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call GetPartyLocation
 	xor a
 	ld [hli], a
@@ -2355,7 +2355,7 @@
 	ld a, [OTPartyCount]
 	ld b, a
 	xor a
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld de, $0030
 .asm_3cf40
 	or [hl]
@@ -2832,7 +2832,7 @@
 	ld a, [$cfa9]
 	cp $1
 	jr z, .asm_3d20a
-	ld hl, PartyMon1Spd
+	ld hl, PartyMon1Speed
 	ld de, EnemyMonSpd
 	jp Function3d8b3
 ; 3d227
@@ -3390,7 +3390,7 @@
 	ld a, [CurOTMon]
 	cp b
 	jr z, .asm_3d5d0
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	push bc
 	ld a, b
 	call GetPartyLocation
@@ -3546,7 +3546,7 @@
 	ld a, [CurOTMon]
 	cp b
 	jr z, .asm_3d6a7
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	push bc
 	ld a, b
 	call GetPartyLocation
@@ -3778,7 +3778,7 @@
 	ld a, [PartyCount]
 	ld e, a
 	xor a
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld bc, $002f
 .asm_3d87e
 	or [hl]
@@ -3794,7 +3794,7 @@
 
 Function3d887: ; 3d887
 	ld a, [CurPartyMon]
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call GetPartyLocation
 	ld a, [hli]
 	or [hl]
@@ -6514,7 +6514,7 @@
 	
 .OpponentParty
 ; Get HP from the party struct
-	ld hl, (PartyMon1CurHP + 1) - PartyMon1 + OTPartyMon1
+	ld hl, (PartyMon1HP + 1) - PartyMon1 + OTPartyMon1
 	ld a, [CurPartyMon]
 	call GetPartyLocation
 	ld a, [hld]
@@ -9021,18 +9021,18 @@
 ; 3fa01
 
 GetRoamMonHP: ; 3fa01
-; output: hl = RoamMonCurHP
+; output: hl = RoamMonHP
 	ld a, [TempEnemyMonSpecies]
 	ld b, a
 	ld a, [RoamMon1Species]
 	cp b
-	ld hl, RoamMon1CurHP
+	ld hl, RoamMon1HP
 	ret z
 	ld a, [RoamMon2Species]
 	cp b
-	ld hl, RoamMon2CurHP
+	ld hl, RoamMon2HP
 	ret z
-	ld hl, RoamMon3CurHP
+	ld hl, RoamMon3HP
 	ret
 ; 3fa19
 
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -1951,7 +1951,7 @@
 	ld e, 0
 	ld b, $20
 	ld c, 0
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 
 .asm_34a05
 	ld a, [CurOTMon]
@@ -2059,7 +2059,7 @@
 	push bc
 	ld a, [OTPartyCount]
 	ld e, a
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld b, $20
 	ld c, $0
 .asm_34a91
@@ -2254,7 +2254,7 @@
 	ld de, OTPartySpecies
 	ld b, $20
 	ld c, 0
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 
 .asm_34b82
 	ld a, [de]
@@ -7286,7 +7286,7 @@
 	jr z, .asm_3689a ; 368a3 $f5
 	push af
 	push bc
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call GetPartyLocation
 	ld a, [hli]
 	or [hl]
@@ -7382,7 +7382,7 @@
 
 	push af
 	push bc
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call GetPartyLocation
 	ld a, [hli]
 	or [hl]
@@ -7437,7 +7437,7 @@
 	jr z, .asm_369ae
 
 	ld a, e
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call AddNTimes
 	ld a, [hli]
 	or [hl]
@@ -9860,7 +9860,7 @@
 
 
 CheckAnyOtherAlivePartyMons: ; 37ae9
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld a, [PartyCount]
 	ld d, a
 	ld a, [CurBattleMon]
@@ -9870,7 +9870,7 @@
 
 
 CheckAnyOtherAliveEnemyMons: ; 37af6
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld a, [OTPartyCount]
 	ld d, a
 	ld a, [CurOTMon]
--- a/main.asm
+++ b/main.asm
@@ -13408,7 +13408,7 @@
 	ld [hl], a
 	ld a, [PartyCount]
 	dec a
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld bc, $0030
 	call AddNTimes
 	xor a
@@ -14218,7 +14218,7 @@
 
 
 Functione538: ; e538
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld de, $0030
 	ld b, $0
 .asm_e540
@@ -21093,7 +21093,7 @@
 INCBIN "baserom.gbc",$139fe,$13a12 - $139fe
 
 Function13a12: ; 13a12
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld a, [hli]
 	or [hl]
 	jr z, .asm_13a2b
@@ -35592,7 +35592,7 @@
 	ld a, [$dca1]
 	and a
 	jr z, .asm_2a1fe
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld bc, PartyMon2 - PartyMon1 - 1
 .asm_2a1eb
 	ld a, [hli]
@@ -35772,9 +35772,9 @@
 
 ; hp
 	xor a ; generate new stats
-	ld [RoamMon1CurHP], a
-	ld [RoamMon2CurHP], a
-;	ld [RoamMon3CurHP], a
+	ld [RoamMon1HP], a
+	ld [RoamMon2HP], a
+;	ld [RoamMon3HP], a
 
 	ret
 ; 2a2ce
@@ -36222,10 +36222,10 @@
 
 Function2b930: ; 2b930
 	callba UpdateEnemyMonInParty
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call Function2b995
 	push bc
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call Function2b995
 	ld a, c
 	pop bc
@@ -36242,10 +36242,10 @@
 	jr z, .asm_2b976
 	cp $2
 	jr z, .asm_2b97f
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call Function2b9a6
 	push de
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call Function2b9a6
 	pop hl
 	ld a, d
@@ -36343,16 +36343,16 @@
 ; 2b9e1
 
 Function2b9e1: ; 2b9e1
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call Function2ba01
 	jr nz, .asm_2b9f2
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call Function2ba01
 	ld e, $1
 	ret
 
 .asm_2b9f2
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call Function2ba01
 	ld e, $0
 	ret nz
@@ -36424,7 +36424,7 @@
 
 Function2c01c: ; 2c01c
 	call Function2c0ad
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld de, PartyCount
 	call Function2c059
 	ld a, $60
@@ -36441,7 +36441,7 @@
 
 Function2c03a: ; 2c03a
 	call Function2c0c5
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld de, OTPartyCount
 	call Function2c059
 	ld hl, $cfc4
@@ -36589,7 +36589,7 @@
 
 Function2c10d: ; 2c10d
 	call Function2c165
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld de, PartyCount
 	call Function2c059
 	ld hl, $cfc4
@@ -36600,7 +36600,7 @@
 	ld [$d003], a
 	ld hl, Sprites
 	call Function2c143
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld de, OTPartyCount
 	call Function2c059
 	ld hl, $cfc4
@@ -37838,7 +37838,7 @@
 	ld [$ffde], a
 	call DelayFrame
 	ld b, 6
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld de, PartyMon2 - PartyMon1 - 1
 .asm_2ee3d
 	ld a, [hli]
@@ -37849,7 +37849,7 @@
 	jr nz, .asm_2ee3d
 
 .asm_2ee45
-	ld de, PartyMon1Level - PartyMon1CurHP
+	ld de, PartyMon1Level - PartyMon1HP
 	add hl, de
 	ld a, [hl]
 	ld [BattleMonLevel], a
@@ -38610,7 +38610,7 @@
 Function3844b: ; 3844b
 	ld a, [OTPartyCount]
 	ld c, a
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	ld d, 0
 .asm_38454
 	ld a, [hli]
@@ -47317,7 +47317,7 @@
 Function4ab06: ; 4ab06
 	ld a, [CurPartyMon]
 	ld bc, $0030
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call AddNTimes
 	ld a, [hli]
 	ld b, a
@@ -49821,7 +49821,7 @@
 
 ; known jump sources: 4deea (13:5eea)
 Function4df45: ; 4df45 (13:5f45)
-	ld hl, TempMonCurHP ; $d130
+	ld hl, TempMonHP ; $d130
 	ld a, [hli]
 	ld b, a
 	ld c, [hl]
@@ -51493,7 +51493,7 @@
 Function50117: ; 50117
 	ld a, b
 	ld bc, $0030
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call AddNTimes
 	ld a, [hli]
 	or [hl]
@@ -51533,7 +51533,7 @@
 	push hl
 	ld a, b
 	ld bc, $0030
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call AddNTimes
 	ld e, l
 	ld d, h
@@ -52497,7 +52497,7 @@
 CheckAnyFaintedMon: ; 507fb
 	ld de, PartyMon2 - PartyMon1
 	ld bc, PartySpecies
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	ld a, [PartyCount]
 	and a
 	ret z
@@ -52613,7 +52613,7 @@
 	ld a, $c
 	call Predef
 	pop bc
-	ld hl, TempMonCurHP - TempMon
+	ld hl, TempMonHP - TempMon
 	add hl, bc
 	ld d, h
 	ld e, l
@@ -52821,9 +52821,9 @@
 	cp BOXMON
 	jr z, .asm_50b30
 
-	ld a, [TempMonCurHP]
+	ld a, [TempMonHP]
 	ld b, a
-	ld a, [TempMonCurHP + 1]
+	ld a, [TempMonHP + 1]
 	ld c, a
 
 ; Any HP?
@@ -52870,7 +52870,7 @@
 ; Print HP 
 	ld bc, $0015 ; move (1,1)
 	add hl, bc
-	ld de, TempMonCurHP
+	ld de, TempMonHP
 	ld a, [MonType]
 	cp BOXMON
 	jr nz, .asm_50b66
@@ -81380,7 +81380,7 @@
 	jr z, .asm_fb5f8
 	push bc
 	ld a, c
-	ld hl, PartyMon1CurHP
+	ld hl, PartyMon1HP
 	call GetPartyLocation
 	pop bc
 	ld a, [hli]
@@ -81392,7 +81392,7 @@
 	dec b
 	jr nz, .asm_fb5e7
 	ld a, [$d003]
-	ld hl, OTPartyMon1CurHP
+	ld hl, OTPartyMon1HP
 	call GetPartyLocation
 	ld a, [hli]
 	or [hl]
--- a/wram.asm
+++ b/wram.asm
@@ -14,6 +14,7 @@
 
 \1ID::       dw
 \1Exp::      ds 3 ; Big endian
+\1StatExp::
 \1HPExp::    dw
 \1AtkExp::   dw
 \1DefExp::   dw
@@ -25,10 +26,10 @@
 \1SpdSpcDV:: db
 
 \1PP::
-\1PP1::      db
-\1PP2::      db
-\1PP3::      db
-\1PP4::      db
+\1PPMove1::  db
+\1PPMove2::  db
+\1PPMove3::  db
+\1PPMove4::  db
 
 \1Happiness::     db
 \1PokerusStatus:: db
@@ -1127,7 +1128,7 @@
 	ds 1
 ; d12f
 	ds 1
-TempMonCurHP:: ; d130
+TempMonHP:: ; d130
 	ds 2
 TempMonMaxHP:: ; d132
 	ds 2
@@ -1496,96 +1497,18 @@
 	ds 1 ; any empty slots including the 7th must be FF
 	     ; or the routine will keep going
 
-OTPartyMon1::
-OTPartyMon1Species:: ; d288
-	ds 1
-OTPartyMon1Item:: ; d289
-	ds 1
-
-OTPartyMon1Moves:: ; d28a
-OTPartyMon1Move1:: ; d28a
-	ds 1
-OTPartyMon1Move2:: ; d28b
-	ds 1
-OTPartyMon1Move3:: ; d28c
-	ds 1
-OTPartyMon1Move4:: ; d28d
-	ds 1
-	
-OTPartyMon1ID:: ; d28e
-	ds 2
-OTPartyMon1Exp:: ; d290
-	ds 3
-OTPartyMon1HPExp:: ; d293
-	ds 2
-OTPartyMon1AtkExp:: ; d295
-	ds 2
-OTPartyMon1DefExp:: ; d297
-	ds 2
-OTPartyMon1SpdExp:: ; d299
-	ds 2
-OTPartyMon1SpclExp:: ; d29b
-	ds 2
-
-OTPartyMon1DVs:: ; d29d
-OTPartyMon1AtkDefDV:: ; d29d
-	ds 1
-OTPartyMon1SpdSpclDV:: ; d29e
-	ds 1
-
-OTPartyMon1PP:: ; d29f
-OTPartyMon1PPMove1:: ; d29f
-	ds 1
-OTPartyMon1PPMove2:: ; d2a0
-	ds 1
-OTPartyMon1PPMove3:: ; d2a1
-	ds 1
-OTPartyMon1PPMove4:: ; d2a2
-	ds 1
-
-OTPartyMon1Happiness:: ; d2a3
-	ds 1
-OTPartyMon1PokerusStatus:: ; d2a4
-	ds 1
-
-OTPartyMon1CaughtData:: ; d2a5
-OTPartyMon1CaughtGender:: ; d2a5
-OTPartyMon1CaughtLocation:: ; d2a5
-	ds 1
-OTPartyMon1CaughtTime:: ; d2a6
-	ds 1
-OTPartyMon1Level:: ; d2a7
-	ds 1
-	
-OTPartyMon1Status:: ; d2a8
-	ds 1
-OTPartyMon1Unused:: ; d2a9
-	ds 1
-OTPartyMon1CurHP:: ; d2aa
-	ds 2
-OTPartyMon1MaxHP:: ; d2ac
-	ds 2
-OTPartyMon1Atk:: ; d2ae
-	ds 2
-OTPartyMon1Def:: ; d2b0
-	ds 2
-OTPartyMon1Spd:: ; d2b2
-	ds 2
-OTPartyMon1SpclAtk:: ; d2b4
-	ds 2
-OTPartyMon1SpclDef:: ; d2b6
-	ds 2
-
+OTPartyMon1:: ; d288
+	party_struct OTPartyMon1
 OTPartyMon2:: ; d2b8
-	ds 48
+	party_struct OTPartyMon2
 OTPartyMon3:: ; d2e8
-	ds 48
+	party_struct OTPartyMon3
 OTPartyMon4:: ; d318
-	ds 48
+	party_struct OTPartyMon4
 OTPartyMon5:: ; d348
-	ds 48
+	party_struct OTPartyMon5
 OTPartyMon6:: ; d378
-	ds 48
+	party_struct OTPartyMon6
 
 
 OTPartyMonOT::
@@ -1970,88 +1893,18 @@
 	ds 1 ; legacy functions don't check PartyCount
 		 
 PartyMons::
-PartyMon1::
-PartyMon1Species:: ; dcdf
-	ds 1
-PartyMon1Item:: ; dce0
-	ds 1
-
-PartyMon1Moves:: ; dce1
-PartyMon1Move1:: ; dce1
-	ds 1
-PartyMon1Move2:: ; dce2
-	ds 1
-PartyMon1Move3:: ; dce3
-	ds 1
-PartyMon1Move4:: ; dce4
-	ds 1
-
-PartyMon1ID:: ; dce5
-	ds 2
-PartyMon1Exp:: ; dce7
-	ds 3
-
-PartyMon1StatExp::
-PartyMon1HPExp:: ; dcea
-	ds 2
-PartyMon1AtkExp:: ; dcec
-	ds 2
-PartyMon1DefExp:: ; dcee
-	ds 2
-PartyMon1SpdExp:: ; dcf0
-	ds 2
-PartyMon1SpclExp:: ; dcf2
-	ds 2
-
-PartyMon1DVs:: ; dcf4
-; hp = %1000 for each dv
-	ds 1 ; atk/def
-	ds 1 ; spd/spc
-PartyMon1PP:: ; dcf6
-	ds 4
-PartyMon1Happiness:: ; dcfa
-	ds 1
-PartyMon1PokerusStatus:: ; dcfb
-	ds 1
-PartyMon1CaughtData:: ; dcfc
-PartyMon1CaughtTime:: ; dcfc
-PartyMon1CaughtLevel:: ; dcfc
-	ds 1
-PartyMon1CaughtGender:: ; dcfd
-PartyMon1CaughtLocation:: ; dcfd
-	ds 1
-PartyMon1Level:: ; dcfe
-	ds 1
-PartyMon1Status:: ; dcff
-	ds 1
-; dd00 unused
-	ds 1
-PartyMon1CurHP:: ; dd01
-	ds 2
-PartyMon1MaxHP:: ; dd03
-	ds 2
-PartyMon1Atk:: ; dd05
-	ds 2
-PartyMon1Def:: ; dd07
-	ds 2
-PartyMon1Spd:: ; dd09
-	ds 2
-PartyMon1SpclAtk:: ; dd0b
-	ds 2
-PartyMon1SpclDef:: ; dd0d
-	ds 2
-
-
+PartyMon1:: ; dcdf
+	party_struct PartyMon1
 PartyMon2:: ; dd0f
-	ds 48
+	party_struct PartyMon2
 PartyMon3:: ; dd3f
-	ds 48
+	party_struct PartyMon3
 PartyMon4:: ; dd6f
-	ds 48
+	party_struct PartyMon4
 PartyMon5:: ; dd9f
-	ds 48
+	party_struct PartyMon5
 PartyMon6:: ; ddcf
-	ds 48
+	party_struct PartyMon6
 
 PartyMonOT::
 PartyMon1OT:: ; ddff
@@ -2159,7 +2012,7 @@
 	ds 1
 RoamMon1MapNumber:: ; dfd2
 	ds 1
-RoamMon1CurHP:: ; dfd3
+RoamMon1HP:: ; dfd3
 	ds 1
 RoamMon1DVs:: ; dfd4
 	ds 2
@@ -2172,7 +2025,7 @@
 	ds 1
 RoamMon2MapNumber:: ; dfd9
 	ds 1
-RoamMon2CurHP:: ; dfda
+RoamMon2HP:: ; dfda
 	ds 1
 RoamMon2DVs:: ; dfdb
 	ds 2
@@ -2185,7 +2038,7 @@
 	ds 1
 RoamMon3MapNumber:: ; dfe0
 	ds 1
-RoamMon3CurHP:: ; dfe1
+RoamMon3HP:: ; dfe1
 	ds 1
 RoamMon3DVs:: ; dfe2
 	ds 2