shithub: pokered

Download patch

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