ref: 98f09b6d26b1f83bdf1779cfe63a73b8a4265aef
parent: 91e55dbe0ba2e22f4cdf0b5c33aba3e0845ddd01
author: dannye <33dannye@gmail.com>
date: Sat Mar 24 09:41:54 EDT 2018
Use rgblink dmg mode
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@
pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE"
%.gbc: $$(%_obj)
- rgblink -n $*.sym -l pokered.link -o $@ $^
+ rgblink -d -n $*.sym -l pokered.link -o $@ $^
rgbfix $($*_opt) $@
sort $*.sym -o $*.sym
--- a/engine/battle/safari_zone.asm
+++ b/engine/battle/safari_zone.asm
@@ -19,7 +19,7 @@
ld [wd0b5], a
call GetMonHeader
ld a, [wMonHCatchRate]
- ld [wEnemyMonCatchRate], a
+ ld [wEnemyMonActualCatchRate], a
pop hl
.asm_429f
push hl
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -297,7 +297,7 @@
pop bc ; b = Rand1 - Status
; If Rand1 - Status > CatchRate, the ball fails to capture the Pokémon.
- ld a, [wEnemyMonCatchRate]
+ ld a, [wEnemyMonActualCatchRate]
cp b
jr c, .failedToCapture
@@ -325,7 +325,7 @@
xor a
ld [H_MULTIPLICAND], a
ld [H_MULTIPLICAND + 1], a
- ld a, [wEnemyMonCatchRate]
+ ld a, [wEnemyMonActualCatchRate]
ld [H_MULTIPLICAND + 2], a
ld a, 100
ld [H_MULTIPLIER], a
@@ -1434,7 +1434,7 @@
ItemUseBait:
ld hl, ThrewBaitText
call PrintText
- ld hl, wEnemyMonCatchRate ; catch rate
+ ld hl, wEnemyMonActualCatchRate ; catch rate
srl [hl] ; halve catch rate
ld a, BAIT_ANIM
ld hl, wSafariBaitFactor ; bait factor
@@ -1444,7 +1444,7 @@
ItemUseRock:
ld hl, ThrewRockText
call PrintText
- ld hl, wEnemyMonCatchRate ; catch rate
+ ld hl, wEnemyMonActualCatchRate ; catch rate
ld a, [hl]
add a ; double catch rate
jr nc, .noCarry
--- a/pokered.link
+++ b/pokered.link
@@ -159,9 +159,6 @@
WRAM0
"WRAM Bank 0"
-WRAMX 1
- "WRAM Bank 1"
-
SRAM 0
"Sprite Buffers"
--- a/wram.asm
+++ b/wram.asm
@@ -41,6 +41,7 @@
battle_struct: MACRO
\1Species:: db
\1HP:: dw
+\1PartyPos::
\1BoxLevel:: db
\1Status:: db
\1Type::
@@ -1590,40 +1591,10 @@
wEnemyMonNick:: ds NAME_LENGTH ; cfda
-wEnemyMon:: ; cfe5
-; The wEnemyMon struct reaches past 0xcfff,
-; the end of wram bank 0 on cgb.
-; This has no significance on dmg, where wram
-; isn't banked (c000-dfff is contiguous).
-; However, recent versions of rgbds have replaced
-; dmg-style wram with cgb wram banks.
+wEnemyMon:: battle_struct wEnemyMon ; cfe5
-; Until this is fixed, this struct will have
-; to be declared manually.
-
-wEnemyMonSpecies:: db
-wEnemyMonHP:: dw
-wEnemyMonPartyPos::
-wEnemyMonBoxLevel:: db
-wEnemyMonStatus:: db
-wEnemyMonType::
-wEnemyMonType1:: db
-wEnemyMonType2:: db
-wEnemyMonCatchRate_NotReferenced:: db
-wEnemyMonMoves:: ds NUM_MOVES
-wEnemyMonDVs:: ds 2
-wEnemyMonLevel:: db
-wEnemyMonMaxHP:: dw
-wEnemyMonAttack:: dw
-wEnemyMonDefense:: dw
-wEnemyMonSpeed:: dw
-wEnemyMonSpecial:: dw
-wEnemyMonPP:: ds 2 ; NUM_MOVES - 2
-SECTION "WRAM Bank 1", WRAMX, BANK[1]
- ds 2 ; NUM_MOVES - 2
-
wEnemyMonBaseStats:: ds 5
-wEnemyMonCatchRate:: ds 1
+wEnemyMonActualCatchRate:: ds 1
wEnemyMonBaseExp:: ds 1
wBattleMonNick:: ds NAME_LENGTH ; d009
@@ -3233,7 +3204,7 @@
wBoxDataEnd::
-SECTION "Stack", WRAMX[$df00], BANK[1]
+SECTION "Stack", WRAM0[$df00]
ds $ff
wStack:: ; dfff