FASE (Fucking Awesome Spectrum Engine)

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

Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mié, 18 Jun 2014, 12:34

Gracias nath, acabo de probarla pero me parpadea y la de antonio se veía bien :?

$this->bbcode_second_pass_code('', '
void draw_fast_str () {
unsigned char *address;
unsigned char i;
unsigned char c;
unsigned char * s = g_string;

//whiteout_everything ();

address = (unsigned char *) (22528 + g_str_x + (g_str_y << 5)) | *shadow << 8;
ncx [0] = g_str_x;
ncy [0] = g_str_y;
while ((*s) != 0) {
c = (*s);
ncn [0] = c - 32;
draw_char ();
*address = g_color;
address ++;
s++;
}
}

')

La versión que he adaptado a partir de showscore de antonio...
$this->bbcode_second_pass_code('', '

void show_str()
{
unsigned char * s = g_string;
while (*s) {
_print_char( g_str_x++, g_str_y, *s++);
}
}
void _print_char(unsigned char x, unsigned char y, char chr)
{
unsigned int scr, dst;
char count;
scr= 0x3c00 + chr * 8;
// no fona para mayores de 8
dst= (y * 0x20 ) + x + 0x4000 | *shadow << 8;

for ( count= 0; count < 8; count++ )
{
zxmem[dst] = zxmem[scr++] ^ 0xff;
dst+= 0x100;
}
}')
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor na_th_an » Mié, 18 Jun 2014, 12:54

$this->bbcode_second_pass_quote('D_Skywalk', 'G')racias nath, acabo de probarla pero me parpadea y la de antonio se veía bien :?



Te la pasaba para que pillases el array con las direcciones y pudieses imprimir donde te diera la gana, no por otra cosa ;). El sistema de Antonio deja poco tiempo de frame y probablemente mis rutinas sean poco rápidas, por eso parpadea, porque la ejecución se mete en el siguiente frame y se pierde la sincronía.

De todos modos sólo deberías actualizar los marcadores cuando sea necesario y así ahorrar.
Como diría Rorshach: "Urm..."