No uso Seven Up, trabajo directamente con archivos PNG, con GIMP, pero se puede usar cualquier herramienta tipo Photoshop. Te he aislado el archivo que te convierte de png a binario, si lo quieres compilar bájate lodepng.c y lodepng.h de esta
web. Cuando smooth es 0 se generan 4 rotaciones por cada sprite, si es 1 se generan 8.
Pincha aquí para bajar el archivoEl código Z80 te va a ser más complicado de descifrar porque contiene mucho código condicional, lo mejor es que te mires la demo y vayas depurando bajo emulador. No obstante el código que te imprime los sprites va desde draw9 hasta draww en este archivo:
https://github.com/DSkywalk/fase/blob/m ... engine.asmA modo de ilustración, esta es la parte que imprime 2*ixl líneas para un ancho de 2 bytes:
Código: Seleccionar todo
drawl pop de
ld a, (hl)
dec bc
ld (bc), a
and d
or e
ld (hl), a
inc l
pop de
ld a, (hl)
dec c
ld (bc), a
and d
or e
ld (hl), a
inc h
updpaint
pop de
ld a, (hl)
dec bc
ld (bc), a
and d
or e
ld (hl), a
dec l
pop de
ld a, (hl)
dec c
ld (bc), a
and d
or e
ld (hl), a
inc h
dec ixl
jr nz, drawl
Quitándole la parte que almacena el fondo, se quedaría así:
Código: Seleccionar todo
drawl pop de
ld a, (hl)
and d
or e
ld (hl), a
inc l
pop de
ld a, (hl)
and d
or e
ld (hl), a
inc h
updpaint
pop de
ld a, (hl)
and d
or e
ld (hl), a
dec l
pop de
ld a, (hl)
and d
or e
ld (hl), a
inc h
dec ixl
jr nz, drawl
Ah, y updpaint es esta macro:
Código: Seleccionar todo
MACRO updpaint
ld a, h
and $07
jp nz, .upd&$ffff
ld a, l
add a, $20
ld l, a
jr c, .upd
ld a, h
sub $08
ld h, a
.upd
ENDM