He estado mirando por encima el g_scroll.c del código fuente del fenix092a; he podido deducir que lo que hace es cargar el gráfico entero (esto es obvio jeje) y posicionar la pantalla respecto del gráfico (o quizá el gráfico respecto de la pantalla, que lío) mirando los valores de x0 e y0. Es esta parte:
Código:
(línea 320)
scrolls[n].posx0 = data->x0 ;
scrolls[n].posy0 = data->y0 ;
scrolls[n].x0 = data->x0 % scrolls[n].graph->width ;
scrolls[n].y0 = data->y0 % scrolls[n].graph->height ;
if (scrolls[n].x0 < 0) scrolls[n].x0 += scrolls[n].graph->width ;
if (scrolls[n].y0 < 0) scrolls[n].y0 += scrolls[n].graph->height ;
y otro tanto igual para el fondo, al que llama scroll[n].back
Ahora viendo todo el trabajo que has hecho, veo posible que crees un nuevo código de nombre g_tscroll.c, basándote en la práctica totalidad de tu código y viendo como llaman a las "cosas" en g_scroll.c y como utilizar todo aquello que permanece "oculto" cuando usamos fénix. Es mi humilde opinión, por cierto que el código fuente viene preparadito para el visual studio. Por cierto que encuentro grandes similitudes entre este código y el de los comandos de consola de quake 3; claro los comandos de consola son un lenguaje interpretado que ejecutan una función en C.
El código en su conjunto no es tan inmenso como me esperaba, claro que esto no quiere decir que me encuentre plenamente capacitado, espero poder acallar con esto algunas voces chillonas que puedan surgir.
Marcadores