Por no abrir otro hilo...
Me estoy metiendo en las SDL. Ahora mismo estoy con la 1.2 y me asaltan algunas dudas.
¿SDL 1.2 ó 2.0? Tengo entendido que la 1.2 se usa más en sistemas retro. ¿Es la que usa la RG350? Mi idea es programación para Wiz, Caanoo, Bittboy y en el futuro, RG350.
¿Usáis alguna librería de manejo de sprites externa o SDL a pelo?
Saludos.
Hace más el que quiere que el que puede.
Proyectos: Wizor (100%). Bennu File Manager (100%). Remake gráfico Echo 99%.
A esto si te puedo responder yo. La 1.2 está mas extendida porque lleva mas años, peeeero. Yo mismo me vi en la necesidad de usar sdl2 para poder usar cosas como las rotaciones. Si puedes hazlo con sdl2
fbustamante (14/12/2019), _-Caleb-_ (19/12/2019)
Yo usaría SDL 1.2.
El SDL 2.0 en estas consolas va de culo.
Estoy trabajando en un juego y acabo de encontrarme que en RG350, SDL2 no soporta las rotaciones con SDL_RenderCopyEx. Diría que directamente no está soportado, porque tengo el mismo código funcionando en Mac y Ubuntu, y en la consola se dibujan los sprites pero las rotaciones no se aplican.
Mis Proyectos: MicroPixel(WIZ), iTunes App Store, Google Play Store
Si tienes el código de las SDL tal vez puedas hacer un copy&paste entre las versiones de Mac y de RG350
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Mis Proyectos: MicroPixel(WIZ), iTunes App Store, Google Play Store
Ya, si te he entendido, pero ¿no puedes murar el código fuente de la función SDL_RenderCopyEx a ver que leches le pasa? Puede que tenga mediante compilación condicional que en determinadas plataformas hace un ... lo que sea, sin aplicar la rotación.
Voy a ver lo que veo en github.
-----Actualizado-----
Mirando en GitHub he visto que en este fichero. https://github.com/SDL-mirror/SDL/bl...DL_render_sw.c en la función SW_QueueCopyEx hace un simple SDL_memcopy por eso pasa de las rotaciones, en la implementación del render en openGL crea un quad con las coordenadas de textura correspondientes...
Lo habrán dejado como ejercicios XDXDXD.
Lo ideal seria hacer que las SDL en la RG350 fueran por hardware, parece que esta tirando del render por software.
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Gracias por tomarte la molestia de mirarlo @swapd0, mi nivel de C++ no me permite llegar tan lejos, jeje
Mis Proyectos: MicroPixel(WIZ), iTunes App Store, Google Play Store
Pero si es C no C++ XD, de todas formas no seria muy complicado cambiar la función para que en caso de que el ángulo no sea cero, dibujar el sprite rotado.
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
turco (16/01/2020)
Yo en un juego tuve que implementar un rotate a mano, ya que usaba la SDL 1.2 que no soporta esas modernidades . Es curioso lo que has visto @swapd0, es decir que en la SDL 2 el render básico pasa de la rotaciones, pero con el render OpenGL si que las usa. Ah, pues lo mismo en la GCW Zero puede estar pasando lo mismo, no lo he probado.
Ahora que me acuerdo, en la SDL 1.2 use una librería adicional que se llama SDL_gfx, que incluye esta función para rotar y/o escalar. Creo que es la que usé y funcionaba, al menos en la Wiz.
SDL_Surface *rotozoomSurface (SDL_Surface *src, double angle, double zoom, int smooth);
Última edición por hardyx; 22/01/2020 a las 16:13
Pues yo de momento las he dejado "para más adelante". Me gustaría empezar con OpenGL pero de momento estoy usando SDL2, que exceptuando las rotaciones funciona bien en RG350
Mis Proyectos: MicroPixel(WIZ), iTunes App Store, Google Play Store
Que mal, no consigo forzar el render por software en mac. He cogido uno de los ejemplos he cambiado el main de esta forma y me saltan asertos.
Código:DrawState *drawstate = &drawstates[i]; drawstate->window = state->windows[i]; [I]// drawstate->renderer = state->renderers; surface = SDL_GetWindowSurface(drawstate->window); // cambiado drawstate->renderer = SDL_CreateSoftwareRenderer(surface); && cambiado drawstate->sprite = LoadTexture(drawstate->renderer, "icon.bmp", SDL_TRUE); drawstate->background = LoadTexture(drawstate->renderer, "sample.bmp", SDL_FALSE);
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
No sé si he entendido bien, ¿decís que el mismo ejecutable de wiz funciona en dingux?
Otras duda, ¿se puede ejecutar código en una RG350 directamente desde el pc por telnet o ssh como en la GP2X?
Mis Proyectos: MicroPixel(WIZ), iTunes App Store, Google Play Store
Marcadores