Proyecto Churrero: AVORCHA - Pentacorn Quest 128K- RELEASED!

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor na_th_an » Lun, 09 Feb 2015, 16:47

Este lo has hecho bien. Ahora tienes que tocar el loader. Pon el tuyo y te digo qué hacerle.

Sobre los 150 bytes, es básicamente eliminar la definición estática de map_buff (o de map_attr, el que más coraje te de) y apuntarlo a una dirección fija que cae entre dos buffers de splib2 y que no se usa para nada.

Abre definitions.h y cambia esto:

$this->bbcode_second_pass_code('', 'unsigned char map_buff [150];')

Por esto:

$this->bbcode_second_pass_code('', 'unsigned char *map_buff = 61697;
')

En 61697 hay 240 bytes libres. Con eso utilizamos 150. Nos quedan 90. Podemos mover ahí más arrays. Por ejemplo, vamos a probar a mover a los enemigos. Esto no lo he probado, que conste. Vamos a poner en_an en 61697 + 150 = 61847 Sustituye

$this->bbcode_second_pass_code('', 'ANIMADO en_an [3];')

Por

$this->bbcode_second_pass_code('', 'ANIMADO *en_an = 61847;')

en_an ocupa 54 bytes. Con estos dos cambios tienes 204 bytes más para tí, lo que está genial. Aún podríamos ahorrar 36 bytes más, pero ahora mismo no recuerdo ningún array pequeño que quepa ahí. Prueba esos dos cambios y me cuentas. El primero funciona seguro. El segundo, es posible, aunque no lo he probado.
Como diría Rorshach: "Urm..."
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor Nightwolf » Lun, 09 Feb 2015, 16:55

$this->bbcode_second_pass_code('', 'El loader es tal que así:

10 BORDER NOT PI:PAPER NOT PI:INK NOT PI:CLEAR VAL"24099":LET a=VAL"25000":LET b=a+VAL"2":LOAD""SCREEN$:POKE VAL"23739",CODE"o":LOAD""CODE:LOAD""CODE:POKE a,VAL"1":RANDOMIZE USR b:LOAD""CODE:POKE a,VAL"3":RANDOMIZE USR b:LOAD""CODE:RANDOMIZE USR VAL"24100"')

La verdad que no sé donde empieza uno y acaba el otro... :(

EDIT: He probado los cambios.... ¡genial! 200 bytes más!!!! :D ¡Gracias! :D

:ymca: :picha: :ymca:
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor na_th_an » Lun, 09 Feb 2015, 17:04

Indentado se ve mejor:

$this->bbcode_second_pass_code('', '10 BORDER NOT PI:
PAPER NOT PI:
INK NOT PI:
CLEAR VAL"24099":
LET a=VAL"25000":LET b=a+VAL"2":
LOAD""SCREEN$:POKE VAL"23739",CODE"o":
LOAD""CODE:
LOAD""CODE:POKE a,VAL"1":RANDOMIZE USR b:
LOAD""CODE:POKE a,VAL"3":RANDOMIZE USR b:
LOAD""CODE:RANDOMIZE USR VAL"24100"')

Ahí están todos los bloques: pantalla, reubica, RAM1, RAM3, y binario. Habría que meter un "LOAD""CODE:POKE a,VAL"4":RANDOMIZE USR b" para cargar RAM4 y moverlo a la RAM4:

$this->bbcode_second_pass_code('', '10 BORDER NOT PI:PAPER NOT PI:INK NOT PI:CLEAR VAL"24099":LET a=VAL"25000":LET b=a+VAL"2":LOAD""SCREEN$:POKE VAL"23739",CODE"o":LOAD""CODE:LOAD""CODE:POKE a,VAL"1":RANDOMIZE USR b:LOAD""CODE:POKE a,VAL"3":RANDOMIZE USR b:LOAD""CODE:POKE a,VAL"4":RANDOMIZE USR b:LOAD""CODE:RANDOMIZE USR VAL"24100"')
Como diría Rorshach: "Urm..."
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor na_th_an » Lun, 09 Feb 2015, 17:04

Lo mejor de la Churrera es que cuando te falta sitio le puedes tocar un poco el totete para estas cosas :lol:
Como diría Rorshach: "Urm..."
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor Nightwolf » Lun, 09 Feb 2015, 17:17

Muchas gracias, ¡funciona todo perfectamente! :) De mayor... ¡como vosotros! Me voy corriendo al Spectrum a probarlo ^^
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor Nightwolf » Lun, 09 Feb 2015, 18:05

Bueno, va genial en el spectrum. Pero si configuramos los cursores como teclas, no funciona.

Hice este cambio para poder redefinir las teclas en el juego. Pero por la razón que sea, los cursores luego en el juego no funcionan. (Esto se puede poner en cualquier juego churrero y tenemos configuración de teclado, que mola :D) )


$this->bbcode_second_pass_code('', ' print_str (10, 11, 7, "PRESS A KEY FOR");
tecla=0;
do
{
sp_WaitForNoKey ();
if(tecla==0) {print_str (13, 13, 7, " LEFT ");}
if(tecla==1) {print_str (15, 13, 7, "RIGHT");}
if(tecla==2) {print_str (15, 13, 7, "JUMP ");}
if(tecla==3) {print_str (15, 13, 7, "USE ");}
if(tecla==4) {print_str (14, 13, 7, "SELECT");}
if(tecla==5) {print_str (14, 13, 7, " ABORT");}
sp_UpdateNow ();
do {
gpjt = sp_GetKey ();
} while (!gpjt);
if(tecla==0){keys.left = sp_LookupKey(gpjt);}
if(tecla==1){keys.right = sp_LookupKey(gpjt);}
if(tecla==2){keys.fire = sp_LookupKey(gpjt);}
if(tecla==3){keys.down = sp_LookupKey(gpjt);}
if(tecla==4){keys.up = sp_LookupKey(gpjt);}
if(tecla==5){key_y = sp_LookupKey(gpjt);}
arkos_play_sound (0);
tecla+=1;
if(tecla==6) {break;}
}while (1);
')
¿Se podría hacer de alguna forma mejor para que funcionaran los cursores? En un spectrum nadie se pondrá a usarlos seguro, aunque no funcinan :S , pero en un emulador de seguro...
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor na_th_an » Lun, 09 Feb 2015, 18:12

Eso es porque los cursores en el +2 son "shift + 5" "shift + 6"... y no sé cómo detectará eso getKey, que sólo devuelve un ascii y usando una tabla interna de splib2. Habría que mirar esa tabla y tunearla. A ver si me pongo dale fran mañana.

Pero es que eso no es ya tocarle el totete, es ya operar a tripa abierta :lol:
Como diría Rorshach: "Urm..."
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Mensajepor Nightwolf » Lun, 09 Feb 2015, 18:18

$this->bbcode_second_pass_quote('na_th_an', 'P')ero es que eso no es ya tocarle el totete, es ya operar a tripa abierta :lol:


:D