A vueltas con el modo7

Started by Drumpi, June 09, 2010, 11:07:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

Hola a todos:

Yo no sé lo que me pasa pero desde hace ya mucho tiempo no consigo que me funcione el modo7 de forma decente (entendiendo por decente como lo que podía dar de sí Fenix en su tiempo). Ya tuve mis más y mis menos en la fastuosísima adaptación a videojuego de la última (y única) aventura peliculera de nuestro mangaka pelopincho favorito.

Pues nada, ahora quiero usar de nuevo el modo7 y no me va, ni a 16 ni a 8 bits. Busco en la documentación y no hay nada. Los ejemplos del bennupack no se descomprimen (estoy en ello de nuevo). Las wikis de Fenix están igual...

En fin, a ver si podeis echarme una mano. Os adjunto código básico (basado en ejemplos de documentación), import con todas las librerías y FPGs de pruebas.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Wow: 22 visitas, 3 descargas y ni una respuesta. Sabía que la cosa era complicada, pero no a este nivel. Voy a tener que prescindir del nivel en modo7 :(
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

#2
es que si no das detalles de que no te funciona, dudo que alguien responda.

modo7 solo funciona en 8bits... por ende no va a funcionar ningun fpg de 16 ni de 32.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

#3
creo que tu problema estaba en tu fpg y sus gráficos. mira el ejemplo que te pongo

edit
__________________________________
observo que si usas "scale_mode=scale_nofilter;", almenos en mi pc no se pinta nada, creo que eso, que tienes un modo de video de 16 bits y un fpg de 16 bits era el problema de tu codigo. saludos.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Drumpi

#4
Vaya, pues era eso, prg. Había estado probando en modo 8 bits y 16 bits, incluso pensé que era cosa del scale_mode, pero por lo visto no quité esa linea en 8 bits, así si va.

Pero bueno, me extraña que no funcione el modo 16 bits con el modo7, me parecía recordar que se hizo un apaño en Fenix 084b para que funcionase, y como en mi cabeza aun tenía esa imagen del modo7 con transparencias tan bien hechas...

El día que entienda cómo funciona, lo arreglo, porque le hace falta mucho, pero que mucho repaso.
En fin, al menos ahora podré seguir trabajando, solo que en PC se verá "algo pequeñito" ;D

Muchas gracias a ambos, en especial a prg que ha dado en el clavo (no te sientas celoso, splinter ^^U).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

Siento no poder ayudar, pero es que me mareo con modo 7 y todo lo que simule 3D por ordenador  ;D

SplinterGU

yo nunca vi un modo7 mas alla de los 8bits.

creo que han dicho que hay un tema con las Z, pero no se si es en relacion con DIV o que funciona mal, no recuerdo, ahora si lo vas a usar, si algo anda mal, avisa.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

No, hubo problemas con las z en Fenix porque las z de los m7, al igual que las de los scrolls no funcionaban, y se quedaban con su z por defecto. Eso se arregló, pero no se hizo nada respecto a horizon, que marca la posición vertical de la linea del horizonte, que no funciona.

Aun tengo que hacer más pruebas, pero por ejemplo, un segundo m7 puesto de techo tapa completamente los procesos c_m7 que están por encima de él, pese al color transparente. O también que hay problemas con el posicionamiento y el tamaño de los procesos c_m7 (si la height del proceso es 0, este no está pegado al suelo).

Pero claro, estos son cambios tan gordos que requiere dedicarse a ellos, y no te voy a hacer perder el tiempo si estás con otra cosa. De momento trato de "parchear" como puedo, a ver si consigo algo "decente", ya he conseguido poner el proceso que se maneja usando coordenadas de pantalla y una posición concreta de la cámara.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

trata de no parchar nada en el prg
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

¿Eing? no entiendo.
Si lo que dices es que trate de hacer funcionar el modo7 tal cual, es imposible. Si lo que quieres es que me ponga a trastear con el código en C, no tengo conocimientos ni tiempo de adquirirlos para arreglarlo. Ten en cuenta que esto es para el concurso, que sólo le dedico una hora diaria máximo, y que sólo tengo hasta el 1 de julio.

Ya avisé que iba a hacer una chapuza, que presentarme en estas condiciones es una locura, pero ahí estamos ;D
Aun así, espero que podamos dejar el pabellón bien alto.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

digo que si tienes algun problema lo reportes, no que lo emparches desde tu codigo porque asi no se logra avanzar en el producto para nada, y seria una cuestion egoista, "mientras a mi me funcione no importa".

solo digo, no emparches, reporta.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

¿Otra vez? ¬¬U creo que ya dejé claro en el último ejemplo que te mandé al respecto, las deficiencias del modo7.

Yo si quieres te hago una lista (otra vez) de los fallos del modo7, pero es para nada hasta que no salga alguien con conocimientos del tema. Cuando se diga de arreglarlo, yo digo lo que falla, pero no pidas los errores cuando estas liado con otra cosa (¿no estabas con la migración a OpenGL?).
Además, ya lo he dicho: me quedan dos semanas y poco para terminarlo :S
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

#12
quiero que el reporte sea a consciencia, resultado de pruebas reales que hagas en tu desarrollo, no quiero un reporte diferencias DIV (si seria interesante, pero no puede ser considerado BUG pues pueden ser particularidades de cada lenguaje) y tampoco quiero un reporte como el que inicio este hilo, donde no fue un BUG sino un fallo tuyo.

por favor no me corras con eso de "estas liado en otras cosas", mis otra cosas son "BennuGD" linea oficial!

lo que quiero que se entienda cuando digo estoy en otras cosas, es que no puedo dedicarle a ayudar a todo el mundo en sus codigos, ya que estoy mucho tiempo resolviendo cosas de los demas y luego ni soy mencionado, y no es que me interese el credito, sino que se entienda porque demoro en avanzar en el lenguaje, esto es, cada 1 que ayudo (debugeo su codigo, ayudo a crear algoritmos, corrijo sus codigos y otras cosas mas) no es al unico que se lo hago, la mayoria pide cosas... y no me molesta, pero para la mayoria parece que no estoy haciendo nada o que no hago nada para los usuarios.

bennu es mi responsabilidad y mi ocupacion si hay que corregir algo, hay que hacerlo, si esperas que alguien mas corrija el modo7 entonces olvidate. Para corregirlo, no se trata de saber del tema o no, se trata de hacer un buen reporte del bug.

el opengl esta suspendido de momento, porque no se puede hacer todo lo que hace bennu con opengl.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Bueno, como quieras, yo pensé que andabas demasiado liado para ponerte con el modo7.

Obviamente, los problemas no son cosas como el que tenía yo en el primer mensaje, que era cosa mía, lo sé. Son cosas como las que te he comentado en el PM, y que no son cosas "que tenía DIV y no Fenix/Bennu".

-Procesos "target" que tiemblan al hacer advance, porque estos se situan en el centro del pixel del plano abatido, que abarca más de un pixel de pantalla, y no coincide con el centro de la pantalla. No encuentro el hilo donde lo comenté, supongo que tendrás por ahí el código que te mandé la última vez.
-Los procesos en c_m7 no se situan en el suelo pese a tener height=0.
-Los procesos en c_m7 tienen un tamaño muy pequeño. No digo que ocupen los mismos pixels de ancho que el propio m7, pero que un sprite de 32x32 se vea a 8x8 a 10 pixels de distancia (ocupando, según el suelo, 2 pixels de ancho) se me antoja demasiado.
-El modo7 toma ANGLE como el ángulo hacia el que está mirando sobre el plano (para girar a izquierda y derecha) pero sigue funcionando para rotar el sprite.
-La transparencia del modo7 no tiene en cuenta los procesos con c_m7 y un segundo m7 puede tapar un sprite (en los ejemplos que venían en Fenix se ve perfectamente).
-m7[0].color no funciona, o al menos no he conseguido que funcione.
-m7[0].horizon no funciona, y esto lleva así desde la primera versión de Fenix porque nadie sabía cómo implementarlo.
-Los márgenes de altura de los procesos c_m7 (altura máxima y altura mínima) son MUY limitados. Creo que +-128 pixels, frente a la altura que se le puede poner a m7.height (int),

Y el punto de rotación del modo7 tampoco coincide con el punto del proceso que hace de camera, pero esto supongo que es debido a que dicho proceso no está en el suelo.
En el PM tienes un ejemplo, y en el código que te mandé hace 5 meses tienes más. No tengo tiempo material para mandarte ejemplos más específicos, pero si me lo recuerdas en un par de meses, te hago todos los que quieras.

NOTA: no es mi intención parecer desagradable. Si lo ha parecido, significa que necesito URGENTEMENTE salir de casa :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Fede

Si, por lo que más quieras, sal a la calle.  ;D ;D ;D ;D

Tu numero de 'smileis' a descendido drásticamente.  ;D ;D
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.