shithub: pokecrystal

Download patch

ref: e384a889cc1b4b645f6d73182428c2d81a7f6acf
parent: ceb4c138db1e3db6b44eb44ebb83406936f5aa0f
author: yenatch <[email protected]>
date: Mon May 13 15:08:46 EDT 2013

GetAnyMapBlockdataBank

--- a/main.asm
+++ b/main.asm
@@ -2522,7 +2522,7 @@
 	ld b, a
 	ld a, [NorthConnectedMapNumber]
 	ld c, a
-	call $2c5b
+	call GetAnyMapBlockdataBank
 
 	ld a, [NorthConnectionStripPointer]
 	ld l, a
@@ -2545,7 +2545,7 @@
 	ld b, a
 	ld a, [SouthConnectedMapNumber]
 	ld c, a
-	call $2c5b
+	call GetAnyMapBlockdataBank
 
 	ld a, [SouthConnectionStripPointer]
 	ld l, a
@@ -2568,7 +2568,7 @@
 	ld b, a
 	ld a, [WestConnectedMapNumber]
 	ld c, a
-	call $2c5b
+	call GetAnyMapBlockdataBank
 
 	ld a, [WestConnectionStripPointer]
 	ld l, a
@@ -2591,7 +2591,7 @@
 	ld b, a
 	ld a, [EastConnectedMapNumber]
 	ld c, a
-	call $2c5b
+	call GetAnyMapBlockdataBank
 
 	ld a, [EastConnectionStripPointer]
 	ld l, a
@@ -2858,7 +2858,40 @@
 	ret
 ; 0x2c1c
 
-INCBIN "baserom.gbc", $2c1c, $2c7d-$2c1c
+
+INCBIN "baserom.gbc", $2c1c, $2c5b - $2c1c
+
+
+GetAnyMapBlockdataBank: ; 2c5b
+; Return the blockdata bank for group b map c.
+	push hl
+	push de
+	push bc
+
+	push bc
+	ld de, 3 ; second map header pointer
+	call GetAnyMapHeaderMember
+	ld l, c
+	ld h, b
+	pop bc
+
+	push hl
+	ld de, 0 ; second map header bank
+	call GetAnyMapHeaderMember
+	pop hl
+
+	ld de, 3 ; blockdata bank
+	add hl, de
+	ld a, c
+	call GetFarByte
+	rst Bankswitch
+
+	pop bc
+	pop de
+	pop hl
+	ret
+; 2c7d
+
 
 GetSecondaryMapHeaderPointer: ; 0x2c7d
 ; returns the current map's secondary map header pointer in hl.