mov_vse

Started by DCelso, March 11, 2010, 12:15:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

hola a todos, he portado a Bennu esta librería pero no tengo ni la más mínima idea de cómo se usa, simplemente me dediqué a adaptar el código a las peculiaridades de bennu y a eliminar "warnings" de compilación.
Necesitaría vuestra ayuda para probar la librería.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

conozco a alguien que estara feliz de esto...

yo sinceramente no la porte, porque en fenix era muy inestable... la simple demo que hicieron para mostrar como se usa, ya hacia que se caiga la dll... asi que por eso no la porte, y tampoco quiero lidiar con problemas adicionales...

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

FreeYourMind

Hombre, despues de tal descaro deberia poner el código del port con sus dependencias correctas, no!?  :(
Grácias por hacer el trabajo, aunque creo que Drumpi tambien me deberia dar el karma diário, por justo  ;D

FreeYourMind

La he probado, nunca probe la original, por lo que veo va super rápido, con super rendimiento, hice una captura que de tan rápido sólo pille una region verde  ;D


FreeYourMind

Hay problemas en el import del "type08.vse" para el ejemplo "vse08_sort.prg":

en la linea 68 con pointer (END expected):

vse_face pointer first; //Primera cara que se dibujará en caso de que se ordenen las caras

DCelso

#5
juasjuasjuas, sabía yo queee,
me va a tocar saber que es lo que hace internamente esta libreria y estudiarla más a fondo, que listo fue SplinterGU con no portarla :D.
Haremos lo que se pueda.

Y soltar el código, lo tengo pensado, pero cuando sea estable para no ir liando a la gente en cosas que no estén funcionales :D.

A ver si alguien como Drumpi es tan amable de ponernos un prg sencillote explicando linea a linea qué es lo que hace así me ahorro de leerme el tocho de htmls adjuntos que tarde o tremprano tendré que leer :D.

En cuanto a los karmas, dita sea ¿ya quieres karmas por nada? :D, hazte más módulos y no pidas limosnas :D.
Yo te voy a dar uno por pasarme la patata caliente de este project, porque menudo marrón has sabido quitarte :).
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Esto me recuerda a historias deja vú, tipo tetris y otras más de la história. En que el tonto del turno que tuvo la idea, la que permitió a otros listillos forrar sus bolsillos :)

Enfin, con decir que si no fuera por el pequeño impulso dado en el momento justo por FreeYourMind la vse seguiria sin estar portada, me bastaria tan sólo eso para alegrarme el día, snifff  ::)

DCelso

No te procops, te meteré en algún lado en los comentarios del código fuente, a ver donde te mento :D. Por cierto que conste que ya tienes el minipunto que querías, por lo menos el mio correspondiente que te dije que te iba a dar, eh.

Aunque he de decirte que ya tenía pensado el portarla desde que drumpi lo dijo en otro post (por eso le pregunté que qué diablos era :D) pero que la dejé apartada por desmotivación :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

No pido tanto :) (Ni tiene lógica).
Con saber que te motivo es suficiente, karma por eso, y otro cuando saques el código y me digas que dependencias me faltaban  ;D

PS: Por cierto, si luego veo el motor3D que me han regalado ayer portado a Bennu, por lo menos sabré que soy fundamental en la comunidad para motivar a los foreros coders :D

DCelso

#9
Quote from: FreeYourMind on March 11, 2010, 09:56:42 AM
No pido tanto :) (Ni tiene lógica).
Con saber que te motivo es suficiente, karma por eso, y otro cuando saques el código y me digas que dependencias me faltaban  ;D
Eso es fácil y muy buena idea de que te pusieras ha intentarlo, así aprenderías para futuros ports, si es que te mola esto, que parece ser que sí.
A ver, vamos por partes.
Simplemente he necesitado insertar dos includes, el libgrbase.h y el bgddl.h :D.
El problema me lo he encontrado con los cambios de código.
1.- la estructura GRAPH antes parece ser que tenía un campo depth con la profundidad de color, ahora tienes que sacarlo de otra propiedad llamada format que a su vez es una estructura que tiene un campo depth.
2.- la estructura GRAPH antes parece ser que tenía un campo flags en el que almacenaba si tenía puntos de control o no, además existían unas constantes para poder hacer los "Ands" a flags y sacar informaciones varias. Ahora este campo no existe pero podemos saber si un graph tiene puntos de control viendo el valor de un campo llamado ncpoints que indica el número de puntos de control que tiene el graph.
3.- la función para dibujar una línea en un graph antes se llamaba gr_line(...) y ahora se llama draw_line y está en libdraw.dll.

Así que básicamente, en resumidas cuentas es solo esto:
1.- Insertar los dos includes mencionados, en verdad solo son obligatoriamiente necesarios estos dos pero puedes meter libdraw.h libblit.h para eliminar algunos warnings de compilación.
NOTA: tienes que hacerlos al principio del todo, antes del include personal de vse, ya que si no da errores este include personal.
2.- hacer los cambios al código comentados anteriormente.
3.- Insertar la ruta de los directorios de libgrbase y del bgdrtm del cóidog fuente de bennu en la compilacion ejemplo"-Ic:/bgdsrc/modules/libgrbase".
4.- Insertar la ruta de los binarios de bennugd en el enlazado, ejemplo  -Lc:/devbennu/bin, si tienes la estructura de ficheros del instalador oficial de bennu, vas a necesitar insertar los directorios lib,externals,bin,modules.
5.- Insertar la dependencia de librerías en el enlazado, ejemplo -libgrbase -libbgdrtm -libblit -libdraw.

con esto consigues la mi..rda binario que he hecho yo y que parece ser que no va :D.

Hazlo y me cuentas a ver que tal.

A mi gcc me ha soltado la pila de warnigns que he corregido la mayoría y quizás hayan cambiado la lógica de la librería y por eso no va, así que te recomiendo que no hagas nada primeramente, y luego ya si quieres y veas que va como la librería original te pongas a limpar  warnings para acotar posibles problemas de portado :D

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

#10
Muchas grácias, pero acabo justo de pillarme otro modulo de fenix, el cual esta sencillote (y personalmente este me gusta mucho más) y este si que lo quiero portar yo (ya que entre tres mil tuyos yo quiero llegar al tercero :))

Utiliza tambien el GRAPH, así que de esta vez voy a seguir tu tutorial, sino lo consigo me envias tu actual version despues por PM, ya que quiero conseguir sacarlo hoy mismo cuando llegue a casa.

Este modulo va a callar algunos que yo sé, que critican duramente Bennu, pero que en su día este modulo les molaba mogollón, y no me preguntes más sobre el modulo, sino lo portas antes que llegue a casa  ;D (almenos que lo adivines), heheheheeheh

DCelso

nope, no sé de que hablas, tuviste suertecilla :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Bueno, tranquilidad, que me acabo de conectar, que llevo una mañana ;D (entre arreglar el TDT, las prisas de mi padre por hacer cosas de casa, y arreglar un bug GORDO que me apareció anoche del Echo...).

Lo acabo de bajar, a ver si saco un ratillo para portar y os cuento.
De momento ahi va el primer karma, y como funcione, ya irán el resto como prometí ^^
Puedo subiros un par de códigos que guardo de la época de Fenix, de mis pruebas (en Fenix), un par de cosas sencillitas, por si os aclara más las dudas, pero básicamente consistía en situar la cámara y hacer el render.

Ya digo, a ver si esta tarde me dejan trabajar tranquilo y le robo un poco de tiempo a Echo.
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

No veo el Karma por ningun lado... Upsss, si lo tiene DCelso  ;D

Drumpi

#14
It works
¡¡¡¡IT WOOOOOOORRRKSS!!!!!

Ou, yeaaahh, y sin cambiar nada del código (bueno, el nombre de la DLL). Al menos con los test que hice en su momento... y con los mismos fallos de entonces ;D

Por cierto, dentro de la lib está el código que se usa en la expand.dll, una librería que, al pasarle las coordenadas de 4 puntos deforma la imagen (colocando las esquinas en esos puntos) ;)

Quote from: FreeYourMind on March 11, 2010, 02:07:52 PM
No veo el Karma por ningun lado... Upsss, si lo tiene DCelso  ;D
Bueno, la dll la ha adjuntado DCelso, así que... ^^
Pero si hay un trabajo conjunto detrás... no se ha dicho, o mi cerebro no tiene ahora capacidad para haberlo entendido ^^U, y habría karma para repartir ;)


El error del vse_target está en la línea 1607, porque es posible que dist valga 0 y por tanto se da la ya comentada división por cero.
Respecto al resto, ya ni idea (las rayas de colorines del primer plano en el test del plataformas de Sonic y el reescalado de los sprites que no van como deben).

Wow, 3d, 3d, 3d, 3d ¡2000! ;D

PD: en el test del racer hay una prueba de ascensor, a base de modificar el mapa de alturas, está comentado y no se ve, lo digo por si quereis ver cosas curiosas que dan mucho juego ;)
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)