Remove all code from main.asm (some labeled INCBINs, like out-of-context graphics, are still present)
engine/routines/ stores isolated out-of-context routines as individual files. It might be preferable later to append them to their related engine/ files in unique little SECTIONs, relying on the linkerscript to place them appropriately; or some other organization method. In the meantime, they're now easily findable apart from main.asm's other content.
This commit is contained in:
56
engine/routines/placegraphic.asm
Normal file
56
engine/routines/placegraphic.asm
Normal file
@@ -0,0 +1,56 @@
|
||||
PlaceGraphic: ; 2ef6e
|
||||
; Fill wBoxAlignment-aligned box width b height c
|
||||
; with iterating tile starting from hGraphicStartTile at hl.
|
||||
; Predef $13
|
||||
|
||||
ld de, SCREEN_WIDTH
|
||||
|
||||
ld a, [wBoxAlignment]
|
||||
and a
|
||||
jr nz, .right
|
||||
|
||||
ld a, [hGraphicStartTile]
|
||||
.x1
|
||||
push bc
|
||||
push hl
|
||||
|
||||
.y1
|
||||
ld [hl], a
|
||||
add hl, de
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .y1
|
||||
|
||||
pop hl
|
||||
inc hl
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .x1
|
||||
ret
|
||||
|
||||
.right
|
||||
; Right-aligned.
|
||||
push bc
|
||||
ld b, 0
|
||||
dec c
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
||||
ld a, [hGraphicStartTile]
|
||||
.x2
|
||||
push bc
|
||||
push hl
|
||||
|
||||
.y2
|
||||
ld [hl], a
|
||||
add hl, de
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .y2
|
||||
|
||||
pop hl
|
||||
dec hl
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .x2
|
||||
ret
|
Reference in New Issue
Block a user