Migración de juegos Fenix a Bennu - Apuntes de diferencias y resoluciones.

Started by FreeYourMind, September 30, 2009, 05:20:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

Ahora sí, aunque no me resulta de mucha utilidad te entiendo, gracias FreeYourMind, pero si subes el ejemplito se agradecerá (Mucho pedir?) xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

FreeYourMind

El ejemplo lo he ido poniendo, tambien es cierto que habia cosas que estaban mal y uno se lia, te pongo el código, es muy sencillo.

Partiendo de que tenemos una resolucion de 320x200 (aqui pondras la que utilizes en tu juego por defecto, o en variables como prefieras):


Por ejemplo si tienes un menu inicial donde el usuario puede elejir entre window mode o fullscreen, o varias resoluciones, el fullscreen sketch seria:

IF(key(_1)) // Fullscreen Mode: Desktop Resolution (Fullscreen sketch)
    full_screen = true;
    get_desktop_size(& desktop_width, & desktop_height);
    scale_resolution = desktop_width * 10000 + desktop_height; //  ejemplo: 1280 width * 800 height = 12800800 (12800000 + 800)
    set_mode(m320x200);
    delete_text(all_text);
    intro();
END


Windgate

Ok, así de sencillo, me alegro, es que mi duda era si podía hacerse en una FUNCTION que se ejecute una vez al principio (Que es el caso) o si había que estar programando todo el tiempo teniendo en cuenta la scale_resolution, karma++ por el aporte final xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

splinter_work

Quote from: Windgate on November 13, 2009, 07:11:11 PM
Ok, así de sencillo, me alegro, es que mi duda era si podía hacerse en una FUNCTION que se ejecute una vez al principio (Que es el caso) o si había que estar programando todo el tiempo teniendo en cuenta la scale_resolution, karma++ por el aporte final xD

muchas gracias por el karma a freeyourmind por la formula que suministre yo! fantastico...

FreeYourMind

El karma se lo merece Splinter :) Pero vamos con honestidad a mi ni me van ni me vienen  ;D

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Pero hombre te lo mereces tu todo, no se que hariamos sin ti  ;)

Y por cierto, diste la formula, si, pero la lógica la puse yo, y por otra parte era un tema que nadie habia pensado :)
Y la formula no fue otra cosa que hacer cuentas para poder juntar por extenso 2 valores enteros, en C# (que utilizo en el curro) eso es muy fácil de hacer :)

Windgate

Splinter se merece todo, si algún día quieres venir de vacaciones a España cuenta con alojamiento... Es un hilo que leí al final y el ejemplo me lo suministró FreeYourMind, sólo eso :'(
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

je, mira que te tomo la palabra... deci que perdi mis 900 puntos libres de pasajes de avion por consumirlos en 3 años... pero ya estoy acumulando de nuevo y a buen ritmo... con 600 creo que voy a españa ida y vuelta...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Os pongo unas pantallas de Recalado de Bennu Vs. Rescalado de DOSBox.

En la primera esta la Versión 4.1 para Bennu con doble rescalado (de 320x200 para 640x400) y en la segunda la Version 4.0 de DIV para DOS ejecutandose con DOSBox (el cual internamente parece que hace un rescalado automatico tambien para el doble, o sea, tambien esta a 640x400).

Mola poder ejecutar las 2 al mismo tiempo y comprobar las diferencias en tiempo real :)

Como positivo para Bennu, al cambiar para esta version, la musica toca con más calidad (más alta).
Como cosas negativas, pues me quedan algunas diferencias de ejecución por resolver, por ejemplo la protección de Skull cuando la tiene esta se retarda en obtener la posición x,y de Skull (ya me ocurrio lo mismo en mi anterior port, donde las llamas del reactor de la nave tambien se alejaban de la nave), tengo un suelo de hielo donde skull desliza, pues en Bennu no lo hace y camina normal, sonidos que fallan, etc.
La verdad no me estoy divirtiendo ultimamente con este port, lo que no ocurrio con los anteriores ;(
Espero que al final el balance sea positivo y haya merecido la pena, por lo menos eso creo :)