Re: Proyecto Churrero: AVORCHA - Pentacorn Quest
Publicado: 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.
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.