summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2016-01-26 20:13:32 +0100
committerxCrystal <rgr.crystal@gmail.com>2016-01-26 20:13:32 +0100
commit22846d42c053777e079f3ebdfc5f105bfb379c4a (patch)
tree5bbbd764ee5e724276f2ff8d242874d8a0fb3399 /src
parent5428dd5b63aff95421bbc770562efbd15d7d367c (diff)
wDoFrameFunction
Diffstat (limited to 'src')
-rwxr-xr-xsrc/engine/bank3.asm4
-rwxr-xr-xsrc/engine/bank7.asm4
-rwxr-xr-xsrc/engine/home.asm13
-rwxr-xr-xsrc/wram.asm5
4 files changed, 15 insertions, 11 deletions
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
index a4e64d7..df77e61 100755
--- a/src/engine/bank3.asm
+++ b/src/engine/bank3.asm
@@ -209,11 +209,11 @@ Func_c184: ; c184 (3:4184)
Func_c199: ; c199 (3:4199)
ld hl, Func_380e
- call Func_3bd2
+ call SetDoFrameFunction
ret
Func_c1a0: ; c1a0 (3:41a0)
- call Func_3bdb
+ call ResetDoFrameFunction
ret
Func_c1a4: ; c1a4 (3:41a4)
diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm
index 59b74a6..44f2408 100755
--- a/src/engine/bank7.asm
+++ b/src/engine/bank7.asm
@@ -179,7 +179,7 @@ Func_1d078: ; 1d078 (7:5078)
call $52dd
jr c, Func_1d078
.asm_1d0f3
- call Func_3bdb
+ call ResetDoFrameFunction
call Func_3ca0
ret
; 0x1d0fa
@@ -307,7 +307,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad)
call DisableLCD
ld hl, $cabb
set 1, [hl]
- call Func_3bdb
+ call ResetDoFrameFunction
ret
; 0x1d705
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 9c4466a..195641e 100755
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -723,7 +723,7 @@ DoFrame: ; 053f (0:053f)
push hl
push de
push bc
- ld hl, $cad3
+ ld hl, wDoFrameFunction ; context-specific function
call CallIndirect
call WaitForVBlank
call ReadJoypad
@@ -5090,17 +5090,18 @@ Func_3aed: ; 3aed (0:3aed)
INCBIN "baserom.gbc",$3b11,$3bd2 - $3b11
-Func_3bd2: ; 3bd2 (0:3bd2)
+; writes from hl the pointer to the function to be called by DoFrame
+SetDoFrameFunction: ; 3bd2 (0:3bd2)
ld a, l
- ld [$cad3], a
+ ld [wDoFrameFunction], a
ld a, h
- ld [$cad4], a
+ ld [wDoFrameFunction + 1], a
ret
-Func_3bdb: ; 3bdb (0:3bdb)
+ResetDoFrameFunction: ; 3bdb (0:3bdb)
push hl
ld hl, $0000
- call Func_3bd2
+ call SetDoFrameFunction
pop hl
ret
; 0x3be4
diff --git a/src/wram.asm b/src/wram.asm
index 8408200..ea3a9d3 100755
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -216,7 +216,10 @@ wLCDCFunctiontrampoline:: ; cacd
wVBlankFunctionTrampoline:: ; cad0
ds $3
- ds $1d
+
+wDoFrameFunction:: ; cad3
+ ds $3
+ ds $1a
wBufPalette:: ; caf0 - cab7f
ds $80