Empezando con z88dk

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Vie 14 Oct , 2011 8:11 am

Buenas y bienvenido.

El error que te da aparece en la librería de sonido, ¿Qué estás intentando compilar? ¿Has instalado cpcwyzlib además de cpcrslib? El error también te puede dar por diferencias de versión, ha habido varias actulizaciones de ambas librerías.

A ver si podemos compilar ese ejemplillo mojono, indícanos el fichero que te has bajado con los fuentes y vamos probando ;)
Salu2,
Arta

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Sab 15 Oct , 2011 11:22 am

Gracias Artaburu.

Pues empezamos :P Según me comentó nathan, me recomienda que trate de compilar Sir Abadol o Lala Prologuel. Así que pruebo el Sir Abadol. He bajado el código fuente

http://www.mojontwins.com/juegos_mojono ... babol-cpc/

y tras lanzar:

make abacpc

**************
* COMPILANDO *
**************
copy TileMapConf-abacpc.asm C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.asm
1 archivo(s) copiado(s).
copy C:\z88dk\lib\cpc_crt0.opt C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_2.opt
1 archivo(s) copiado(s).
copy C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_2.opt C:\Users\NIGHTW~1\AppData\L
ocal\Temp\s1cs_2.asm
1 archivo(s) copiado(s).
copt C:\z88dk\lib\z80rules.2 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.asm >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.op1
copt C:\z88dk\lib\z80rules.1 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.op1 >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.op2
copt C:\z88dk\lib\z80rules.0 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.op2 >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.opt
z80asm -eopt -ns -Mo -IC:\z88dk\lib C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.o
pt
zcpp -I. -DZ80 -DSMALL_C -DCPC -D__CPC__ -DSCCZ80 -IC:\z88dk\include abacpc.c C
:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.i
cpp: line 83, Warning: Illegal digit in octal number
defb $1F,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 84, Warning: Illegal digit in octal number
defb $1A,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 89, Warning: Illegal digit in octal number
defb $1F,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 95, Warning: Illegal digit in octal number
defb $1F,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 96, Warning: Illegal digit in octal number
defb $16,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 116, Warning: Illegal digit in octal number
defb $1A,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 117, Warning: Illegal digit in octal number
defb $1A,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 133, Warning: Illegal digit in octal number
defb $3E,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 142, Warning: Illegal digit in octal number
defb $50,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 145, Warning: Illegal digit in octal number
ld hl,($0039)
cpp: line 149, Warning: Illegal digit in octal number
ld ($0039),HL
sccz80 -\\ -unsigned -zorg=10000 C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1
.i
Unrecognised argument: \\
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
copt C:\z88dk\lib\z80rules.2 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.asm >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.op1
copt C:\z88dk\lib\z80rules.1 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.op1 >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.op2
copt C:\z88dk\lib\z80rules.0 < C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.op2 >
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.opt
z80asm -eopt -ns -Mo -IC:\z88dk\lib C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.
opt
z80asm -a -m -Mo -LC:\z88dk\lib\clibs -oabacpc.bin -icpcwyzlib -icpcrslib -icp
c_clib -iz80_crt0 C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_2.opt C:\Users\NIG
HTW~1\AppData\Local\Temp\s1cs_.o C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.o
12 errors occurred during assembly
Key to filenames:
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_.o = TileMapConf-abacpc.asm
C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.o = abacpc.c
File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression TILES_OCULTOS_ANCHO0*2

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression TILES_OCULTOS_ALTO0*8

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression POSICION_INICIO_PANTALLA_VISIBLE_SB+1

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression ANCHO_PANTALLA_BYTES-4*(TILES_OCULTOS_ANCHO0)

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression ALTO_PANTALLA_BYTES-16*(TILES_OCULTOS_ALTO0)

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression TILES_OCULTOS_ALTO0*2

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression 2*TILES_OCULTOS_ANCHO0

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression POSICION_INICIO_PANTALLA_VISIBLE+1

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression POSICION_INICIO_PANTALLA_VISIBLE2+1

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression CREASCANES

File 'C:\z88dk\lib\clibs/cpcrslib.lib', Module 'CPC_SHOWTILEMAP', Symbol not def
ined
Error in expression 4*(TILES_OCULTOS_ANCHO0)

File 'C:\Users\NIGHTW~1\AppData\Local\Temp\s1cs_1.asm', Module 'ABACPC', Symbol
not defined
Error in expression _CPC_WYZSETBUFFER

Este es otro pc donde acabo de instalar el z88dk.

Por favor, dime si necesitas alguna cosa más :)

¡Y gracias nuevamente!

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Sab 15 Oct , 2011 3:06 pm

Hola....
Ya veo lo que pasa. Estás usando la librería con soporte Scroll que varía ligeramente. Bájate la última versión sin scroll http://cpcrslib.googlecode.com/files/cpcrslib111510.rar
El fallo en la librería de audio se debe a que Los Mojones usan una versión diferente a la que está colgada e incluída en la librería que te puedes descargar, tiene una función que en las versiones nuevas del player ya no se requiere. En cualquier caso, te cuelgo aquí la librería que hace que compile correctamente para no tener que buscar en el repositorio de cpcrslib la versión que lo incluía.
¡A ver si ahora lo consigues!
Adjuntos
cpcwyzlib_old.rar
(3.44 KiB) Descargado 120 veces
Salu2,
Arta

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Sab 15 Oct , 2011 8:45 pm

Hola Artaburu.

He compilado el abadol, y ahora sí ha generado el bin, aunque aparecen advertencias que no sé si serán normal. Una vez tengo ese .bin, lo meto en un dsk usando el ManageDsk, pero cuando le doy al run desde el emulador, éste se queda cuajado. Imagino que no es forma de cargarlo. ¿Cómo lo hago? Con el WinCPC tengo la opción de cargar el binario. ¿Lo arranco luego con algún call determinado? :S

Por cierto, las dos librerías que adjuntaste, las copié en la ruta donde está el código fuente del abadol. ¿Es así como debo de hacerlo no?

Gracias nuevamente.

**************
* COMPILANDO *
**************
copy TileMapConf-abacpc.asm C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.asm
1 archivo(s) copiado(s).
copy C:\z88dk\lib\cpc_crt0.opt C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_2.opt
1 archivo(s) copiado(s).
copy C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_2.opt C:\Users\NIGHTW~1\AppData\Lo
cal\Temp\sr0_2.asm
1 archivo(s) copiado(s).
copt C:\z88dk\lib\z80rules.2 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.asm > C
:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.op1
copt C:\z88dk\lib\z80rules.1 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.op1 > C
:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.op2
copt C:\z88dk\lib\z80rules.0 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.op2 > C
:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.opt
z80asm -eopt -ns -Mo -IC:\z88dk\lib C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_.op
t
zcpp -I. -DZ80 -DSMALL_C -DCPC -D__CPC__ -DSCCZ80 -IC:\z88dk\include abacpc.c C
:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.i
cpp: line 83, Warning: Illegal digit in octal number
defb $1F,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 84, Warning: Illegal digit in octal number
defb $1A,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 89, Warning: Illegal digit in octal number
defb $1F,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 95, Warning: Illegal digit in octal number
defb $1F,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 96, Warning: Illegal digit in octal number
defb $16,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 116, Warning: Illegal digit in octal number
defb $1A,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 117, Warning: Illegal digit in octal number
defb $1A,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 133, Warning: Illegal digit in octal number
defb $3E,$08
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 142, Warning: Illegal digit in octal number
defb $50,$09
from file abacpc.c, line 10:
#include "sound.h" // Configuraci¾n del rep
layer AY.
cpp: line 145, Warning: Illegal digit in octal number
ld hl,($0039)
cpp: line 149, Warning: Illegal digit in octal number
ld ($0039),HL
sccz80 -\\ -unsigned -zorg=10000 C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.
i
Unrecognised argument: \\
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
sccz80:"abacpc.c" L:216 Warning:#9:Converting pointer to integer without cast
copt C:\z88dk\lib\z80rules.2 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.asm >
C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.op1
copt C:\z88dk\lib\z80rules.1 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.op1 >
C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.op2
copt C:\z88dk\lib\z80rules.0 < C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.op2 >
C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.opt
z80asm -eopt -ns -Mo -IC:\z88dk\lib C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.o
pt
z80asm -a -m -Mo -LC:\z88dk\lib\clibs -oabacpc.bin -icpcwyzlib -icpcrslib -icp
c_clib -iz80_crt0 C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_2.opt C:\Users\NIGH
TW~1\AppData\Local\Temp\sr0_.o C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_1.o
appmake +cpc -b abacpc.bin -c C:\Users\NIGHTW~1\AppData\Local\Temp\sr0_2

************
* COPIANDO *
************
1 archivo(s) copiado(s).
OK!


Este es el bat para compilar:

@echo off
cls
echo **************
echo * COMPILANDO *
echo **************
zcc +cpc TileMapConf-%1.asm -create-app -O3 -unsigned -o %1.bin %1.c -lcpcrslib -lcpcwyzlib -zorg=10000

echo.
echo ************
echo * COPIANDO *
echo ************
copy %1.bin E:\Emu\cpc\build
echo OK!
Adjuntos
abacpc.rar
Este es el bin generado.
(15.53 KiB) Descargado 111 veces

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Sab 15 Oct , 2011 9:08 pm

Te sale compilado igual que a mí, has puesto bien las librerías.
Habría que cargarlo a partir de 10000 y luego call 10000
Me arranca pero se reinicia el cpc así que es posible que los Mojones hayan usado otra versión de alguna de las librerías... a saber cual :D
Voy a probar con otras versiones a ver si doy con ella.
Salu2,
Arta

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Sab 15 Oct , 2011 9:27 pm

Gracias. Sí, me pasa lo mismo también, sale un momento la pantalla y luego se reinicia. ¡Al menos ya he conseguido compilarlo bien! XDD También he estado probando las otras demos. Jeje, cómo se salen. Estoy deseando tener un ejemplo mojono en funcionamiento para toquetearlo. ¿O hay algún ejemplo plataformero que funcione listo para enredar ya con él?

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Sab 15 Oct , 2011 9:54 pm

Pues los de los Mojones todos tienen el código fuente disponible... prueba a ver con algún otro a ver si no te da problemas. O coméntales a ver si tienen una versión de la librería modificada para sus juegos.
Si no consigues nada a ver si tengo un rato y te busco u preparo el de Mariano, el dragón rosa, aunque emplea una técnica algo diferente a la de los Mojones para dibujar los sprites. Así vas tocando todos los palos ;)
Salu2,
Arta

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Sab 15 Oct , 2011 10:18 pm

Jeje muchas gracias, sería genial :)

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Sab 15 Oct , 2011 11:55 pm

Mientras se compila o no los juegos mojones, estoy mirando el ejemplo 003 - Small Sprite Demo (Tile Map, Relative coords update)

Estoy intentando agregar un nuevo sprite, pero parece que se pone encima del que estoy copiando. ¿Cómo sería? Adjunto el código... ¿Sería mucho pedir que se comentara todo lo posible lo que hace el código? El ejemplo parece muy válido para poder empezar e incluso que fuese una especie de tutorial de hacer un plataformillas :)

Edit: Ah vale, funciona, estaba copiando mal el bin. Pues sí, ahora se ven los tres enemigos. ^^

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Dom 16 Oct , 2011 12:09 am

La idea de ese ejemplo precisamente es mostrar cómo meter y mover sprites :D
Luego, para hacer un juego es cuestión de meter más cosas como detección del suelo y esas cosas :D
Te pongo una versión no final de Mariano, con la librería con la que se hizo... verás que no hay buffer por detrás, como con el ejemplo que estás mirando si no que se dibujan y borran los sprites en la pantalla directamente.
Para ejecutarlo una vez compilado, yo lo hago desde el editor en WinApe con este código que guardaría en la misma carpeta que el bin:

Código: Seleccionar todo

org 768
nolist
run 768
incbin "uno.bin"
Se compila con mmake.bat... verás que hay mucha porquería en el rar pero es que no me apetece limpiar ;)
Adjuntos
mariano.rar
(134.68 KiB) Descargado 117 veces
Salu2,
Arta

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Dom 16 Oct , 2011 12:15 am

Una cosa... en Mariano hay mucho código ensamblador para hacer más rápido el dibujado del mapa así que no te asustes.
En cualquier caso, te aconsejo que vayas poco a poco con ejemplos sencillos añadiendo más cosas cada vez para que no te líes mucho. Y si tienes dudas o necesitas ayuda no te cortes ;)
Salu2,
Arta

Nightwolf
Forero habitual
Forero habitual
Mensajes: 101
Registrado: Jue 13 Oct , 2011 6:09 pm

Re: Empezando con z88dk

Mensajepor Nightwolf » Dom 16 Oct , 2011 12:50 am

Genial. Me pongo con ello :)

Creo que abriré un post para no "ensuciar" mucho éste :) Vale, ahora lo que estoy mirando reemplazar el gráfico del bicho nuevo por otro. Estoy usando el SPROT, pero lo que veo que exporta los archivos gráficos con código:

12,24
db &00,&00,&F0,&A0,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&50,&B0,&70,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&50,&38,&70,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&50,&3C,&78,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&50,&3C,&78,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&F0,&F0,&A0,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&B5,&3F,&7A,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&3F,&3F,&7A,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&7A,&3F,&C3,&21,&12,&00,&00,&00,&00,&00,&00
db &50,&7A,&3F,&83,&52,&A1,&00,&00,&00,&00,&00,&00
db &50,&7A,&F0,&F0,&50,&A0,&00,&00,&00,&00,&00,&00
db &50,&3F,&7A,&50,&F0,&00,&00,&00,&00,&00,&00,&00
db &50,&3F,&F0,&F0,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&F0,&3F,&7A,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&B4,&78,&78,&00,&00,&00,&00,&00,&00,&00,&00
db &00,&B4,&78,&78,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&B4,&F0,&78,&A0,&00,&00,&00,&00,&00,&00,&00
db &50,&F0,&A0,&B4,&A0,&00,&00,&00,&00,&00,&00,&00
db &50,&78,&00,&B4,&A0,&00,&00,&00,&00,&00,&00,&00
db &50,&F0,&00,&F0,&A0,&00,&00,&00,&00,&00,&00,&00
db &50,&A0,&00,&F0,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&A0,&00,&F0,&00,&00,&00,&00,&00,&00,&00,&00
db &50,&F0,&00,&F0,&A0,&00,&00,&00,&00,&00,&00,&00
db &50,&F0,&00,&F0,&A0,&00,&00,&00,&00,&00,&00,&00

Lo que he hecho es agregar el defb a cada línea y cambiar el & por $. Así más o menos he conseguido que se viera el gráfico, aunque bastante mal, que imagino será por el tema de las paletas.

¿Puedo cargar por código directamente en el sprot los gráficos del ejemplo para así retocarlos? Y una última cosilla, ¿cómo sería para animar?

¿Sería cambiando este valor
sprite00.sp1=sp_1;
sprite00.sp0=sp_1;

por el sprite definido que sea

y luego actualizarlo con:
cpc_SuperbufferAddress(sprite00); //first time it's important to do this
¿Algo así?

Edit: Pues nada, no consigo meter un gráfico en condiciones :S He editado la paleta a mano en el Sprot para que los colores coincidan con el tutorial 3, he usado la lupa para que me saque el valor hexadecimal, lo he pegado, pero ingame se ve un churro como gráfico :S

Edit2: Vale, conseguido. Tenía que marcar en el editor el checkbox de Usar Máscara. ¡Ahora puedo ver mi nueva navecita! :D

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Dom 16 Oct , 2011 10:00 am

Me alegra que te vayas peleando y consiguiendo cosas :D
Verás que es posible insertar sprites con o sin máscara, pero tienen una rutina de la librería diferente... Pero por ahora con máscara y así no te preocupas de que no se vea lo que pisan ;)

Por cierto, si tienes la "última versión" de Sprot:
http://www.amstrad.es/pruebas/sprot3B16.rar
Puedes obtener el código para el sprite en formato z88dk y no tener que andar retocando:
Adjuntos
sprot.png
Salu2,
Arta

Avatar de Usuario
Mode 2
I am The Forum
I am The Forum
Mensajes: 2068
Registrado: Lun 10 Oct , 2005 8:01 pm
Ubicación: Sevilla, años 80.
Contactar:

Re: Empezando con z88dk

Mensajepor Mode 2 » Mié 25 Abr , 2012 2:17 pm

Buenas Arta,

En el ejemplo 3 de cpcrslib, en la parte donde dibujas los tiles y los enseña y metes los créditos abajo, luego haces esto:

cpc_SetTile(0,1,2);
cpc_GetTiles(0,0,2,3, buffer);

cpc_PutTiles(0,13,2,3, buffer);
cpc_GetTiles(0,13,2,3, buffer);
cpc_PutTiles(8,9,2,3, buffer);


Para volver a mostrar el mapa de tiles. ¿Para que sirve? No lo entiendo del todo, y si me meto en los fuentes de estas rutinas, pues no me aclara mucho.

Gracias.
BUSCO: VideoPac+, Jaguar Saturn, Micromanía 1, Amstrad Semanal, MicroHobby, juegos especialmente CPC y Vectrex, Aquarius, Sam Copé, 520 ST, manual +3, manual CPC664.

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8419
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: Empezando con z88dk

Mensajepor Artaburu » Mié 25 Abr , 2012 4:18 pm

Esa parte solo sirve como demostración de la captura de los tiles que se quieran, que se guardan en el buffer y que luego los puedes colocar donde gustes.

Código: Seleccionar todo

cpc_GetTiles(0,0,2,3, buffer);
Captura y guarda en buffer 2 tiles de ancho x 3 de alto desde el tile 0,0

Código: Seleccionar todo

cpc_PutTiles(0,13,2,3, buffer);
Pone los tiles del buffer en la posición 0,13 del mapa de tiles.Se vuelve a indicar las dimensiones de la captura (2x3)

Al ejecutar el programa verás que hay unos tiles repetidos(y colocados con poco gusto :P ) que no aparecerían si no tienes el código anterior.
Salu2,
Arta


¿Quién está conectado?

Usuarios navegando por este Foro: Ahrefs [Bot]


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic