Buenas, después de varias horas este fin de semana, os traía un ZIP con todo lo necesario para desarrollar en Fénix para la GP32, supuestamente, pero el foro no me deja subirlo, y no puedo acceder ahora mismo a mi cuenta de Mega por tenerla abandonada ^^U
Lo subo a WeTransfer y si alguien puede hacer de mirror, se lo agradecería, porque sólo va a estar 7 días:
https://we.tl/t-Cw0PMEHYq4
Y digo "supuestamente" porque resulta que mi blanquita ha dejado de funcionar. Enciende el led, pero no la pantalla, lo clásico.
Sin embargo, y para que no quede la cosa ahí, he sacado mi GP2X, que sí funciona, y he seguido desarrollando con su versión de Fenix, que se supone que es compatible.
No está funcionando al 100% porque hay una serie de problemas de ficheros que no he sabido resolver.
Si queréis intentarlo, leed el siguiente párrafo, si no, saltáoslo. El error es que hay una parte en la que carga un fichero (el mapa de tiles) pero por alguna razón que desconozco, sólo puede leer bytes correctamente. Los INT los desordena o no sé lo que hace y no los lee bien. He intentado leer los bytes y convertirlos a INT mediante desplazamientos y multiplicaciones, pero no ha habido manera. Si alguien quiere intentarlo, hay un comentario en load_tmap_gp32.inc, en la función/proceso (porque las funciones no existían en esta versión, o fallan, no sé por qué) load_tmf_gp32, "say("Control " + temp);" que debería devolver 16, y no hace ni puñetero caso ("dato" es un byte que pongo a 1, hago un "temp = dato * 16;" y me devuelve 4096 o algo así, con "temp = dato << 8;" me devuelve 0 o un valor gigantesco, y con "temp = dato << 1;", de nuevo 4096).
Este error me da igual, y en la prueba no refleja nada porque esa función es un desastre de probar y probar (si queréis, en PC lo podéis probar usando la función "load_tmf", que he puesto para PC, si descomentáis en src/game/init_level/play_room.inc el comentario a la llamada de generar_mapas_nivel() en el proceso "play_room". Es posible que necesitéis cambiar la asignación a la variable "sistema" la constante por la de PC).
Bueno, lo que va son compilador e intérprete para Windows, el fxi y ufxi de GP2X (los intérpretes de Fenix de la 084, que es la de los binarios de Windows, y de 092a, pero esa la tenéis que buscar y es incompatible con GP32, la dejo por si a alguien se le ha perdido), y el código de lo que había trabajado: una máquina de estados para acceder al menú, al juego, a la carga de un nivel y al modo debug (que es la carga de un nivel, con parámetros personalizados); también la carga de un mapa de tiles con mi formato (ya digo, no funciona), la carga de gráficos, generación del mapa (que no funciona), la gestión de controles (los mapea todos, y podéis ver como se usan en el proceso prota) y un pequeño proceso prota que se desplaza en 8 direcciones, capaz de saltar con A, y de correr con doble tap en una dirección.
La buena noticia, y lo que ha impedido que diera por muerto el proyecto, es que no necesito la lectura de ficheros para el proyecto que tengo en mente. Quizás para la tabla de puntuaciones y algún fichero de configuración, pero ya probaré las funciones "save" y "load" en su momento.
La mala noticia es que la experiencia ha sido de todo menos agradable. Me he tirado como 5 o 6 horas para lograr que algo funcione en la negrita. El código que iba perfectamente en PC me ha dejado con pantallazos en negro en la consola. Una simple concatenación de strings me ha tenido parado 2 horas, porque el binario de GP2X no reconocía la sentencia (tened en cuenta que no hay depurador para la consola, todo se hace compilando, copiando el DCB en la SD, poniendo la tarjeta en la consola, ejecutando, apagando sacando la tarjeta, y leyendo la información en los ficheros de texto de salida). Por si fuera poco, tampoco le ha gustado la lectura de ficheros, y hubo otro error similar del que no me quiero acordar.
En fin, voy a intentar avanzar en el jueguecillo que tengo pensado hacer, pero como me siga encontrando problemas similares, a no ser que se pueda desarrollar en GP2X con uFenix, desisto de hacer nada. He revisado mis proyectos, y sólo uno está hecho con Fenix, el resto, se pasaron a uFenix.
Marcadores