¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Gocho
Mensajes: 123
Registrado: Mar, 19 Nov 2013, 10:32

¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Mensajepor Gocho » Jue, 01 Sep 2016, 16:43

Estoy trasteando con el z88dk y quería imprimir una imagen sólo en una parte de la pantalla. Como un tile, pero en tamaño enorme, 160x112 o algo así. Justo como en las conversacionales.
El caso es que he estado buscando y sólo encuentro funciones para imprimir tiles pequeños (32x32 o menos) o la pantalla completa como el unpack de la churrera en aplib, escribiendo a pelo en la memoria de la pantalla: unpack ((unsigned int) (s_ending), 16384);

Me da igual si se mete la imagen como binario o en código .h, ya me buscaré la vida para integrarlo todo.

¿Os habéis encontrado alguna función en asm para pintar en unas coordenadas concretas de la pantalla?
¿O es más óptimo meter la pantalla entera con negro dónde no hay imagen y pintar luego encima los textos / tiles? Es lo que se hace en la intro de GokuMal, pero no se si porque es lo mejor o por reusar el código que ya había.

Gracias majos.
Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Mensajepor na_th_an » Vie, 02 Sep 2016, 12:13

Es por reusar y porque había memoria de sobra - de todos modos al comprimir con aplib las zonas a negro apenas ocupan en el binario final. Es la forma más sencilla y es lo que yo haría.

Lo otro sería ya hacer una función que pinte el gráfico que sea en ASM. Si es alineado a caracter (horizontalmente) es mucho más sencillo. Necesitarías además alguna herramienta que te exportase la imagen en el formato que venga mejor para la rutina.

Si tienes algún amigo Dale Fran se lo puedes pedir. Personalmente, no se me caen los anillos por guardar la pantalla completa con los cachos a negro. Como ya he dicho, apenas impactan si comprimes.
Como diría Rorshach: "Urm..."
Gocho
Mensajes: 123
Registrado: Mar, 19 Nov 2013, 10:32

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Mensajepor Gocho » Vie, 02 Sep 2016, 14:17

Pues entonces voy a hacer algunas pruebas de compresión y creo que usaré pantallas enteras.
En pantallas completas no he notado casi diferencia entre Aplib y ZX7, si acaso Aplib algún byte de menos, pero poca cosa.

¿No has probado RCS+ Aplib o RCS+ZX7? En las pruebas le estoy ganando casi medio KB por pantalla frente a no usar RCS.

Se que RCS+Aplib muestra la imagen a mordiscos y se ve feo(lo usé en alguno de mis dos jueguillos), pero Antonio Villena comentó en algún lado que hay una rutina para RCS+ZX7 que no lo hace. No se si habrá ya alguna de RCS+Aplib que tampoco lo haga. Tengo que probar.
Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: ¿Alguna función para imprimir sólo parte de la pantalla en ZX?

Mensajepor na_th_an » Mar, 06 Sep 2016, 07:58

No, no lo he probado, precisamente porque la imagen sale fea antes de aparecer. No me parece que quede elegante para un juego.
Como diría Rorshach: "Urm..."

Volver a “General”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado