shithub: pokecrystal

Download patch

ref: abb7f2fa20e49cf56a55c81d4ec86431e3009098
parent: 4778276f33c59bb0bc56cb381d4fe1dc8da1f9b8
author: yenatch <[email protected]>
date: Sun Sep 8 19:54:12 EDT 2013

split Predef into common/predef.asm

--- /dev/null
+++ b/common/predef.asm
@@ -1,0 +1,54 @@
+Predef: ; 2d83
+; Call predefined function a.
+; Preserves bc, de, hl and f.
+
+	ld [PredefID], a
+	ld a, [hROMBank]
+	push af
+
+	ld a, BANK(GetPredefPointer)
+	rst Bankswitch
+	call GetPredefPointer ; stores hl in PredefTemp
+
+; Switch to the new function's bank
+	rst Bankswitch
+
+; Instead of directly calling stuff,
+; push it to the stack in reverse.
+
+	ld hl, .Return
+	push hl
+	
+; Call the Predef function
+	ld a, [PredefAddress]
+	ld h, a
+	ld a, [PredefAddress + 1]
+	ld l, a
+	push hl
+
+; Get hl back
+	ld a, [PredefTemp]
+	ld h, a
+	ld a, [PredefTemp + 1]
+	ld l, a
+	ret
+
+.Return
+; Clean up after the Predef call
+
+	ld a, h
+	ld [PredefTemp], a
+	ld a, l
+	ld [PredefTemp+1], a
+
+	pop hl
+	ld a, h
+	rst Bankswitch
+
+	ld a, [PredefTemp]
+	ld h, a
+	ld a, [PredefTemp + 1]
+	ld l, a
+	ret
+; 2dba
+
--- a/main.asm
+++ b/main.asm
@@ -505,60 +505,7 @@
 
 INCLUDE "common/farcall.asm"
 
-
-Predef: ; 2d83
-; Call predefined function a.
-; Preserves bc, de, hl and f.
-
-	ld [PredefID], a
-	ld a, [hROMBank]
-	push af
-
-	ld a, BANK(GetPredefPointer)
-	rst Bankswitch
-	call GetPredefPointer ; stores hl in PredefTemp
-
-; Switch to the new function's bank
-	rst Bankswitch
-
-; Instead of directly calling stuff,
-; push it to the stack in reverse.
-
-	ld hl, .Return
-	push hl
-	
-; Call the Predef function
-	ld a, [PredefAddress]
-	ld h, a
-	ld a, [PredefAddress + 1]
-	ld l, a
-	push hl
-
-; Get hl back
-	ld a, [PredefTemp]
-	ld h, a
-	ld a, [PredefTemp + 1]
-	ld l, a
-	ret
-
-.Return
-; Clean up after the Predef call
-
-	ld a, h
-	ld [PredefTemp], a
-	ld a, l
-	ld [PredefTemp+1], a
-
-	pop hl
-	ld a, h
-	rst Bankswitch
-
-	ld a, [PredefTemp]
-	ld h, a
-	ld a, [PredefTemp + 1]
-	ld l, a
-	ret
-; 2dba
+INCLUDE "common/predef.asm"
 
 
 ResetWindow: ; 2dba