Bennu Game Development

Foros en Español => Novedades y Releases => Mensaje iniciado por: SplinterGU en Abril 16, 2008, 07:00:51 pm

Título: Avances, Diario de...
Publicado por: SplinterGU en Abril 16, 2008, 07:00:51 pm
Abro este hilo para ir comentando los avances importantes que vayan surgiendo...

Al 16/04/2008

Ya existe una version reducida del core... solo instrucciones basicas de la maquina virtual, sin ninguna dependencia a video, sonido, teclado, etc... solo procesos, jerarquias, prioridades, y esas cosas...
Aparicion de la primera version Linux.
Aparicion nuevamente de la consola de la aplicacion, adios stdout.txt y stderr.txt.
Core (compilador e interprete) sin ninguna dependencia a SDL.
Modulos que no usan SDL, ya no dependen de esta.
Interprete de alrededor de 40k (menos) tanto en linux como en windows. Libreria de runtime de 199k, modulos un promedio de 8k, algunos menos (5k) y otros mas (37k)
De momento no hay modulos de todo aquello que tenga que ver con video y formatos graficos, estoy trabajando en eso.

Bien esas son las novedades que queria compartir del dia de hoy.
Título: Re: Avances
Publicado por: DCelso en Abril 17, 2008, 11:30:25 pm
Que gran noticia.
¿Para cuando soltarás una versión de pruebas del nuevo sistema?, me pica la curiosidad usar bennugd sin soporte gráfico ni de sonido ni de teclado.  Solo se podrán hacer aplicaciones del tipo hola mundo ¿No?;D.
Saludos.
Título: Re: Avances
Publicado por: Elelegido en Abril 21, 2008, 12:40:11 pm
Que gran noticia.
¿Para cuando soltarás una versión de pruebas del nuevo sistema?, me pica la curiosidad usar bennugd sin soporte gráfico ni de sonido ni de teclado.  Solo se podrán hacer aplicaciones del tipo hola mundo ¿No?;D.
Saludos.

Yo creo que ni eso, a no ser que se hayan creado para la ocasión nuevas funciones (o quizas ya existian?) para tirar texto por la consola. Ánimo Splinter ^^
Título: Re: Avances
Publicado por: SplinterGU en Abril 21, 2008, 02:25:33 pm
Existian esas funciones... ahora mismo las quite... de momento... con la version que funcional tengo se puede hacer todo lo que no impleque un mapa ni salida a pantalla... pero bueno, hacer una dll que implemente el SAY son 2 minutos...

Ya el core esta limpio como para liberarlo... pero se que me faltan algunas cosas, por ejemplo:

- Tema de byteorder en el dcb... hacerlo de una vez por todas 100% compatible entre plataformas...
- Dependencias de modulos... esto es, si un modulo depende de otro modulo o libreria, que esta sea importada automaticamente y sin necesidad de tener que incluirla en un import (codigo o archivo)
- Warning al declarar desde un modulo constantes o variables ya existentes... siempre y cuando el valor o prototipo de la misma coincidan... o quizas la posibilidad de poder declarar si no existe...
- Ver posibilidad de no requerir el -Ca para poder compilar con funciones no declaradas, pero que el -Ca pase a ser algo asi como -pendantic del C...

Y algunas otras cosas mas que ahora mismo no recuerdo, pero las tengo anotadas por ahi... y primero quiero tener los modulos que ya existian listos, para que no me quede nada del core faltante a la hora de implementar algun modulo.

Tambien estoy pensando quitar el soporte de mapas animados... la verdad que no me parece muy practico, los mapas estandard deberian ser algo basico.... y no es demasiado complejo animar un mapa por codigo... creo que no vale la pena... igual actualmente no se estan usando porque no estan terminados, y si bien trabaje bastante en eso no me preocupa mucho tirar ese trabajo...
Título: Re: Avances
Publicado por: DCelso en Abril 21, 2008, 11:48:39 pm
Me parece bien quitar el soporte que comentas de mapas animados, si alguien los usaba es facil readaptarlos en código.
Pero podría dejarnos ya una versioncilla del core del bennugd tal y como está aunque no sirva ni para hacer hola mundos :D.
Asi podríamos incluso buscar fallos al núcleo.
Saludos.
Título: Re: Avances
Publicado por: TYCO en Abril 22, 2008, 12:32:03 am
Tambien estoy pensando quitar el soporte de mapas animados... la verdad que no me parece muy practico, los mapas estandard deberian ser algo basico.... y no es demasiado complejo animar un mapa por codigo... creo que no vale la pena... igual actualmente no se estan usando porque no estan terminados, y si bien trabaje bastante en eso no me preocupa mucho tirar ese trabajo...

Tienes razon, no es dificil animar un mapa por codigo incluso creo que es mas personalizable por codigo (quizas me equivoco no se). Pero si te ha llevado mucho trabajo ponerlo al dia, compensa tirarlo a la basura?

Realmente no se como empezo el tema de meter animaciones en un fgc, supongo seria hacer mas comodo a un novato hacer un loop de animacion?? yo en mi proyecto no tengo animaciones por fgc, lo tengo todo por codigo.

PD: Gracias por todo SplinterGU y tiene un pinta estupenda.
Título: Re: Avances
Publicado por: GINO en Abril 22, 2008, 01:18:30 am
Hombre tanto los fgc como los fbm tienen la estructura para meter animaciones desde el principio. Es en los map/fpg donde si que no tiene ningun sentio extender eso.
Yo las animaciones predefinidas en fichero no lo veo mal, aunque siempre he dicho que el sistema que esta ahora no me parece el mejor.
Título: Re: Avances
Publicado por: SplinterGU en Abril 22, 2008, 04:27:16 am
dcelso: Pronto pondre una preview del core reducido... a modo demo, no final... quizas hoy al fin del dia...

TYCO: No importa tirar cosas a la basura (aunque guarda backup por si en el futuro parte del codigo me sirve para alguna libreria) si es para clarificar y ordenar un poco mas las cosas.

GINO: Si, esos formatos graficos siempre estuvieron preparados para animaciones, pero nunca estuvieron funcionales, hasta la 0.93preview9 que esta a un 98% funcional... pero lamentablemente, todos los datos asociados a esto estan metidos internamente en las mismas estructuras que estan los datos de los MAPS... a nivel interno no existen los conceptos de fgc, fbm, fpl... todo se termina traduciendo a los clasicos fpg, map, pal... y las animaciones creo que son un desproposito... y a esta altura no tiene sentido hacer un reanalisis de todo el sistema de animaciones, cuando es demasiado facil escribirlo por codigo... seria algo diferente si nuestro bennu seria un browser o una aplicacion que no permite codificar, en ese caso, un grafico al estilo gif animado seria espectacular, pero aca es otra historia...

Nuevos avances:

- Se quitaron los formatos fgc, fbm y fpl... se volveran a introducir soporte completo a los formatos fpg, map y pal...
- Se divide lo que es fpg, map y map... en 3 partes: libreria base (creacion/borrado/navegacion), librerias de carga de ficheros, libreria de funciones de manipulacion...
- Se quita de las librerias base toda dependencia a SDL. (Al hacer esto, tambien se esta ganando velocidad, ya que se usaban estructuras de datos SDL y para usarlas nunca se usaban en formato SDL, y habia que hacer conversiones para luego usarlas... por ejemplo, datos rgb de las paletas)
- Se empieza a dar soporte a 32bits... (por ahora no render)
Título: Re: Avances
Publicado por: GINO en Abril 22, 2008, 08:41:27 am
jejeje entonces habra unos nuevos formatos con cabecera f32 y m32 no?
Título: Re: Avances
Publicado por: SplinterGU en Abril 22, 2008, 10:47:16 am
Posiblemente... todavia no llegue a esa parte...

Tengo pensado de dar soporte a algun tipo de archivo empaquetado, quizas un zip standard o algo similar... donde podamos meter todos los archivos que querramos facilmente... quizas usar .zip como si fueses .fpg y que el nombre de cada uno de los archivos (numerico) sea el id del grafico (podrian ser 001.bmp, 002.png, etc)... seria muy simple manipularlos, incluso se podrian guardar con password... pero bueno, de cualquier forma esto seria un modulo...
Título: Re: Avances
Publicado por: TYCO en Abril 23, 2008, 12:09:17 am
- Se quitaron los formatos fgc, fbm y fpl... se volveran a introducir soporte completo a los formatos fpg, map y pal...
Entonces nada de load/save de fgc, fbm ni fpl; y solo queda load/save fpg, map y pal?? Si es asi en Bennu me das una alegria porque como bien dices en memoria se trataban por igual, y mejor no tener funciones repetidas que hacian practicamente lo mismo (ahora que se quitan las animaciones de graficos).

- Se quita de las librerias base toda dependencia a SDL. (Al hacer esto, tambien se esta ganando velocidad, ya que se usaban estructuras de datos SDL y para usarlas nunca se usaban en formato SDL, y habia que hacer conversiones para luego usarlas... por ejemplo, datos rgb de las paletas)
Significa esto que para hacer un juego mas o menos con graficos y sonidos y tal habra que inicializar la SDL o algo parecido, con alguna instruccion no como la "mod_sdlevthandler (install SDL event handler)"???

- Se empieza a dar soporte a 32bits... (por ahora no render)
Eres un maestro y no tienes limites.
Título: Re: Avances
Publicado por: SplinterGU en Abril 23, 2008, 03:54:46 am
Con respecto a las dependencias SDL es solo librerias de nivel mas basico, las de alto nivel por ahora si tienen dependencias SDL, y a nivel programador Bennu no hay que hacer nada...
Título: Re: Avances
Publicado por: Drumpi en Abril 23, 2008, 07:01:47 am
Como se nota que ya no hay presiones por el tema de fpg y map.
Y el uso de estos ¿serán los de siempre o hay modificaciones en el formato?
Por cierto, pensé que no ibas a meter 32bits en los mapas, es bueno saber que se está haciendo (sobre todo porque, si se está escribiendo el código de cero, ya es trabajo que te ahorras si finalmente decides incluirlo oficialmente), pero no te agotes mucho con ello ^^

Por cierto, respecto a las animaciones... si el gráfico ya está animado de por sí, no es por ahorrar código al programador, pero creo que siempre irá más rápido si se anima internamente que por el propio código... aunque claro, dadas las máquinas de hoy, eso ni se nota ^^U
Título: Re: Avances
Publicado por: SplinterGU en Abril 23, 2008, 07:36:56 am
Sinceramente, no me importa si hay presiones o no de los fpg o map... en todo caso es un modulo, asi que de ultima se quita y ya... pero primero me tienen que encontrar... :P
Por ahora seran los de siempre... no se si para los 32bits tendre que modificar algo del formato... por ahora no estoy metido con eso... voy paso a paso...
Tenerlo interno o no, no mejora absolutamente nada... ya que no se hacen animaciones de 1000 frames por segundo... asi que no afecta en lo mas minimo...
Título: Re: Avances
Publicado por: SplinterGU en Abril 23, 2008, 02:53:06 pm
Aca les dejo lo prometido...

No hay ningun modulo de salida a video... ni siquiera a consola... pero si compilan con -g (informacion de debug) y luego ejecutan con -d podran ver en consola el trace (mejorado con respecto a Fenix) de lo que se va ejecutando...

Tambien se corrigen muchos errores tanto de Fenix como algunos de la ultima Bennu preview...

ATENCION: Esto es experimental, no tomarlo para hacer proyectos ya que tiene un set reducido de instrucciones, todo lo que tiene que ver con graficos no se incluye... asi sea usar un mapa para poner el iconito a la ventana de ejecucion...
Se requiere la instalacion de librerias SDL, SDL_Mixer, etc... leer el readme.txt

Tambien dejo unos ejemplos...

Otra cuestion, en linux agregar en la consola donde corren el bgdi la variable de enviroment LD_LIBRARY_PATH con el valor del directorio donde se encuentran las librerias .so, por ejemplo:

export LD_LIBRARY_PATH=/opt/bennu/modules

link http://betatester.bennugd.org/20082304/
Título: Re: Avances
Publicado por: DCelso en Abril 23, 2008, 11:45:53 pm
Gracias, pero no veo el enlace con la descarga.
Puede que esté un poco ciego o que se te haya olvidado.
¿Lo puedes resaltar o poner?

Otra  cosa, si no hay dependencia de SDL ¿porqué son necesarias las librerías?
Y por último, ¿lleva soporte para usar extensiónes? Lo digo por intentar hacer una librería que imprima en la stdout y stderr y tal.

Saludos.
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 05:10:29 am
Perdon, me olvide... aca esta...

http://betatester.bennugd.org/20082304/
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 05:16:05 am
Aclarare un poco mas... dije...

Core (compilador e interprete) sin ninguna dependencia a SDL.
Modulos que no usan SDL, ya no dependen de esta.

Core sin dependencia...
Modulos que NO usan SDL, sin dependencia de la SDL... (modulos que si usan alguna funcion SDL, si tienen dependencia de esta)

- Se quita de las librerias base toda dependencia a SDL. (Al hacer esto, tambien se esta ganando velocidad, ya que se usaban estructuras de datos SDL y para usarlas nunca se usaban en formato SDL, y habia que hacer conversiones para luego usarlas... por ejemplo, datos rgb de las paletas)

Librerias "base", o sea "basicas", o sea, "bajo nivel"... los modulos no son "base", no son "basicos", no son "bajo nivel"...
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 05:22:00 am
Gracias, pero no veo el enlace con la descarga.
Puede que esté un poco ciego o que se te haya olvidado.
¿Lo puedes resaltar o poner?

Otra  cosa, si no hay dependencia de SDL ¿porqué son necesarias las librerías?
Y por último, ¿lleva soporte para usar extensiónes? Lo digo por intentar hacer una librería que imprima en la stdout y stderr y tal.

Saludos.


Si, puedes hacer extensiones simplemente, salvo que ahora la libreria que era "bgdi.dll" es "bgdrtm.dll", y solo trae funciones basicas que si te bajas el "Dependency Walker" (un exe chiquito) podes ver que funciones exporta la "bgdrtm.dll" (o cualquier otra dll, modulo o ejecutable), incluso podes ver que dependencias externas (librerias dinamicas requiere).
Título: Re: Avances
Publicado por: TYCO en Abril 24, 2008, 09:43:22 am
Si, puedes hacer extensiones simplemente, salvo que ahora la libreria que era "bgdi.dll" es "bgdrtm.dll", y solo trae funciones basicas...

Entonces el CORE de Bennu va a depender al menos de una libreria para su ejecucion no??? la "bgdrtm.dll", o la tienes pensado quitar esa dependencia??

Otra cosa, me ha extrañado que http://bennugd.sourceforge.net/ no se use para colgar las veriones betatester, se va a usar solo para releases??
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 09:58:54 am
Esa no se quitara, esa sera la dependencia del core y la mas basica para todos los modulos... (no quiere decir que todos los modulos la vayan a usar, pero casi todos... si interactuan con procesos o usan strings... entonces deben usarla)

El sourceforge voy a actualizarlo cuando tenga el primer release, despues de ahi en adelante todo se hara ahi...
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 11:16:01 am
Alguien probo la version linux? Si alguien lo hizo, seria bueno saber en que version lo probaron y que resultados dio...
Título: Re: Avances
Publicado por: TYCO en Abril 24, 2008, 12:01:26 pm
Yo he probado el ejemplo arrays.prg y se queda "colgado" el otro perfecto 4 calculadoras a la vez y 4 bloc de notas uno detras de otro.

hago "bgdc.exe -Ca arrays.prg" y todo bien con el resumen de siempre.
hago "bgdi.exe arrays.dcb" y se queda sin hacer nada como esperando algo y no funciona la tecla ESC, lo cierro con Crontrol+C, que esta pasando?

Las librerias uso las que has dicho:
SDL_mixer v1.2.7.0
SDL v1.2.13.0
Título: Re: Avances
Publicado por: SplinterGU en Abril 24, 2008, 02:05:39 pm
No, no se queda colgado... es que no ves nada lo que hace... por eso hay que correrlo en modo debug y ver en consola que hace...
El modulo de teclado no funciona sin el modulo de video, ya que para el teclado se usa la SDL y SDL instala los handlers de teclado cuando tiene el modulo de video.
Hace lo siguiente:

bgdc -Ca -g arrays.prg
bgdi -d arrays

Veo que lo probaste en windows... gracias por las pruebas...
Título: Re: Avances
Publicado por: DCelso en Abril 25, 2008, 04:42:12 am
No consigo compilar en Ubuntu
He verificado si tenía la version correcta de SDL
He cambiado los archivos imp de los samples para quitar el directorio modules.
He añadido al path el directorio de bennu, de camino también lo he metido en ld_libary_path por si la moscas.
He compilado y nada da error.
Siempre intenta buscar el .so en el directorio actual, pero bueno tambien he probado a poner todos los .so ahí y sigue igual.
Saludos.

ubuntu@ubuntu-desktop:~/bennugd/samples$ bgdc arrays.prg
BGDC 0.93 (Apr 26 2008 21:34:48)
Copyright � 2006-2007 SplinterGU
Copyright � 2002-2006 Fenix Team
Copyright � 1999-2002 Jos� Luis Cebri�n Pag
Fenix comes with ABSOLUTELY NO WARRANTY; see COPYING for details

Error in file arrays.imp at line 0: Library .\libsdlhandler.so not found (EOF)
ubuntu@ubuntu-desktop:~/bennugd/samples$ ls
arrays.imp    libkey.so         mod_joy.so   mod_rand.so    mod_sys.so
arrays.prg    libsdlhandler.so  mod_key.so   mod_regex.so   mod_timers.so
exec.imp      mod_cd.so         mod_math.so  mod_sort.so    mod_time.so
exec.prg      mod_dir.so        mod_mem.so   mod_sound.so
libbgdrtm.so  mod_file.so       mod_proc.so  mod_string.so
ubuntu@ubuntu-desktop:~/bennugd/samples$
Título: Re: Avances
Publicado por: SplinterGU en Abril 25, 2008, 06:10:45 am
EDIT: es cierto... ahora lo estoy corrigiendo... gracias...

EDIT2:

Corregido, en el mismo link de la WIP3, pueden bajar el nuevo paquete, ahora los samples estan en el mismo paquete.
En el caso de linux agregue 2 scripts 1 llamado "compile" y otro llamado "run", que obviamente sirven para compilar y ejecutar... ambos setean las variables de enviroment necesarias... los modulos en linux se encuentran en la carpeta modules.
En el caso de windows se podrian poner tambien en una carpeta modules, pero hay que agregar la carpeta a la variable de enviroment PATH.

Tambien modifique la mod_sys para que no sea necesario ponerle el path del archivo, ahora lo busca en el path... tanto en linux como windows...

Tambien se probo ejecutar un dcb compilado en windows en linux, y a la inversa...
Título: Re: Avances
Publicado por: SplinterGU en Abril 27, 2008, 04:23:26 pm
- Se corrigen finalmente la precedencia de los operadores like C... (http://www.cppreference.com/operator_precedence.html)
- Se corrigen errores de compilacion en cosas como "a = 1<<2+3;"
- Se da soporte al sizeof de resolucion de size de elementos de un puntero, por ejemplo:

char ** p;

sizeof(p) = 4
sizeof(*p) = 4
sizeof(**p) = 1

PD: dcelso, no comentaste como te fueron las pruebas...
Título: Re: Avances
Publicado por: l1nk3rn3l en Abril 27, 2008, 09:40:20 pm
nuevos avances que bien
Título: Re: Avances
Publicado por: DCelso en Abril 27, 2008, 11:57:02 pm
Aún no he podido, pero ya dices que probaste que iba en linux ¿No?
En cuanto pueda lo pruebo en mi Ubuntu y edito este post.

Editado: Ya he probado bennu en Ubuntu y van bien los dos ejemplos con los siguiente comandos:
añades en el path la ruta de bennugd y luego desde el directorio donde está el prg
compile -g -Ca arrays.prg
run -d arrays.dbc

Si no pones el comando -g o pones el comando -d al "compile" cuando ejecutas "run" se queda colgado el ejemplo.
Título: Re: Avances
Publicado por: SplinterGU en Abril 28, 2008, 07:36:49 pm
Aún no he podido, pero ya dices que probaste que iba en linux ¿No?
En cuanto pueda lo pruebo en mi Ubuntu y edito este post.

Editado: Ya he probado bennu en Ubuntu y van bien los dos ejemplos con los siguiente comandos:
añades en el path la ruta de bennugd y luego desde el directorio donde está el prg
compile -g -Ca arrays.prg
run -d arrays.dbc

Si no pones el comando -g o pones el comando -d al "compile" cuando ejecutas "run" se queda colgado el ejemplo.


No necesitas añadir el path, puedes ejecutar asi:

./compile -g -Ca arrays.prg
./run -d arrays

Me parece que esto ya te lo respondi, pero bueno, puede ser algun dejavu... te respondo:

No es que se queda colgado, esta trabajando, solo que al no tener ningun I/O no ves nada... pero esta corriendo y a los pedos (rapidisimo)...

EDIT: Gracias por probarlo.
Título: Re: Avances
Publicado por: SplinterGU en Abril 28, 2008, 07:37:28 pm
Acabo de subir una nueva WIP4... corrigiendo completamente (eso creo) la precendencia de los operadores... pediria que por favor me ayuden a depurarlo...

En el paquete agregue, un programa de ejemplo llamado "precedencias.prg" con algunos test de precedencia, pero necesitaria probar todas las combinaciones posibles... o hasta donde se pueda... fui probando contra lo mismo en C... hasta obtener los mismos resultados...
Tambien inclui un directori DOC, con un html (basado en el del link que puse unos posts atras, pero corregido en base a Bennu) con la referencia de el orden de precendencia de los operadores.

Realmente en Fenix todo el tema de la precedencia de operadores estaba funcionando mal, y es por eso que a veces nos encontramos con errores ilogicos en nuestros codigos... ahora se supone que ya se acabaran... pero necesito que me ayuden a depurarlo...

Aca les dejo el link (solo compile windows, si alguien en verdad quiere ayudar y solo tiene linux, le genero una version, pero por favor no me lo pidan solo querer una version linux que ni siquieran van a probar...)

http://betatester.bennugd.org/20080429/

Desde ya, muchas gracias.

EDIT: dcelso, no olvides ver la respuesta que te puse http://forum.bennugd.org/index.php?topic=102.msg907#msg907
Título: Re: Avances
Publicado por: DCelso en Abril 29, 2008, 05:14:11 am
Ah, es verdad, vi que respondiste a ello en este mismo "topic" a TYCO.
Creía que en mi caso podría ser otra cosa.

Voy a intentar probar las precedencias. Ya te comentaré si encuentro alguna mal. De todas formas usando paréntesis para obligar un orden irá bien, digo yo :D.

Por cierto he intentado compilar un dll con una función que hace un simple fprinft(stdout,"%s", cadena) y resulta que no consigo que me lo reconozca como un dll válido ni para fenix ni para bennugd.
Sigo los pasos de los tutoriales de hacer dlls para fenix pero nada, creo que algo configuro mal en el IDE codeblocks.
A ver si alguien sabe que pasos hay que seguir en este IDE. O, simplemente, SplinterGU ¿que comandos pongo para compilar y enlazar el .c usando GCC?
Gracias de antemano.
Título: Re: Avances
Publicado por: SplinterGU en Abril 29, 2008, 07:59:14 am
Busca en este foro dllkit... o algo asi... no hay muchos temas en el foro, asi que no te va a costar mucho navegar y encontrar el tema...
Título: Re: Avances
Publicado por: TYCO en Abril 29, 2008, 08:47:47 am
Si he entendido bien, hay que probar los distintos OPERADORES, y comprobar que cada uno de ellos se va ejecutando segun la tabla de precedencia no?? aunque estos OPERADORES este casi al final de la instruccion, es asi???
Título: Re: Avances
Publicado por: SplinterGU en Abril 29, 2008, 11:25:55 am
no entendi

"aunque estos OPERADORES este casi al final de la instruccion, es asi???"

Pero si, hay que probar...
Título: Re: Avances
Publicado por: TYCO en Abril 29, 2008, 01:35:15 pm
Queria decir que al haber OPERADADORES que tienen mas PRECEDENCIA que otros en un IF (15+3*5 == 30), el "*" esta casi al final de la instruccion, aun asi se ejecutaria antes que el "+", cierto?

Y a todo esto el resultado de:
15+3*5 deberia ser 30 y no 90. No es un buen ejemplo pero es sencillo de entender.
Título: Re: Avances
Publicado por: SplinterGU en Abril 29, 2008, 04:53:22 pm
No, ahi el + no es un operador de signo, sino un operador de adicion... o sea, que de nivel 4, y la multiplicacion de nivel 3... o sea, que la multiplicacion se ejecuta primero...
Título: Re: Avances
Publicado por: SplinterGU en Abril 29, 2008, 04:55:27 pm
A mi me da 30, tanto en el viejo como en el nuevo Bennu.
Título: Re: Avances
Publicado por: DCelso en Abril 30, 2008, 08:56:01 am
Sasto, aplicando las matemáticas escritas de toda la vida también da ese resultado :D.

Creo que quiere decir que ti te referias tu a que había probar ese tipo de preferencias.
Asi que la respuesta debería ser sí, hay que hacer operaciones más complejas y ver si se aplica correctamente el orden viendo como lo hacer C o simplemente viendo tu documento adjunto.

Título: Re: Avances
Publicado por: SplinterGU en Abril 30, 2008, 09:03:29 am
Si, probarlo, yo ya encontre errores del sizeof([puntero].elemento) o &((cast *)0).elemento o sizeof(((cast *)0).elemento), estoy corrigiendo esas cosas... y probando tambien varias.
Título: Re: Avances
Publicado por: l1nk3rn3l en Mayo 01, 2008, 12:15:14 pm
que paso con la mod_draw y faltan otras?

es que intento compilar el test que viene con el fenix ,

note que no tiene dependencias a otras dlls solo requiere la runtime estilo NET o VB

esta genial ,




Título: Re: Avances
Publicado por: SplinterGU en Mayo 01, 2008, 12:56:53 pm
que paso con la mod_draw y faltan otras?

es que intento compilar el test que viene con el fenix ,

note que no tiene dependencias a otras dlls solo requiere la runtime estilo NET o VB

esta genial ,


http://forum.bennugd.org/index.php?topic=102.msg867#msg867
Título: Re: Avances
Publicado por: SplinterGU en Mayo 08, 2008, 04:46:19 am
Correcciones importantisimas en el core, bugs transmitidos desde Fenix, se detallan a continuacion:

- Se corrige y se completa el soporte de casteo, direccionamiento(&) y sizeof. (al final adjunto ejemplo y resultados)
- Se corrige precedencia de operadores.
- Se corrige tamaño de arrays asignados en la declaracion.
  1) El error consistia en 2, si el tamaño era especificado pero se le incluian valores, el tamaño del array era modificado con respecto a la cantidad de valores que se ingresaban. Tambien el calculo de dichos valores era incorrecto, con lo que el tamaño para esa area de memoria era menor que el necesario.
  2) Cuando no se especificaba dimension, el tamaño era calculado erroneamente (mismo caso que el punto 1)
- Se mejora y acelera el switcheo y ejecucion de procesos. Ahora cada proceso tiene su propio stack, no hay un stack global. Ahora todo deberia ir mucho mas rapido, con muchos procesos deberia notarse la mejora.

[code language="bennu"]
global
    a;
    f;
    i;
    array[10]=10,9,8,7,6,5,4,3,2,1,0;
    char carray[10]=10,9,8,7,6,5,4,3,2,1,0;
    char * pcarray;
    char ** ppcarray;
    pointer p;
    v = 7;
    float d;

begin

    say("-----------");

    for (i=0;i<=10;i++)
        say("array["+i+"]="+array[ i ]);
    end

    say("-----------");

    p = &array[2];
    for (i=0;i<=5;i++)
        say("p["+i+"]="+p[ i ]);
    end

    say("-----------");
    p = &array[2];
    for (i=0;i<=5;i++)
        say("p["+i+"]="+ *++p);
    end

    say("-----------");
    p = &array[0];
    say("p[0]="+ *p);

    say("-----------");
    say("sizeof(carray)="+ sizeof(carray));
    say("sizeof(carray[0])="+ sizeof(carray[0]));
    say("sizeof(*pcarray)="+ sizeof(*pcarray));
    say("sizeof(pcarray[0])="+ sizeof(pcarray[0]));
    say("sizeof(ppcarray)="+ sizeof(ppcarray));
    say("sizeof(*ppcarray)="+ sizeof(*ppcarray));
    say("sizeof(**ppcarray)="+ sizeof(**ppcarray));
    say("sizeof(*p)="+ sizeof(*p));
    say("sizeof(p[0])="+ sizeof(p[0]));
    say("sizeof(p)="+ sizeof(p));
    say("sizeof(array)="+ sizeof(array));
    say("sizeof(array[0])="+ sizeof(array[0]));

    say("-----------");

    say("1 && 2 & 1 = "+(1 && 2 & 1));
    say("(1 && 2) & 1 = "+((1 && 2) & 1));
    say("1 & 2 && 1 = "+(1 & 2 && 1));
    say("1 & (2 && 1) = "+(1 & (2 && 1)));

    say("-----------");

    say("1 || 2 && 0 = "+(1 || 2 && 0));
    say("1 || (2 && 0) = "+(1 || (2 && 0)));
    say("(1 || 2) && 0 = "+((1 || 2) && 0));

    say("-----------");

    say("0 && 1 || 2 = "+(0 && 1 || 2));
    say("0 && (1 || 2) = "+(0 && (1 || 2)));
    say("(0 && 1) || 2 = "+((0 && 1) || 2));

    say("-----------");

    say("1 ^ 2 & 3 ^ 5 = "+(1 ^ 2 & 3 ^ 5));
    say("1 ^ (2 & 3) ^ 5 = "+(1 ^ (2 & 3) ^ 5));
    say("(1 ^ 2) & (3 ^ 5) = "+((1 ^ 2) & (3 ^ 5)));

    say("-----------");

    say("1 == 3 == 3 = "+(1 == 3 == 3));
    say("(1 == 3) == 3 = "+((1 == 3) == 3));
    say("1 == (3 == 3) = "+(1 == (3 == 3)));
    say("1 == 2 > 1 == 3 = "+(1 == 2 > 1 == 3));
    say("1 == (2 > 1) == 3 = "+(1 == (2 > 1) == 3));
    say("1 == 2 > 1 == 1 = "+(1 == 2 > 1 == 1));
    say("1 == (2 > 1) == 1 = "+(1 == (2 > 1) == 1));

    say("1<<2+3 = "+(1<<2+3));

    say("-----------");

    say("15.0 / 3.0 / 2.0 = "+(15.0 / 3.0 / 2.0));
    say("(15.0 / 3.0) / 2.0 = "+((15.0 / 3.0) / 2.0));
    say("15.0 / (3.0 / 2.0) = "+(15.0 / (3.0 / 2.0)));
    say("15+3*5=" + (15+3*5));

end
[/code]

Resultados

Código: [Seleccionar]
-----------
array[0]=10
array[1]=9
array[2]=8
array[3]=7
array[4]=6
array[5]=5
array[6]=4
array[7]=3
array[8]=2
array[9]=1
array[10]=0
-----------
p[0]=8
p[1]=7
p[2]=6
p[3]=5
p[4]=4
p[5]=3
-----------
p[0]=7
p[1]=6
p[2]=5
p[3]=4
p[4]=3
p[5]=2
-----------
p[0]=10
-----------
sizeof(carray)=11
sizeof(carray[0])=1
sizeof(*pcarray)=1
sizeof(pcarray[0])=1
sizeof(ppcarray)=4
sizeof(*ppcarray)=4
sizeof(**ppcarray)=1
sizeof(*p)=4
sizeof(p[0])=4
sizeof(p)=4
sizeof(array)=44
sizeof(array[0])=4
-----------
1 && 2 & 1 = 0
(1 && 2) & 1 = 1
1 & 2 && 1 = 0
1 & (2 && 1) = 1
-----------
1 || 2 && 0 = 1
1 || (2 && 0) = 1
(1 || 2) && 0 = 0
-----------
0 && 1 || 2 = 1
0 && (1 || 2) = 0
(0 && 1) || 2 = 1
-----------
1 ^ 2 & 3 ^ 5 = 6
1 ^ (2 & 3) ^ 5 = 6
(1 ^ 2) & (3 ^ 5) = 2
-----------
1 == 3 == 3 = 0
(1 == 3) == 3 = 0
1 == (3 == 3) = 1
1 == 2 > 1 == 3 = 0
1 == (2 > 1) == 3 = 0
1 == 2 > 1 == 1 = 1
1 == (2 > 1) == 1 = 1
1<<2+3 = 32
-----------
15.0 / 3.0 / 2.0 = 2.5
(15.0 / 3.0) / 2.0 = 2.5
15.0 / (3.0 / 2.0) = 10
15+3*5=30

[code language="bennu"]
program prueba;

type struct3 // 4 + 1 + 4 = 9
    char   *var0;
    char    var1;
    float   var2;
end;

type struct2 // 1 + 4 + 4 + 4 = 13
    char    status;
    float   flags;
    struct3 * s3;
    float   * f;
end;

type struct1 // 4 + 2 + 4 + 4 + 13 = 27
    string  name;
    short   score;
    struct2 * s;
    struct2 ** s1;
    struct2 s2;
end;


global
    struct1 st[6] =  "Jugador 1",  10, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 2",   5, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 3", 210, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 4",   3, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 5",  33, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 6",  12, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 7", 210, 0, 0, (0, 0.0, NULL, NULL);
    struct1 st2[6][10];

    struct1 st3[] =  "Jugador 1",  10, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 2",   5, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 3", 210, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 4",   3, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 5",  33, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 6",  12, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 7", 210, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 8",   3, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 9",  33, 0, 0, (0, 0.0, NULL, NULL),
                     "Jugador 10", 12, 0, 0, (0, 0.0, NULL, NULL);

    int array[15] = 1,2,3,4,5,6,7,8;

    int array1[] =  1,2,3,4,5,6,7,8,9,10,11,12;
    short array2[] =  1,2,3,4,5,6,7,8,9,10,11,12,13,14;

    struct2 fill = ( 'A', 2.3, NULL, NULL);

    char ** ch;
    char carr[10][10];
    string str[10][10];
    string str1[10];
    string str2;
    string pstr;
    i;
    struct1 * pst = NULL; // Auxiliar
    struct1 ** ppst = NULL;
    struct1 *** pppst = NULL;
    int total;
    int o;
    float f;

#define OFFS(s,m)  &((s *)0.m)

process test()
public
    n;
    struct1 m;
begin
    say("offset(struct2, flags)=" + OFFS(struct2,flags));
    say("offset(struct1, s)=" + OFFS(struct1,s));

    say("-----------");
    say("sizeof(n)=" + sizeof(n));
    say("sizeof(m.score)=" + sizeof(m.score));

    quicksort(&st, sizeof(st[0]), total, OFFS(struct1,score), sizeof(pst.score), 0);
    for (i = 0; i < total; i++)
        say("st["+i+"].name="+st[ i ].name+" - score=" + st[ i ].score);
    end

    say("-----------");

    say("&[pst].score=" + &[pst].score);
    say("&pst.score=" + &pst.score);
    say("&[ppst].score=" + &[ppst].score);
    say("&[[ppst]].score=" + &[[ppst]].score);
    say("&[[pppst]].score=" + &[[pppst]].score);
    say("&(**pppst).score=" + &(**pppst).score);
    say("&(struct1 *)pst.score=" + &(struct1 *)pst.score);
    say("&(struct1 *)pst.s=" + &(struct1 *)pst.s);
    say("offset=" + &((struct1 *)0).score);
    say("sizeof(float)=" + sizeof(float));
    say("sizeof(*pst)=" + sizeof(*pst));
    say("sizeof(*pst.score)=" + sizeof((*pst).score));
    say("sizeof(pst.score)=" + sizeof(pst.score));
    say("sizeof(pst.s.status)=" + sizeof(pst.s.status));
    say("sizeof([pst])=" + sizeof([pst]));
    say("sizeof([ch])=" + sizeof([ch]));
    say("sizeof([[ch]])=" + sizeof([[ch]]));
    say("sizeof(*ch)=" + sizeof(*ch));
    say("sizeof(**ch)=" + sizeof(**ch));

    while(1)
        frame;
    end

end

local
    test    t;

begin

    say("sizeof(dword) =" + sizeof(dword) );
    say("sizeof(int)   =" + sizeof(int)   );
    say("sizeof(string)=" + sizeof(string));
    say("sizeof(float) =" + sizeof(float) );
    say("sizeof(short) =" + sizeof(short) );
    say("sizeof(word)  =" + sizeof(word)  );
    say("sizeof(char)  =" + sizeof(char)  );
    say("sizeof(byte)  =" + sizeof(byte)  );

    say("sizeof(dword *) =" + sizeof(dword *) );
    say("sizeof(int *)   =" + sizeof(int *)   );
    say("sizeof(string *)=" + sizeof(string *));
    say("sizeof(float *) =" + sizeof(float *) );
    say("sizeof(short *) =" + sizeof(short *) );
    say("sizeof(word *)  =" + sizeof(word *)  );
    say("sizeof(char *)  =" + sizeof(char *)  );
    say("sizeof(byte *)  =" + sizeof(byte *)  );

    say("sizeof(pst.score)=" + sizeof(pst.score));
    say("sizeof((pst).score)=" + sizeof((pst).score));
    say("sizeof((*pst).score)=" + sizeof((*pst).score));
    say("sizeof([*ppst].score)=" + sizeof([*ppst].score));
//    say("sizeof([**ppst].score)=" + sizeof([**ppst].score)); // error - pointer required
//    say("sizeof([*ppst.score])=" + sizeof([*ppst.score])); // error - pointer required

    say("sizeof((*pst.s).s3)=" + sizeof((*pst.s).s3));
    say("sizeof(*(*pst.s).s3)=" + sizeof(*(*pst.s).s3));

    say("sizeof(pst.s)=" + sizeof(pst.s));
    say("sizeof([pst].s)=" + sizeof([pst].s));
    say("sizeof([[pst].s])=" + sizeof([[pst].s]));
    say("sizeof([ppst].s)=" + sizeof([ppst].s));
    say("sizeof([[[ppst]].s])=" + sizeof([[[ppst]].s]));
    say("sizeof([[ppst]].)=" + sizeof([[ppst]].));
    say("sizeof(pst.s)=" + sizeof([pst].s));
    say("sizeof([pst].)=" + sizeof([pst].));
    say("sizeof([[*ppst].s])=" + sizeof([[*ppst].s]));
    say("sizeof([*ppst.s])=" + sizeof([[ppst]].));

    say ("sizeof([pst].s)="+ sizeof([pst].s));
    say ("sizeof(*[pst].s)="+ sizeof(*[pst].s));
    say ("sizeof([[pst].s])="+ sizeof([[pst].s]));
    say ("sizeof([pst].)="+ sizeof([pst].));

    say("sizeof(pst[0])=" + sizeof(pst[0]));
    say("sizeof(pst[0].score)=" + sizeof(pst[0].score));

    say("sizeof(ppst)=" + sizeof(ppst));
    say("sizeof(ppst[0])=" + sizeof(ppst[0]));
    say("sizeof(*ppst)=" + sizeof(*ppst));
    say("sizeof(**ppst)=" + sizeof(**ppst));
    say("sizeof(*ppst[0])=" + sizeof(*ppst[0]));
//    say("sizeof(ppst[0][0])=" + sizeof(ppst[0][0])); // error - exceded array access from pointer
//    say("sizeof(***ppst)=" + sizeof(***ppst)); // error - exceded pointer reference
//    say("sizeof(pst[0][0].score)=" + sizeof(pst[0][0].score)); // error - exceded array access from pointer
    say("sizeof(ppst[0].score)=" + sizeof(ppst[0].score));
//    say("sizeof(ppst.score)=" + sizeof(ppst.score)); // error - requiere estructura
    say("sizeof([[ppst]].score)=" + sizeof([[ppst]].score));
    say("sizeof([ppst].score)=" + sizeof([ppst].score));
    say("sizeof([ppst[0]].score)=" + sizeof([ppst[0]].score));
//    say("sizeof(ppst[0][0].score)=" + sizeof(ppst[0][0].score)); // error - exceded array access from pointer

//    say("sizeof([st[0]].score)=" + sizeof([st[0]].score)); // error - pointer required
    say("sizeof(st[0].score)=" + sizeof(st[0].score));
    say("sizeof(pst.s)=" + sizeof(pst.s));
    say("sizeof(*pst.s)=" + sizeof(*pst.s));
    say("sizeof(*pst[0].s)=" + sizeof(*pst[0].s));
    say("sizeof(pst.s[0])=" + sizeof(pst.s[0]));
    say("sizeof(*pst.s1)=" + sizeof(*pst.s1));
    say("sizeof(**pst.s1)=" + sizeof(**pst.s1));
//    say("sizeof(***pst.s1)=" + sizeof(***pst.s1)); // error - exceded pointer reference
    say("sizeof(pst.score)=" + sizeof(pst.score));
    say("sizeof(pst[0].score)=" + sizeof(pst[0].score));
    say("sizeof(pst.s.s3)=" + sizeof(pst.s.s3));
    say("sizeof(pst[0].s[0].s3)=" + sizeof(pst[0].s[0].s3));
    say("sizeof(*pst.s.s3)=" + sizeof(*pst.s.s3));
//    say("sizeof(**pst.s.s3)=" + sizeof(**pst.s.s3)); // error - exceded pointer reference
    say("sizeof(pst[0].s[0].s3[0])=" + sizeof(pst[0].s[0].s3[0]));
//    say("sizeof(*pst.score)=" + sizeof(*pst.score)); // error - no es puntero
//    say("sizeof(st[0][0].score)=" + sizeof(st[0][0].score)); // error - Excede dimensiones de array
//    say("sizeof(st2[0].score)=" + sizeof(st2[0].score)); // error - Referencia array no es correcta, falta un indice
    say("sizeof(st2[0][0].score)=" + sizeof(st2[0][0].score));
//    say("sizeof(st2[0][0][0].score)=" + sizeof(st2[0][0][0].score)); // error - Excede dimensiones de array

    say("sizeof(struct1)=" + sizeof(struct1));
    say("sizeof(struct2)=" + sizeof(struct2));
    say("sizeof(struct3)=" + sizeof(struct3));

    say("sizeof(*pst)=" + sizeof(*pst));
    say("sizeof((*pst).score)=" + sizeof((*pst).score));
    say("sizeof(*pst.s)=" + sizeof(*pst.s));
    say("sizeof(*(pst.s))=" + sizeof(*(pst.s)));

    say("sizeof(carr[0])=" + sizeof(carr[0]));
    say("sizeof(carr[0][0])=" + sizeof(carr[0][0]));
    say("sizeof(pstr[0])=" + sizeof(pstr[0]));
    say("sizeof(str2[0])=" + sizeof(str2[0]));

    say("sizeof(str[0])=" + sizeof(str[0]));
    say("sizeof(str[0][0])=" + sizeof(str[0][0]));
    say("sizeof(str[0][0][0])=" + sizeof(str[0][0][0]));

//    say("sizeof(str[0][0][0][0])=" + sizeof(str[0][0][0][0])); // error - array dimension error

    say("sizeof(str1[0])=" + sizeof(str1[0]));
    say("sizeof(str1[0][0])=" + sizeof(str1[0][0]));

    say("sizeof(st)="+sizeof(st));
    say("sizeof(st[0])="+sizeof(st[0]));

    say("sizeof(st3)="+sizeof(st3));
    say("sizeof(st3[0])="+sizeof(st3[0]));

    say("sizeof(array)="+sizeof(array));
    say("sizeof(array1)="+sizeof(array1));
    say("sizeof(array2)="+sizeof(array2));

    say("sizeof(t.m.score)=" + sizeof(t.m.score));
    say("sizeof(t.m)=" + sizeof(t.m));
    say("sizeof(t)=" + sizeof(t));

    pst = alloc(sizeof(struct1));
    [pst].s = alloc(sizeof(struct2));
    memset([pst].s, 126, sizeof([[pst].s]));

    ppst = &pst;
    pppst = &ppst;

    total = sizeof(st)/sizeof(st[0]);

    t = test();

    say("&t.m.score=" + &t.m.score);
    say("&t.m=" + &t.m);
    say("&t=" + &t);

    say("sizeof(st)="+sizeof(st)+" sizeof(st[0])="+sizeof(st[0]) +" total="+total);

    say("[pst].s="+ [pst].s + " [pst].s.status=" + [pst].s.status);
    say("[pst].s="+ [pst].s + " [[pst].s].status=" + [[pst].s].status);

    [[pst].s] = fill;

    say("&fill="+ &fill);

    say("[pst].s="+ [pst].s + " [pst].s.status=" + [pst].s.status);
    say("[pst].s="+ [pst].s + " [[pst].s].status=" + [[pst].s].status);

    say ("memset("+[pst].s+", 35, "+sizeof([pst.s])+")");
    memset([pst].s, 35, sizeof([pst.s]));

    say("[pst].s="+ [pst].s + " [pst].s.status=" + [pst].s.status);
    say("[pst].s="+ [pst].s + " [[pst].s].status=" + [[pst].s].status);

    [[pst].s] = fill;

    say("[pst].s="+ [pst].s + " [pst].s.status=" + [pst].s.status);
    say("[pst].s="+ [pst].s + " [[pst].s].status=" + [[pst].s].status);

    let_me_alone();

end
[/code]

Código: [Seleccionar]
sizeof(dword) =4
sizeof(int)   =4
sizeof(string)=4
sizeof(float) =4
sizeof(short) =2
sizeof(word)  =2
sizeof(char)  =1
sizeof(byte)  =1
sizeof(dword *) =4
sizeof(int *)   =4
sizeof(string *)=4
sizeof(float *) =4
sizeof(short *) =4
sizeof(word *)  =4
sizeof(char *)  =4
sizeof(byte *)  =4
sizeof(pst.score)=2
sizeof((pst).score)=2
sizeof((*pst).score)=2
sizeof([*ppst].score)=2
sizeof((*pst.s).s3)=4
sizeof(*(*pst.s).s3)=9
sizeof(pst.s)=4
sizeof([pst].s)=4
sizeof([[pst].s])=13
sizeof([ppst].s)=4
sizeof([[[ppst]].s])=13
sizeof([[ppst]].[s])=13
sizeof(pst.s)=4
sizeof([pst].[s])=13
sizeof([[*ppst].s])=13
sizeof([*ppst.s])=13
sizeof([pst].s)=4
sizeof(*[pst].s)=13
sizeof([[pst].s])=13
sizeof([pst].[s])=13
sizeof(pst[0])=27
sizeof(pst[0].score)=2
sizeof(ppst)=4
sizeof(ppst[0])=4
sizeof(*ppst)=4
sizeof(**ppst)=27
sizeof(*ppst[0])=4
sizeof(ppst[0].score)=2
sizeof([[ppst]].score)=2
sizeof([ppst].score)=2
sizeof([ppst[0]].score)=2
sizeof(st[0].score)=2
sizeof(pst.s)=4
sizeof(*pst.s)=13
sizeof(*pst[0].s)=13
sizeof(pst.s[0])=13
sizeof(*pst.s1)=4
sizeof(**pst.s1)=13
sizeof(pst.score)=2
sizeof(pst[0].score)=2
sizeof(pst.s.s3)=4
sizeof(pst[0].s[0].s3)=4
sizeof(*pst.s.s3)=9
sizeof(pst[0].s[0].s3[0])=9
sizeof(st2[0][0].score)=2
sizeof(struct1)=27
sizeof(struct2)=13
sizeof(struct3)=9
sizeof(*pst)=27
sizeof((*pst).score)=2
sizeof(*pst.s)=13
sizeof(*(pst.s))=13
sizeof(carr[0])=11
sizeof(carr[0][0])=1
sizeof(pstr[0])=1
sizeof(str2[0])=1
sizeof(str[0])=44
sizeof(str[0][0])=4
sizeof(str[0][0][0])=1
sizeof(str1[0])=4
sizeof(str1[0][0])=1
sizeof(st)=189
sizeof(st[0])=27
sizeof(st3)=270
sizeof(st3[0])=27
sizeof(array)=64
sizeof(array1)=48
sizeof(array2)=28
sizeof(t.m.score)=2
sizeof(t.m)=27
sizeof(t)=4
offset(struct2, flags)=00000001
offset(struct1, s)=00000006
-----------
sizeof(n)=4
sizeof(m.score)=2
st[0].name=Jugador 4 - score=3
st[1].name=Jugador 2 - score=5
st[2].name=Jugador 1 - score=10
st[3].name=Jugador 6 - score=12
st[4].name=Jugador 5 - score=33
st[5].name=Jugador 7 - score=210
st[6].name=Jugador 3 - score=210
-----------
&[pst].score=00592A54
&pst.score=00592A54
&[ppst].score=00592A54
&[[ppst]].score=00592A54
&[[pppst]].score=00592A54
&(**pppst).score=00592A54
&(struct1 *)pst.score=00592A54
&(struct1 *)pst.s=00592A56
offset=00000004
sizeof(float)=4
sizeof(*pst)=27
sizeof(*pst.score)=2
sizeof(pst.score)=2
sizeof(pst.s.status)=1
sizeof([pst])=27
sizeof([ch])=4
sizeof([[ch]])=1
sizeof(*ch)=4
sizeof(**ch)=1
&t.m.score=00592B00
&t.m=00592AFC
&t=005917CC
sizeof(st)=189 sizeof(st[0])=27 total=7
[pst].s=00592A38 [pst].s.status=~
[pst].s=00592A38 [[pst].s].status=~
&fill=003FED46
[pst].s=00592A38 [pst].s.status=A
[pst].s=00592A38 [[pst].s].status=A
memset(00592A38, 35, 13)
[pst].s=00592A38 [pst].s.status=#
[pst].s=00592A38 [[pst].s].status=#
[pst].s=00592A38 [pst].s.status=A
[pst].s=00592A38 [[pst].s].status=A
Título: Re: Avances
Publicado por: l1nk3rn3l en Mayo 08, 2008, 05:05:30 pm
Es que pienso adicionar al flamebird la opcion de incluir todo en el dcb
osease mochila(exe) y por fuera las dlls lo normal..

cual es la opcion para decirle a bennu que incluya todos los recursos
referenciados en el codigo fuente...

gracias
Título: Re: Avances
Publicado por: SplinterGU en Mayo 08, 2008, 08:33:55 pm
http://forum.bennugd.org/index.php?topic=53.0
Título: Re: Avances
Publicado por: TYCO en Mayo 09, 2008, 06:27:34 am
Por el amor de dos!! (o de dios XD) a ver si le damos a buscar que encima hace dos dias yo postee en ello para ver si la opcion "-c" se iba a INVERTIR (que seria lo mas logico ya que en MS-DOS no funciona Bennu)
o si se iba a suprimir (que tambien seria lo mas logico). SlinterGU que opinas??

http://forum.bennugd.org/index.php?topic=53.msg937#msg937
Título: Re: Avances
Publicado por: SplinterGU en Mayo 09, 2008, 07:05:18 am
Lo lei, pero no respondi porque esperaba que otro lo haga, esto no tiene nada que ver con MS-DOS, es la codificacion de caracteres MS-DOS que todavia muchos la usamos.
Título: Re: Avances
Publicado por: TYCO en Mayo 09, 2008, 08:04:52 am
Ok, nunca dejaremos ms-dos enterrado jeje, entonces la respuesta seria.. que se mantiene la opcion "-c", que no se va a quitar, y que tampoco se va invertir, pues a usar "-c" entonces.

Que conste que solo lo pregunte porque no hace mucho alguien posteo que en ms-dos no funcionaba Fenix/Bennu y por eso me extrañaba que aun en Bennu se mantuviera esa opcion si nunca se podria ejecutar en ms-dos.

Una mala interpretacion de las palabras por mi parte, por mi esta aclarado el porque de esa opcion. Gracias.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 09, 2008, 08:57:41 am
Luego analizare bien el tema y te dire si vale la pena mantenerlo asi.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 09, 2008, 01:46:32 pm
- Se permite declaracion de variables, constantes, en diferentes modulos. Esto permite poder definir una variable necesaria para mas de 1 modulo en cada uno de ellos, para evitar el tener que depender de un modulo especifico solo para declarar las variables. Por ejemplo, tengo 2 modulos que necesitan tener una variable "VAR1", pero ambos modulos no dependen entre si, y si la variable existe para 1 necesito mantener dicho valor para el otro modulo, entonces declaro dicha variable en los 2 modulos y solo se toma la primera, el 2do modulo solo usa la ya declarada. El compilador advierte con un warning esta situacion, si los tipos no coinciden obviamente tendremos problemas, pero se supone que uno sabe lo que hace al construir un modulo.
En el caso de las constantes, si el valor es diferente aborta la compilacion, en caso contrario se ignora.
- Se agregan constantes __DATE__, __TIME__, __FILE__ y __LINE__.
__DATE__ = fecha de compilacion del .prg
__TIME__ = hora de compilacion del .prg
__FILE__ = archivo en el cual esta la linea que se esta ejecutando
__LINE__ = numero de linea que se esta ejecutando

ejemplo:

prueba2.prg

[code language="bennu"]
include "debug.inc"

begin
    say("Build: "+__DATE__+" "+__TIME__);

    DEBUG("msg1");
    say(__FILE__ + ":" + __LINE__ + ":" + " msg2");
    say(__FILE__ + ":" + __LINE__ + ":" + " msg3");

    hello();
    hello2();
end[/code]

debug.inc
[code language="bennu"]

#define DEBUG(msg) say(__FILE__ + ":" + __LINE__ + ": " + msg)

include "prueba2.pr2"


process hello()
begin
    DEBUG("hello");
end[/code]

prueba2.pr2
[code language="bennu"]process hello2()
begin
    DEBUG("hello2");
end[/code]

output:
Código: [Seleccionar]
Build: 2008/05/09 18:46:21
prueba2.prg:6: msg1
prueba2.prg:7: msg2
prueba2.prg:8: msg3
debug.inc:8: hello
prueba2.pr2:3: hello2
Título: Re: Avances
Publicado por: SplinterGU en Mayo 11, 2008, 06:40:46 pm
- Se corrigio y reescribio mucho del tokenizador del compilador
- Se dio soporte a #include(adicionalmente de include sin #), correcto tratamiendo de # ..., comentarios, continuacion de linea, numeracion de lineas y archivos, y otras tantas cosas mas... con esto tambien se corrigieron muchos bugs ocacionados por el mal parseo de los token...
Título: Re: Avances
Publicado por: DCelso en Mayo 15, 2008, 10:50:02 pm
Hola, con el bennu wip actual que hay subido no me funciona ni el say ni el Debug. Supongo que aún no has subido otra versión nueva con los avances que comentas en estos 3 últimos post. ¿no?

Por cierto, ¿Como va la parte de separación de dependencias SDL del núcleo? y ¿ya te pusiste con los modulos de tratamiento de teclado y gráficos?

Por otro lado me preguntaba si la independecia de SDL fuera total, sería factible reimplementar eso módulos SDL en Allegro (u OpenGL o Directx a pelo que quizás ganen en velocidad) para hacer lo mismo. ¿Verdad?
Saludos.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 15, 2008, 11:04:33 pm
Bien, no se que version estas probando, si linux o windows, cual de todas las wip? ya que el say funciona perfectamente.
No, no subo version por cada avance, solo informo como va.
Teclado ya esta... hace tiempo... video lo deje por un momento de lado, para meterme un rato en el core... cambios que explique estos dias, y voy a terminar de corregir el byteorder de los dcb... y creo que con eso (tengo que revisar que no me falte nada) podria liberar la primer version del core...
El core como ya dije no tiene ninguna dependencia SDL ni tendra nunca Allegro ni nada parecido, ya que el core no entiende de graficos, sonidos, ni ninguna cosa rara... esos son los modulos... y como ya lo explique (hay que leer los posts :D) se va a dividir en 2 partes (los que ameriten), una capa independiente (basica) y otra capa dependiente de lo que sea, oficialmente solo hare SDL, si algun otro quiere hacer otra, podra hacerlo tranquilamente.

PD: Tambien me entretuve estos 2 ultimos dias (y por ende no me dedique al codigo) haciendo un driver para xp64 de mi tableta grafica serial, ya que no hay... al final no hice un driver, sino un programa que inyecta en windows eventos de mouse... y con eso ya tengo mi tabletita funcionando en cualquier windows sin necesidad de drivers... :P
Ahhh, y 2 dias antes, con los nuevos iconos... asi me distraigo un poco y no me saturo...
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 16, 2008, 03:12:34 am
como dice en los paises anglosajones: "take it easy man!".
Tu a tu ritmo, por que como decimos en aqui en españa: "lo bueno se hace esperar".

Saludos a todos.

Título: Re: Avances
Publicado por: TYCO en Mayo 16, 2008, 10:18:21 am
Que bueno que esta! de unta pan y moja XD

PD: Perdon el offtopic (tampoco hago muchos)
Título: Re: Avances
Publicado por: SplinterGU en Mayo 20, 2008, 09:03:01 am
He probado el nuevo core (el que no tiene nada de rutinas graficas, ni formatos graficos) con una version recompilada de la m8ee (de coldev), salvo que tuve que agregar una funcion de inicializacion del video SDL para que active el teclado y comentar las lineas de codigo dependiente de las rutinas graficas de Bennu/Fenix (set_mode, set_fps, write, etc), la dll se integro perfectamente, incluso antes de agregar esta funcion de inicializacion, salvo que no tenia teclado. No pude comprobar el rendimiento en fps, ya que no existen funciones de texto.
En resumen, se comprobo que ya es factible integrar un render externo al core de bennu de forma satisfactoria.
Título: Re: Avances
Publicado por: Drumpi en Mayo 21, 2008, 07:12:16 am
Solo puedo decir una cosa: ¡GUAAUUUU!  :o

Al final Bennu va a tener 3d antes que 2d, jajajaja.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 21, 2008, 07:33:12 am
- Se agrega parametro de linea de comando -o, que permite definir el nombre del archivo de salida. (esto tambien es valido para el sistema de stub -generacion de ejecutable-)
- Se permiten como extensiones dcb validas: .dcb, .dat, .bin. (se podrian agregar otros)
- Se quita en el sistema de stub, el limite de que solo se permiten incluir archivos del directorio de trabajo. (Ahora se almacena el path completo serializado)
- Se optimiza comienza a serializar la grabacion/lectura de los archivos dcb y dejar de ser archivos que graban estructuras de datos fijas, con lo cual se graban datos basura.
- Se normalizan tamaños maximos en nombres de archivos y pathnames completos.
- Se agregan chequeos de previa inclusion de modulos.
- Optimizaciones y correcciones varias al manejo de strings. (fix en funcion format)
- Se incrementan limites en la cantidad de includes y en la cantidad de parametros tanto de macros como de funciones. (estos limites seran eliminados)
Título: Re: Avances
Publicado por: SplinterGU en Mayo 21, 2008, 02:18:50 pm
- Corregido bug al usar defines que usan otros defines
Título: Re: Avances
Publicado por: SplinterGU en Mayo 24, 2008, 12:36:39 am
- Concepto de procesos huerfanos. Ahora es posible saber exactamente cuando un padre muere, ya que los abuelos no heredan mas a los nietos tras la muerte del padre. (Esto consumia muchisima cpu)
- Los modulos ahora soportan dependencia a otros modulos (esto es cargar automaticamente otras dlls, requeridas por un modulo)
- Se mejoran la logica de las rutinas de control de instancias y se logra con esto un incremento de velocidad muy muy importante.
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 24, 2008, 03:23:13 am
Bien, bien, bien, esto pinta muy bien.

Título: Re: Avances
Publicado por: SplinterGU en Mayo 24, 2008, 05:58:28 am
Ummm... ahora recuerdo uno de los motivos importantes por los que quite eso de los procesos huerfanos... en principio me acordaba del tema de no poder ver la lista total de procesos con el debugger, ahora me acuerdo que tampoco habia forma de mandar signals en tree a los procesos huerfanos...
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 24, 2008, 12:14:20 pm
Ahora recaera en nosotros la responsabilidad de tener controlados los procesos huerfanos, no?

Título: Re: Avances
Publicado por: SplinterGU en Mayo 24, 2008, 12:30:52 pm
Estoy trabajando en eso.
Por ejemplo, ahora la signal, puede recibir como parametro 0, y de esta forma afecta a todos los ids de todos los procesos, huerfanos o no, menos el nuestro. De esta forma, puedo por ejemplo, mandar a freezar todos los procesos. Tambien existe el get_id(type ...) con lo que trae a los procesos de un tipo determinado, por ejemplo, enemigos.
Estoy pensando quizas en agregar un parametro de runtime, o ciertas variables, que definan el comportamiento que puede tomar el sistema, solo que en el caso de heredar procesos huerfanos, la performance decae mucho.
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 24, 2008, 02:33:09 pm
Lo ultimo de poder definir el comportamiento del sistema, lo encuentro muy interesante, aunque supongo que es el camino mas dificil, pero creo es el mas idoneo, lo facil (y supongo que chapuzero), seria definir un estado mas (por ejemplo: Orphan) para los procesos.

Título: Re: Avances
Publicado por: SplinterGU en Mayo 24, 2008, 02:48:31 pm
Pero ser huerfano no significa que un proceso este muerto, congelado, dormido, etc... solo significa que no tiene padre... asi que eso no puede ir como un estado.
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 25, 2008, 12:20:32 am
Si tienes toda la razon, es que ayer te escribi a las 0:30, y tenia mucho sueño, por cierto haciendo un poco Offtopic, no estoy muy seguro, pero me parece que no hay una funcion que sea inversa a SIGNAL, una funcion a la cual introduzcas el Id de un proceso y esta te devuelva el estado de el, vuelvo a repetir que probablemente este yo equivocado, ya que hace tiempo que no programo, pero si no fuera asi, seria interesante incluir una funcion de este tipo.

Título: Re: Avances
Publicado por: SplinterGU en Mayo 25, 2008, 08:12:04 am
Es una variable... reserved.status
Título: Re: Avances
Publicado por: kim-elet-o en Mayo 25, 2008, 09:20:08 am
Bien, bien, bien, me gustan que los planes salgan bien. :D :D :D 

Título: Re: Avances
Publicado por: SplinterGU en Mayo 25, 2008, 01:52:18 pm
- Se mejora rutinas de strings internas, se replantea la logica de creacion/borrado de strings con lo que se logra un incremento en el rendimiento. Se reduce tambien el consumo de memoria.
- Se mejora la performance en rutinas internas file (fgets)
- Se mejora el manejo de modulos (cambios internos)
- Varias mejoras internas en strings.
Título: Re: Avances
Publicado por: l1nk3rn3l en Mayo 26, 2008, 07:27:37 am
genial que se pueda cambiar el rendimiento
desde codigo

esperare la beta
Título: Re: Avances
Publicado por: SplinterGU en Mayo 27, 2008, 02:59:35 am
Ummm... bueno, cambiar desde el codigo, no... cambiar el rendimiento del codigo, si...

Nuevos avances...

- Se sigue mejorando el rendimiento del manejador de procesos y acceso a los mismas desde otros procesos.
- Se mejora agregan nuevos tipos de hooks.
- Se agrega la posibilidad ignorar señales y tambien la posibilidad de forzar envio de estas (señal ignorada o no).
- Funciones para obtener el estado actual de un proceso
Título: Re: Avances
Publicado por: Drumpi en Mayo 28, 2008, 06:42:27 am
Si se aceptan sugerencias, te sugiero que mires en el foro de Fenix el hilo de Gemix, por si te ineteresa algo de lo dicho sobre "priority_signals".
Lo escribiría aqui, pero ando justo de tiempo, y ya me he calentado las neuronas escribiendo cierto pseudo-código-chapucero-horrible :D:D:D
Título: Re: Avances
Publicado por: SplinterGU en Mayo 28, 2008, 07:41:29 am
Ya vi ese hilo, no me parece logico... mi idea de Bennu es hacerlo un lenguaje profesional, preferente "like C", que al tener una logica similar a un sistema operativo con seudo-procesos, se comporte casi como tal... por otro lado, no tiene sentido teniendo estas funciones, se puede implementar facilmente desde codigo con la nueva funcion y nuevo comportamiento adicional de las existentes...
Título: Re: Avances
Publicado por: DCelso en Mayo 28, 2008, 11:23:31 pm
SplinterGU estas muy activo últimamente :D.
¿Como va el tema de la pantalla y el teclado?
¿Se puede ya poner una imagen y moverla con las teclas dentro de un fondo?:).
Por cierto he hecho unas muchas pruebas de prioridades de operadores y no le he visto comportamiento errático a ninguna.
Por otro lado, tienes pensado implementar algo como fscanf(stdout,"%s",cadena), para poder optener datos del usuario, sería interesante.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 28, 2008, 11:45:03 pm
Si, claro, existe la SAY...
Título: Re: Avances
Publicado por: DCelso en Mayo 29, 2008, 04:42:27 am
Jur, me había sorprendido la respuesta porque no me la esperaba,no me he explicado bien, bueno confundí fprintf con fscanf, y me he asustado al creer que con SAY se le podía pedir a un usuario una cadena.
He rehecho la pregunta en el reply anterior.
Saludos.
Título: Re: Avances
Publicado por: SplinterGU en Mayo 29, 2008, 06:13:36 am
No, scanf para input de teclado es una funcion blockeante, no es logica para un lenguaje para programacion de videojuegos.
Título: Re: Avances
Publicado por: DCelso en Mayo 29, 2008, 07:46:10 am
:D. Todo juego que se digne debe tener un hiscore, ya me dirás si sería util para poder registrar las iniciales. Ahora tengo implementado teniendo que usar variables globales, obteniendo el codigo asccii, restando, sumando cadenas, etc y control de bloqueo manual :D.
Pero bueno, yo lo decia por ayudar a ello. Si es chungo de meter en el nucleo y eso pues nada a la manera dificil dificilisima siempre se podrá. No hay nada imposible sino solo casi imposible   ::)
Título: Re: Avances
Publicado por: SplinterGU en Mayo 29, 2008, 07:53:49 am
Pero no se hace un scanf, es demasiado simple hacer un input por codigo...
Título: Re: Avances
Publicado por: SplinterGU en Mayo 29, 2008, 07:54:33 am
No es que sea imposible, no es logico...
Título: Re: Avances
Publicado por: Drumpi en Junio 02, 2008, 02:35:57 am
Lo que quiere decir es que un fscanf paraliza todo el código hasta que el usuario introduce la cadena de texto, y como lenguaje concurrente eso no se DEBE hacer. Y aunque se implementase de forma no bloqueante, cada vez que pulsas una tecla puedes provocar que otros procesos respondan (crear un proceso disparo, mover al personaje...)
Si usas la global ASCII en un bucle verás lo sencillo que es hacer un input. Creo que por el foro de Fenix ya se ha puesto unos cuantos ejemplos.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 03, 2008, 05:18:53 am
Si, bueno da igual, me refería a que formara parte del núcleo alguna forma para recibir información del usuario y no tener que hacerla a manini. Como decís hay por ahí código para ello. Tema zanjado.
Por otro lado SplinterGU, que buenas nuevas tienes? ¿Ya estás liado con la parte del teclado y el video?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 03, 2008, 05:24:24 am
3/6:

- Se corrige comportamiento de los tipos de datos CHAR  (espero que no quede ningun bug)... ahora son realmente strings de ancho fijo (1 caracter o arrays N caracteres)...

- Se agrega labels (etiquetas) locales y nuevas instrucciones de control de flujo (al momento goto) al mejor estilo C.

[code language="c"]#include <stdio.h>
int main()
{
etiqueta: //La etiqueta
    printf("Uso del GOTO");
    goto etiqueta;
}
[/code]

[code language="bennu"]
import "mod_say"
begin
etiqueta: //La etiqueta
    say("Uso del GOTO");
    goto etiqueta;
end
[/code]

- OnExit pasa a comportarse como una etiqueta (especial)

- Ya casi tengo el formato definitivo del dcb (version Bennu 1.0), que con el cambio de etiquetas ahora se podran poner cosas al estilo "ON ERROR" sin necesidad de tocar el dcb.

- El dcb ya casi es totalmente portable entre plataformas de diferentes byteorders, solo me queda recorrer las variables y darles el formato adecuado segun corresponda... (obviamente, y probarlo...)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 03, 2008, 05:26:17 am
Si, bueno da igual, me refería a que formara parte del núcleo alguna forma para recibir información del usuario y no tener que hacerla a manini. Como decís hay por ahí código para ello. Tema zanjado.
Por otro lado SplinterGU, que buenas nuevas tienes? ¿Ya estás liado con la parte del teclado y el video?
No aun, me urgen otras cosas para cerrar el tema del core, que es lo mas cercano a ser liberado... el teclado esta desde hace mucho tiempo, salvo que al no tener video no se puede usar, pero por ejemplo usando el modulo 3d de coldev como driver de video, el modulo de teclado funciona a la perfeccion...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 03, 2008, 07:35:52 am
okis, entonces a esperar toca. ¿Tienes pensada alguna estimación de tiempo para liberarla?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 03, 2008, 01:14:48 pm
3/6:
- Se corrige comportamiento de los tipos de datos CHAR  (espero que no quede ningun bug)... ahora son realmente strings de ancho fijo (1 caracter o arrays N caracteres)...

Umm... creo que no lo escribi bien...

CHAR son strings de 1 byte (son el analogico a BYTE, pero que manejan strings), pero pueden ser usados en expresiones numericas.

EDIT: Hoy no estoy bien... donde decia "SIGNED BYTE" lo cambie por "BYTE"
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 03, 2008, 01:15:21 pm
okis, entonces a esperar toca. ¿Tienes pensada alguna estimación de tiempo para liberarla?

Sin presion por favor... :)
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Junio 03, 2008, 02:34:15 pm
Dioooxxx, recuperamos el GOTO, jejejejejeje, no lo utilizaba desde aprendi a programar en pascal, y deje el quick basic, bienvenido abuelo GOTO, vuelves a entrar en accion.


P.D: bueno de hecho si lo uso, lo uso en un lenguaje de psudocodigo que estoy creando para manejar la logica de los enemigos en un juego de machacamarcianos, jejejeje, pero no si lo llegare a acabar algun dia.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 03, 2008, 02:52:16 pm
GOTO/JMP y voy a agregar GOSUB/CALL para rutinas rapidas que cuando terminen regresen al punto donde fueron llamados... serviran como funciones, pero son sin parametros, locales, y sin retorno por valor, ya que usan el mismo espacio de variables que quien las llama, por ende son rapidisimas...
Y otras funciones mas de este estilo... que ya se informaran...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 03, 2008, 11:51:41 pm
Vaya, pinta bien, lo malo que le veo es que se van a difurcar muchísimo la forma de hacer las cosas :D
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Junio 04, 2008, 12:16:45 am
Sip pero tambien se adaptara mejor el codigo para casos mas concretos, me encanta cada vez mas este bennu. ;D ;D ;D

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 04, 2008, 06:07:04 am
La idea es que sea una opcion, el que la quiera usar que la use, el que no, no...
Para casos concretos como dice kim-elet-o, es muy util. Bueno, ya de hecho para el caso de un handler de error... aunque este enmascarado en otras instrucciones.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 04, 2008, 06:49:16 am
Veo tu pascal y subo a Basic 1.0 en mi viejo amstrad  :o.
Y ahora también gosub, fue de las pocas cosas que llegué a aprender de programación en aquel entonces (y eso que iba sin ánimos de hacerlo).
No sabía que las etiquetas se usasen en C, sólo las vi en ensamblador.
De todas formas, splinter, no te pases añadiendo cosas, que cuanto más metas más complicado será el lenguaje (aunque seguramente muchos habrá que les interesen estos cambios :))
Por cierto ¿no se habían creado ya los "procesos subrutinas"? eran procesos normales sin la seccion de variables y toda la carga de un proceso normal, que hacía precisamente eso, ser una subrutina, pero llamándola como si fuera un proceso.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 04, 2008, 06:54:21 am
Las cosas que se agregan no son necesarias para hacer un juego/programa, pero seguro haran un juego/programa mejor.
No, no existe eso de procesos subrutinas... habia algo que era si se llamaba a una funcion o proceso que no tuviese frame, se usaba el mismo espacio de algunas cosas, pero si mal no recuerdo, no de variables, pero... estaba mal implementado, y no era tan rapido como lo que plantea una implementacion CALL del estilo que menciono.
Título: Re: Avances, Diario de...
Publicado por: Phreak en Junio 05, 2008, 01:03:39 pm
Faaa como avanza esto!!

una pregunta.. ya esta como para empezar a usarla? o falta un poco mas?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 05, 2008, 01:12:56 pm
Falta...
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Junio 06, 2008, 02:51:17 am
Por cierto ¿no se habían creado ya los "procesos subrutinas"? eran procesos normales sin la seccion de variables y toda la carga de un proceso normal, que hacía precisamente eso, ser una subrutina, pero llamándola como si fuera un proceso.

La ventaja creo, es que como no procesa internamente parametros ni retorno , el nuevo comando seria mas rapido.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 06, 2008, 04:01:01 am
se parece a las funciones inline de C++. ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 13, 2008, 06:29:14 am
- Se corrige grabacion y lectura de array de strings usando SAVE y LOAD, solo guardaba el primer valor del array. Se optimiza tambien la grabacion de variables (SAVE/LOAD)
- Se corrigen for, from, switch/case... ahora soportan correctamente los siguiente tipos de datos (tenian bugs o no soportaban):
  for: byte, word, dword, short, long, int, float, char (es posible hacer cosas como FOR (a = "A"; a <= "F"; a++) siendo "a" de tipo char).
  from: byte, word, dword, short, long, int, float, char (es posible hacer cosas como FROM a = "A" TO "F"; siendo "a" de tipo char). STEP ahora puede tener incrementos float.
  switch: cualquier tipo de dato, excepto TYPE, los case son tratados/convertidos al formato de la expresion provista en el switch. En los casos de char, por ejemplo, es posible especificar un case 101: y un case "e", ambos son validos, pero solo ejecutara la primera ocurrencia.
- Se agrega constante __VERSION__ = COMPILER_VERSION
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Junio 13, 2008, 01:28:10 pm
Buen trabajo!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 16, 2008, 06:39:33 pm
- Documento sobre Varspaces.
- Correcciones menores en el uso de variables.
- Se elimina limite en cantidad de TYPEs permitidos, antes solo se permitian 64.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 17, 2008, 12:25:30 am
Deja de poner la miel en los labios que te vamos a morder,  >:( grgr.  :'(
La próxima noticia que venga con versión beta nueva, sino no pongas  :)  ;)  ;D.
Título: Re: Avances, Diario de...
Publicado por: Kel en Junio 17, 2008, 01:29:01 am
ánimo Splinter, veo que no paras, ese es el espíritu  ;D

Y los demas no metáis bulla que con prisas todo sale mal xdd
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 29, 2008, 04:58:59 am
Novedades

- Se agrega soporte completo call/return
- Se agrega comandos on exit y on error, con la siguiente sintaxis:
   on exit goto label; // Cambia el callback de salida
   on exit goto 0; // Deshabilita el callback de salida
   on error goto label; // Cambia el manejador de errores. Se parsea y se executa, pero no se le da tratamiento de error por ahora.
   on error goto 0; // Deshabilita el manejador de errores.   
   resume; // no es funcional ahora, pero regresa al mismo punto que origino una llamada al manejador de errores, reintentando la operacion.
   resume next;  // no es funcional ahora, pero salta la instruccion del error y continua el flujo del programa normalmente.
   resume label;  // no es funcional ahora, pero sale del manejador de errores y continua el flujo del programa a partir de label.
- Se pasa el interprete a la bgdrtm, ahora con esto es posible llamar a funciones del usuario (codigo escrito en lenguaje Bennu) desde una dll.
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Junio 29, 2008, 02:57:50 pm
Interesantes novedades, ademas que casualidad justamente estos dias me he estado peleando con la gestiones de errores en delphi, y vas tu, y amplias el lenguaje hacia esta direccion, jejejejejeje, no me estaras leyendo la mente de forma insconciente?, saludos.


P.d: el programa en delphi es una utilidad para un juego que estoy elaborando, cuando vera luz?, uuuufffff mejor seria preguntarse si algun proyecto mio pasa de ser eso, un proyecto.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 29, 2008, 03:00:35 pm
;)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Junio 29, 2008, 10:44:41 pm
Se puede probar ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 30, 2008, 07:33:04 pm
Podria subir una version para probar, pero sigue estando sin video... si queres probar decime, tengo una version windows que se puede probar...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 01, 2008, 10:47:56 pm
Bueno, no podemos mover nada aun por la pantalla así que la satisfacción será menor, esperemos al video si no le queda mucho :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 03, 2008, 12:40:54 pm
Haciendo pruebas de performance, he notado que la nueva version de Bennu, es 40 veces mas rapido en procesamiento que la version WIP2...
Se realizo una prueba de 1000 procesos corriendo 1000 frames (o ciclos de ejecucion), con calculos de animacion pero sin render, tardando en realizarlo en la WIP2, unos 40 segundos... mientras que en la WIP6.2 unos 700ms... maquina dualcore 1.6 intel...
El mismo programa, renderizando con una libreria experimental opengl sobre SDL (no compatible con la vieja sintaxis y motor Fenix/Bennu) da unos 400fps en Bennu... mientras que la misma logica en C llamando a la misma libreria (modulo bennu) da unos 423fps... o sea, 1000 procesos rebotando y cambiando su grafico en pantalla (animacion), un total de 1000 frames... demas esta decir que al usar opengl, en un sistema dualcore, hace uso de los 2 procesadores para el render... es una caracteristica del opengl...

PD: Olvide decir que las pruebas fueron con 1000 graficos 32x32x32... con 40 cuadros de animacion cada uno...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Julio 03, 2008, 02:16:45 pm
No esta nada mal  B-0........|  :o :o
Título: Re: Avances, Diario de...
Publicado por: Prg en Julio 08, 2008, 12:00:42 pm
disculpa, ¿cuándo podremos probar el bennu wip 4 para programar? y ¿Habrá cambios en cuanto al lenguaje y la sintaxis de las funciones?, ¿se necesitará el declare todavía? y ¿en verdad utilizará 32b en gráficos? gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 08, 2008, 12:19:41 pm
De momento esta un poco parado el desarrollo, estas ultimas semanas estuve complicado...

Ya voy por una WIP6.2, que envio a ciertos usuarios que me ayudan con pruebas... para el video todavia falta un tiempo... las versiones actuales no tienen librerias graficas... es todo procesamiento y alguna libreria experimental de algunos usuarios... pero no compatible con lo que estamos acostumbrados...

Si te interesa usar la WIP6.2 (sin libs graficas) puedo pasartela o subirla, pero si no la van a usar, es mejor esperar...
Título: Re: Avances, Diario de...
Publicado por: Prg en Julio 09, 2008, 07:57:54 am
ok, gracias, creo que mejor espero.¡Que sea una verdadera sorpresa el final!. :)  Bueno, entonces continuaré con la versión que tengo, creo que el wip 2. Gracias amigo.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 23, 2008, 04:13:20 am
Ualaa, cuantos dias sin noticias ya.
Que, de vacas ya no?. :D , que suerte.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 23, 2008, 04:22:06 am
Hola...
Aca no hay vacaciones... tuve un poco de trabajo... y bueno, ahora otros problemas que me han bajado el animo un poco...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 23, 2008, 04:45:23 am
Ah, ok, pues nada, a ver si se soluciona todo bien.
Venga ánimo.
Saludos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 23, 2008, 04:53:16 am
Los problemas son de publico conocimiento... No hay solucion, solo tiempo para que pase el bajon...
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 23, 2008, 06:47:40 am
Bueno, yo creo que lo más inteligente es partir peras y se acabó.
Que cada uno vaya por su lado y punto. Está visto que estar en un mismo sitio (Divsite) con tantos problemas absurdos no tiene ningún sentido. Que Bennu tenga su foro y su web, y que Gemix haga lo que quiera por su lado. Y que la gente, libremente, escoja dónde y con quién quiere estar. Porque Fénix -el vínculo de unión- tal como yo lo veo está un poco muerto. Y ningún problema: todos amigos pero cada uno en su casa.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 23, 2008, 07:27:07 am
Otra cosa no queda, pero sinceramente me siento mal porque defraude a todo el equipo de moderacion... porque hicieron un trabajo tremendo con el foro, sin olvidad la cantidad de veces que, yo particularmente, limpie el ftp/site de hackeos, incluso parche el sistema de foro en muchos lugares para mejorar la seguridad y agregarle caracteristicas, y muchas otras cosas mas... hace 2 años atras el foro era algo inhabitable, un caos... todo el equipo hizo posible que ahora sea un lugar donde se puede participar, y en vez de un agradecimiento o apoyo, lo unico que se obtuvo fue un quite de permisos de golpe y porrazo, sin previo aviso, sin aunque sea, una ayuda para corregir aquello que se consideraba que se estaba haciendo mal... el mensaje recibido, fue el de "les quito todo porque hicieron todo para el culo...", y la verdad que no fue asi... ninguno del equipo se merecio esto... y yo me siento responsable de haberlos defraudado, por darles algo que luego se les quito sin ver siquiera todo lo que se hizo positivamente... pero bueno, quizas haya intereses mayores de por medio (personales en algunos, economicos en otros)... y no hay nada que hacerle a esto...
Sinceramente me afecto mucho...
No quiero hacer de este post un flame... aunque ya seguro habra quien quiera hacerlo...
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Julio 23, 2008, 10:34:53 am
 ;D, adelante

Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Julio 23, 2008, 02:07:25 pm
Ni caso tu, pasando de esa gente de cuyo nombre no quiero acordarme, el foro de bennu es tu casa, y el que quiere de verdad tu trabajo, a ella viene, la verdad es que migre hace poco a bennu wip 2, y no me arrepiento para nada, por cierto haciendo un poco off-topic, he batido mi propio record ya llevo 2 meses y medio con un mismo proyecto, pero me esta costando un pelin, por que estoy paralelamente desarrollando las herramientas necesarias para la edicion de los datos que usara mi programa, bueno en fin, gracias de corazon por tu trabajo, y pienso seguir preguntando mis dudas por aqui.

Título: Re: Avances, Diario de...
Publicado por: Prg en Julio 23, 2008, 03:46:04 pm
amigo, no entiendo muy bien lo que está pasando, pero todos te apoyamos, levanta ése semblante, y alégrate, que el tiempo frente a la pc es corto y hay que saberlo utilizar, ja ja ja, alégrate amigo, y que la codicia o la oposición ajena no te afecte.  :)
Título: Re: Avances, Diario de... (retomando la senda)
Publicado por: SplinterGU en Julio 29, 2008, 05:44:57 pm
Bien, despues de un tiempo parado, he decido retomar la senda perdida... y he retomado el engine grafico, pero con un cambio de planes, he dejado de lado lo que estaba haciendo, porque era un poco ambicioso y la verdad que me urge liberar una version con fuentes lo mas rapido posible, asi que he tomado la version mas vieja (Bennu) del modulo grafico, sin grandes cambios de los nuevos (32 bits por ejemplo) y empece a trabajar en ello.
Sí he quitado todo lo referente a mapas animados, tambien fgc, fpl, y los nuevos formatos de archivos, no es que estaban mal, pero el soporte de algunos estaba incompleto y tambien algunos pensados en la filosofia de animacion, asi que como no se incluiran mapas animados, esto no tiene sentido...
Quizas se incluya soporte 32 bits en esta version, quizas no... pero si en alguna futura version...
Por ahora no hay muchos avances que anunciar al respecto, solo que volvi a las pistas...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 29, 2008, 11:16:55 pm
Me parece perfecto. Será una versión "fenix" con dll separados, cientos de bugs corregidos y algunas mejoras funcionales. Espero ansioso el nuevo bennu  :D.

Por cierto, sería estupendísmo que se hiciera un subversion con los fuentes y poner un IDE oficial de desarrollo (por ejemplo codeblocks,o eclipseCDT. Entre otras muchas cosas porque te abstraen de los makefiles sin necesidad de usar ni automake ni cmake y solo te preocupas de los fuentes y te ayudan a sincronizarte o subir y bajar comodamente a subversion).
Así se podría ampliar el número de programadores en activo y cada uno dedicarse a tareas distintas y siempre tener una rama de fuentes estable y otra de desarrollo. Y los no programadores podrían descargarse en cualquier momento versiones inestables de desarrollo para ver avances (o bugs) sin necesidad de esperar que se suelten unos binarios.

Saludos.
Título: Re: Avances, Diario de...
Publicado por: animanegra en Julio 30, 2008, 03:57:40 am
"la verdad que me urge liberar una version con fuentes lo mas rapido posible"
AMEN, espero desde hace mucho tiempo con ansia. Ya sabeis que mi credo impide el uso de programas que no acompañen fuente  :P

Espero que deis cobijo en este santo foro para gente que aun no usa bennu pero que siente aprecio por la gente de esta iglesia :D

Animos y que sepais que si necesitais gente para hacer determinadas librerias o para cualquier cosa, si puedo hechar una mano la hechare con sumo gusto. ;)
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 30, 2008, 06:15:18 am
Celebro que vuelvas a la senda!!
Yo estoy de acuerdo dcelso que no sería mala idea tener un gestor de versiones público... Tampoco hace falta matarse mucho: en sourceforge ya vale, no? Y lo del entorno, me parece que tú usas Ultraedit, verdad? Bueno, tampoco creo que sea lo más importante, cada uno que haga lo que quiera...pero el hecho de tener las fuentes a mano, realmente es algo que merecería mucho la pena, y quién sabe si se une alguien más al proyecto...

*Yo creo que para que la cosa empiece a despegar se necesitaría publicar (porque yo reconozco que ando perdido) la versión "estable" de Bennu, y la de desarrollo, y ADEMÁS, empaquetar (aunque sea de forma oficiosa) toda esta pléyade de DLLs que están flotando por ahí, si puede ser también con su código fuente.
*Luego, ya puestos a pedir, una interfaz gráfica multiplataforma para los comandos de consola de manipulación de FPGs/FNTs/PAL sería la repera.
*Y un IDE de Bennu (o varios) multiplataforma también (al estilo BennuPack, pero para Linux también!!).De hecho, en la búsqueda de IDEs para Fénix que funcionen en Linux (no haaaaayy!!!?) he encontrado uno programado por Semitex llamado FPadSharp, que no lo he probado, pero que viene con las fuentes y está programado en .NET (Mono) y GTK+. Me lo tengo que mirar, pero si resulta factible, estaría muy chulo si se pudiera integrar ya dentro de algún pack, junto con el Flamebird y tal, no? Por aquello del multiplataforma y eso... 
*Tema aparte es el de la documentación, que yo ya sabéis que me puedo comprometer a escribir algún manualillo como el de Fénix, cuando esté más o menos todo esto que digo.

Venga, que vaya bien el lío.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 30, 2008, 07:17:31 am
Exacto, esto no es mas que Fenix con las mismas funcionalidades separadas en dlls, y obviamente, funcionalidades nuevas y diria que varios cientos de bugs corregidos, tantos que deje de anotarlos... Asi como el Gaim, paso a nombrarse Pidgin... este proyecto es "Fenix, nombre clave Bennu Game Development" (aunque algunos se esfuercen en convencer al resto de lo contrario)

Con respecto al SVN, ya tenemos el sourceforge para eso, aunque tambien se baraja la posibilidad de hacer uno tambien (adicionalmente) en este site...

No esta en planes hacer un IDE oficial, pero si esta en mis planes hacer plantillas para integrar diversos IDEs (o editores que den funcionalidad adecuada para programadores), y asi cada uno puede adaptar su IDE favorito que ya use para otras cosas a Bennu... para esto, tambien se esperan colaboracion de los usuarios... y todo esto operable a traves de algun instalador (que puede estar escrito en Bennu).

En cuanto a la documentacion, cosa muy importante, yo suministrare (o quizas algun otro si se atreve) documentacion de estilo tecnico, resumida pero detallada... y documentacion y diagramas a nivel interno... (todo esto de la documentacion seguramente no saldra con la primera release, sera en una etapa posterior, aunque algunas cosas ya se estan liberando). No voy a hacer un manual tipo curso para iniciados, asi que un osk-manual al respecto seria algo grandioso.

Con respecto a la distribucion, sera en 3 paquetes bien delimitados:
- Core (bgdc, bgdi y bgdrtm)
- Modules (todos los modulos oficiales)
- Tools (fpg, map, moddesc,...)
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Julio 30, 2008, 07:45:09 am
bien, bien, bien, ansioso a migrar de nuevo a la proxima wip de bennu, y ansioso de ir cazando bugs sobre la marcha (aunque a veces el bug soy precisamente yo, pero mi yo-bug lo machaco con mi yo-depurador).

 
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 30, 2008, 09:00:18 am
Genial!! :D
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Julio 31, 2008, 07:53:52 am
YA QUE estan tocando el tema, el ide hecho en fenix
porque no liberan el codigo y yo continuo su desarrollo
ya que permitia la edicion de textos grandes (campos memo)
menus, listas ,etc

no se a ver si se animan los autores y se termina en bennu
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 31, 2008, 08:03:40 am
a que IDE hecho en fenix te referis? al "Black Pearl IDE"? si te referis a ese, Phreak lo esta haciendo, y lo paso a Bennu, al final decidio reescribir nuevamente el GUI grafico, y el editor es rapidisimo, moviendose en un archivo como de 30mb (algo exagerado) se mueve mas rapido que cualquier editor windows, incluido el Ultraedit... pero bueno, quizas deberias ponerte en contacto con el y ver si puedes colaborar con el... o lo que sea... cuando lo vea le comento muestro este post...
Título: Re: Avances, Diario de...
Publicado por: blostec en Julio 31, 2008, 12:19:40 pm

He estado un tiempo alejado de este foro por motivos personales y me alegra ver que el proyecto sigue adelante. Lamento las movidas que has tenido en divnet. Animo Splinter!! Saludos :)
Título: Re: Avances, Diario de...
Publicado por: Phreak en Julio 31, 2008, 05:14:40 pm
El IDE va encaminado, pero le falta mucho...
Si hay alguien interesado en ayudar muyy bienvenido sea...
El codigo esta muy prolijo y comentado, no creo que sea dificil de entender.
Cualquier cosa mi mail: gal_head@hotmail.com
Saludos
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2008, 04:50:47 am
Se corrigen comparaciones entre expresiones flotantes, cuyos valores son indeterminados, este bug se arrastra desde la 0.84a

ejemplo:

[code language="bennu"]
begin

     say (0.93 == 0.93); // (un)comment this line

     if (0.93 == 0.93)

          say ("true");

     else

          say ("false");

     end

end
[/code]

Tambien se corrige todo el tema del uso de directivas de preprocesador (esta vez espero que definitivamente), donde nunca funcionarion correctamente #if*, #else, #endif, encadenados.

Temas graves.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 05, 2008, 08:10:14 pm
En prueba, los siguientes nuevos modulos:

libblit.dll
libdraw.dll
libfont.dll
libgrbase.dll
libmouse.dll
librender.dll
libtext.dll
libvideo.dll
libwm.dll

mod_draw.dll
mod_map.dll
mod_path.dll
mod_text.dll
mod_video.dll
mod_wm.dll

- Soporte Vsync (con y sin limitacion a la velocidad del refresco del monitor, normalmente 60 fps)
- Eliminados limites de resolucion de pantalla
- Soporte de mapas y fps a 32 bits.
- Correccion en el comportamiento de espera o salto de fps... antes (en Fenix y WIP2) no era correcto, y trabajaba sobre el tiempo que tardo en completarse el ultimo frame... con lo que solo se ajustaba 1 salto, y por consiguiente no se alcanzaba la velocidad deseada.
- Correccion en el cambio de modos de video y la paleta de los graficos de 8 bits cargados.
- No se corrompe mas el fondo al cambiar de modo de video, incluso entre diferentes profundidades.
- Ya no se utilizan mas 2 fondos (8 y 16 bits), hay 1 fondo unico como debe ser, con su propia profundidad de colores.
- Optimizaciones varias tanto en grafico, como en procesamiento.
- Muchos otras mejoras y agregados que ire comentando luego.
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Septiembre 06, 2008, 05:16:55 am
recuerda realizar backup en un medio externo (web,cd,etc)

 ;D
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 06, 2008, 05:53:07 am
Esto...
- Correccion en el cambio de modos de video y la paleta de los graficos de 8 bits cargados.

Es el problema que te comente de que si ponias un grafico de 8 bits y le hacias un load_pal y seguidamente hacias un set_mode y se quedaba la pantlla en negro con bennu colgado??? Si es asi OLE!

PD: A ver si sale pronto la primera version.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 06, 2008, 09:51:15 am
Esto...
- Correccion en el cambio de modos de video y la paleta de los graficos de 8 bits cargados.

Es el problema que te comente de que si ponias un grafico de 8 bits y le hacias un load_pal y seguidamente hacias un set_mode y se quedaba la pantlla en negro con bennu colgado??? Si es asi OLE!

PD: A ver si sale pronto la primera version.

No estoy pudiendo reproducir el error en la version anterior, no tenes a mano el ejemplo? a ver si se corrige esto en la nueva?

EDIT: Si, ya lo pude reproducir, ya no pasa eso.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 06, 2008, 01:21:35 pm
Bueno, tuve que cambiar unos de los comportamientos...

habia hecho que se mantenga el fondo aunque cambies de resolucion o profundidad, pero claro, el blit no soporta dibujar mapas de 16 sobre mapas de 8 bits (si a la inversa), entonces ese funcionamiento era confuso, porque en algunos casos iba bien ( 8 a 16 ) pero en otros no ( 16 a 8 )... entonces ahora hice que solo se mantenga el fondo mientras no se cambia alto, ancho, o profundidad, en todos los otros casos se mantiene, o sea, que se puede hacer un full_screen o window_mode o incluso poner o quitar un modo escalado y se mantiene el fondo, cosa que antes no se podia...

No se si lo comente, pero ahora el scale se puede hacer a cualquier resolucion...
Título: Re: Avances, Diario de...
Publicado por: Prg en Septiembre 06, 2008, 05:48:23 pm
wow, esto se ve muy bien  :), y me alegro que se corrijan lo del path_find, ya que si la función se llamaba y uno de los puntos de búsqueda estaba en una zona blanca, el juego se trababa. Y también considero que los ángulos deberían de ser float (no se si lo sea, pero el trabajar con milésimas sigue siendo impreciso en ángulos muy pequeños) para evitar los problemas de trabajar con ángulos muy pequeños.
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 07, 2008, 05:40:11 am
No se si lo comente, pero ahora el scale se puede hacer a cualquier resolucion...

Una gran noticia, buen trabajo Splinter!  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 12, 2008, 03:15:08 pm
nueva version disponible...

http://betatester.bennugd.org/betas/
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 02:51:53 am
Tras una ardua noche de trabajo, voy a comentar las novedades...

Estuve con el port a linux... y me encontre con unos cuantos problemas...

1) tuve que escribir una nueva implementacion sobre la dlopen, ya que la maldita dlopen cuando uno hace una dll que usa otras dlls y pide un simbolo de la primera dll, la dlopen busca el simbolo en la dll creada y si no lo encuentra (aunque mas bien creo que retorna el primero cargado) en las subsiguientes... y no hay forma de decir, que no haga eso... y por ende muchas de las funciones declaradas por otros modulos eran vistas y ejecutadas por el principal... asi que tuve que parchar la dlopen, escribiendo un wrapper encima...

2) quizas parte del comportamiento anterior, una vez solucionado que solo importe los simbolos de la dll en curso, empece a probar y si bien ahora cargaba todo adecuadamente y el interprete hacias las cosas como debian ser, el maldito linker (o el modulo de runtime del operativo) asociaba todas las referencias a las tablas que se llamaban iguales pero eran locales (y exportables) al primero cargado desde una dll... (concretamente me refiero a las estructuras fixup, que son necesarias que cada una sea local)... yo se que diran que eso no se debe hacer, pero que va, si yo quiero trabajar en un ambito local exportable, porque el tipo tiene que asumir que yo quiero que la variable sea una sola?

Bueno, tras maldecir a linux (ya que windows se porto como un señorito frances)... me vi obligado a reeplantear y a modificar todo el sistema actual de dll, y publicacion de servicios, funciones, etc...

Si bien no es un gran cambio externamente, si tuve que escribir bastante...

bueno, ahora todos los simbolos que interactuan con el core de bennu, deben ser prefijados con el nombre del modulo + un "_". por ejemplo, supongamos que la lib libkey exportaba module_initialize, ahora debe exportar libkey_module_initialize (todo en minusculas, claro esta eso)... esto tambien obliga a que los accesos a variables ahora requieran un nuevo parametro, por ejemplo... un GLODWORD(a), ahora es GLODWORD(libkey, a)... libkey siguiendo el caso de la libkey, pero puede ser cualquier nombre de modulo y define el ambito de referencia... (fixups)

prepare macros para hacer un poco mas homogenea la cosa...

__bgdexport( module, variable/funcion)

por ejemplo

char * __bgdexport( libkey, modules_dependency )[] =
{
    "libsdlhandler",
    NULL
};
 
o

void __bgdexport( libkey, module_finalize )()
{
return;
}

espero sepan disculpar las molestias, pero todo esto es por el putisimo linux... maldito linux...

ahora tengo otro problema y es que la maldita sdl no me crea el surface de video... quizas el linux que tengo no es compatible con la version de sdl que tengo o vaya uno a saber... ya veremos que pasa...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 03:24:21 am
Demas esta decir que si bien el cambio fue grande y violento, esto no afecta a los dcb ya compilados con la 7.5... siguen funcionando con las nuevas dlls...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 14, 2008, 06:02:56 am
Vaya Splinter, siento que linux te haya dado tantos problemas :(. En fin, aunque no escriba mucho, está bien ver que bennu avanza.
Supongo además que si andas ya con el port a linux es porque estás cerquita de la release.
En fin, ánimo y gracias por el curro.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 08:03:59 am
hola, me laegra leerte nuevamente, luego del ultimo mail donde te mande una version de los fuentes del core, nunca supe mas nada de vos....
bien, yo diria muy cerca, aunque voy a dejar muchas cosas para luego de la release, como por ejemplo, las mejoras finales al render o mejor dicho el nuevo render optimizado (ya lo tengo diseñado, pero bueno, tengo que escribirlo)... por ahora esta mejorado, pero no son las mejoras finales... tambien optimizaciones en general y toda la normalizacion de los nombres de funcion a PREFIJO_funcion... (con compatibilidad a lo existente)...
otra capa grafica que trabaje directamente a nivel SDL, otra opengl... puf, hay mucho trabajo... mucho... pero bueno, todo eso despues de liberar la release actual (y tomarme un pequeño descanso)... que no falta mucho...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 14, 2008, 08:39:49 am
Jeje, perdona. Como me pediste que no comentara nada, lo estuve mirando y me callé :)
En fin, mucho ánimo, acaba con la release y date un descanso, que te lo has currado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 09:04:11 am
:)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 09:41:42 am
Se agregaron 4 nuevas funciones a la mod_joy (thanks Sandman)

JOY_NUMHATS
JOY_NUMBALLS
JOY_GETHAT 
JOY_GETBALL

Tambien por sugerencia de Sandman se optimizo la funcion abriendo los joysticks solo en el momento de inicializacion, ya que de todas formas la SDL solo los detecta cuando inicializa...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 14, 2008, 07:17:56 pm
Bien, debo decir que los cambios de anoche sobre la version linux, dieron resultados positivos... sin tener que tocar nada mas que el tema de las malditas librerias dinamicas en linux, bennu funciona de maravillas, y ejecuta los mismos dcb compilados en windows...

Un exito...

El problema con la SDL era el maldito Suse, ni siquiera funcionaban los samples que vienen en la SDL... asi que ahora compile todo y probe en un DSL linux en una VM, chiquito y rapido... voy a hacer unas pruebas mas y luego subire los nuevos paquetes tanto de linux como de windows...

luego resta modulo scroll y modulo m7... a todo esto, interesa el modulo m7? alguien lo extrañaria si no fuera incluido?

PD: http://www.damnsmalllinux.org/index_es.html
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 14, 2008, 11:21:18 pm
SplinterGU:
"luego resta modulo scroll y modulo m7... a todo esto, interesa el modulo m7? alguien lo extrañaria si no fuera incluido?"

a ver, aunque el m7 no evolucione, esta bien que se quede como esta (sin bugs claro) por ser una forma distinta al 2d y al m8(3d) de hacer un paisaje/juego/etc.

Mi voto es que se quede.
Título: Re: Avances, Diario de...
Publicado por: animanegra en Septiembre 15, 2008, 01:53:49 am
Yo creo que esta bien que se quede. Pero que si se saca la release sin el modo 7 por ahora pues prefiero que salga antes la release y poder usar bennu que se demore mas la salida de bennu. Es solo una opinion. (Por cierto que no he visto el link a la release de bennu para linux, ¿soy yo o esque aun no ha salido?)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 05:27:56 am
aun, no ha salido, ya que he tenido algunos problemas con dicha version, pero creo que se debe a faltas de .so en el operativo, tengo que debuguear, pero me pase toda la noche limpiando los "warnings" de compilacion y haciendo pruebas...
el tema es que funcionan ejemplos, como el de flic, scroll_test (tileado), pero no funcionan win-to-full, grbrowser (que es un browseador de graficos contenidos en un directorio haciendo miniaturas), ni un test de angulos, funcionar funcionan, pero no aprece nada en pantalla... pero tengo que entrar a debuguear el codigo a ver que pasa...

tampoco esta la nueva version windows... ya saldran los 2 paquetes...

esto de dormir 2-3 (ocacionalmente 4) horas por dia desde hace un mes, me esta matando... pero bueno, dejar temas inconclusos no me deja dormir...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 06:20:19 am
Decir que soy un idiota es ser generoso...

Los ejemplos no funcionaban por las mayusculas/minusculas de los archivos... siempre recomiendo atencion a eso, y se me pasa a mi... :P

Me pase toda la noche recompilando, je, bueno, o vino demas...

igual quedan 2 temas, no aparecen los write y tampoco veo los draw... espero que no sea nada complicado de rastrear...
Título: Re: Avances, Diario de...
Publicado por: animanegra en Septiembre 15, 2008, 09:06:45 am
Sigue el consejo de arquimedes y date un baño. :D A veces se gana mas relajando y dejando la mente libre que intentando meter mas horas sin descansar. ;-)

Muchos animos, que yo tambien me he tenido que pegar temporadas de no dormir... y se pasa mal
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 10:38:10 am
Linux version 100% working!!!

El error con los write era que tenia mal prefijados los simbolos exportados por la libfont, los tenia como mod_font... :P

y luego corregi la implementacion glob sobre linux, ya habia hecho lo propio en la version windows, restaba la linux...

100% working, lo importante es que toda la logica elaborada no tuvo que ser modificada solo tema de exportacion y pavadas menores descriptas en este diario...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 11:28:05 am
WIP8 Windows y Linux disponible

http://betatester.bennugd.org/betas
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 15, 2008, 12:22:13 pm
Le estoy echando un ojo, pero veo que en Ubuntu Intrepid (8.10, aún en desarrollo) funciona el ejemplo win_to_full. Sólo está el tema de las mayúsculas (el código hace referencia a globe8.PNG y el fichero el globe8.png). Pasa algo parecido con fondo_8.png.
La funcionalidad, eso sí, está bien. Voy a probar con código viejo, a ver qué tal :)

[Edito] Y va a unos 180fps con compiz activado en modo ventana.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 12:27:25 pm
si, corregir las mayusculas y minusculas, no lo hice en los ejemplos que subi al ftp... es cierto...

anda eliminando y poniendo cosas, con f1 tenes el help, y tambien hay cambios con la simple linea de f1-help o sin esta... los fps que consumen los textos sos horribles... pero bueno, ya se optimizara...

gracias por probar...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 15, 2008, 12:31:27 pm
Sí, eso funciona sin problemas: incluso mover la ventana, que supongo que puede ser muy problemático.
El escalado también funciona.... En esa demo todo funciona sin problemas :)
Título: Re: Avances, Diario de...
Publicado por: osk en Septiembre 15, 2008, 12:31:57 pm
Ese ahíiííííí!!!
Pues yo uso un Suse y el win-to-full no me va, aunque estoy seguro que es por un error estúpido mio. Básicamente al compilar me dice:

win-to-full.prg:2: error: Library "mod_proc.so" not found ("mod_proc")

cuando es evidente que la librería sí que está. He copiado todo el juego en la misma carpeta donde está el compilador pero da el mismo error...¿El setvars.sh influye en algo...?

Muchas gracias!!!
 
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 12:37:15 pm
export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):<path donde estan las librerias bennu>

o hay un archivo en el /etc que ahora no recuerdo como se llama que se pueden agregar los paths de las librerias dinamicas... lamentablemente en la mierda de linux, no se pueden cargar las librerias dinamicas especificando un path, el path debe estar registrado por el sistema...

si, fijate el setvars.sh, lo deje a modo de ejemplo...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 15, 2008, 12:38:28 pm
osk, tienes que añadir el directorio bin a las variables de entorno LD_LIBRARY_PATH y PATH (el setvars.sh hace eso, pero para un path predefinido). En general el siguiente código funcionará, siempre que lo ejecutes desde el directorio "bin" donde estén los ejecutables de Bennu y las librerías:
Código: [Seleccionar]
export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH
export PATH=$(pwd):$PATH
Por cierto, que el ejemplo de los flic tira sin problemas también.

Echo de menos cabeceras para poder compilar mis librerías antiguas (o mejor, el código fuente :))
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 12:41:13 pm
probaste el escalado, rotacion y moviento de los flics? me parecio interesante incluir esas caracteristicas...
Título: Re: Avances, Diario de...
Publicado por: osk en Septiembre 15, 2008, 12:45:42 pm
Muchas gracias!!!!

Ahora funcionó de maravilla!!
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 15, 2008, 12:49:11 pm
Splinter: Todo va sin problemas, he tocado todas las teclas que pone en la ayuda :).
A primera vista, diría que has hecho un trabajo genial :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 12:56:37 pm
gracias... se hizo esperar y dio mucho trabajo, no por lo complicado, sino por la cantidad de trabajo... y eso que todavia faltan muchas cosas por incluir y mejorar...
pues bien...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 15, 2008, 01:22:36 pm
El juego Bloqueado (http://forum.bennugd.org/index.php?topic=157.0) tira sin problemas (he tenido que añadir unos mod_*, pero poco más).
Uno de los screenshots tiene un contador de fps:

(http://lh5.ggpht.com/josebagar/SM7RNyIXR4I/AAAAAAAAHgE/xW4bZid-hYc/s512/Pantallazo-bloqueado-2.png)
(http://lh3.ggpht.com/josebagar/SM7RNlUWZMI/AAAAAAAAHf8/7lZktzFdF1o/s512/Pantallazo-bloqueado-1.png)
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 15, 2008, 01:31:01 pm
Acabo de bajar la wip 8 para windows. Tengo problemas al compilar un proyecto que incluye una dll propia.
En la 7.5 funciona perfectamente bien:

player.inc:75:error:Undefined procedure ("check_side")

Check_side es una funcion de la dll.Dejo el codigo de la dll:
Código: [Seleccionar]
#include <stdio.h>
#include <bgdi.h>
#include <bgddl.h>
#include <math.h>

static int *Tiles;
static int Map_width;//ancho del mapa en columnas
static int Map_height;//altura del mapa en filas
static int aux;

static int bgd_collision_init (INSTANCE * my, int * params){
    Tiles = (int *)params[0];
    Map_width = params[1];
    Map_height = params[2];
    return 1;
}

int bgd_check_down(INSTANCE * my, int * params){ 
    params[0] = (int)((params[0]+1)/32);
    params[1] = (int)((params[1]-1)/32);
    aux = (int)(params[2]/32)*Map_width;
    for(;params[0] <= params[1];params[0]++){
        if(Tiles[params[0]+aux]){
            return -params[2]%32;
        }else if(params[0] == params[1]){
            return 0;
        }
    }                             
}

int bgd_check_up(INSTANCE * my, int * params){ 
    params[0] = (int)((params[0]+1)/32);
    params[1] = (int)((params[1]-1)/32);
    aux = (int)(params[2]/32)*Map_width;
    for(;params[0] <= params[1];params[0]++){
        if(Tiles[params[0]+aux] == 1){
            return 32-params[2]%32;
        }else if(params[0] == params[1]){
            return 0;
        }
    }                             
}

int bgd_check_side(INSTANCE * my, int * params){ 
    params[0] = (int)((params[0]+1)/32);
    params[1] = (int)((params[1]-1)/32);
    aux = (int)(params[2]/32);
    for(;params[0] <= params[1];params[0]++){
        if(Tiles[aux+params[0]*Map_width] == 1){
            if(params[3] == 0){
                return -params[2]%32;
            }else{
                return 32-params[2]%32;
            }
        }else if(params[0] == params[1]){
            return 0;
        }
    }                             
}

DLSYSFUNCS  functions_exports[] = {
{ "COLLISION_INIT", "PII", TYPE_DWORD, bgd_collision_init },
{ "CHECK_DOWN", "III", TYPE_DWORD, bgd_check_down },
{ "CHECK_UP", "III", TYPE_DWORD, bgd_check_up },
{ "CHECK_SIDE", "IIII", TYPE_DWORD, bgd_check_side },
    { NULL          , NULL    , 0        , NULL             }
};
Tambien quiero comentar que desde la 7.5 tengo este warning:

librender:2: warning: Variable redeclared ("alpha_steps")

Un saludo
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 01:56:09 pm
tenes que prefijar functions_exports con el nombre de la dll, seguido de _, por ejemplo...

collision_functions_exports

lo del warning es solo un "warning" a nivel dlls, ignorarlo...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 15, 2008, 02:06:21 pm
Perfecto.Ademas ya no esta el problema con el map_clear.Gracias.
Título: Re: Avances, Diario de...
Publicado por: animanegra en Septiembre 15, 2008, 02:06:43 pm
Epa tragamanzanas en linux tambien compila y funciona perfectamente en bennu. Una cosa :D si no os quereis complicar para probar un juego:

for I in `ls mod_*`; do echo $I >> nombrejuego.imp; done;

y despues compilar y ejecutar.

PD: Esque no me queria complicar mirando cuales eran las librerias que debia meterle XD
PD2: enhorabuena!! al final dominaste al caballo!!! :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 04:41:05 pm
seguimos trabajando...
correccion en reasignacion de ids strings reciclados, lo mismo para los mapas...
en el caso de las strings hacia que los textos bajan mas lento que en fenix... ahora esta corregido...

pronto subire nueva version...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 15, 2008, 04:52:01 pm
Buenas.Encontre un posible pequeño bug. Si haces un define, que termine en ; y sin dejar espacio haces un comentario:

#define cosa a;//comentario

o si no pones el ;

#define cosa a//comentario

Tenes este error en el compilador:
La instruccion 0 en "0x7c920f29" hace referencia a la memoria en "0x00000000".La memoria no se puede "read".
Se soluciona dejando el espacio.El segundo caso es poco comun pero el primero no tanto.

Edito:
Pongo la linea en cuestion por que da otros problemas:

#define set_hitTester(a,b,c,d,e)  a._relx = b;a._rely = c ;a.size_x = d*10;a.size_y= e*10;a._attack = 0

Aca la linea en la que lo uso:

 (linea 339) set_hitTester(hitTester_id,20,-30,10,20);

Si multiplico d*10 y e*10 no compila: Invalid Character ("HITTEST") (linea 339)
pero si multiplico solo uno compila bien.
Hay otro error que no he podido recrear, con las mismas lineas, pero la salida era: Unknow identifier ("_r")  (linea 339)
lo cual no tiene ningun sentido.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 15, 2008, 06:07:18 pm
los voy a revisar... y te digo... gracias...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 06:27:15 am
Buenas.Encontre un posible pequeño bug. Si haces un define, que termine en ; y sin dejar espacio haces un comentario:

#define cosa a;//comentario

o si no pones el ;

#define cosa a//comentario

Tenes este error en el compilador:
La instruccion 0 en "0x7c920f29" hace referencia a la memoria en "0x00000000".La memoria no se puede "read".
Se soluciona dejando el espacio.El segundo caso es poco comun pero el primero no tanto.

Edito:
Pongo la linea en cuestion por que da otros problemas:

#define set_hitTester(a,b,c,d,e)  a._relx = b;a._rely = c ;a.size_x = d*10;a.size_y= e*10;a._attack = 0

Aca la linea en la que lo uso:

 (linea 339) set_hitTester(hitTester_id,20,-30,10,20);

Si multiplico d*10 y e*10 no compila: Invalid Character ("HITTEST") (linea 339)
pero si multiplico solo uno compila bien.
Hay otro error que no he podido recrear, con las mismas lineas, pero la salida era: Unknow identifier ("_r")  (linea 339)
lo cual no tiene ningun sentido.

revise estos errores y a mi no me pasan, seguro tienen que ver con la expansion del comando, pero no pude reproducirlos, los use, pero no paso nada... tiene sentido que me digas que esto te paso en la wip2, pero en estas versiones lo dudo, porque recuerdo claramente haber corregido el tema del con/sin espacio...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 06:40:32 am
estuve trabajando en los bugs de rotaciones y en acelerar el dibujado en pantalla...
el eterno error de las rotaciones ya esta corregido... se debia principalmente a un problema de precision de calculos al usar ints, ahora pase algunos campos a float, elimine codigo innecesario, pero supongo que ahora algunos casos el dibujado podria ser mas lento... aun queda una diferencia de desplazamiento de 1 pixel con respecto al grafico sin rotar y el grafico rotado, todavia tengo que hacer un analisis mas detallado y ver si lo que falla es el blit rotativo, el blit normal, o el calculo de los vertices (quizas esto tambien sea parte de otro problema que tengo y explicare mas abajo en este post)...
tambien acelere el tema de los dibujado de textos en pantalla, en los casos de numeros enteros, hice una nueva funcion que es un 800% mas rapida la conversion de numeros a texto con respecto a la funcion de C... (lo que no quiere decir que los textos se dibujen un 800% mas rapido, pero todo cuenta)
tambien en la version actual se me escapo algo, que al restaurar el fondo de pantalla y si el dump es = 0, restaura siempre el fondo, por eso no hay una mejora significativa con respecto a versiones anteriores que si lo hacen, aun asi, el rendimiento en la mayoria de los casos es mejor, con este cambio nuevo, en circunstancias de resposo obtuve un rendimiento de 102000 fps cuando antes obtenia con la misma prueba unos 24000 maximo... en casos de varios procesos en pantalla, y uno con actualiaciones, obtuve rendimientos 3500fps donde antes eran 670... pero me esta quedando alguna basura en el video que tengo que corregir y no logro detectar aun la cirscuntancia, pero mientras estaba escribiendo este texto se me ocurrio posibles motivos...
Título: Re: Avances, Diario de...
Publicado por: Prg en Septiembre 17, 2008, 07:39:27 am
Felicitaciones Splinter, esto se ve muy bien. Que bien que ya está lo de los ángulos. Y la velocidad que has alcanzado me impresiona bastante. Felicidades.  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 08:14:21 am
Si, tampoco voy a mentir diciendo que esas velocidades son en todos los casos, se logran mejoras de rendimiento cuando hay procesos estaticos (sin cambio en ningun aspecto) y procesos con cambios frecuentes... si todos los procesos se mueven o se actualizan constantemente no hay una mejora tan significativa, pero bueno, supongo que esto supondra una mejora en la mayoria de los casos...
Título: Re: Avances, Diario de...
Publicado por: JaViS en Septiembre 17, 2008, 08:42:29 am
estuve trabajando en los bugs de rotaciones y en acelerar el dibujado en pantalla...
el eterno error de las rotaciones ya esta corregido... se debia principalmente a un problema de precision de calculos al usar ints, ahora pase algunos campos a float, elimine codigo innecesario, pero supongo que ahora algunos casos el dibujado podria ser mas lento... aun queda una diferencia de desplazamiento de 1 pixel con respecto al grafico sin rotar y el grafico rotado, todavia tengo que hacer un analisis mas detallado y ver si lo que falla es el blit rotativo, el blit normal, o el calculo de los vertices (quizas esto tambien sea parte de otro problema que tengo y explicare mas abajo en este post)...
tambien acelere el tema de los dibujado de textos en pantalla, en los casos de numeros enteros, hice una nueva funcion que es un 800% mas rapida la conversion de numeros a texto con respecto a la funcion de C... (lo que no quiere decir que los textos se dibujen un 800% mas rapido, pero todo cuenta)
tambien en la version actual se me escapo algo, que al restaurar el fondo de pantalla y si el dump es = 0, restaura siempre el fondo, por eso no hay una mejora significativa con respecto a versiones anteriores que si lo hacen, aun asi, el rendimiento en la mayoria de los casos es mejor, con este cambio nuevo, en circunstancias de resposo obtuve un rendimiento de 102000 fps cuando antes obtenia con la misma prueba unos 24000 maximo... en casos de varios procesos en pantalla, y uno con actualiaciones, obtuve rendimientos 3500fps donde antes eran 670... pero me esta quedando alguna basura en el video que tengo que corregir y no logro detectar aun la cirscuntancia, pero mientras estaba escribiendo este texto se me ocurrio posibles motivos...

Uh maestro, por fin alguien se digno a ver esos errores!! son añejos!! XD


A proposito, no entiendo eso de q cuando cambias la resolucion el fondo no se dibuja.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 10:46:07 am
cuando hacias set_mode, el fondo se perdia, ahora solo se pierde cuando se hace un set_mode de dimensiones o profundidad de color diferente... en un principio habia hecho que no se pierda, pero en algunas combinaciones no es correcto ni conceptual ni practicamente, asi que solo se mantiene en casos de por ejemplo, querer cambiar a full_screen, esperar vsync, usar doublebuffer, scale, etc...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 17, 2008, 11:51:03 am
revise estos errores y a mi no me pasan, seguro tienen que ver con la expansion del comando, pero no pude reproducirlos, los use, pero no paso nada... tiene sentido que me digas que esto te paso en la wip2, pero en estas versiones lo dudo, porque recuerdo claramente haber corregido el tema del con/sin espacio...

En realidad me pasa usando la wip 8. Tengo problemas en los defines del principio.Quizas sea error mio. Fijate que si al primer define le pones un comentario se cuelga el compilador. Link del source
http://rapidshare.com/files/146124464/Bin-WIP8.rar.html
no compila sin cambiar el define de la linea 6 (RPG.prg)
y el define ese es usado en el Player.inc linea 346.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 01:27:42 pm
ahora si, no me da los mismos errores, pero me da errores, lo voy a revisar... gracias...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2008, 11:48:38 pm
revise estos errores y a mi no me pasan, seguro tienen que ver con la expansion del comando, pero no pude reproducirlos, los use, pero no paso nada... tiene sentido que me digas que esto te paso en la wip2, pero en estas versiones lo dudo, porque recuerdo claramente haber corregido el tema del con/sin espacio...

En realidad me pasa usando la wip 8. Tengo problemas en los defines del principio.Quizas sea error mio. Fijate que si al primer define le pones un comentario se cuelga el compilador. Link del source
http://rapidshare.com/files/146124464/Bin-WIP8.rar.html
no compila sin cambiar el define de la linea 6 (RPG.prg)
y el define ese es usado en el Player.inc linea 346.

Bien, costo pero salieron, eran 2 bugs, referentes a los defines... uno era un bug viejo y el otro era nuevo...
el error viejo se debia a que solo funcionan bien expansiones hasta 128bytes, ya que el expand hacia mal el calculo de la relocacion del espacio para la expasion del define.
el error nuevo, era que no se descartaban bien los comentarios en la expansion de defines...

luego subire una nueva version del compilador, ahora me voy a dormir un ratito... no doy mas...

gracias por el reporte...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 18, 2008, 08:32:54 am
No voy a subir nueva version de momento... para solucionar tu problema por ahora te recomiendo no hagas defines largos... y que no pongas comentarios en la misma linea del define... en unos dias sacare nueva version cuanto tenga depurado el tema del dibujado que veo alguna basura (parece ser que ahora es solo con los textos) en la nueva version optimizada...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 18, 2008, 08:34:26 am
Ok, no hay problema.Los defines no son de vida o muerte.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 18, 2008, 08:47:08 am
gracias, por cierto, esta muy bueno tu proyecto, muy simpaticos los personajes y muy buena animacion...

la verdad prefiero esperar un poco mas para la nueva version, salvo que sea un error que no deje progresar en los proyectos, asi agrego el scroll, corrigo un par de cosas que me gustaria tener resueltas ahora, y luego si sacar la primer release con fuentes... aunque se que luego hay muchas cosas por mejorar, corregir y completar...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 18, 2008, 08:58:58 am
Gracias. Sin dudas el punto mas flojo es el consumo de recursos, pero por el momento trato de tener un codigo mas ordenado y facil de entender.La optimizacion vendra despues.
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 19, 2008, 03:57:40 pm
Hola.Encontre unos problemas con los operadores bitwise uno de los operandos supera MAX_int. El primer caso siempre devuelve 0.El segundo 2147483903.


Program Ejemplo;
private
   dword var1;
   dword var2 = 2147483650 ;
end
begin
   full_screen = false;
   set_fps(24,1);
   set_mode(640,480,16);
   var1 = (var2 & 255);
   say(var1);
end

Program Ejemplo2;
private
   dword var1;
   dword var2 = 2147483904;
end
begin
   full_screen = false;
   set_fps(24,1);
   set_mode(640,480,16);
   var1 = (var2 | 255);
   say(var1);
end
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 19, 2008, 04:48:25 pm
el problema no esta en los bitwise, ni tampoco es un problema, el problema esta en el uso... en ambos casos estas superando el valor de un int, pero sin embargo escribis el numero como un int... para casos dword, los numeros para una correcta interpretacion deben ser escritos en hexadecimal... mira el siguiente codigo...

Código: [Seleccionar]
Program Ejemplo;

import "mod_say";

private
   dword var1;
   dword var2 = 2147483650 ;
end
begin
   var1 = (var2 & 255);
   say(var1);

   var2  = (dword)2147483904;
   say(var2);

   var1 = ( var2 | 255);
   say(var1);

   var2 = 80000002h ;

   var1 = (var2 & 255);
   say(var1);

   var2  = 080000100h;
   say(var2);

   var1 = ( var2 | 255);
   say(var1);

end

/*
max_int: 2147483647
*/

vamos a ver si puedo hacer algo al respecto
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 19, 2008, 05:03:10 pm
Eso no sabia.. Muchas gracias. Me gustaria comentar, aunque posiblemente ya lo hayas notado, que si el numero hexadecimal comienza con una letra, lo considera una variable y no compila.. pero se soluciona con un 0 adelante.¿Esto va a seguir asi verdad?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 19, 2008, 05:14:05 pm
otro ejemplo

Código: [Seleccionar]
Program Ejemplo;

import "mod_say";

private
   dword var1;
   dword var2 = 2147483650 ;
end
begin
   var1 = (var2 & 255);
   say(var1);

//   var2  = 2147483904;
   var2  = 2147483647 + 257;
   say(var2);

   var1 = ( var2 | 255);
   say(var1);

   var2 = 80000002h ;

   var1 = (var2 & 255);
   say(var1);

   var2  = 080000100h;
   say(var2);

   var1 = ( var2 | 255);
   say(var1);

end

/*
max_int: 2147483647
*/


la norma es que si empieza con una letra es variable, y que los numeros deben empezar con numeros...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 19, 2008, 05:24:52 pm
para mas datos...

si compilamos este programa en C

Código: [Seleccionar]
int main(int argc, char * argv[])
{
    double f = 2147483904;
    int i = f;
    int ii = ( int )f;

    printf ("%f\n", f);
    printf ("%u %x\n", i, i);
    printf ("%u %x\n", ii, ii);

}

da los siguientes resultados (acordes a lo que da bennu):

Código: [Seleccionar]
2147483904.000000
2147483648 80000000
2147483648 80000000

Bennu usa double para obtener el numero y luego lo convierte a int usando el casteo...
numeros fijos que superan el valor del dato es un tema delicado...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 19, 2008, 05:57:08 pm
ya se cual es el problema, el problema es que desde C, por lo menos desde GNUC, al castear un float que supera el valor del tipo de dato esperado, lo limita al valor maximo segun el signo de este, asi que lo solucione no usando float/double para tomar el dato numerico, en realidad uso los 2 a la vez, un float para floats y un int para ints...

y ahi parece funcionar adecuadamente, gracias...

No se si sera un bug del gcc o por norma es asi... pero bueno, es un poco problematico ese comportamiento... ahora me pregunto en que otros tantos lugares esto podria estar afectando...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 20, 2008, 09:34:25 am
Siguiendo el tema de las rotaciones, trabaje un poco mas en el tema, y ya quedo bastante preciso... tambien corregi un tema de marcado de dirtyrects, llegando a los limites de un rectangulo dirty, no era muy preciso y limpiaba/marcaba uno de los rects limitrofes, ya esta solucionado... por otro lado, corregi el temas de los espejados (MIRROR) estos no tenian en cuenta los angulos, solo hacian mirror de la textura... ya esta corregido... ahora el mirror es mirror... como debio ser siempre... ahora es posible crear de esta forma el efecto visto en muchos juegos de un piso espejado o un espejo en si... quizas esto provoque problemas a algunos juegos ya hechos, pero bueno, es era un bug...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 20, 2008, 05:56:23 pm
Siguiendo el tema de las rotaciones, trabaje un poco mas en el tema, y ya quedo bastante preciso... tambien corregi un tema de marcado de dirtyrects, llegando a los limites de un rectangulo dirty, no era muy preciso y limpiaba/marcaba uno de los rects limitrofes, ya esta solucionado... por otro lado, corregi el temas de los espejados (MIRROR) estos no tenian en cuenta los angulos, solo hacian mirror de la textura... ya esta corregido... ahora el mirror es mirror... como debio ser siempre... ahora es posible crear de esta forma el efecto visto en muchos juegos de un piso espejado o un espejo en si... quizas esto provoque problemas a algunos juegos ya hechos, pero bueno, es era un bug...

Bueno, sigo teniendo problemas con el blitter, creo que este capricho mio por aprovechar el que ya existe es un error, ya que no es tan preciso... ahora si le pongo size, cuando es 0 el angulo, y cuando hay ambos mirror, el grafico se corrompe... bueno, ya vere que pasa, pero me esta consumiendo mas tiempo del esperado...
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 21, 2008, 06:07:01 am

Gran trabajo el que estas haciendo. Tomate un descanso que te lo mereces  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 22, 2008, 11:00:38 am
En el site (Betas) hay 2 nuevos parches... que corrigen varios temas, como mapas, actualizaciones en pantalla, dirtys, files, strings...

nota, no usar librender por el momento, o si se usa, tener en cuenta que hay problemas con los fonts de 1bpp, esto se debe a un error en el blit de video con mapas de 1bpp, ya esta corregido, pero como el blitter todavia no esta al 100% sugiero no usarlo si se usan fonts del sistema para imprimir textos...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 01:30:17 am
Nueva wip9 disponible...

Se incluyen todos los fix a los bugs reportados, y otros cambios mas, entre los que destacan:

- fpg_save o save_fpg, con soporte de 8, 16 y 32 bits... (idem map_save o save_map)
- correccion a las rotaciones con escalado. bugs conocidos, al rotar o escalar, se le agrega un pixel de ancho a al dibujo, en mapas de 1pixel (ancho o alto) puede que en ocaciones no se dibuje al rotarlo o escalarlo. en cuento a todo lo demas referente al bliteo se mejoro.
- mejora de velocidad del sistema en reposo (sin cambios en pantalla o incluso con algunos cambios)
- mejora en el render de textos
- correcccion en el modulo de graficos png
- 32 bits parcial, se permite cargar mapas de 32 bits, setear modo de video y algunas operaciones mas, todavia no esta disponible el bliteo y tampoco operaciones que impliquen el uso del blitter

y algunos otros mas que no recuerdo ahora mismo...

nota adicional: como la version linux nadie la esta probando o por lo menos no hay feedback al respecto, no generare version de momento... luego saldra una version si empiezan a usarla activamente o cuando salga la version final...

saludos, y gracias a todos por colaborar con los reportes de bugs.

EDIT: AHHH, importantisimo, se corrigio el sistema de mirror... ahora tiene en cuenta el angulo, y se puede hacer un mirror real, no como antes que era solo de la textura...
Revisen la carpeta samples, hay nuevos ejemplos...
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 24, 2008, 02:29:41 am

Que ritmo llevas, impresionante. Ahora mismo la bajo, gracias!  :)
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 24, 2008, 03:18:56 am
Veo que no has incluido la libreria libblit.dll, significa que ya no la usas o la has implementado en otra?

Edit: acabo de probar y sin ella el compilador no funciona.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 04:39:45 am
se me paso...

subiendo, gracias por el aviso...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 24, 2008, 05:27:52 am
Se siguen añadiendo cosas nuevas a Bennu y mejorandolo, cosa que es genial, pero porque aun no estan el mod_scroll y el mod_m7??? tanto errores o problemas tienen que no se pueden incluir aun???

Gracias por la nueva wip.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 05:32:49 am
no estan porque habia que corregir errores, y scroll asi como esta no es posible meterla en bennu, porque es incompatible con el nuevo sistema de optimizacion de procesos... ademas que tienen errores...
la m7, creo que nunca funciono correctamente, y para ser sincero no quiero lidiar con algo obsoleto como la m7... prefiero en todo caso pensar en un nuevo modulo 3d, usando opengl...

m7 no la incluire...

de nada, es un placer...

por otro lado, el scroll es lo proximo que hare, creo que la version actual ya tiene todos los cambios nuevos bastante estables...

el soporte a 32bits por ahora quedara a medio hacer, no estara completo en la primera version, por lo menos esos son mis plantes de momento... quizas luego me emociono y lo hago, pero por el momento no lo tengo en planes... asi que no te preocupes, no se agregaran muchas mas cosas... a pesar de tener muchos agregados y mejoras planificadas...

quiero agregar, que muchas de las cosas que salieron en esta wip, son correcciones de errores, y agregados que por necesitar tocar alguna parte asociada a ese codigo, y siendo mas complejo agregar luego las funcionalidades, entonces las pongo cuando paso por ese fuente por algun motivo...
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 24, 2008, 05:58:41 am

Yo creo que podrías distribuir la m7 aunque ya no la modifiques. Por si alguien quiere adaptar su viejo código en Div o Fenix que usa ese modo. Bueno eso es lo que yo pienso, esta claro que el proyecto de Bennu es tuyo y tu decides que debe tener o no. Es solo una opinión. Saludos y gracias por el esfuerzo que realizas!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 06:08:55 am
ya se vera eso en el futuro...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 07:30:36 am
Gracias por la wip. ¿Al final en que quedo el tema del load_fpg? Me refiero a eso de que el primer fpg cargado es 1 y no 0.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 07:33:31 am
es 0... tambien 0 es la libreria del sistema, pero los graficos a partir del 1000...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 07:56:00 am
Me parece que el problema de esto es que cuando descarguemos el primer fpg cargado tambien se van a descargar los graficos creados con new_map y funciones por el estilo. La verdad es que me parecia correcto que el primero cargado tenga el codigo 1. Pero bueno.. es solo una opinion.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 08:08:37 am
no, no... los del fpg son del 1-999... los demas son del sistema... estan en la misma libreria pero son diferentes...

es que de lo contrario deja de funcionar lo que ya funcionaba...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 08:41:00 am
A ver si entiendo ¿unload_fpg(0) descarga los graficos 1-999? ¿los graficos a partir del 1000 se descargan cuando termina la ejecucion del programa?

De ser asi.. se podria incluir un unload_fpg(-1) para descargar los del 1000 en adelante?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 12:19:17 pm
eso no seria factible, porque arriba de los 999, no solo estan los mapas creados con load_map, map_new, etc, sino que estan los font del sistema, los fonts cargados por los usuarios, y cualquier grafico interno, o sea, que no se puede hacer eso, si alguien quiere descargar graficos que cargo individualmente debe hacerlo de la misma forma...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 01:41:13 pm
Ahora me queda claro.Gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 02:13:56 pm
;)

de nada...

como van las pruebas con esta version? me gustaria tener feedback... y de esta forma saber si no hay reportes de bug porque no la estan usando o porque no se encuentran...

siempre es bueno el feedback hacia ambos lados... ayuda a mover la maquinaria...

gracias a todos...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 02:30:28 pm
La baje y la probe muy poco.. desde ayer que estoy con el tema de la wiki. Lo que si quiero comentar es que hay un bug (seguramente en el juego) que descubri con esta version (tengo que fijarme si tambien pasa en la wip 8 ).
En el archivo de salida de error obtengo:

^C

Que significa esto?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 02:43:15 pm
control+c...

estas actualizando la wiki de bennu? no se si esta realmente operativa, creo que es basura, me parece que fueron intentos pero no va, creo que hay que borrarla... no se, eso sabe sandman, pero en el hosting hay muchos directorios con de wiki, con nombres como FAIL y cosas raras...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 24, 2008, 02:49:08 pm
Pero que significa que el interprete salga y deje en el log Control+C?

Sip.. Tiene mucha informacion.Y ya arrgle el menu (medio que lo ate con alambre pero funciona correctamente) pero nose como editarlo. Lo que no puedo hacer es editar la portada.

http://wiki.bennugd.org/index.php?title=Category:Index
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 24, 2008, 04:22:21 pm
wait... no se si sirve ese wiki, dejame consultar, hasta donde sabia habia que borrarlo... estaba mal instalado...

no tengo idea de eso del ^C, si me pasas un ejemplo lo podria ver...

y disculpa por no responder antes, hace un par de horas que hay un problema global de conectividad en argentina con mi provider de internet... y ahora mismo esta es la unica pagina a la que me puedo conectar... (gracias a dios), ni google me va...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 25, 2008, 11:56:57 am
Eso del control C lo deje pasar. Nose por que aparecia, pero el juego se quedaba por un error mio.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 27, 2008, 07:16:25 pm
Modulo de scroll activo...
Se corrigen comportamientos de region1 y region2 dentro del scroll, o sea, area de no scroll y area de movimiento maximo con camaras...

voy a ver si incluyo el m7...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 28, 2008, 02:41:04 am
Esto se pone interesante,  a ver si pronto se queda estable por completo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 28, 2008, 04:29:53 am
WIP10 lista para descarga...

Se incluye...

- mod_mouse
- mod_scroll
- libscroll

y varios fixes extra...

no olviden bajar el test de scroll...
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 28, 2008, 07:02:42 am
No sabes que alegría me ha dado leer este post, esperaba con muchas ganas el scroll. Ahora mismo me la bajo y el sample también. Muchas gracias Splinter, de verdad, GRACIAS!!!  :)
Título: Re: Avances, Diario de...
Publicado por: Prg en Septiembre 28, 2008, 08:25:32 am
Excelente noticia. Sobre el m7, creo que sólo sería para la nostalgia, lo más importante es el scroll.
Una pregunta ¿Las librerías de m8 no son parte oficial del bennu?  :)
Bueno, pues a descargar la nueva versión y ver lo que ha cambiado.
Otra pregunta, me la quería guardar, pero mejor la saco: ¿el path_find  sigue teniendo la distancia de búsqueda definida, o se amplió la distancia de búsqueda, o qué pasó con esa función? :)

Gracias por todo.  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 28, 2008, 08:43:15 am
la m7 la tengo lista, y funciona, pero me da problemas al salir del modo 7, se cae el ejecutable... no quiero perder tiempo en esto, yo sabia que habia problemas con este modulo...

m8ee no es parte oficial de bennu...

a que te referis con eso de la distancia de busqueda? yo no veo ningun limite en la libreria... te estas refiriendo a la pathfind de bennu o alguna de coldev?
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 28, 2008, 10:39:32 am
Lo he probado por encima (aun tengo que probar bien la wip10) noto varias cosas:

1. En los FROM hay que ponerles ";" para que compile, a parte de eso compila todo el codigo sin tocar mas.
2. Uso scroll y noto que al hacer un: map_xput(file,102,graph,x,y,angle,60,0); no lo veo en el fondo del scroll como lo veia en la WIP2.
3. La consola debug no sale con ALT+C, se ha cambiado la combinacion de teclas y no me he enterado??? He probado poner -d, -g en compilador e interprete pero no consigo activar la consola en ejecucion.

Repito que aun tengo que testear bien todo con la wip10
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 28, 2008, 01:00:24 pm
1) si
2) necesito un ejemplo, eso deberia funcionar
3) no hay consola de debug, solo debug por log
Título: Re: Avances, Diario de...
Publicado por: Prg en Septiembre 28, 2008, 02:07:10 pm
Citar
a que te referis con eso de la distancia de busqueda? yo no veo ningun limite en la libreria... te estas refiriendo a la pathfind de bennu o alguna de coldev?

no estoy seguro que wip utilizaba, creo que era el wip 2, y cuando utilizaba path find a una distancia mayor a 600 por ejemplo (el punto a buscar estaba a una distancia mayor a 600) no encontraba nada, no me daba puntos. Este era uno de mis problemas con el bomberman que estaba haciendo, por eso lo dejé en espera. Sin embargo no eh tenido tiempo de probar la función actual. La probaré y luego te digo ¿ok?.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 28, 2008, 02:35:31 pm
- Solucionado el tema con la m7... ya hay m7 disponible...

pronto para descarga...

wip10a disponible para descarga...

- fix reportado al cambiar el grafico a 0 en un proceso que hacia que este desaparezca
- modulo m7
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 29, 2008, 07:00:53 am
Código: [Seleccionar]
Program Pruebas;

Global
int fpg;

Begin
    set_mode(320,200,16);
    ctype=c_scroll;

    fpg=load_fpg("test.fpg");

    start_scroll(0,fpg,1,0,0,0);
// SI EN VEZ DE USAR EL "START_SCROLL" PONGO EL "PUT_SCREEN" NO VEO EL "GRAPH" ENCIMA DE EL.
    //put_screen(fpg,1);



// Con este grafico lo hace bien
//    graph=new_map(10,10,8);

// Con este grafico lo hace mal
    graph=new_map(10,10,16);


    map_clear(fpg,graph,rgb(255,255,255));

    x=160;
    y=100;

    While (NOT key(_esc))
        IF (key(_right))
            x+=5;
            map_xput(fpg,1,graph,x,y,angle,60,0);
        END
        IF (key(_left))
            x-=5;
            map_xput(fpg,1,graph,x,y,angle,60,0);
        END
        IF (key(_down))
            y+=5;
            map_xput(fpg,1,graph,x,y,angle,60,0);
        END
        IF (key(_up))
            y-=5;
            map_xput(fpg,1,graph,x,y,angle,60,0);
        END
        Frame;
    End
End

Bueno con ese codigo y probando las funciones de los "comentarios" se puede reproducir el efecto que me pasa en el scroll, aunque tambien he visto que al hacer un PUT_SCREEN no veo el GRAPH para moverlo por la pantalla.

PD: "test.fpg" es el mismo que el del ejemplo "scroll.prg"
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 10:20:53 am
a ver... el proceso es de tipo c_scroll, por ende, si no haces start_scroll, el grafico no debe verse... entonces el comportamiento esta perfecto...
lo que veo mal es que al usar el mapa de 8 que decis va bien, deja una estella... que no deberia dejar... o sea, el que decis va bien, esta mal... y el de 16 va bien...
si el proceso es de tipo c_scroll no debe verse si no tenes start_scroll...

EDIT:
ahhh, ya veo, el map_xput...

claro, esta perfecto que no funcione... no se puede poner sobre un mapa de 8 bits graficos de 16 bits...

el ejemplo funciona correctamente... no hay bugs...

si se necesita alguna aclaracion mas simple, "ask me"

gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 10:29:50 am
fix win32-wip10a1.rar disponible para descarga, soluciona el problema de la z, mencionado unos posts atras...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 10:44:15 am
ya empezamos con las pruebas a 32 bits...

debo decir que sobre escritorio de 32 bits, render de 32 bits tiene mejor performance que 16 bits... lo mismo para escritorio de 16 y graficos de 16...

bueno, vamos a los resultados...

pruebas con ablend y sblend...

donde antes en 16 bits daba 240 fps, ahora esta rondando los 870 fps...
en 32 bits va un poco mas lento, unos 710 fps... pero bueno, es satisfactorio, y 32 bits es una version experimiental, con casi nada de optimizaciones...

asi esta la cosa...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Septiembre 29, 2008, 12:53:25 pm
B-O.......| Dioooooxxxxxxxx esto pinta muy bien, pardiez haber si acabo con mi dichosa herramienta en delphi, y me pongo a probar la wip10 y pico ya.
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 29, 2008, 01:26:02 pm
Splinter como cargo graficos de 32 bits? Con load_png seteando el modo de video en 32 los carga como de 16.

Edit: Por lo menos es eso lo que devuelve graphic_info..  Ademas no puedo visualizar las imagenes.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 02:01:23 pm
Todavia tengo que ver de que forma hacer para cargar png como 32 bits y no romper la compatibilidad con lo actual, que es cargar png de 24bits como si fueran de 16bits... y esta forma no puede ser por el modo de video, ya que la carga de graficos debe ser independiente de modo de video seleccionado... por ahora me inclino a un nuevo parametro que defina la profundidad del mapa a cargar... o una nueva funcion, quizas load_png32... (aunque esta ultima no me gusta mucho), no se... si se les ocurre alguna forma mejor, acepto sugerencias...
Visualizacion, solo en mi version interna... no funciona completamente todas las combinaciones aun... es completamente experimental...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Septiembre 29, 2008, 02:16:52 pm
Me parece mejor una nueva función para cargar los gráficos de 32 que añadir un parámetro más a todas las funciones de map existentes, aunque, que sabre yo...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 29, 2008, 02:26:13 pm
La verdad es que  me parece que lo mas comodo seria que dependa del modo de video.. pero si no se puede me inclino mas por un parametro opcional. Me parece mas prolijo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 02:31:09 pm
el parametro de ser agregado seria opcional... no es requerimiento, sino opcional... si no esta se comportaria como hasta ahora...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 29, 2008, 02:37:42 pm
La verdad es que  me parece que lo mas comodo seria que dependa del modo de video.. pero si no se puede me inclino mas por un parametro opcional. Me parece mas prolijo.

no es que no se pueda hacer, pero en esta version me preocupe porque los graficos no esten restringidos al modo de video actual, para de esta forma poder manipular mapas de cualquier resolucion sin preocuparse por conversiones automaticas y cosas raras segun el modo de video, por ejempo, para un conversor de png a fpg... o cualquier manipulacion de imagenes...
Título: Re: Avances, Diario de...
Publicado por: Packo_z007 en Septiembre 29, 2008, 02:43:53 pm
Bueno.. podrias hacer que los graficos se carguen en el modo de video actual con el load_png comun y corriente.. y poner un parametro opcional para cargarlos con una profundidad diferente.
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 29, 2008, 11:38:51 pm
Código: [Seleccionar]
Program Pruebas;

Global

int fpg1;
int fpg2;

Begin
    set_mode(320,200,8);

// CARGAMOS VARIOS FPG EN EL JUEGO
    fpg1=load_fpg("test.fpg");
    fpg2=load_fpg("test.fpg");

// INICIAMOS UN SCROLL CON UN FPG QUE NO SEA EL "PRIMERO" CARGADO
    start_scroll(0,fpg2,1,0,0,0);

    graph=new_map(10,10,8);
// SEGUN LA FENIXWIKI MAP_XPUT SOLO SE PUEDE UTILIZAR EN UN MISMO FPG Y DICE USAR "MAP_CLONE"
// PARA ESTOS CASOS, AUN ASI PARECE NO FUNCIONAR EL MAP_XPUT
    graph=map_clone(0,graph);
    map_clear(0,graph,rgb(255,255,255));

say(fpg1);
say(fpg2);

    x=160;
    y=100;

    While (NOT key(_esc))
        IF (key(_right))
            x+=5;
            map_xput(fpg2,1,graph,x,y,angle,60,0);
        END
        IF (key(_left))
            x-=5;
            map_xput(fpg2,1,graph,x,y,angle,60,0);
        END
        IF (key(_down))
            y+=5;
            map_xput(fpg2,1,graph,x,y,angle,60,0);
        END
        IF (key(_up))
            y-=5;
            map_xput(fpg2,1,graph,x,y,angle,60,0);
        END
        Frame;
    End
End

Este codigo si no me equivoco deberia dejar un rastro.
Solo funciona bien (el cuadradito blanco deja un rastro tras de si) si eliminamos la linea: "fpg1=load_fpg("test.fpg");"
Habia otro tema de problemas con los fpg, el numero de graficos y tal, no tendra nada que ver???

PD: El "test.fpg" sigue siendo el del ejemplo "scroll.prg", que es un fpg de 8bits.

---------------------------------

Con respecto a lo que hablais de la profundidad de color....

Seria logico que si tienes seteado a "set_mode(640,480,16)" no te dejara cargar FPG/MAP/PNG de 32Bits, asi bennu no tendria que cargar por ejemplo uno de 24Bits como si fuera uno de 16Bits no???
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 30, 2008, 12:52:31 am
no, no deberia dejar nada... el funcionamiento es correcto... ya que estas haciendo un map_xput sobre fpg2 con un grafico que no existe en fpg2... tenes 2 formas de que esto te de el resultado que vos esperas...

forma 1 (usando fpg_add)
Código: [Seleccionar]
Program Pruebas;

#ifdef COMPILER_VERSION
import "mod_key";
#endif

#ifdef __VERSION__
import "mod_say";
import "mod_wm";
import "mod_video";
import "mod_screen";
import "mod_map";
import "mod_text";
import "mod_scroll";
#else
#ifdef COMPILER_VERSION
import "mod_sdlevthandler";
#endif
#endif


Global

int fpg1;
int fpg2;

Begin
    set_mode(320,200,8);

// CARGAMOS VARIOS FPG EN EL JUEGO
    fpg1=load_fpg("test.fpg");
    fpg2=load_fpg("test.fpg");

// INICIAMOS UN SCROLL CON UN FPG QUE NO SEA EL "PRIMERO" CARGADO
    start_scroll(0,fpg2,1,0,0,0);

    graph=new_map(10,10,8);
// SEGUN LA FENIXWIKI MAP_XPUT SOLO SE PUEDE UTILIZAR EN UN MISMO FPG Y DICE USAR "MAP_CLONE"
// PARA ESTOS CASOS, AUN ASI PARECE NO FUNCIONAR EL MAP_XPUT
    graph=map_clone(0,graph);
    map_clear(0,graph,rgb(255,255,255));

    fpg_add(fpg2,10,0,graph);

say(fpg1);
say(fpg2);

    x=160;
    y=100;

    While (NOT key(_esc))
        IF (key(_right))
            x+=5;
            map_xput(fpg2,1,10,x,y,angle,60,0);
        END
        IF (key(_left))
            x-=5;
            map_xput(fpg2,1,10,x,y,angle,60,0);
        END
        IF (key(_down))
            y+=5;
            map_xput(fpg2,1,10,x,y,angle,60,0);
        END
        IF (key(_up))
            y-=5;
            map_xput(fpg2,1,10,x,y,angle,60,0);
        END
        Frame;
    End
End


forma 2 (usando map_xputnp)
Código: [Seleccionar]
Program Pruebas;

#ifdef COMPILER_VERSION
import "mod_key";
#endif

#ifdef __VERSION__
import "mod_say";
import "mod_wm";
import "mod_video";
import "mod_screen";
import "mod_map";
import "mod_text";
import "mod_scroll";
#else
#ifdef COMPILER_VERSION
import "mod_sdlevthandler";
#endif
#endif


Global

int fpg1;
int fpg2;

Begin
    set_mode(320,200,8);

// CARGAMOS VARIOS FPG EN EL JUEGO
    fpg1=load_fpg("test.fpg");
    fpg2=load_fpg("test.fpg");

// INICIAMOS UN SCROLL CON UN FPG QUE NO SEA EL "PRIMERO" CARGADO
    start_scroll(0,fpg2,1,0,0,0);

    graph=new_map(10,10,8);
// SEGUN LA FENIXWIKI MAP_XPUT SOLO SE PUEDE UTILIZAR EN UN MISMO FPG Y DICE USAR "MAP_CLONE"
// PARA ESTOS CASOS, AUN ASI PARECE NO FUNCIONAR EL MAP_XPUT
    graph=map_clone(0,graph);
    map_clear(0,graph,rgb(255,255,255));

say(fpg1);
say(fpg2);

    x=160;
    y=100;

    While (NOT key(_esc))
        IF (key(_right))
            x+=5;
            map_xputnp(fpg2,1,0,graph,x,y,angle,60,60,0);
        END
        IF (key(_left))
            x-=5;
            map_xputnp(fpg2,1,0,graph,x,y,angle,60,60,0);
        END
        IF (key(_down))
            y+=5;
            map_xputnp(fpg2,1,0,graph,x,y,angle,60,60,0);
        END
        IF (key(_up))
            y-=5;
            map_xputnp(fpg2,1,0,graph,x,y,angle,60,60,0);
        END
        Frame;
    End
End

con respecto a los mapas 32, la idea como ya dije es que siempre se pueda cargar cualquier grafico independiente del modo de video, y uno tenga libertad luego para usarlo a su antojo...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 30, 2008, 02:54:45 am
Luego miro las propuestas que me comentas a ver si me sirven, pero entonces... porque ese codigo si deja un "rastro" en Bennu WIP2??? era un bug???
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 30, 2008, 02:59:41 am
ummm... ahora que lo pienso, si el codigo del grafico es mayor a 999 deberia tomarlo del fpg 0... aunque quizas no es tan correcto... bien...

ahora lo cambio, gracias...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 30, 2008, 03:06:28 am
ya esta corregido, gracias...
ahora lo que veo es que el rgb(255,255,255) en wip2 da un color marron, y en la ultima bennu da blanco (correcto)
Título: Re: Avances, Diario de...
Publicado por: TYCO en Septiembre 30, 2008, 05:10:40 am
Se supone que un FPG cargado contiene hasta un maximo de 999 graficos no???, entonces los new_map, map_clone, etc deberan tener un numero de 1000 en adelante que se almacenaran en el FPG "0", es decir... el fpg del sistema... o del primer fpg que has cargado.

PD: En mi caso solo serviria "map_xputnp" ya que el ancho de "graph" varia dependiendo de la velocidad de los coches.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 30, 2008, 05:52:11 am
si, claro, hasta 999, los de arriba de 999 en el fpg 0 (no fichero sino libreria en memoria) son los mapas del sistema... busca unas paginas atras en este thread, se explica como se comporta...

gracias.
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Octubre 01, 2008, 01:43:49 am
Splinter,no se si lo que digo es una varbaridad, pero ¿no se podría eliminar, tarde o temprano, la limitación de los map_put, y map_xput, y similares, de que ambos mapas estén en la misma librería? Es que es un poco coñazo andar con map_clone y unload map todo el rato, al menos para mí.
Un saludo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 01, 2008, 01:49:51 am
Splinter,no se si lo que digo es una varbaridad, pero ¿no se podría eliminar, tarde o temprano, la limitación de los map_put, y map_xput, y similares, de que ambos mapas estén en la misma librería? Es que es un poco coñazo andar con map_clone y unload map todo el rato, al menos para mí.
Un saludo.

map_xputnp
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 03:21:17 am
Soporte de modos 32 bits...

- modos: 1 a 32, 8 a 32, 16 a 32, 32 a 32
- normal, translucent, ablend, sblend, nocolorkey, alphas sobre todos los modos anteriores (salvo nocolorkey, obviamente)
- alphas por pixel (solo 32 a 32 y modos diferentes a nocolorkey)

- Optimizados los algoritmos de ablend y sblend del blitter...

Limitaciones:

- blendop no soportado en 32 bits, usar el metodo de tablas requeriria 24mb de memoria por tabla, una locura... y demasiado procesamiento...

- Fade 32, no soportados aun...

Otros cambios

- mejoras en los translucent sobre cualquier otro efecto, ahora es 50% sobre lo que sea (antes no lo era en todos los casos, en algunos si y en otros no...)

Los resultados de performance con respecto a la primera version ya no son tan significativos, mejoro significativamente los xblend sobre 16, pero decayo en 32bits... la cosa es que en la primera version no tuve en cuenta los alphas...

Todavia queda intentar optimizar mucho mas los algoritmos... pero bueno, ya hay una version funcional en desarrollo.
Título: Re: Avances, Diario de...
Publicado por: Rincewind en Octubre 03, 2008, 03:55:10 am
Citar
Soporte de modos 32 bits...

Cool, thanks. :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 06:15:49 am
Bien, al final hice algo que no queria pero bien, quizas no es la mas prolija o la mejor de las formas...

- load_png, pngs con alphas son cargados en mapas de 32 bits salvo si el modo de pantalla seteado es de 16 bits, caso en el que el png es creado como de 16 bits...

Voy a armar un ejemplo y voy a subir una version asi la testean y me comentan...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 07:09:18 am
Capturas

(http://img401.imageshack.us/img401/2469/capture1xu2.png)

(http://img523.imageshack.us/img523/2273/capture2bv7.png)

esta demas decirlo, pero vean la gota de agua, es el puntero del mouse con varios canales alpha...
y miren en la zona amarilla y las azules en el cubo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 09:12:00 am
descarga wip11

http://betatester.bennugd.org/betas/win32-wip11.rar

http://betatester.bennugd.org/betas/dlls-externals-mandatory-pack.rar (nunca olvidar esto si no lo tienen)

sample

http://betatester.bennugd.org/betas/samples/rotate-mirror-32bits.rar

teclas del sample:

tab - switchea entre 32 y 16 bits
f1 - activa b_translucent
f2 - desactiva b_translucent
f3 - activa ablend
f4 - desactiva ablend
f5 - activa sblend
f6 - desactiva sblend
+/- - zoom
1 - incrementa alpha general sobre el grafico
2 - decrementa alpha general sobre el grafico
q/w - angulos incrementos de 1000
a/s - angulos incrementos de 100 (hay que quitar la linea que autoincrementa en el codigo para darle utilidad a esto)
z/x - angulos incrementos de 10 (hay que quitar la linea que autoincrementa en el codigo para darle utilidad a esto)
0/9 - fading (solo 16 bits)
h - mirror horizontal
v - mirror vertical
f10 - captura pantalla
space - angle = 0
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Octubre 03, 2008, 10:59:58 am
hola estoy armando el pack y no he podido compilar el ejemplo de cebrian
desearia que lo modifiques para correrlo con la ultima version..

gracias...


// --------------------------------------------------------------------------
// Fenix Tests                                         2000 José Luis Cebrián
// --------------------------------------------------------------------------

   

GLOBAL option ;

import "mod_draw"
import "mod_key"
import "mod_timers"
import "mod_sound"
import "mod_path"
import "mod_m7"
import "mod_proc"
import "mod_scroll"

PROCESS Menu()
PRIVATE i, c, map ;
BEGIN
    load_fpg ("../media/test.fpg") ;
    set_fps (30, 4) ;
    write (0, 160,  4, 1, "Fenix tests") ;
    write (0, 160, 14, 1, "Select your option") ;
    write (0, 60,  50, 0, "1. Basic sprite drawing") ;
    write (0, 60,  60, 0, "2. Blending operations") ;
    write (0, 60,  70, 0, "3. Primitive drawing") ;
    write (0, 60,  80, 0, "4. Scroll interactive test") ;
    write (0, 60,  90, 0, "5. Mode 7 interactive test") ;
    write (0, 60, 100, 0, "6. Path-finding interactive test") ;
    write (0, 60, 110, 0, "7. Sound test") ;
    write (0, 60, 150, 0, "0. Exit") ;
    map = new_map (320, 200, 8) ;
    map_clear (0, map, 0) ;
    option = 0 ;
    REPEAT
        IF key(_1): option = 1; END
        IF key(_2): option = 2; END
        IF key(_3): option = 3; END
        IF key(_4): option = 4; END
        IF key(_5): option = 5; END
        IF key(_6): option = 6; END
        IF key(_7): option = 7; END
        IF key(_0): BREAK; END
        c = rgb (rand(32,128), rand(32,64), rand(32,64)) ;
        x = timer/5%100 ;
        IF (x > 50) x = 100-x; END
        xput (0, map, 160, 100, timer*-50, 200+x, 4, 0) ;
        FROM i = 0 TO 100
            map_put_pixel (0, map, rand(0,320), rand(0, 200), c) ;
            map_put_pixel (0, map, rand(0,320), rand(0, 200), 1) ;           
        END
        FRAME ;
    UNTIL option != 0;
    unload_map(0, map) ;
END

PROCESS Header(string title)
BEGIN
    delete_text (0) ;
    write     (0, 160,  4, 1, title) ;
    write     (0, 155, 15, 2, "FPS:") ;
    write_int (0, 165, 15, 0, &fps) ;
    write     (0, 155, 25, 2, "Speed %:") ;
    write_int (0, 165, 25, 0, &speed_gauge) ;
    write     (0, 160, 185, 1, "Press ESC to continue") ;
END

// ----------------------------------------------------------------------
// Simple sprite drawing
// ----------------------------------------------------------------------
PROCESS FallingObject(graph, size, flags, angleinc)
PRIVATE xspeed, yspeed, inispeed ;
BEGIN
    z      = rand (-5, 125) ;
    x      = rand (15, 305) ;
    y      = - rand (20, 100) ;
    xspeed = rand (-10, 10) ;
    yspeed = rand (-4, 0) ;
    inispeed = rand (10, 15) ;
    angle  = rand (0, 50 * angleinc) ;
    LOOP
        alpha = timer;
        x += xspeed ;
        IF (x > 305 || x < 15) xspeed = -xspeed; END
        y += yspeed++ ;
        IF (yspeed < -14) yspeed = -14; END
        IF (y > 180)
            yspeed = -inispeed ;
            IF (inispeed > 1)
                inispeed--;
            ELSE
                inispeed = 15;
            END
        END
        IF (out_region(ID, 0)) y = -rand(20, 100) ; inispeed = 15 ; END

        angle += angleinc ;
        FRAME ;
    END
END



PROCESS FallingObjects()
BEGIN
    set_mode (320, 200, 16);
    put_screen (0, 1);

    Header ("400 sprites") ;
   FROM x = 0 TO 400
      FallingObject(100, 100, 0, 0);
    END;
    WHILE !key(_ESC): FRAME; END;
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC): FRAME; END;
    Header ("100 rotating sprites") ;
    FROM x = 0 TO 100: FallingObject(101, 100, 0, rand(500,1000)); END
    WHILE !key(_ESC): FRAME; END
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC): FRAME; END;
    Header ("100 sprites with transparency") ;
    FROM x = 0 TO 100: FallingObject(100, 100, 4, 0); END
    WHILE !key(_ESC): FRAME; END
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC): FRAME; END;
    Header ("100 scaled up sprites") ;
    FROM x = 0 TO 100: FallingObject(100, 150, 0, 0); END
   WHILE !key(_ESC): FRAME; END
END



// ----------------------------------------------------------------------
// Blendop tests
// ----------------------------------------------------------------------

PROCESS BlendedObject (x, y, string text, string text2, int flags, blendop)
BEGIN
    write (0, x, y+32, 4, text) ;
    write (0, x, y+40, 4, text2) ;
    angle = 1000 ;
    size = 150 ;
    graph = 101 ;
    LOOP
        angle += 2000 ;
        FRAME ;
    END
END

PROCESS BlendedObjects()
BEGIN
    graph_mode = mode_16bits ;
    set_mode (320,200,16) ;
    put_screen (0, 1) ;
    Header ("Blit flags") ;
    BlendedObject (60, 65, "Normal", "", 0, 0) ;
    BlendedObject (160, 65, "H-Mirror", "", 1, 0) ;
    BlendedObject (260, 65, "V-Mirror", "", 2, 0) ;
    BlendedObject (60, 135, "Normal", "Transparency", 4, 0) ;
    BlendedObject (160, 135, "H-Mirror", "Transparency", 5, 0) ;
    BlendedObject (260, 135, "No key", "", 128, 0) ;
    WHILE !scan_code: FRAME; END
    scan_code = 0 ;
    signal (TYPE BlendedObject, S_KILL) ;
    Header ("Blending operations") ;
    blendop = blendop_new() ;
    blendop_translucency (blendop, 0.70) ;
    BlendedObject (60, 65, "Transparency", "(70%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_grayscale (blendop, 1) ;
    BlendedObject (160, 65, "Grayscale", "(Luminance)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_intensity (blendop, 2.00) ;
    BlendedObject (260, 65, "Lighting", "(50%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_tint (blendop, 0.50, 255, 0, 0) ;
    BlendedObject (60, 135, "Red tint", "(50%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_intensity (blendop, 0.75) ;
    BlendedObject (160, 135, "Darkening", "(25%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_grayscale (blendop, 1) ;
    blendop_intensity (blendop, 3.0) ;
    blendop_swap (blendop);
    BlendedObject (260, 135, "Inverted", "(Grayscale)", 0, blendop) ;
    WHILE !scan_code: FRAME; END
    fade_off() ;
    graph_mode = 0 ;
    set_mode (320,200,16) ;
END

// ----------------------------------------------------------------------
// Primitive drawing
// ----------------------------------------------------------------------

PROCESS PrimitiveTests()
PRIVATE
    map, color, i ;
    word POINTER ptr ;
BEGIN
    load_fpg   ("test.fpg") ;
    Header ("Primitive drawing") ;
    graph = new_map (400, 400, 8) ;
    set_center (0, graph, 200, 200) ;
    drawing_map (0, graph) ;
    x = 160 ; y = 100 ; flags = 4 ;
    REPEAT
        drawing_color (rgb (rand(0,255), rand(0,255), rand(0,255))) ;
        draw_fcircle  (rand(0,399), rand(0,399), rand(0,25)) ;
        draw_rect     (rand(0,399), rand(0,399), rand(0,399), rand(0,399)) ;
        draw_line     (rand(0,399), rand(0,399), rand(0,399), rand(0,399)) ;
        draw_circle   (rand(0,399), rand(0,399), rand(0,100)) ;
        FRAME ;
        angle += 1000 ;
    UNTIL scan_code;
    unload_map (0, graph) ;
END

// ----------------------------------------------------------------------
// Scrolling
// ----------------------------------------------------------------------
PROCESS ScrollSphere (x, y, graph)
BEGIN
    priority = 100 ;
    ctype = c_scroll;
    LOOP
        IF (key(_right)) x += 4 ; END
        IF (key(_left))  x -= 4 ; END
        IF (key(_down))  y += 4 ; END
        IF (key(_up))    y -= 4 ; END
        IF (key(_space)) x = y = 0 ; END
        FRAME;
    END
END

PROCESS ScrollTriangle (follow, angle)
BEGIN
    priority = 101 ;
    graph = 102 ;
    ctype = c_scroll ;
    LOOP
        x = follow.x + get_distx (angle, 40) ;
        y = follow.y + get_disty (angle, 40) ;
        angle += 185000 ;
        FRAME ;
        angle -= 180000 ;
    END
END

PROCESS ScrollTest()
BEGIN
    define_region (1,   0,   0, 160, 100) ;
    define_region (2,   0, 100, 160, 100) ;
    define_region (3, 160,   0, 160, 100) ;
    define_region (4, 160, 100, 160, 100) ;
    start_scroll(0, 0, 200, 1, 1, 15);
    start_scroll(1, 0, 200, 1, 2, 15);
    start_scroll(2, 0, 200, 1, 3, 15);
    start_scroll(3, 0, 200, 1, 4, 15);
    scroll[0].camera = ScrollSphere (160, 100, 100) ;
    scroll[1].camera = ScrollTriangle (scroll[0].camera, 0) ;
    scroll[2].camera = ScrollTriangle (scroll[0].camera, 120000) ;
    scroll[3].camera = ScrollTriangle (scroll[0].camera, 240000) ;
    scroll[0].ratio  = 400 ;
    scroll[1].ratio  = 800 ;
    scroll[2].ratio  = 50 ;
    scroll[3].ratio  = 2000 ;
    scroll[0].speed  = 3 ;
    scroll[0].flags1 = 4 ;
    scroll[1].flags1 = 4 ;
    scroll[2].flags1 = 4 ;
    scroll[3].flags1 = 4 ;
    scroll[0].flags2 = 129 ;
    scroll[1].flags2 = 129 ;
    scroll[2].flags2 = 129 ;
    scroll[3].flags2 = 129 ;
    Header ("Scroll test") ;
    REPEAT: FRAME; UNTIL key(_esc);
    fade_off() ;
    stop_scroll(0) ;
    stop_scroll(1) ;
    stop_scroll(2) ;
    stop_scroll(3) ;
END





// ----------------------------------------------------------------------
// Mode 7
// ----------------------------------------------------------------------


PROCESS Mode7Object (x, y, graph)
PRIVATE
    speed = -1 ;
BEGIN
    ctype = c_m7 ;
    cnumber = 1 ;
    height = rand (0, 16) ;
    resolution = 4 ;
    x *= 4 ; y *= 4 ;
    LOOP
        IF height > 0 && speed > -8: speed-- ; END
        height += speed ;
        IF (height < 0)
            height = 0 ;
            speed = rand(5, 15) ;
        END
        FRAME;
    END
END

PROCESS Mode7Test()
PRIVATE
    a, b ;
BEGIN
    put_screen (0, 1) ;
    Header ("Mode 7 - Press cursor keys, Q, W, A, Z") ;
    start_mode7 (0, 0, 1, 0, 0, 64) ;
    start_mode7 (1, 0, 0, 200, 0, 64) ;

    m7[0].distance = 0 ;
    m7[0].camera = id ;
    m7[0].height = 90 ;

    m7[1].distance = 0 ;
    m7[1].camera = id ;
    m7[1].height = 80 ;
    m7[1].flags  = 4 ;

    resolution = 100 ;
    FROM a = 0 TO 64 Step 16
        FROM b = 0 TO 64 Step 16
            Mode7Object (a, b, 100) ;
        END
    END
    FRAME;
    LOOP
        m7[0].z = m7[0].height ;
        m7[1].z = m7[1].height ;
        IF (m7.height < 0)
            m7[0].z = -m7[0].height ;
            m7[1].z = -m7[1].height ;
        END
        IF (key(_up))   advance(200) ; END
        IF (key(_down)) advance(-200) ; END
        IF (key(_left)) angle += 2000 ; END
        IF (key(_right)) angle -= 2000 ;END
        IF (key(_a)) m7.height+=2 ; m7[1].height+=2 ; END
        IF (key(_z)) m7.height-=2 ; m7[1].height-=2 ; END
        IF (key(_q)) xadvance(angle+90000, 200) ; END
        IF (key(_w)) xadvance(angle-90000, 200) ; END
        scan_code = 0 ;
        FRAME ;
        IF key(_esc): BREAK; END
    END
    fade_off() ;
    stop_mode7(0) ;
    stop_mode7(1) ;
END



// ----------------------------------------------------------------------
// Path-finding
// ----------------------------------------------------------------------

CONST
    width   = 64 ;
    height  = 32 ;

GLOBAL
    int     graphic ;
    int     title ;
    int     wall_color ;
    int     start_color ;
    int     end_color ;
    int     color_ruta ;
    int     last_x, last_y ;
    int     start_x, start_y ;
    int     end_x, end_y ;

PROCESS ClearRoute ()
PRIVATE
    byte POINTER ptr ;
    int pitch ;
BEGIN
    ptr = map_buffer (0, graphic) ;
    pitch = graphic_info(0, graphic, G_PITCH) ;
    FROM y = 0 TO HEIGHT:
        ptr = map_buffer(0,graphic) ;
        ptr += pitch * y ;
        FROM x = 0 TO WIDTH:
            IF [ptr] == color_ruta: [ptr] = 0; END
            ptr++ ;
        END
    END
END

PROCESS Reset()
BEGIN
    drawing_color (0) ;
    draw_box (0, 0, WIDTH, HEIGHT) ;
    drawing_color (wall_color) ;
    draw_rect (0, 0, WIDTH, HEIGHT) ;
    start_x = WIDTH/4 ;
    end_x = WIDTH*3/4 ;
    start_y = HEIGHT/2 ;
    end_y = HEIGHT/2 ;
    map_put_pixel (0, graphic, start_x, start_y, start_color) ;
    map_put_pixel (0, graphic, end_x, end_y, end_color) ;
END



PROCESS PathFinding()
BEGIN
    mouse.graph = 200 ;
    graphic = new_map (WIDTH, HEIGHT, 8) ;
    wall_color = rgb (196, 196, 196) ;
    start_color = rgb (255, 0, 0) ;
    end_color = rgb (0, 0, 255) ;
    color_ruta = rgb (128, 64, 128) ;
    drawing_map (0, graphic) ;
    Reset() ;
    title = write (0, 160, 4, 1, "Path finding") ;
    write (0, 160, 180, 1, "Draw walls with the mouse") ;
    write (0, 160, 190, 1, "(S) start (E) end (R) reset (SPACE) go") ;
    last_x = mouse.x / 4 ;
    last_y = mouse.y / 4 ;
    WHILE !key(_esc):
        clear_screen() ;
        xput (0, graphic, 160, 100, 0, 400, 0, 0) ;
        x = mouse.x / 4 - (40-WIDTH/2);
        y = mouse.y / 4 - (25-HEIGHT/2);

        IF mouse.left:
            drawing_color (wall_color) ;
            draw_line (x, y, last_x, last_y) ;
            map_put_pixel (0, graphic, x, y, wall_color) ;
        END
        IF mouse.right:
            drawing_color (0) ;
            draw_line (x, y, last_x, last_y) ;
            map_put_pixel (0, graphic, x, y, 0) ;
        END
        IF key(_s):
            ClearRoute() ;
            map_put_pixel (0, graphic, start_x, start_y, 0) ;
            start_x = x ; start_y = y ;
            map_put_pixel (0, graphic, x, y, start_color) ;
        END
        IF key(_r):
            Reset() ;
        END
        IF key(_e):
            ClearRoute() ;
            map_put_pixel (0, graphic, end_x, end_y, 0) ;
            end_x = x ; end_y = y ;
            map_put_pixel (0, graphic, x, y, end_color) ;
        END
        IF key(_space):
            FRAME ;
            ClearRoute() ;
            IF !path_find(0, graphic, start_x, start_y,
                end_x, end_y, PF_NODIAG):
                delete_text(title) ;
                title = write (0, 160, 6, 1, "The path is blocked") ;
            ELSE:
                FRAME ;
                clear_screen() ;
                delete_text(title) ;
                title = write (0, 160, 6, 1, "Path found in " + (speed_gauge*60/100) + " ms") ;
                set_fps (60, 0) ;
                WHILE path_getxy(&x, &y):
                    map_put_pixel (0, graphic, x, y, color_ruta) ;
                    xput (0, graphic, 160, 100, 0, 400, 128, 0) ;
                    FRAME ;
                END
                set_fps (60, 0) ;
                map_put_pixel (0, graphic, start_x, start_y, start_color) ;
                map_put_pixel (0, graphic, end_x, end_y, end_color) ;
            END
            WHILE key(_space): FRAME; END
        END
        IF key(_esc): BREAK; END
        last_x = x ;
        last_y = y ;
        FRAME ;
    END
    unload_map (0, graphic) ;
    fade_off() ;
END

// ------------------------------------------------------------------------
// Sound test
// ------------------------------------------------------------------------



PROCESS SoundTest()
PRIVATE
    int pat, pos, vol, time, md ;
BEGIN
    header ("Sound test") ;
    md = load_song("../media/game.s3m") ;
    play_song (md,-1) ;
    vol = 128 ;
    WHILE is_playing_song() AND scan_code != _esc:
        FRAME ;
    END
    WHILE is_playing_song() AND vol > 0:
        FRAME ;
        set_song_volume ( vol -= 2) ;
    END
    stop_song() ;
    unload_song(md) ;
END

// ----------------------------------------------------------------------

PRIVATE proc ;
BEGIN
    FULL_SCREEN = FALSE ;
    LOOP
        proc = Menu() ;
        WHILE exists(proc): FRAME; END
        fade_off() ;
        put_screen(0, 1) ;
        delete_text(0) ;
        fade_on() ;
        IF option == 0: BREAK; END
        SWITCH (option)
            CASE 1: proc = FallingObjects(); END
            CASE 2: proc = BlendedObjects(); END
            CASE 3: proc = PrimitiveTests(); END
            CASE 4: proc = ScrollTest(); END
            CASE 5: proc = Mode7Test(); END
            CASE 6: proc = PathFinding(); END
            CASE 7: proc = SoundTest(); END
        END
        WHILE exists(proc): FRAME; END
        fade_off() ;
        let_me_alone() ;
        clear_screen() ;
        delete_text(0) ;
        fade_on() ;
    END
END
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 11:01:57 am
por que no pudiste compilarlo? solo tenes que hacer los imports...

Código: [Seleccionar]
// --------------------------------------------------------------------------
// Bennu Tests                                         2000 José Luis Cebrián
// --------------------------------------------------------------------------

#ifndef __VERSION__
    import "mod_sdlevthandler";
    import "mod_pathfind";
#else
    import "mod_blendop";
    import "mod_text";
    import "mod_grproc";
    import "mod_video";
    import "mod_map";
    import "mod_screen";
    import "mod_path";
    import "mod_rand";
    import "mod_say";
    import "mod_mouse";
    import "mod_scroll";
    import "mod_math";
#endif

import "mod_m7";
import "mod_proc";
import "mod_key";
import "mod_draw";
import "mod_timers";
import "mod_sound";

#define SCR_DEPTH   16

GLOBAL option ;

PROCESS Menu()
PRIVATE i, c, map ;
BEGIN
    set_mode(320,200,SCR_DEPTH);
    load_fpg ("test.fpg") ;
    set_fps (0, 0) ;
    write (0, 160,  4, 1, "Bennu tests") ;
    write (0, 160, 14, 1, "Select your option") ;
    write (0, 60,  50, 0, "1. Basic sprite drawing") ;
    write (0, 60,  60, 0, "2. Blending operations") ;
    write (0, 60,  70, 0, "3. Primitive drawing") ;
    write (0, 60,  80, 0, "4. Scroll interactive test") ;
    write (0, 60,  90, 0, "5. Mode 7 interactive test") ;
    write (0, 60, 100, 0, "6. Path-finding interactive test") ;
    write (0, 60, 110, 0, "7. Sound test") ;
    write (0, 60, 150, 0, "0. Exit") ;

    map = new_map (320, 200, 8) ;
    map_clear (0, map, 0) ;
    option = 0 ;
    REPEAT
        IF key(_1): option = 1; END
        IF key(_2): option = 2; END
        IF key(_3): option = 3; END
        IF key(_4): option = 4; END
        IF key(_5): option = 5; END
        IF key(_6): option = 6; END
        IF key(_7): option = 7; END
        IF key(_0): BREAK; END
        c = rgb (rand(32,128), rand(32,64), rand(32,64)) ;
        x = timer/5%100 ;
        IF (x > 50) x = 100-x; END
        xput (0, map, 160, 100, timer*-50, 200+x, 4, 0) ;
        FROM i = 0 TO 100;
            map_put_pixel (0, map, rand(0,320), rand(0, 200), c) ;
            map_put_pixel (0, map, rand(0,320), rand(0, 200), 1) ;
        END
        FRAME ;
    UNTIL option != 0;
    unload_map(0, map) ;
END

PROCESS Header(string title)
private
w, h;
BEGIN
    delete_text (0) ;

    w = graphic_info(0, 0, G_WIDTH) ;
    h = graphic_info(0, 0, G_HEIGHT) ;

    write     (0, w/2,  4, 1, title) ;
    write     (0, w/2-15, 15, 2, "FPS:") ;
    write_int (0, w/2+10, 15, 0, &fps) ;
    write     (0, w/2-15, 25, 2, "Speed %:") ;
    write_int (0, w/2+10, 25, 0, &speed_gauge) ;
    write     (0, w/2, h-20, 1, "Press ESC to continue") ;
END

// ----------------------------------------------------------------------
// Simple sprite drawing
// ----------------------------------------------------------------------

PROCESS FallingObjects()
BEGIN
    set_mode (320, 200, SCR_DEPTH);
    put_screen (0, 1);

    Header ("400 sprites") ;

    FROM x = 0 TO 400; FallingObject(100, 100, 0, 0); END
    WHILE !key(_ESC); FRAME; END;
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC); FRAME; END;
    Header ("100 rotating sprites") ;
    FROM x = 0 TO 100; FallingObject(101, 100, 0, rand(500,1000)); END
    WHILE !key(_ESC): FRAME; END
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC): FRAME; END;
    Header ("100 sprites with transparency") ;
    FROM x = 0 TO 100; FallingObject(100, 100, 4, 0); END
    WHILE !key(_ESC): FRAME; END
    signal (TYPE FallingObject, S_KILL) ;
    WHILE  key(_ESC): FRAME; END;
    Header ("100 scaled up sprites") ;
    FROM x = 0 TO 100; FallingObject(100, 120, 0, 0); END
    WHILE !key(_ESC): FRAME; END
END

PROCESS FallingObject(graph, size, flags, angleinc)
PRIVATE xspeed, yspeed, inispeed ;
BEGIN
    z      = rand (-5, 125) ;
    x      = rand (15, 305) ;
    y      = - rand (20, 100) ;
    xspeed = rand (-10, 10) ;
    yspeed = rand (-4, 0) ;
    inispeed = rand (10, 15) ;
    angle  = rand (0, 50 * angleinc) ;
    LOOP
        alpha = timer;

        x += xspeed ;
        IF (x > 305 || x < 15) xspeed = -xspeed; END
        y += yspeed++ ;
        IF (yspeed < -14) yspeed = -14; END
        IF (y > 180)
            yspeed = -inispeed ;
            IF (inispeed > 1)
                inispeed--;
            ELSE
                inispeed = 15;
            END
        END

        IF (out_region(ID, 0)) y = -rand(20, 100) ; inispeed = 15 ; END

        angle += angleinc ;
        FRAME ;
    END
END

// ----------------------------------------------------------------------
// Blendop tests
// ----------------------------------------------------------------------

PROCESS BlendedObject (x, y, string text, string text2, int flags, blendop)
BEGIN
    write (0, x, y+32, 4, text) ;
    write (0, x, y+40, 4, text2) ;
    angle = 1000 ;
    size = 150 ;
    graph = 101 ;
    LOOP
        angle += 2000 ;
        FRAME ;
    END
END

PROCESS BlendedObjects()
BEGIN
//    graph_mode = mode_16bits ;
    set_mode (320, 200, SCR_DEPTH);
    put_screen (0, 1) ;
    Header ("Blit flags") ;
    BlendedObject (60, 65, "Normal", "", 0, 0) ;
    BlendedObject (160, 65, "H-Mirror", "", 1, 0) ;
    BlendedObject (260, 65, "V-Mirror", "", 2, 0) ;
    BlendedObject (60, 135, "Normal", "Transparency", 4, 0) ;
    BlendedObject (160, 135, "H-Mirror", "Transparency", 5, 0) ;
    BlendedObject (260, 135, "No key", "", 128, 0) ;
    WHILE  !key(_ESC); FRAME; END;
    scan_code = 0 ;
    signal (TYPE BlendedObject, S_KILL) ;
    Header ("Blending operations") ;
    blendop = blendop_new() ;
    blendop_translucency (blendop, 0.70) ;
    BlendedObject (60, 65, "Transparency", "(70%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_grayscale (blendop, 1) ;
    BlendedObject (160, 65, "Grayscale", "(Luminance)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_intensity (blendop, 2.00) ;
    BlendedObject (260, 65, "Lighting", "(50%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_tint (blendop, 0.50, 255, 0, 0) ;
    BlendedObject (60, 135, "Red tint", "(50%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_intensity (blendop, 0.75) ;
    BlendedObject (160, 135, "Darkening", "(25%)", 0, blendop) ;
    blendop = blendop_new() ;
    blendop_grayscale (blendop, 1) ;
    blendop_intensity (blendop, 3.0) ;
    blendop_swap (blendop);
    BlendedObject (260, 135, "Inverted", "(Grayscale)", 0, blendop) ;
    WHILE  key(_ESC); FRAME; END;
    WHILE  !key(_ESC); FRAME; END;
    fade_off() ; while (fading); frame; end;
    set_mode (320, 200, SCR_DEPTH);
END

// ----------------------------------------------------------------------
// Primitive drawing
// ----------------------------------------------------------------------

PROCESS PrimitiveTests()
PRIVATE
    map, color, i ;
    word POINTER ptr ;
BEGIN
//    load_fpg ("test.fpg") ;
    set_mode (320, 200, SCR_DEPTH);
    put_screen (0, 1) ;
    Header ("Primitive drawing") ;
    graph = new_map (400, 400, 8) ;
    set_center (0, graph, 200, 200) ;
    drawing_map (0, graph) ;
    x = 160 ; y = 100 ; flags = 4 ;
    REPEAT
        drawing_color (rgb (rand(0,255), rand(0,255), rand(0,255))) ;
        draw_fcircle  (rand(0,399), rand(0,399), rand(0,25)) ;
        draw_rect     (rand(0,399), rand(0,399), rand(0,399), rand(0,399)) ;
        draw_line     (rand(0,399), rand(0,399), rand(0,399), rand(0,399)) ;
        draw_circle   (rand(0,399), rand(0,399), rand(0,100)) ;
        FRAME ;
        angle += 1000 ;
    UNTIL scan_code;
    unload_map (0, graph) ;
END

// ----------------------------------------------------------------------
// Scrolling
// ----------------------------------------------------------------------

PROCESS ScrollTest()
BEGIN

    set_mode(640,480,SCR_DEPTH);

    define_region (1,   0,   0, 320, 240) ;
    define_region (2,   0, 240, 320, 240) ;
    define_region (3, 320,   0, 320, 240) ;
    define_region (4, 320, 240, 320, 240) ;

    define_region (5,  80,  80, 160,  80) ;

    start_scroll(0, 0, 200, 1, 1, 15);
    start_scroll(1, 0, 200, 1, 2, 15);
    start_scroll(2, 0, 200, 1, 3, 15);
    start_scroll(3, 0, 200, 1, 4, 15);

    scroll[0].camera = ScrollSphere (160, 100, 100) ;
    scroll[1].camera = ScrollTriangle (scroll[0].camera, 0) ;
    scroll[2].camera = ScrollTriangle (scroll[0].camera, 120000) ;
    scroll[3].camera = ScrollTriangle (scroll[0].camera, 240000) ;

/*
    scroll[0].ratio  = 400 ;
    scroll[1].ratio  = 800 ;
    scroll[2].ratio  = 50 ;
    scroll[3].ratio  = 2000 ;
*/

    scroll[0].region1 = 5 ;
    scroll[0].region2 = 1 ;

    scroll[0].ratio  = 100 ;
    scroll[1].ratio  = 100 ;
    scroll[2].ratio  = 100 ;
    scroll[3].ratio  = 100 ;

    scroll[0].speed  = 3 ;
    scroll[1].speed  = 3 ;
    scroll[2].speed  = 3 ;
    scroll[3].speed  = 3 ;

    scroll[0].flags1 = B_TRANSLUCENT ;
    scroll[1].flags1 = B_TRANSLUCENT ;
    scroll[2].flags1 = B_TRANSLUCENT ;
    scroll[3].flags1 = B_TRANSLUCENT ;

    scroll[0].flags2 = B_NOCOLORKEY | B_HMIRROR;
    scroll[1].flags2 = B_NOCOLORKEY | B_HMIRROR;
    scroll[2].flags2 = B_NOCOLORKEY | B_HMIRROR;
    scroll[3].flags2 = B_NOCOLORKEY | B_HMIRROR;

    Header ("Scroll test") ;

    REPEAT: FRAME; UNTIL key(_esc);

    fade_off() ; while (fading); frame; end;

    stop_scroll(0) ;
    stop_scroll(1) ;
    stop_scroll(2) ;
    stop_scroll(3) ;

    set_mode(320,200,SCR_DEPTH);
END

PROCESS ScrollSphere (x, y, graph)
BEGIN
    priority = 101 ;
    ctype = c_scroll;
    LOOP
        IF (key(_right)) x += 4 ; END
        IF (key(_left))  x -= 4 ; END
        IF (key(_down))  y += 4 ; END
        IF (key(_up))    y -= 4 ; END
        IF (key(_space)) x = y = 0 ; END
        FRAME;
    END
END

PROCESS ScrollTriangle (follow, angle)
BEGIN
    priority = 100 ;
    graph = 102 ;
    ctype = c_scroll ;
    LOOP
        x = follow.x + get_distx (angle, 40) ;
        y = follow.y + get_disty (angle, 40) ;
        angle += 185000 ;
        FRAME ;
        angle -= 180000 ;
    END
END

// ----------------------------------------------------------------------
// Mode 7
// ----------------------------------------------------------------------

PROCESS Mode7Test()
PRIVATE
    a, b ;
BEGIN
    set_mode(320,200,8);
    put_screen (0, 1) ;
    Header ("Mode 7 - Press cursor keys, Q, W, A, Z") ;
    start_mode7 (0, 0, 1, 0, 0, 64) ;
    start_mode7 (1, 0, 0, 200, 0, 64) ;

    m7[0].distance = 0 ;
    m7[0].camera = id ;
    m7[0].height = 90 ;

    m7[1].distance = 0 ;
    m7[1].camera = id ;
    m7[1].height = 80 ;
    m7[1].flags  = 4 ;

    resolution = 100 ;

    FROM a = 0 TO 64 Step 16;
        FROM b = 0 TO 64 Step 16;
            Mode7Object (a, b, 100) ;
        END
    END

    FRAME;

    LOOP
        m7[0].z = m7[0].height ;
        m7[1].z = m7[1].height ;
        IF (m7.height < 0)
            m7[0].z = -m7[0].height ;
            m7[1].z = -m7[1].height ;
        END
        IF (key(_up))   advance(200) ; END
        IF (key(_down)) advance(-200) ; END
        IF (key(_left)) angle += 2000 ; END
        IF (key(_right)) angle -= 2000 ;END
        IF (key(_a)) m7.height+=2 ; m7[1].height+=2 ; END
        IF (key(_z)) m7.height-=2 ; m7[1].height-=2 ; END
        IF (key(_q)) xadvance(angle+90000, 200) ; END
        IF (key(_w)) xadvance(angle-90000, 200) ; END
        scan_code = 0 ;
        FRAME ;
        IF key(_esc): BREAK; END
    END
    fade_off() ; while (fading); frame; end;

    stop_mode7(1) ;
    stop_mode7(0) ;

    set_mode(320,200,SCR_DEPTH);
END

PROCESS Mode7Object (x, y, graph)
PRIVATE
    speed = -1 ;
BEGIN
    ctype = c_m7 ;
    cnumber = 1 ;
    height = rand (0, 16) ;
    resolution = 4 ;
    x *= 4 ; y *= 4 ;
    LOOP
        IF height > 0 && speed > -8: speed-- ; END
        height += speed ;
        IF (height < 0)
            height = 0 ;
            speed = rand(5, 15) ;
        END
        FRAME;
    END
END

// ----------------------------------------------------------------------
// Path-finding
// ----------------------------------------------------------------------

CONST
    width   = 64 ;
    height  = 32 ;

GLOBAL
    int     graphic ;
    int     title ;
    int     wall_color ;
    int     start_color ;
    int     end_color ;
    int     color_ruta ;
    int     last_x, last_y ;
    int     start_x, start_y ;
    int     end_x, end_y ;

PROCESS ClearRoute ()
PRIVATE
    byte POINTER ptr ;
    int pitch ;
BEGIN
    ptr = map_buffer (0, graphic) ;
    pitch = graphic_info(0, graphic, G_PITCH) ;
    FROM y = 0 TO HEIGHT;
        ptr = map_buffer(0,graphic) ;
        ptr += pitch * y ;
        FROM x = 0 TO WIDTH;
            IF [ptr] == color_ruta: [ptr] = 0; END
            ptr++ ;
        END
    END
END

PROCESS Reset()
BEGIN
    drawing_color (0) ;
    draw_box (0, 0, WIDTH, HEIGHT) ;
    drawing_color (wall_color) ;
    draw_rect (0, 0, WIDTH, HEIGHT) ;
    start_x = WIDTH/4 ;
    end_x = WIDTH*3/4 ;
    start_y = HEIGHT/2 ;
    end_y = HEIGHT/2 ;
    map_put_pixel (0, graphic, start_x, start_y, start_color) ;
    map_put_pixel (0, graphic, end_x, end_y, end_color) ;
END

PROCESS PathFinding()
BEGIN
    mouse.graph = 200 ;
    graphic = new_map (WIDTH, HEIGHT, 8) ;
    wall_color = rgb (196, 196, 196) ;
    start_color = rgb (255, 0, 0) ;
    end_color = rgb (0, 0, 255) ;
    color_ruta = rgb (128, 64, 128) ;
    drawing_map (0, graphic) ;
    Reset() ;
    title = write (0, 160, 4, 1, "Path finding") ;
    write (0, 160, 180, 1, "Draw walls with the mouse") ;
    write (0, 160, 190, 1, "(S) start (E) end (R) reset (SPACE) go") ;
    last_x = mouse.x / 4 ;
    last_y = mouse.y / 4 ;
    WHILE !key(_esc):
        clear_screen() ;
        xput (0, graphic, 160, 100, 0, 400, 0, 0) ;
        x = mouse.x / 4 - (40-WIDTH/2);
        y = mouse.y / 4 - (25-HEIGHT/2);

        IF mouse.left:
            drawing_color (wall_color) ;
            draw_line (x, y, last_x, last_y) ;
            map_put_pixel (0, graphic, x, y, wall_color) ;
        END
        IF mouse.right:
            drawing_color (0) ;
            draw_line (x, y, last_x, last_y) ;
            map_put_pixel (0, graphic, x, y, 0) ;
        END
        IF key(_s):
            ClearRoute() ;
            map_put_pixel (0, graphic, start_x, start_y, 0) ;
            start_x = x ; start_y = y ;
            map_put_pixel (0, graphic, x, y, start_color) ;
        END
        IF key(_r):
            Reset() ;
        END
        IF key(_e):
            ClearRoute() ;
            map_put_pixel (0, graphic, end_x, end_y, 0) ;
            end_x = x ; end_y = y ;
            map_put_pixel (0, graphic, x, y, end_color) ;
        END
        IF key(_space):
            FRAME ;
            ClearRoute() ;
            IF !path_find(0, graphic, start_x, start_y, end_x, end_y, PF_NODIAG):
                delete_text(title) ;
                title = write (0, 160, 6, 1, "The path is blocked") ;
            ELSE:
                FRAME ;
                clear_screen() ;
                delete_text(title) ;
                title = write (0, 160, 6, 1, "Path found in " + (speed_gauge*60/100) + " ms") ;
                set_fps (0, 0) ;
                WHILE path_getxy(&x, &y):
                    map_put_pixel (0, graphic, x, y, color_ruta) ;
                    xput (0, graphic, 160, 100, 0, 400, 128, 0) ;
                    FRAME ;
                END
                set_fps (0, 0) ;
                map_put_pixel (0, graphic, start_x, start_y, start_color) ;
                map_put_pixel (0, graphic, end_x, end_y, end_color) ;
            END
            WHILE key(_space): FRAME; END
        END
        IF key(_esc): BREAK; END
        last_x = x ;
        last_y = y ;
        FRAME ;
    END
    unload_map (0, graphic) ;
    fade_off() ; while (fading); frame; end;
END

// ------------------------------------------------------------------------
// Sound test
// ------------------------------------------------------------------------

PROCESS SoundTest()
PRIVATE
    int pat, pos, vol, time, md ;
BEGIN
    header ("Sound test") ;
    md = load_song("game.s3m") ;
    play_song (md,-1) ;
    vol = 128 ;
    WHILE is_playing_song() AND scan_code != _esc:
        FRAME ;
    END
    WHILE is_playing_song() AND vol > 0:
        FRAME ;
        set_song_volume ( vol -= 2) ;
    END
    stop_song() ;
    unload_song(md) ;
END

// ----------------------------------------------------------------------

PRIVATE proc ;
BEGIN
    FULL_SCREEN = FALSE ;
    LOOP
        proc = Menu() ;
        WHILE exists(proc): FRAME; END
        fade_off() ; while (fading); frame; end;
        put_screen(0, 1) ;
        delete_text(0) ;
        fade_on() ; while (fading); frame; end;
        IF option == 0: BREAK; END
        SWITCH (option)
            CASE 1: proc = FallingObjects(); END
            CASE 2: proc = BlendedObjects(); END
            CASE 3: proc = PrimitiveTests(); END
            CASE 4: proc = ScrollTest(); END
            CASE 5: proc = Mode7Test(); END
            CASE 6: proc = PathFinding(); END
            CASE 7: proc = SoundTest(); END
        END
        WHILE exists(proc): FRAME; END
        fade_off() ; while (fading); frame; end;
        let_me_alone() ;
        clear_screen() ;
        delete_text(0) ;
        fade_on() ;
    END
END
Título: Re: Avances, Diario de...
Publicado por: TYCO en Octubre 03, 2008, 11:22:51 am
Tiene buena pinta, la gota de agua queda muy bonita, el Zoom (+,-) no funciona, y ver asi el efecto espejado gusta.

Por otro lado a ver porque estre codigo no muestra un cuadrado blanco con un rectagulo rojo como cola. Probado en la WIP11, en la WIP10a tampoco va.

Código: [Seleccionar]
Program Pruebas;

Global

int fpg1;
int fpg2;

int map1;
int map2;

Begin
    set_mode(320,200,8);

// El FPG es el de los TESTS de siempre
    fpg1=load_fpg("test.fpg");
//    fpg2=load_fpg("test16.fpg");

    put_screen(fpg1,1);

    graph=map1=new_map(20,20,100);//rgb(255,255,255));

    x=160;
    y=100;

    sombra(x,y,angle);

    While (NOT key(_esc))
        IF (key(_right))
    angle-=5000;
        END
        IF (key(_left))
    angle+=5000;
        END
        IF (key(_down))
    advance(-5);
        END
        IF (key(_up))
    advance(5);
        END
        Frame;
    End
End

Process sombra (x, y, angle)

Begin
flags=5;
graph=map2=new_map(30,10,200);//rgb(255,0,0));
While (NOT key(_esc))
x=father.x;
y=father.y;
angle=father.angle;
advance(-20);
Frame;
End
End
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 11:29:28 am
no es el + y - del teclado numerico, es el + y - al lado del backspace.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 11:35:11 am
Tiene buena pinta, la gota de agua queda muy bonita, el Zoom (+,-) no funciona, y ver asi el efecto espejado gusta.

Por otro lado a ver porque estre codigo no muestra un cuadrado blanco con un rectagulo rojo como cola. Probado en la WIP11, en la WIP10a tampoco va.

Código: [Seleccionar]
Program Pruebas;

Global

int fpg1;
int fpg2;

int map1;
int map2;

Begin
    set_mode(320,200,8);

// El FPG es el de los TESTS de siempre
    fpg1=load_fpg("test.fpg");
//    fpg2=load_fpg("test16.fpg");

    put_screen(fpg1,1);

    graph=map1=new_map(20,20,100);//rgb(255,255,255));

    x=160;
    y=100;

    sombra(x,y,angle);

    While (NOT key(_esc))
        IF (key(_right))
    angle-=5000;
        END
        IF (key(_left))
    angle+=5000;
        END
        IF (key(_down))
    advance(-5);
        END
        IF (key(_up))
    advance(5);
        END
        Frame;
    End
End

Process sombra (x, y, angle)

Begin
flags=5;
graph=map2=new_map(30,10,200);//rgb(255,0,0));
While (NOT key(_esc))
x=father.x;
y=father.y;
angle=father.angle;
advance(-20);
Frame;
End
End

obviamente que no va a mostrar nada, mapas de 100 bits de profundidad por ahora no soportamos...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Octubre 03, 2008, 03:28:37 pm
Lo de la gota me ha dejado realmente impresionado, por fin podremos con bennu hacer todos esos programas multimedia que siempre quise con preciosas interfaces, adiós a los problemas de paletas e imágenes con colores raros ¡todo en 32 bits! viva el color, viva el preciosismo. Se me hace la boca agua...
Por cierto, la gota de agua es un mapa con esas transparencias aplicadas con un  programa de edición de imagen (es decir, es así y se respeta dentro de bennu) o es una gota corriente a la que le has aplicado por software como distintas capas de transparencias y demás historias?

Un saludo, y muchas gracias splinter.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 03, 2008, 04:11:20 pm
hola a todos, hay alguna forma de insertar los dlls en el ejecutable final?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 04:33:39 pm
Lo de la gota me ha dejado realmente impresionado, por fin podremos con bennu hacer todos esos programas multimedia que siempre quise con preciosas interfaces, adiós a los problemas de paletas e imágenes con colores raros ¡todo en 32 bits! viva el color, viva el preciosismo. Se me hace la boca agua...
Por cierto, la gota de agua es un mapa con esas transparencias aplicadas con un  programa de edición de imagen (es decir, es así y se respeta dentro de bennu) o es una gota corriente a la que le has aplicado por software como distintas capas de transparencias y demás historias?

Un saludo, y muchas gracias splinter.

es un png con canales alpha a nivel pixel... hecho con un editor grafico comun y corriente...

en el ejemplo tenes el mapa que podes ver tranquilamente en cualquier editor...
Título: Re: Avances, Diario de...
Publicado por: darío en Octubre 03, 2008, 05:53:33 pm
Uff, he estado unos 40 minutos para leerme toda la información de este post... estaba bastante desactualizado...

Pero bueno quería decir que me alegro de que la cosa marche... 32 bits uhmm nice. Voy a jugar un poquillo con la WIP de bennu :).

Un saludo a los que se acuerden de mí! Cada vez que enciendo el ordenador me dan ganas de retomar viejos proyectos...

Danko (acá Darío)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 03, 2008, 06:36:29 pm
hola dario, hacia tiempo que no te veia por aca... me alegra tu visita... saludos...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Octubre 04, 2008, 03:09:33 am
debo entender que en modo 32 bits los degradados se verán más que majetes no? porque me acuerdo de un proyecto que tenía en fenix y que los degradados salian caca, y lo tuve que quitar.

Un saludo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 03:11:56 am
muchas preguntas y pocas pruebas... prueba y lo veras con tus propios ojos...
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 04, 2008, 07:49:08 am
He estado probando el ejemplo de 32 bits y las transparencias son alucinantes. Gran trabajo Splinter.

Disculpa mi ignorancia pero podrías explicarme esta linea del ejemplo:

depth = depth == 32 ? depth = 16 : 32 ;

Gracias!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 08:41:01 am
claro, esto es lo mismo que poner...

Código: [Seleccionar]
if (depth == 32)
   depth = 16;
else
   depth = 32;
end
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 04, 2008, 10:49:47 am
Gracias, desconocía ese método para declarar un condicional.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 12:20:29 pm
Siguiendo con el trabajo

- Se corrigen varios temas con el bliteo de 32 bits (cuando se hacen combinaciones de map_put o map_xput con flags y otras combinaciones de mapas)
- Se modifica la rgb para que en el caso de 32bits retorne el rgba adecuado (con alpha al 100% o sea, 255)
- Se agrega correccion al soporte de vsync, ahora se usa directx para el vsync (por el momento solo windows, pero ya tengo las funciones para linux, solo que no tengo un linux nativo para probarlas... pero ya estara en su momento)
- Otros fixes varios que no recuerdo... (no me pidan recordar mucho, vengo durmiendo 2 horas por dia desde hace 2 meses...)
Título: Re: Avances, Diario de...
Publicado por: Makinor en Octubre 04, 2008, 01:19:13 pm
Hola a todos y fantastico trabajo Splinter.

Una duda, porque en el fichero test.prg que ha posteado linkernel aparece muy lento y brusco el scroll a diferencia de tu ejemplo en la pagina de betas Splinter? y el modo 7 tambien aparece fatal y brusco?

Gracias y genial el trabajo.....

P.D. A ver si cuando saques la primera release pudieras pasar una recopilacion de cambios con respecto a Fenix porque a veces no se te puede seguir el ritmo. ;)
Título: Re: Avances, Diario de...
Publicado por: Makinor en Octubre 04, 2008, 01:21:51 pm
Otra cuestion es que al parecer cuando ejecutas varias veces bennu se va volviendo algo brusco....se liberan bien los recursos? parece como si le costara a sdl...

Un abrazo
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 02:11:49 pm
sinceramente no me pasa, es la primera persona que lo dice, los recursos se liberan todos, pero como sea, cuando uno cierra un programa los recursos se liberan automaticamente... actualmente en bennu solo se estan liberando por algun futuro desarrollo donde se necesite ejecutar varias veces el motor en casos donde la aplicacion no termine cuando termina el runtime... y este se pueda volver a ejucutar bajo ciertas condiciones...
por otro lado una cosa diferente es setear comportamientos y no volver a restaurarlos, pero los recursos se liberan al morir los programas, esto es siempre asi... salvo casos muy especificos de uso de memoria compartida y/o colas de algun tipo especifico... todas cosas que no usamos con bennu... pero si podes ser mas explicito ayudaria con el tema....
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 04, 2008, 04:10:43 pm
nen, duerme un pokillo mas que lo recomendable son 8 a ver si nos keamos sin coder :D. Por cierto, serìa factible de no depender de SDL?, es dedir, usar Allegro u otra libreria que te abstaiga del HW pero que siga siendo trasnparente para el coder en bennu.
Por otra parte, repregunto si es posible con alguna opcion o programa externo insertar las dll necesarias en el exe final.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 04:18:57 pm
cual es el problema con la SDL? estuve viendo algunas cosas de allegro y no me gustaron nada, los que conocen ambas librerias desaconsejan allegro...
no, las dlls son recuersos separados, el sistema operativo las tiene que cargar, y por eso no pueden ser metidas dentro del exe...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 04, 2008, 04:26:57 pm
Problema con SDL?. Ninguno,simplemente digo tener opciones, usar directx del tiron u opengl o alternativas de cualquier índole, no se allegro es clavadito a SDL, si alguien dice que es peor, es
simplemente porque no ve sus cosas buenas. nada es peor o mejor solo son formas distintas de realiza una solución ambas tendran eficiencia en cosas distintas a las otras, no creo que tú con la solera que demuestras tener seas capaz de declinarte por una o por otra objetivamente :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 04, 2008, 07:36:35 pm
bien... tenemos que recordar que no solo el video es lo que ofrece SDL, y SDL actualmente se usa para muchas cosas, no solo para el video... de hecho es muy poco lo que se usa del video SDL...

Opengl, por supuesto, pero esto no quitara la dependencia de SDL, ya que se usa para cosas como el teclado, mouse, sonido, y otras tantas cosas mas...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 08, 2008, 02:33:55 am
P.D. A ver si cuando saques la primera release pudieras pasar una recopilacion de cambios con respecto a Fenix porque a veces no se te puede seguir el ritmo. ;)

Me uno a la petición, porque agosto sin internet me ha dejado muchísimo que leer, y en este mes otro tanto XD
En fin, mi enhorabuena por como va quedando todo, y viendo que ya tenemos modo 32 bits, podré hacer una versión de Venturer en HD (como me pidió Donan en su dia).

NOTA MENTAL: al acabar el programa que estoy haciendo, portar el motor de tiles v3 a Bennu.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 08, 2008, 02:50:39 am
Hola drumpi, pense que ya nos habias abandonado... El de tiles que vos me pasaste ya lo corri en bennu, hace tiempo, incluso en 32 bits, pero claro, no tiene graficos a 32 bits... :D
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Octubre 12, 2008, 09:21:22 am
Hola,

- Se agrega correccion al soporte de vsync, ahora se usa directx para el vsync (por el momento solo windows...

pese a que se dice que se corrigió el problema del vsync, lo cierto es que yo he probado y, aunque mejora muchísimo la nitidez del scroll (comparado con Fenix), lo cierto es que sigue sin irme fino, pues cada 'x' segundos se nota que se produce la dessincronía y entonces aparece el típico efecto de una banda horizontal que va subiendo por la pantalla desde abajo y que al llegar arriba desaparece para estar unos instantes mostrándose perfecta la pantalla y entonces vuelta a empezar con la barra...

Mi pregunta es si existe algún flag o combinación de estos para añadir a set_mode u otra solución y que se me haya escapado (ya he probado con la pareja MODE_DOUBLEBUFFER | MODE_HARDWARE pero sigue sin ir fino) para solucionar esto, y si no, pues nada :-)

Saludos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 12, 2008, 03:09:56 pm
no, no son esos los flags... el flag es WAITVSYNC...
Igualmente puede que no te vaya bien, si tenes ATI... funciona bien en GFORGE... por otro lado, la version que tengo en mi poder que todavia tengo que subir, si esta corregida para que funcione con todas las tarjetas...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Octubre 12, 2008, 03:24:19 pm
Vale, perfecto, ahora sí que va fino con el WAITVSYNC  :)

Por cierto, mi chip gráfico es un nvidia GeForce 8400M G.

Gracias y gran trabajo el que estás realizando con Bennu.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 12, 2008, 03:50:47 pm
Hola drumpi, pense que ya nos habias abandonado... El de tiles que vos me pasaste ya lo corri en bennu, hace tiempo, incluso en 32 bits, pero claro, no tiene graficos a 32 bits... :D

No, no os he abandonado, simplemente que tenía flojera de lectura :D:D:D Solo pido un poco de paciencia porque soy MUY MUY MUY reacio a cambiar de programas cuando estoy cómodo con uno. El DIV2 no lo abandoné hasta que fui obligado por w2k, así que, aunque Bennu es, en el fondo, Fenix "splinter version", tardaré en acostumbrarme a incluir librerías.

Y si, es cierto, probamos el scroll tileado, lo recordé un par de noches despues de escribirlo. Pero aun no había soporte de los FPG (que es una de las razones del miedo al cambio, tengo que admitir). En fin, si ya lo hay pronto lo pasaré oficialmente a Bennu, tan pronto termine las pruebas en GP2X. Por cierto, que los FPG eran de 8bits hechos con el DIV2, por si quedaban dudas del funcionamiento de estos en otros modos de color ^^U
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 12, 2008, 04:13:01 pm
;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 13, 2008, 03:46:20 pm
se da funcionalidad a la variable local "palette", donde se permite asignar una paleta propia a los procesos con graficos de 8 bits...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 13, 2008, 06:13:15 pm
Actualizacion del modulo render en el site de betas... tambien bajar el sample "palettes.rar" y probar unos ejemplos de uso de paletas... incluido la asignacion de paletas por proceso, usando un mismo grafico...
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 16, 2008, 05:45:08 am
Hola.
No sé si lo que voy a escribir está fuera de tiesto, pero es que me he dado cuenta ahora de un warning en la versión para Linux, del cual no me había dado cuenta hasta ahora (soy poco observador, sí). No sé si ya se ha solucionado...
Va todo bien, pero cuando compilo sale este mensaje:

librender:0: warning: Variable redeclared ("ALPHA_STEPS")

¿Es importante?
Título: Re: Avances, Diario de...
Publicado por: HaCkZJuaNN en Octubre 16, 2008, 05:54:04 am
Pasa en la de windows también desde hace tiempo, según SplinterGU parece que no tiene importancia.
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 16, 2008, 05:54:53 am
Sale desde hace unas cuantas versiones, Splinter dijo que lo ignorasemos : error (http://forum.bennugd.org/index.php?topic=102.msg1954;topicseen#msg1954)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 16, 2008, 07:29:50 am
Voy a explicar el motivo del por que el warning...

Los modulos (dlls) pueden declarar las variables que les son utiles/propias en su codigo, resulta que muchas de estas variables son utiles/propias a varios modulos pero no necesariamente los modulos que la declaran tienen que estar si o si en la compilacion, entonces cada uno de estos modulos opcionales necesitan declarar dichas variables, estas variables al momento de ejecucion apuntan al mismo espacio de memoria y deben ser del mismo tipo para no tener problemas... entonces el compilador no considera esto como un error de redeclaracion ya que estos casos son posibles, entonces, lo advierte como un warning para que el programador del modulo lo tenga en cuenta y revise de no haber declarado la variable con un tipo diferente... es solo una advertencia de que la variable tambien fue declarada previamente por otro modulo...
Título: Re: Avances, Diario de...
Publicado por: Prg en Octubre 16, 2008, 08:58:56 am
aprovechando que hablamos de los módulos, cuando se exporte el proyecto a exe, ¿es necesario tener todas las librerías en la carpeta o sólo las que carga nuestro proyectos, y las dependencias (de las que dependen)?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 16, 2008, 09:00:26 am
solo las que carga y sus dependencias...
estoy pensando en poner algun log que diga que modulos se usan... pero lamentablemente podre informar los modulos/libs bennu, las externas como SDL, ogg, etc... no puedo saber si se necesitan o no... por lo menos no de forma automatica...
Título: Re: Avances, Diario de...
Publicado por: Prg en Octubre 16, 2008, 09:09:01 am
Citar
solo las que carga y sus dependencias...
estoy pensando en poner algun log que diga que modulos se usan... pero lamentablemente podre informar los modulos/libs bennu, las externas como SDL, ogg, etc... no puedo saber si se necesitan o no... por lo menos no de forma automatica...

Es muy bueno saber que ya no es necesario poner todas las librerías. En cuanto a lo de las externas, por ahora sería incluirlas todas, al fin y al cabo no son tantas.

La idea de poner un "log que diga que modulos se usan" es una excelente idea, sin embargo de mientras con la lista que nos diste en la nueva versión creo que podemos saber cuáles  mods son los que nuestro proyecto usa. Gracias por todo :) , la nueva versión cada vez me deja más asombrado, Felicidades.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 05:04:41 pm
Wip 14, Linux/Win32

Core:

- args fix, now argc (argument count) say count of argv... and argv[0] is dcbname in not stub version, and executable name in stub version.

Modules:

- Several casts
- Add some includes
- Indent
- Some pointers size fix
- Remove unused vars
- Fix in use of grlib_destroy when error creation.
- Somes casts in palette module
- Linux port of libvideo
- Load map functions return 0 on fail
- Split MAGIC used in fpg/map/pal to MAGIC of 7 bytes and 1 byte for version
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 18, 2008, 05:18:12 pm
Ese ahíí!!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 06:18:39 pm
ejemplo?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 06:22:17 pm
Fixed sample 4 of palettes.rar... bad name in fpg...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 06:22:51 pm
si queres agregame al msn y hablamos antes que me retire a dormir...
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 18, 2008, 06:29:51 pm
Perdona Splinter, ha sido fallo mío.
Estaba probando el tutorial de matamarcianos que hizo Drumpi hace mil años, para aprovecharlo para mañana y no me fijé en ponerle el "&" a la variable de un write_int.  Ahora va bien; de todas maneras, estoy investigando por qué los dibujos se ven mal, sin colores y el negro absoluto viéndose como un blanco raro...Me parece que es un problema de paletas al querer usar en modo 16 un gráfico de 8 bits...ahora lo pruebo.
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 18, 2008, 07:12:07 pm
Hola. MIrad, he estado probando el tema de los gráficos con la nueva Wip14 (en Linux, pero supongo que es igual en Windows) y esto es a lo que he llegado:

-Si se cargan gráficos de 8 bits (o sea, voy al Gimp al menú Imagen->Modo->Indexado) con load_png, aparentemente no hay ningún problema...
-Si se cargan gráficos que no son de 8 bits (o sea, voy al Gimp al menú Imagen->Modo->RGB) con load_png, directamente no se ve nada de nada.
-Si se cargan gráficos de 8 bits con load_fpg, se ven raros: las zonas de negro (las transparentes) se ven blancas, y los colores precisamente se ven transparentes...
-No he podido cargar gráficos que no son de 8 bits en un fpg porque el png2fpg no lo hace: no genera ninguna salida.

Qué cosas. ¿A alguien más le pasa este mismo problema?
Bueno, hasta luego.


P.D: Si alguien quiere probar este tema, aquí os paso las imágenes de 8 bits, el fpg con éstas dentro y el código del jueguecito: http://www.xtec.net/~otorren2/MataMarcianos.tar.gz  (EDIT: Link Corregido...)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 07:20:31 pm
Para el png2fpg, todos los graficos tienen que ser de la misma profundidad de color...
Podes tambien probar forzar el modo de video en el png2fpg...
Lo demas que dijiste no entendi nada... o sea, no se ven en el gimp? no entiendo...
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 18, 2008, 07:28:07 pm
Ah!, vale, gracias. Seguramente el fallo del png2fpg viene por ahí, porque estaba mezclando imágenes de diferentes  profundidades. Ahora lo pruebo: si no digo nada es que va bien.

Lo que quería decir es que si la misma imagen, la convierto de indexada a RGB con el Gimp, cuando luego ejecuto el juego entonces se deja de ver, pasa a estar invisible.

Gracias por tener paciencia a las molestias que estoy causando...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2008, 07:32:17 pm
Si lo pasas a RGB de 32 bits y no estas seteando el alpha al 100% (255), entonces significa que el alpha es 0, por ende invisible.
Título: Re: Avances, Diario de...
Publicado por: osk en Octubre 18, 2008, 07:55:00 pm
Funciona perfectooooo!!!!!!! A 32 bits con transparencias, fuera o dentro del fpg creado con el png2fpg. Aaaaaahhh!!!
Se acabó lidiar con el color negro como transparente. Los 8 bits al olvido!!! Aaaaahhh!!!
Ejem,ejem. Es muy tarde, ya no controlo lo que digo...

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 19, 2008, 04:54:48 pm
- new set_window_pos, get_window_pos and get_window_size functions
- GET_WINDOW_SIZE now difference between window size and client area
- GET_DESKTOP_SIZE added
- Linux Port (need tested)
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 20, 2008, 01:59:51 pm
Estoy intentando migrar a la wip14, pero tengo un problema, cuando intento compilar mi programa machaca marcianos, me salta un error diciendo que le falta bgdi.dll, me he fijado que la wip14 viene sin esa dll, y usar la dll de la wip2 no soluciona el problema, donde puedo encontrar la dll que falta?.


Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 20, 2008, 02:33:42 pm
no va mas bgdi.dll... quitala...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 21, 2008, 02:13:21 am
Ok, "yasta" ya he emigrado a wip14, el problema con la dll fantasma, era que sin querer habia copiado el fichero bgdc.import de la version wip2 ::) ::) :P :P :D :D, pero he vaciado el import y problema casi solucionado, por que aparte he tenido que ir añadiendo mas dll nuevas, y algun que otro cambio que ha habido de sintasis en el bennu, pelearme con alguna que otra constante redefinida. Bueno a partir de ahora a seguir desarrollando el machacamarcianos e ir cazando bugs en el bennu wip14. hasta pronto.


 
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 21, 2008, 02:36:43 am
Fantastico, me alegra saber que ya te pasaste a la ultima...
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 21, 2008, 07:47:12 am
Juan, no quiero meterte prisa ni nada parecido porque la WIP14 ya es increiblemente funcional. Pero tengo la duda; en que fase se encuentra el desarrollo de Bennu, esta cerca de la 1.0 o todavia le falta algo? Es solo curiosidad. El trabajo que estas haciendo es fantastico. Saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 21, 2008, 08:08:07 am
para la release de la siguiente version falta poco...
para la 1.0, falta unas cuantas releases, todavia... tiene que quedar todo finalizado, y hay algunos cuantos temas que completar... mas alla de las nuevas funcionalidades que tengo planificadas, que no necesariamente tienen que estar incluidas en la 1.0...
para la 1.0 (que no es la 0.93 release) calculo faltan de 6 a 12 meses...
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Octubre 21, 2008, 09:25:19 am
para la 1.0, falta unas cuantas releases, todavia... tiene que quedar todo finalizado, y hay algunos cuantos temas que completar... mas alla de las nuevas funcionalidades que tengo planificadas, que no necesariamente tienen que estar incluidas en la 1.0...
para la 1.0 (que no es la 0.93 release) calculo faltan de 6 a 12 meses...

A este ritmo, en 6 o 12 meses, cualquiera sabe las novedades que nos traes.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 24, 2008, 02:38:34 pm
- Prohibit unload font 0
- Fix controls points + mirrors + angle
- Check if graph exist on gr_save_png
- Fix on 32 bits collision
- Fix on 32 bits blits
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 25, 2008, 10:28:50 pm
- mod_debug added! with some improvements... ;)
Título: Re: Avances, Diario de...
Publicado por: darío en Octubre 26, 2008, 02:03:06 am
Great!!
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Octubre 26, 2008, 03:02:21 am
- mod_debug added! with some improvements... ;)


This looks like great... Great work Juan, there're no words to say it.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 05:22:10 am
I forget...

- Spanish runtime error translated to English
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 07:51:24 am
- Linux Port
- Fixes on mod_wm, linux
Título: Re: Avances, Diario de...
Publicado por: TYCO en Octubre 26, 2008, 08:20:23 am
Por qué se habla en ingles en el Foro Español??? XD eso está bien en el Foro English para postear más allí.

Por fin la consola de debug! gracias, y con mejoras, habrá que ver esas mejoras... o habrá que adivinarlas porque no son visibles??? Esperando la nueva WIP con ganas, veo que la WIP-15 para linux se está subiendo (veo como los KB van cambiando jeje), así que no tardará mucho en estar completa y también la de windows.

Gran trabajo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 08:24:30 am
en ingles, porque me resulta mas facil copy&paste del svn... sorry...

mmm... ya estoy subiendo la version 15... en un rato estara disponible...

exacto...

me olvide algunas cosas, que no puse en el help...

con shift+cursor se agranda y se achica la consola...
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 26, 2008, 08:39:15 am
Juan como esta el fpg.exe y el map.exe, ya tienen soporte 32 bits? Seria mucho pedir que los incluyeras en las WIP?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 08:42:15 am
Wip 15 disponible...

lamentablemente esas utilidades no tienen soporte 32bits... de momento te sugiero usar el png2fpg... prg esta trabajando en un editor, si la cosa se complica, voy a hacer uno yo, uno simple, no pretendo hacer algo complejo, sino algo que permita importar graficos (no exportar, ni tampoco convertir) y ponerle puntos de control... nada mas que eso...
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 26, 2008, 08:52:20 am
Entendido, pero sigo pensando que seria bueno incluirlos en la WIP aunque no tengan soporte 32 bits. Gracias por la WIP15, bajando y probando. Karma plus. Saludos!  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 08:55:07 am
sin soporte 32 bits, tenes la version de fenix, que sirve igualmente ...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 26, 2008, 01:17:24 pm
Mañana en el curro (trabajo) emigro a la wip 15, tengo por desgracia  :( 8 horas para hacerlo.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2008, 03:03:54 pm
- Some debug fixes

WIP15a uploaded!
Título: Re: Avances, Diario de...
Publicado por: Phreak en Octubre 28, 2008, 12:29:57 am
Que bueno!! gracias por devolverme el debug, me estaba volviendo loco!
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 28, 2008, 07:44:51 am
en ingles, porque me resulta mas facil copy&paste del svn... sorry...
Mmmm, me pregunto dónde andará el svn.... svn.bennugd.org me dice que tururú, que a ver quién soy :)
A ver si cojo mi viejo karaoke y lo porto a bennu, que tengo ganas de tocarlo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 28, 2008, 08:10:06 am
el svn esta en mi pc... ;)

pronto se liberara, en tanto todos colaboren con las pruebas y lo depuremos...
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 28, 2008, 12:33:45 pm
:)
A ver si me pongo y porto mis librerías que tengo unas cuantas ideas para mi karaoke.
Si sale algo, te cuento.
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Octubre 28, 2008, 12:36:24 pm
:)
A ver si me pongo y porto mis librerías que tengo unas cuantas ideas para mi karaoke.
Si sale algo, te cuento.

Karaoke?
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 28, 2008, 12:41:32 pm
Código rápido que escribí para una fiesta de mi cumple del año pasado. Puede leer los ficheros del ultrastar, aunque está muy verde por algunos lados, es divertido y funciona.
Por cierto, que usa librerías para poder utilizar ficheros de texto de cualquier charset (un binding para iconv) y para podeer reproducir sonido por gstreamer (por historias de codecs y alguna cosilla más).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 28, 2008, 05:57:22 pm
- Debugger's new appearance
- New characters added to debug's system font
- New debug's functions: breakall, breakalltypes, deleteall, deletealltypes, go, nextframe, nextproc.
- Process list in brief mode
- Process browse window, by id or by type, allowing to set/remove breakpoints, inspect his variables, etc...
- Palete fix on 8 bits fpg save
- Mirror fix on angle = 0
- Several module's dependencies added
- SDL_Initializations on some modules
- Debug info add at loading modules in runtime...
- English messages in compiler
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 28, 2008, 07:33:15 pm
Wip 15b uploaded
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 28, 2008, 11:41:13 pm
Bajando para probar el debbuger, gracias!
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 29, 2008, 12:30:31 am
Re-emigrando "again" a la wip15b, tengo 8 horas para hacerlo esta tarde en el "curro". ::) ::)

Título: Re: Avances, Diario de...
Publicado por: TYCO en Octubre 29, 2008, 01:10:26 am
- Debugger's new appearance
- New characters added to debug's system font
- New debug's functions: breakall, breakalltypes, deleteall, deletealltypes, go, nextframe, nextproc.
- Process list in brief mode
- Process browse window, by id or by type, allowing to set/remove breakpoints, inspect his variables, etc...

Simplemente genial, ahora es una consola mucho mas controlable, me ha gustado mucho nextframe, nextproc(que en vez de hacer un "TRACE" por todas las lineas de todos los procesos hasta llegar al procesos que te interesa; con esto pasas directamente al proceso siguiente y luego ya usas TRACE linea a linea), la browse window by id or by type, el poder set/remove breakpoints y inspect his variables. Pero he tenido que adivinar las TECLAS jeje, con el SHIFT para ver la browse window, y con el ALT+FECHAS ajustar el tamaño de la consola, mucho mejor que como era antes (COLUM.. =80, etc). He testeado todo lo que pongo que me agrada y no he visto bugs.

Gran trabajo.

PD: ya verías que en la WIP15a no se podía escribir en la consola, esto ya no pasa en la WIP15b
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Octubre 29, 2008, 01:25:16 am
- Debugger's new appearance
- New characters added to debug's system font
- New debug's functions: breakall, breakalltypes, deleteall, deletealltypes, go, nextframe, nextproc.
- Process list in brief mode
- Process browse window, by id or by type, allowing to set/remove breakpoints, inspect his variables, etc...
- Palete fix on 8 bits fpg save
- Mirror fix on angle = 0
- Several module's dependencies added
- SDL_Initializations on some modules
- Debug info add at loading modules in runtime...
- English messages in compiler

Qué buena pinta tiene! Ahora todo está mucho más controlable y accesible. No tienes que memorizar comandos y con atajos de teclado que -además- se muestran en la consola, todo se hace más fácil. Todo un acierto!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2008, 03:37:59 am
Me alegra que haya gustado... yo si encontre un bug... que me pasó con nextframe teniendo 2 procesos... luego de un tiempo o tras un let_me_alone (creo) la consola quedo llamandose constantemente... mostrando la imagen animada y las entradas a la consola a la vez, solo parando al pulsar nuevamente alt+c... quizas tenga simple solucion, pero por ahora es un bug conocido...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2008, 04:13:26 am
Bueno, ya tengo una solucion temporal, el problema es que cuando da la vuelta completa de los procesos a ejecutar (hizo un frame completo sobre todos los procesos) el primer proceso entra 2 veces a la consola, no ejecuta nada, pero la instruccion aparece 2 veces en la consola...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2008, 04:43:17 am
Solucionado!
Título: Re: Avances, Diario de...
Publicado por: Prg en Octubre 29, 2008, 11:39:31 am
descargando y probando :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2008, 03:04:12 pm
Bien gente, muchas visitas y pocos comentarios...
Necesito que por favor le dediquen unos minutos a probar esta version... que yo diria ya empieza a ser "Release Candidate"... pero tambien necesito un poco de feedback de Uds., para dejarla lista para liberarla como Release...
Gracias...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 30, 2008, 01:47:52 am
Hola SplinterGU, he cazado un bug en la wip15b, es poco importante pero es un bug de todas formas, cuando compilo un programa en el bgdc, en el resultado de la compilacion hay omision de etiquetas en los datos sacados a la consola de los comando, para que se entienda:


BGDC 0.93 (Oct 18 2008 18:33:02)
Copyright ® 2006-2008 SplinterGU (Fenix/Bennugd)
Copyright ® 2002-2006 Fenix Team (Fenix)
Copyright ® 1999-2002 JosÚ Luis Cebrißn Pag³e (Fenix)
Fenix comes with ABSOLUTELY NO WARRANTY; see COPYING for details

librender:1: warning: Variable redeclared ("ALPHA_STEPS")

File AirWars_0v06.dcb compiled (145153 bytes):

  Processes                    26
  Global data               1592      bytes
  Local data                  204      bytes
  Private data              2512      bytes
  Public data                   24      bytes
  Code                      54060      bytes
  System processes        238
  Globals vars                  72
  Locals vars                   28
  Private vars                  93
  Publics vars                    6
  Identifiers                   994
  Structs                        11
  Strings                         41      (407 bytes)

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 02:02:44 am
omision de etiquetas? a que te referis?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 02:05:10 am
si te referis al texto que iba detras de los totalizadores, si te referis a eso, lo elimine... era redundante, poner:

"Processes 123 processes"
etc
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 30, 2008, 02:20:47 am
Otro posible error, digo posible error por que puede ser un comportamiento del fenix, es el caso siguiente, tengo una serie de procesos los cuales han reservado memoria dinamica, y los cuales cuando son destruidos liberan la memoria dinamica que han reservado mediante la clausula ONEXIT, el proceso principal tambien reserva memoria dinamica, liberando igualmente la memoria dinamica cuando este es destruido, usando de nuevo un ONEXIT, pero antes de liberar su correspondiente memoria, el proceso principal mata a todos los procesos con un Let_Me_alone().

[code language="bennu"]
BEGIN  // Proceso principal.

...   // Codigo
...

ONEXIT
 Let_Me_Alone();  // Matamos todos los procesos menos el principal
 FinalizaGeneral(); // Liberamos recursos y memoria dinamica
END
[/code]

ejecuto el juego, finalizo el juego saliendome del bucle principal del proceso principal y dejando terminar el proceso principal, si entre los procesos que Let_Me_Alone a muerto hay Procesos que han reservado memoria dinamica, se produce un error tipo de windows "DGDI.EXE ha detectado un problema y debe cerrarse, bla bla, bla" con los tres clasicos botones, pero si entre Let_Me_alone() y FinalizaGeneral(), añadimos un FRAME tal que asi: 

[code language="bennu"]
BEGIN  // Proceso principal.

...   // Codigo
...

ONEXIT
 Let_Me_Alone();  // Matamos todos los procesos menos el principal
 FRAME;              // Con esto me libro del BUG.
 FinalizaGeneral(); // Liberamos recursos y memoria dinamica
END
[/code]

El bug desaparece, dandole asi tiempo a los procesos a liberar su memoria dinamica, antes que lo haga el proceso principal.


P.D: El post es un poco "tocho" pero es la mejor forma que he encontrado para explicarme.

 
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 30, 2008, 02:25:44 am
si te referis al texto que iba detras de los totalizadores, si te referis a eso, lo elimine... era redundante, poner:

"Processes 123 processes"
etc

Aaaah ok, entendido.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 02:32:39 am
Otro posible error, digo posible error por que puede ser un comportamiento del fenix, es el caso siguiente, tengo una serie de procesos los cuales han reservado memoria dinamica, y los cuales cuando son destruidos liberan la memoria dinamica que han reservado mediante la clausula ONEXIT, el proceso principal tambien reserva memoria dinamica, liberando igualmente la memoria dinamica cuando este es destruido, usando de nuevo un ONEXIT, pero antes de liberar su correspondiente memoria, el proceso principal mata a todos los procesos con un Let_Me_alone().

[code language="bennu"]
BEGIN  // Proceso principal.

...   // Codigo
...

ONEXIT
 Let_Me_Alone();  // Matamos todos los procesos menos el principal
 FinalizaGeneral(); // Liberamos recursos y memoria dinamica
END
[/code]

ejecuto el juego, finalizo el juego saliendome del bucle principal del proceso principal y dejando terminar el proceso principal, si entre los procesos que Let_Me_Alone a muerto hay Procesos que han reservado memoria dinamica, se produce un error tipo de windows "DGDI.EXE ha detectado un problema y debe cerrarse, bla bla, bla" con los tres clasicos botones, pero si entre Let_Me_alone() y FinalizaGeneral(), añadimos un FRAME tal que asi: 

[code language="bennu"]
BEGIN  // Proceso principal.

...   // Codigo
...

ONEXIT
 Let_Me_Alone();  // Matamos todos los procesos menos el principal
 FRAME;              // Con esto me libro del BUG.
 FinalizaGeneral(); // Liberamos recursos y memoria dinamica
END
[/code]

El bug desaparece, dandole asi tiempo a los procesos a liberar su memoria dinamica, antes que lo haga el proceso principal.


P.D: El post es un poco "tocho" pero es la mejor forma que he encontrado para explicarme.

 

no sera que los demas procesos acceden en el onexit a datos alocados por el principal o datos que libera el principal? o estaras desalocando varias veces lo mismo (llamando a la misma funcion de desalocar en todos los procesos, sin hacer chequeos de que si estos ya fueron liberados)?
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 30, 2008, 02:54:43 am
No, los procesos "hijos" acceden a los datos dinamicos del proceso principal fuera de su ONEXIT, el codigo de ONEXIT de los procesos "hijos" solo elimina los datos dinamicos de los procesos "hijo" .
No, uso una funcion comun, cada uno tiene su codigo propio para eliminar sus datos dinamicos propios.


te paso mi directorio de trabajo por si le quieres hechar una ojeada:

http://rapidshare.com/files/158960023/airwars.zip.html

P.D: Y aunque suene contradictorio despues de haberte dado mas trabajo: Leñe! descansa un poquito que no queremos que te pongas pachucho, que te queremos mucho.  ;D ;D ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 04:33:22 am
Ya tengo que salir, por la noche lo bajo y lo miro, gracias...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Octubre 30, 2008, 01:42:01 pm
No te preocupes, como viene siendo habitual, es un error mio, resulta al morir estos procesos "hijos", generaban otros procesos hijos que intentaban utilizar los recursos ya borrados del proceso principal, solucion: he añadido una funcionalidad a mi "engine" de enemigos, un sistema de señales especificas para evitar estos casos y otros casos futuros que ya ire desarrollando en un futuro cercano, gracias por las molestias tomadas.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 01:44:40 pm
puf, me da error la descarga... no lo puedo chequear...

ahhh, ok, no era problema de bennu, fantastico...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2008, 07:08:03 pm
Corregido tremendo bug al procesar comandos de preprocesamiento:

#if <expresion>

dejaba el codigo generado por la expresion en el codigo del dcb... :P
Título: Re: Avances, Diario de...
Publicado por: blostec en Octubre 31, 2008, 12:51:12 am
Corregido tremendo bug al procesar comandos de preprocesamiento:

#if <expresion>

dejaba el codigo generado por la expresion en el codigo del dcb... :P

ufff suerte que lo has detectado, buen trabajo!  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 31, 2008, 03:42:57 am
Me volvi loco preguntandome que tenia mal dentro de las funciones nuevas que habia hecho en la GUI y no era la GUI, era el compilador...
Tambien detecte otros bugs o mejor dicho comportamiento que no es el deseado, pero bueno, ya lo arreglare, aunque no es nada tan grave...
gracias...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 02, 2008, 06:26:17 pm
Version Wip15c (solo windows por ahora, luego subo la version linux y actualizo las noticias en la seccion ingles, ahora mismo no tengo tiempo de hacerlo)

Incluye, Core:

- Fix copyright text in bgdc and bgdi
- Add project basename path to includes paths
- Add project basename path in messages errors
- #if preprocesor fix
- English message fixed

Modules:

- Get graphic library fix when lib == 0 and map-> is > 0 and < 999
- NEXTPROC fix in mod_debug
- Mouse x and y now setting with value 99999 on startup
 
Título: Re: Avances, Diario de...
Publicado por: laghengar en Noviembre 03, 2008, 02:37:32 pm
Hola, perdona Splinter, en la wip 15.c ha dejado de salirme el gráfico que tenía para el mouse, un saludo  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 03, 2008, 02:55:58 pm
que grafico no te sale? da un poco mas de detalles, a mi me funciona perfectamente.
Título: Re: Avances, Diario de...
Publicado por: laghengar en Noviembre 03, 2008, 03:33:22 pm
Pues es uno normal a traves del load_fpg, mouse.file y mouse.graph etc  :-\ esque con el wip 11 si iba, y no he hecho nada con el mouse para que ahora no funcione. no se, la verdad esque no estoy seguro, mando ahora todo el trabajo hecho.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 03, 2008, 05:22:31 pm
ya vi el error, ya lo corregi, gracias por el reporte, ahora en un rato subo un parche... para el modulo corregido...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 03, 2008, 05:33:38 pm
patch disponible... wip15c.2
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 06, 2008, 02:52:25 am
Bueno esto no es un bug en el "mod_debug", pero a ver que te parece...

En cierto momento del código, hago:

fade_off()
...
....
...
debug;
..
......
..
....
fade_on();

Entre los Fade_on/off hago unloads, loads, coloco cosas en su sitio... incluso FRAMES para que otros procesos puedan hacer cosas concretas con la pantalla apagada(fade_off), el problema es bien sencillo, cuando llamo a la "consola de debug", no la veo, aunque estar si que está, tengo que hacer //fade_off() cuando hay "debug;" cerca, la consola no debería hacer un encendido/apagado de pantalla automáticamente al llamarla??? en el viejo div2 creo recordar que si estaba apagada... al llamar al trazador... la encendida... y al cerrar el trazador la dejaba apagada otra vez.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 06, 2008, 04:35:34 am
podria ser...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 06, 2008, 05:47:33 am
Ejecuto: "Bennu-WIP15c2\bgdi Rally.dcb >Log.txt 2>Error.txt" desde la consola en win xp.

Desde el juego salgo con: "exit("Gracias por jugar.",9);"

Problema: Este exit no muestra "Gracias por jugar." en ningún lado, ni en la consola ms-dos, ni en Log.txt, ni en Error.txt, ni en un msgbox. Eso sin contar con que funcione bien y Retorne 9, al .BAT que le llamó por ejemplo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 06, 2008, 06:14:36 am
Ejecuto: "Bennu-WIP15c2\bgdi Rally.dcb >Log.txt 2>Error.txt" desde la consola en win xp.

Desde el juego salgo con: "exit("Gracias por jugar.",9);"

Problema: Este exit no muestra "Gracias por jugar." en ningún lado, ni en la consola ms-dos, ni en Log.txt, ni en Error.txt, ni en un msgbox. Eso sin contar con que funcione bien y Retorne 9, al .BAT que le llamó por ejemplo.

En el codigo Fenix (tambien en Bennu) dice claramente...

Código: [Seleccionar]
/** EXIT ()
 *  Leaves the program at next frame (two parameters accepted for compatibility)
 */

A esto agrego, la funciones "exit" no es retorno directo al SO, hace una salida ordenada, matando primero a todos los procesos... aunque realmente tampoco lo hace, y no tiene mucho sentido lo que se hace, ya que si bien envia la señal de kill a todos los procesos, apenas retorna de la ejecucion del proceso actual, fuerza una salida del loop principal, sin esperar que los demas ejecuten su exit...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 06, 2008, 07:49:25 am
for compatibility... simplemente los acepta... pero no los usa, si la frase "Gracias por jugar." no se va a mostrar en "Bennu v1.0" no veo lógico que se pueda poner como parámetro. Fénix desde la 0.84 y más aún Bennu dejaron hace tiempo de ser compatibles con div (empezando por los fwrite, fread, load, save, etc).

Lo único que quede claro para los novatos que no es un bug que no salga ese mensaje.
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 06, 2008, 08:04:55 am
Otra cosa... si en el código hay funciones que llaman a la consola (debug;) y no has hecho: import "mod_debug"; genera el archivo DCB sin dar errores ni advertencias. Es algo sin importancia, pero ahí lo dejo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 06, 2008, 09:05:48 am
1) Quizas la exit necesite un replanteo...
2) La instruccion "debug" es propia de bennu, no del modulo debug... por ende es correcto que no de error... quizas deba removerse del core y meterse en el mod_debug...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 06, 2008, 07:24:55 pm
Nuevo modulo interface portable de funciones externas... (importar cualquier dll/so a bennu)... version experimental que sufrira ciertos cambios, pero ya es funcional... se pueden importar dlls del operativo, ya hice un ejemplo, que manipula la ventana, muestra un MessageBox (del operativo), lee el estado de la pulsacion de los botones y actua en consecuencia...
Con esto, mucha de la creacion de modulos para incorporar funcionalidades existentes en dlls externas ya no sera necesaria... en la mayoria de los casos, solo bastara con importar la dll y a disfrutar...
Actualmente solo se soportan tipos de datos basicos, pero pronto soportara estructuras, la idea es probar que el metodo es factible... y de hecho ya es una realidad...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 07, 2008, 12:30:07 am
Esto no dará problemas en multiplataforma? (linux, etc)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 01:56:49 am
No, como dije, es portable... se usa una libreria opensource con una licencia totalmente permisiva para realizar esto... soporta:

arm oabi linux
arm eabi linux
hppa linux
mips o32 linux (little endian)
powerpc darwin
powerpc64 linux
sparc solaris
sparc64 solaris
x86 cygwin
x86 darwin
x86 freebsd
x86 linux
x86 openbsd
x86-64 darwin
x86-64 linux
x86-64 OS X
x86-64 openbsd

y actualmente se usa en muchos lenguajes populares, algunos son:

PHP, Lua, Java, Python, PyObjC, RubyCocoa, gcj, GNU Smalltalk, IcedTea, Pawn, Squeak,...

Como dije es portable, da una forma standard de llamar a librerias dinamicas entre sistemas operativos... obviamente que esto no quiere decir que podes llamar a una lib de windows desde linux, pero asi como usamos la exec para ejecutar aplicaciones externas desde Bennu, tambien podes usar este modulo para hacer lo propio con las dls... recorda que en todo momento desde Bennu podes saber en que operativo estamos corriendo...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Noviembre 07, 2008, 02:00:21 am
Me encanta esa funcionalidad, pero mucho mucho. :D :D :D :D :D


Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 02:16:30 am
Me encanta esa funcionalidad, pero mucho mucho. :D :D :D :D :D

gracias

Codigo de ejemplo (las funciones pueden sufrir modificaciones, por ahora es experimental, y lamentablemente por problemas de internet no puedo subir ninguna version hasta que me solucionen el problema de que no puedo subir mas de 4kb y con problemas):

Código: [Seleccionar]

import "mod_video";
import "mod_ffi";
import "mod_say";
import "mod_wm";
import "mod_key";

/* --------------------------------------------------------------------------- */

#define SW_HIDE 0
#define SW_NORMAL 1
#define SW_SHOWNORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_MAXIMIZE 3
#define SW_SHOWMAXIMIZED 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11

/* --------------------------------------------------------------------------- */

#define MB_ABORTRETRYIGNORE 2
#define MB_APPLMODAL 0
#define MB_DEFAULT_DESKTOP_ONLY 020000h
#define MB_HELP 04000h
#define MB_RIGHT 080000h
#define MB_RTLREADING 0100000h
#define MB_TOPMOST 040000h
#define MB_DEFBUTTON1 0
#define MB_DEFBUTTON2 256
#define MB_DEFBUTTON3 512
#define MB_DEFBUTTON4 0300h
#define MB_ICONINFORMATION 64
#define MB_ICONSTOP 16
#define MB_OKCANCEL 1
#define MB_RETRYCANCEL 5

/* --------------------------------------------------------------------------- */

#define HWND_BROADCAST (0FFFFh)
#define HWND_BOTTOM (1)
#define HWND_NOTOPMOST (-2)
#define HWND_TOP (0)
#define HWND_TOPMOST (-1)
#define HWND_DESKTOP 0

/* --------------------------------------------------------------------------- */

type _RECT;
    INT left;
    INT top;
    INT right;
    INT bottom;
end

/* --------------------------------------------------------------------------- */

Global
    fMessageBox;
    fGetForegroundWindow;
    fGetConsoleWindow;
    fGetWindowThreadProcessId;
    fShowWindow;
    fGetCurrentProcessId;
    fBringWindowToTop;
    fSetWindowPos;
    fGetWindowRect;
end

/* --------------------------------------------------------------------------- */

process ImportExternals()
begin
    fMessageBox = ffi_declare(FFI_STDCALL, "user32.dll", "MessageBoxA", "PPPI", "I");
    fGetForegroundWindow = ffi_declare(FFI_STDCALL, "user32.dll", "GetForegroundWindow", "", "I");
    fGetConsoleWindow = ffi_declare(FFI_STDCALL, "kernel32.dll", "GetConsoleWindow", "", "I");
    fGetWindowThreadProcessId = ffi_declare(FFI_STDCALL, "user32.dll", "GetWindowThreadProcessId", "IP", "I");
    fGetCurrentProcessId = ffi_declare(FFI_STDCALL, "kernel32.dll", "GetCurrentProcessId", "", "I");
    fShowWindow = ffi_declare(FFI_STDCALL, "user32.dll", "ShowWindow", "II", "I");
    fBringWindowToTop = ffi_declare(FFI_STDCALL, "user32.dll", "BringWindowToTop", "I", "I");
    fSetWindowPos = ffi_declare(FFI_STDCALL, "user32.dll", "SetWindowPos", "IIIIIII", "I");
    fGetWindowRect = ffi_declare(FFI_STDCALL, "user32.dll", "GetWindowRect", "IP", "I");
end

/* --------------------------------------------------------------------------- */

function GetWindowRect(int hWnd, _RECT * lpRect)
private
    int ret = 0;
    int * values[1];
begin
    values[0] = &hWnd;
    values[1] = &lpRect;
    ffi_call(fGetWindowRect, &ret, &values);
    return ret;
end

/* --------------------------------------------------------------------------- */

function SetWindowPos(int hWnd, int hWndInsertAfter, int x, int y, int cx, int cy, int uFlags)
private
    int ret = 0;
    int * values[6];
begin
    values[0] = &hWnd;
    values[1] = &hWndInsertAfter;
    values[2] = &x;
    values[3] = &y;
    values[4] = &cx;
    values[5] = &cy;
    values[6] = &uFlags;
    ffi_call(fSetWindowPos, &ret, &values);
    return ret;
end

/* --------------------------------------------------------------------------- */

function GetForegroundWindow()
private
    int ret = 0;
begin
    ffi_call(fGetForegroundWindow, &ret, NULL);
    return ret;
end

/* --------------------------------------------------------------------------- */

function GetConsoleWindow()
private
    int ret = 0;
begin
    ffi_call(fGetConsoleWindow, &ret, NULL);
    return ret;
end

/* --------------------------------------------------------------------------- */

function GetCurrentProcessId()
private
    int ret = 0;
begin
    ffi_call(fGetCurrentProcessId, &ret, NULL);
    return ret;
end

/* --------------------------------------------------------------------------- */

function GetWindowThreadProcessId(int hWnd, int * dwProcessId)
private
    int ret = 0;
    int * values[1];
begin
    values[0] = &hWnd;
    values[1] = &dwProcessId;
    ffi_call(fGetWindowThreadProcessId, &ret, &values);
    return ret;
end

/* --------------------------------------------------------------------------- */

function BringWindowToTop(int hWnd,)
private
    int * values[0];
    int ret = 0;
begin
    values[0] = &hWnd;
    ffi_call(fBringWindowToTop, &ret, &values);
    return ret;
end

/* --------------------------------------------------------------------------- */

function ShowWindow(int hWnd, int nCmdShow)
private
    int ret = 0;
    int * values[1];
begin
    values[0] = &hWnd;
    values[1] = &nCmdShow;

    ffi_call(fShowWindow, &ret, &values);

    return ret;
end

/* --------------------------------------------------------------------------- */

function MessageBox(int hWnd, string title, string message, int btype)
private
    int ret = 0;
    int * values[3];

    char _message[30];
    char _title[30];

    char * pmessage;
    char * ptitle;
begin
    _message = message; pmessage = &_message;
    _title = title; ptitle = &_title;
    values[0] = &hWnd;
    values[1] = &pmessage;
    values[2] = &ptitle;
    values[3] = &btype;
    ffi_call(fMessageBox, &ret, &values);
    return ret;
end

/* --------------------------------------------------------------------------- */

private
    ret;
    int hWnd, hMainWnd;
    DWORD dwProcessId;
    _RECT   rect;
begin

    ImportExternals();

    hMainWnd = GetForegroundWindow();

    hWnd = GetConsoleWindow();
    GetWindowThreadProcessId( hWnd, &dwProcessId );
    if ( dwProcessId == GetCurrentProcessId() )
        ShowWindow( hWnd, SW_SHOW );
    end

    GetWindowRect(hMainWnd, &rect);
    SetWindowPos(hMainWnd, HWND_TOPMOST, rect.left, rect.top, 0, 0, 0);

    loop
        if (key(_ESC))
            GetWindowRect(hMainWnd, &rect);
            SetWindowPos(hMainWnd, HWND_NOTOPMOST, rect.left, rect.top, 0, 0, 0);
            ret = MessageBox(NULL, argv[0], "Are you sure you want to quit?", MB_OKCANCEL);
            if (ret == 1)
                break;
            end
            GetWindowRect(hMainWnd, &rect);
            SetWindowPos(hMainWnd, HWND_TOPMOST, rect.left, rect.top, 0, 0, 0);
        end
        frame;
    end

end
Título: Re: Avances, Diario de...
Publicado por: osk en Noviembre 07, 2008, 02:27:26 am
Aaagghh qué guapoo!!!
Cuando Bennu esté listo hay que lanzar la buena nueva en todos los rincones del mundo!!
Revistas, foros, portales ... aquí viene una nueva era!!
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 07, 2008, 04:32:20 am
Joé, tiene muy buena pinta. A ver si lo probamos :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 04:39:45 am
http://wiki.bennugd.org/images/1/1c/Ffitest.zip

aca va el link del programa de prueba con el ultimo update de bennu, perdon que no lo suba como wip, pero no solo es prueba, sino que tengo problemas de internet y para hacer esto, tuve que pasarselo a sandman en 77 fragmentos de 2k, y con varios intentos hasta lograrlo... gracias Sandman por la ayuda y la paciencia.


pd: en el ejemplo, veran que se usa el api para desocultar la ventana de la consola de comandos, tambien veran como se obtiene las coordenadas de la ventana, como se hace que esta sea siempre visible, como se usa un MessageBox y como se interpreta sus resultados... y tambien hay otras funciones mas a modo de ejemplo...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 07, 2008, 06:31:23 am
Ese ejemplo solo consigo ver el MsgBox de salida, pero está curioso.

-------------------------------------------------------------------------------

Lo de la función exit("",0); por ejemplo yo en mi código tengo esto:

memoria_libre=memory_free();
memoria_libre=memoria_libre/1024000;
If (memoria_libre < 16)
    exit("ERROR_03: Memoria insuficiente. Se necesita un mínimo de 16MB de RAM.",3);
End

Entonces si no puedo leer ese mensaje en la consola... no se por qué ha salido del juego, yo creo que es útil que saldría el mensaje.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 07:37:09 am
puf no solo tiene el messagebox de salida, tiene todas las cosas que describi un post antes del tuyo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 07:38:11 am
Ese ejemplo solo consigo ver el MsgBox de salida, pero está curioso.

-------------------------------------------------------------------------------

Lo de la función exit("",0); por ejemplo yo en mi código tengo esto:

memoria_libre=memory_free();
memoria_libre=memoria_libre/1024000;
If (memoria_libre < 16)
    exit("ERROR_03: Memoria insuficiente. Se necesita un mínimo de 16MB de RAM.",3);
End

Entonces si no puedo leer ese mensaje en la consola... no se por qué ha salido del juego, yo creo que es útil que saldría el mensaje.

si, si, no digo lo contrario...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Noviembre 07, 2008, 08:15:03 am
potencia&flexibilidadDeBennu+=5;

¿A un pasito para crear aplicaciones con el escritorio como fondo, verdad?

Por decir solo una, que ésto abre muchas puertas...

Grande.
Título: Re: Avances, Diario de...
Publicado por: blostec en Noviembre 07, 2008, 08:34:00 am
TYCO siempre puedes crearte un fichero para guardar los mensajes de error si se da el caso.
Título: Re: Avances, Diario de...
Publicado por: Prg en Noviembre 07, 2008, 03:04:45 pm
Citar
Nuevo modulo interface portable de funciones externas... (importar cualquier dll/so a bennu)...

Increíble, cada vez me dejas más con la boca abierta splinter, esto será muy bueno a la hora de hacer programas como el editor fpg  :D .
Increíble todo lo que se puede ahorrar uno usando librerías del sistema... que lo que ya está hecho nos quite los problemas de hacerlo nosotros mismos  ;D

oye, y la función set_text_color  ya funciona?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 03:23:04 pm
eso iba a responderte y me olvido, funciona la set_text_color, solo que para fonts de 1 bit de color... para fonts de mas bits el color es el definido...
Título: Re: Avances, Diario de...
Publicado por: osk en Noviembre 07, 2008, 03:39:59 pm
De todas maneras, Prg, yo pediría que en el caso concreto del editor Fpg no se hiciera uso de esta funcionalidad, si se quiere que el programa funcione igual para todas las plataformas... Si se meten funciones que manejan dll de windows, se tendría que hacer lo propio para Linux y eso puede ser un follón. La gracia de esto yo lo veo cuando uno quiere hacer un programa para una plataforma concreta, para exprimir sus posibilidades...porque repetir lo mismo para diferentes sistemas operativos repito que puede ser algo tedioso, no?

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 04:13:44 pm
tal vez si, tal vez no tanto...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2008, 09:42:00 pm
- Soporte de todas las formas exit
- Soporte "#define lala()  pepe"
- Fonts 32 bits
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2008, 06:04:53 am
- STRINGS en la consola de debug, ahora saca la informacion en la misma.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 08, 2008, 03:10:51 pm
¿He leido bien? ¿dll externas? ¿sin recompilacion y sin usos de los headers? esto hay que celebrarlo.
Es que, si no me he vuelto loco, eso implica no solo el uso de las funciones del sistema para crear ides, o integrarse en el escritorio, tambien el uso de DX, OGL y demás sin necesitar los módulos (salvo para simplificar su uso, claro ^^U) y de librerías libres ya precompiladas que aumentarían exponencialmente la velocidad de los juegos.
Sumo una de karma a Splinter. A este paso, el propio código de Bennu va a quedar a la sombra de todo lo que puede serle compatible XD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2008, 04:17:31 pm
entendiste bien...

ahora me surge una duda... el codigo de Bennu va a "quedar" a la sombra o va a "dejar" a la sombra a los demas compatibles...?

XD

Saludos y gracias
Título: Re: Avances, Diario de...
Publicado por: Prg en Noviembre 08, 2008, 06:05:34 pm

Citar
ahora me surge una duda... el codigo de Bennu va a "quedar" a la sombra o va a "dejar" a la sombra a los demas compatibles...?
el bennu tiene que quedar arriba  :) , y es verdada, otro karma para splinter.

Citar
De todas maneras, Prg, yo pediría que en el caso concreto del editor Fpg no se hiciera uso de esta funcionalidad, si se quiere que el programa funcione igual para todas las plataformas... Si se meten funciones que manejan dll de windows, se tendría que hacer lo propio para Linux y eso puede ser un follón. La gracia de esto yo lo veo cuando uno quiere hacer un programa para una plataforma concreta, para exprimir sus posibilidades...porque repetir lo mismo para diferentes sistemas operativos repito que puede ser algo tedioso, no?

Es verdad blostec, no te preocupes, no tengo intenciones de hacerlo, por el contrario, tengo otras mejoras que pienso mensionar en el foro. Eh hecho otras mejoras a la gui, y otras cosas que después, quizá en la próxima semana les comente.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 09, 2008, 02:12:27 am
fantastico...

Nuevos avances...

- Now division by zero are allow in float expresions, new functions are added:
  int isinf(float x);
  int isnan(float x);
  int finite(float x);
- Ternary condition fixed... and improved speed in ternary condition when expression is constant.
- Add core's functions bgdrtm_entry and bgdrtm_exit to bgdrtm...
- Now exit code can be return at finish execution of bgdi
- Lib WM now don't exit when close botton are clicked, only set exit_status to true
- EXIT(...) functions now fixed, and use the params
Título: Re: Avances, Diario de...
Publicado por: HaCkZJuaNN en Noviembre 09, 2008, 02:52:33 am
- Now division by zero are allow in float expresions, new functions are added:
  int isinf(float x);
  int isnan(float x);
  int finite(float x);

TE AMO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Una pregunta sobre esto, entiendo que un float se vuelve infinito cuando dices que es por ejemplo 2/0, y que se vuelve ¿nan? cuando dices que es 0/0, es esto así?. Qué ocurre si un float que es infinito dices say(variable);??

Gracias por todo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 09, 2008, 03:25:22 am
- Now division by zero are allow in float expresions, new functions are added:
  int isinf(float x);
  int isnan(float x);
  int finite(float x);

TE AMO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Una pregunta sobre esto, entiendo que un float se vuelve infinito cuando dices que es por ejemplo 2/0, y que se vuelve ¿nan? cuando dices que es 0/0, es esto así?. Qué ocurre si un float que es infinito dices say(variable);??

Gracias por todo.


Código: [Seleccionar]
import "mod_say"
import "mod_math"

Private
    int i;
    float n = 10,n1 = 0;
    int i2=2;
Begin
    say ("n=" + n + " n1=" + n1 );
    say ("");
    say ("n/n1=" + n/n1 + " isinf(n/n1)="+ isinf(n/n1) + " isnan(n/n1)="+ isnan(n/n1)+ " finite(n/n1)="+ finite(n/n1));
    say ("n/0.0=" + n/0.0 + " isinf(n/0.0)="+ isinf(n/0.0) + " isnan(n/0.0)="+ isnan(n/0.0)+ " finite(n/0.0)="+ finite(n/0.0));
    say ("n/2=" + n/2 + " isinf(n/2)="+ isinf(n/2) + " isnan(n/2)="+ isnan(n/2)+ " finite(n/2)="+ finite(n/2));
    say ("(1+n/0.0)=" + (1+n/0.0) + " isinf((1+n/0.0))="+ isinf((1+n/0.0)) + " isnan((1+n/0.0))="+ isnan((1+n/0.0))+ " finite((1+n/0.0))="+ finite((1+n/0.0)));
    say ("n/0=" + n/0 + " isinf(n/0)="+ isinf(n/0) + " isnan(n/0)="+ isnan(n/0)+ " finite(n/0)="+ finite(n/0));

    say ("");
    say ("i2/0.0=" + i2/0.0 + " isinf(i2/0.0)="+ isinf(i2/0.0) + " isnan(i2/0.0)="+ isnan(i2/0.0)+ " finite(i2/0.0)="+ finite(i2/0.0));
    say ("0.0/0.0=" + 0.0/0.0 + " isinf(0.0/0.0)="+ isinf(0.0/0.0) + " isnan(0.0/0.0)="+ isnan(0.0/0.0)+ " finite(0.0/0.0)="+ finite(0.0/0.0));

    say ("");
    n = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000; //130 zeros
    say ("n=" + n + " (10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)");
    say( "isinf(n)=" + isinf(n) );
    say( "isnan(n)=" + isnan(n) );
    say( "finite(n)=" + finite(n) );

    say ("");
    n = 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001; //130 zeros
    say ("n=" + n + " (0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)");
    say( "isinf(n)=" + isinf(n) );
    say( "isnan(n)=" + isnan(n) );
    say( "finite(n)=" + finite(n) );

    say ("");
    n = -1;
    say ("n=" + n );
    say ("sqrt(n)=" + sqrt(n) + " isinf(sqrt(n))="+ isinf(sqrt(n)) + " isnan(sqrt(n))="+ isnan(sqrt(n))+ " finite(sqrt(n))="+ finite(sqrt(n)));

    say ("");
    n = 1/0.0;
    say ("n=" + n + " (1/0.0)");
    say ("1.0/n=" + 1.0/n + " isinf(1.0/n)="+ isinf(1.0/n) + " isnan(1.0/n)="+ isnan(1.0/n)+ " finite(1.0/n)="+ finite(1.0/n));
    say ("1.0/0=" + 1.0/0 + " isinf(1.0/0)="+ isinf(1.0/0) + " isnan(1.0/0)="+ isnan(1.0/0)+ " finite(1.0/0)="+ finite(1.0/0));
    say ("1.0/0=" + 1.0/0 + " isinf(1.0/0)="+ isinf(1.0/0) + " isnan(1.0/0)="+ isnan(1.0/0)+ " finite(1.0/0)="+ finite(1.0/0));

End

output:
Código: [Seleccionar]
n=10 n1=0

n/n1=1.#INF isinf(n/n1)=1 isnan(n/n1)=0 finite(n/n1)=0
n/0.0=1.#INF isinf(n/0.0)=1 isnan(n/0.0)=0 finite(n/0.0)=0
n/2=5 isinf(n/2)=0 isnan(n/2)=0 finite(n/2)=1
(1+n/0.0)=1.#INF isinf((1+n/0.0))=1 isnan((1+n/0.0))=0 finite((1+n/0.0))=0
n/0=1.#INF isinf(n/0)=1 isnan(n/0)=0 finite(n/0)=0

i2/0.0=1.#INF isinf(i2/0.0)=1 isnan(i2/0.0)=0 finite(i2/0.0)=0
0.0/0.0=-1.#IND isinf(0.0/0.0)=0 isnan(0.0/0.0)=1 finite(0.0/0.0)=0

n=0 (10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
isinf(n)=0
isnan(n)=0
finite(n)=1

n=0 (0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
isinf(n)=0
isnan(n)=0
finite(n)=1

n=-1
sqrt(n)=-1.#IND isinf(sqrt(n))=0 isnan(sqrt(n))=1 finite(sqrt(n))=0

n=1.#INF (1/0.0)
1.0/n=0 isinf(1.0/n)=0 isnan(1.0/n)=0 finite(1.0/n)=1
1.0/0=1.#INF isinf(1.0/0)=1 isnan(1.0/0)=0 finite(1.0/0)=0
1.0/0=1.#INF isinf(1.0/0)=1 isnan(1.0/0)=0 finite(1.0/0)=0

Recordar, solo para expresiones flotantes, si se hace una division por cero de numeros no flotantes, vamos a recibir el mensaje ya conocido de "Division by zero".
Título: Re: Avances, Diario de...
Publicado por: TYCO en Noviembre 11, 2008, 12:33:58 am
No me acorde de agradecer en la nueva consola debug.... el que cuando cambias valores de X, Y, Z, angle, size, write_int y supongo que un largo etcétera, lo cambia al instante! sin tener que hacer un frame global (F10) o pasar a otro proceso (F11), es algo que ayuda mucho a la hora de ir haciendo pruebas y buscar errores en tiempo real y que particularmente me ha gustado mucho también aparte de todo lo que me gusto de la nueva consola debug.

Gran trabajo.

Ahora quiero plantear un duda que tengo.... y es que... a veces como todos sabemos Bennu al dar un error estilo: Procedimiento no activo Pepe(65578) se sale de la ejecución... y me preguntaba... si en vez de que salga de la ejecución... podría abrirse la consla de debug y dar el error ahí.... y con esto poder localizar el error dado, viendo que línea de código produjo el error, y poder hacer pruebas para localizar el error desde consola... lógicamente si haces un Frame (F10) podría llegar a entender que Bennu se cerrará a causa de ese Procedimiento no activo, pero ya tienes la oportunidad de investigar un poco en la consola debug antes de cerrarse Bennu. Igual estoy diciendo una barbaridad... no lo sé.

Si no se entiende... lo intento explicar mejor.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 11, 2008, 05:14:41 am
Se entiende, es una buena sugerencia, ahora hay que ver de que forma se puede implementar esto sin hacer que el core dependa de un modulo externo como es el debug.
Título: Re: Avances, Diario de...
Publicado por: laghengar en Noviembre 11, 2008, 11:44:16 am
Un momento, creo que me he flipao, ¿ahora se le puede meter opengl a bennu?
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Noviembre 11, 2008, 01:33:23 pm
mas o menos creo que si, y algunas cosillas mas. :D :D :D
Título: Re: Avances, Diario de...
Publicado por: Zardoz en Noviembre 17, 2008, 02:11:43 am
Nuevo modulo interface portable de funciones externas... (importar cualquier dll/so a bennu)...

Esto implica poder usar OpenGL, OpenAL, o lo que a uno se le ocurra ??
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 17, 2008, 03:30:54 am
si, pero obviamente no de la forma automatica de render (por ejemplo), pero si llamar a las funciones de OpenGL y de esta forma hacer los renders...
Título: Re: Avances, Diario de...
Publicado por: Goku jr en Noviembre 17, 2008, 02:59:07 pm
Vamos que incluso se podria crear juegos 3d usando motores externos,si necesidad de que la gente creara dll especificas?

Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 18, 2008, 09:23:53 am
La bennu 3d no iba ya sobre openGL? es que me parece raro que la gente se sorprenda a estas alturas lo de poder usar otras lib gráficas: ya se dijo hace tiempo que se podía mediante los módulos que fueran saliendo ¿o hay algo que no he pillado?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 18, 2008, 12:22:22 pm
claro no has pillado que ahora bennu se pueden meter dlls "normales" sin necesidad de crear un modulo externo.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 19, 2008, 05:33:00 am
Si, eso lo he pillado: ahora usar openGL tal cual, pero antes de ese cambio, tambien se podía usar openGl ¿o no? :P
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 19, 2008, 06:02:40 am
a ver, que se pueda no significaba que estaba hecho... hay un modulo experimental de Sandman, pero cuando yo dije "se puede" lo decia en sentido potencial... o sea, hay que hacer el modulo, pero se puede hacer de forma de meter luego la pieza y quitando el otro render facilmente...

alguno mas habia entendido, tambien, mal esto?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 19, 2008, 06:52:37 am
Yo,:(:(, y sigo sin entenderlo. Lo leo y releo, pero no capto el mensaje.
A ver, cuando añadiste plugins a fenix, ya se podía enganchar con cualquier librería externa, simplemente programando un plugin para ello.
Aqui en bennu, has separado en módulos el core de fenix, siguiendo algun sistema parecido para enganchar con las dll de los modulos, pero no es el mismo sistema como con los plugins.
Antes había que crear en c o c++ una especie de wrapper para poder encapsular las librerías dinámicas a usar.

Nos estás diciendo que a partir de ahora no hace falta hacer eso y que directamente podemos enganchar de alguna forma nuestro código con las dlls dinámicas son solo tener sus "headers" mas no menos¿?.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 19, 2008, 07:01:57 am
Verás: Fenix usaba SDL para representar gráficos, así que cuando creabas una libreria (dll) con otro motor gráfico, al final, tenías que recurrir de nuevo a SDL para integrarlo.

Splinter, al separarlos en módulos, dejó de usar SDL, y para representar gráficos podías usar los módulos que ha hecho él (creo que van por software, ¿no?) o crear la tuya propia con openGL, DX o la que te diera la gana (es decir, podías hacer cosas como cambiar el angle, el size, trabajar con paletas y demás usando aceleracion hardware con.. directX, por ejemplo. O como han hecho con la bennu3D, que es otra librería gráfica, pero 3d)

El cambio actual permite que, sin crearte ninguna librería que usase las librerías gráficas, con símplemente el core, puedas hacer llamadas directamente a dichas librerías. Es decir, te quita una capa en medio que tenías que diseñar.
Antes: creabas una librería con la funcion dibuja_cuadrado, en la que se llamaba a SDL_draw_box.
Ahora: llamas directamente a SDL_draw_box.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 20, 2008, 06:03:06 am
Yo,:(:(, y sigo sin entenderlo. Lo leo y releo, pero no capto el mensaje.
A ver, cuando añadiste plugins a fenix, ya se podía enganchar con cualquier librería externa, simplemente programando un plugin para ello.
Aqui en bennu, has separado en módulos el core de fenix, siguiendo algun sistema parecido para enganchar con las dll de los modulos, pero no es el mismo sistema como con los plugins.
Antes había que crear en c o c++ una especie de wrapper para poder encapsular las librerías dinámicas a usar.

Nos estás diciendo que a partir de ahora no hace falta hacer eso y que directamente podemos enganchar de alguna forma nuestro código con las dlls dinámicas son solo tener sus "headers" mas no menos¿?.


En Fenix no podias llamar a cualquier dll, solo a dlls fenix...

Verás: Fenix usaba SDL para representar gráficos, así que cuando creabas una libreria (dll) con otro motor gráfico, al final, tenías que recurrir de nuevo a SDL para integrarlo.

Splinter, al separarlos en módulos, dejó de usar SDL, y para representar gráficos podías usar los módulos que ha hecho él (creo que van por software, ¿no?) o crear la tuya propia con openGL, DX o la que te diera la gana (es decir, podías hacer cosas como cambiar el angle, el size, trabajar con paletas y demás usando aceleracion hardware con.. directX, por ejemplo. O como han hecho con la bennu3D, que es otra librería gráfica, pero 3d)

El cambio actual permite que, sin crearte ninguna librería que usase las librerías gráficas, con símplemente el core, puedas hacer llamadas directamente a dichas librerías. Es decir, te quita una capa en medio que tenías que diseñar.
Antes: creabas una librería con la funcion dibuja_cuadrado, en la que se llamaba a SDL_draw_box.
Ahora: llamas directamente a SDL_draw_box.

No es tan directo, pero bueno, no se necesita crear una dll para poder usarlo, o sea, los programadores que no tienen conocimiento de C podran hacer sus propias llamadas a dlls normales sin necesidad de depender de alguien que sepa C para que le arme una dll, incluso a uno que sepa C, para simplificarle trabajo.

Mas adelante el soporte podra ser mejor y mas intuitivo, por ahora hay que llamar a una serie de funciones.

Y ya tenia una version nueva, con bugs corregidos, pero bueno, tendre que hacer esas correcciones nuevamente cuando pueda dedicarle un tiempo a rearmar el entorno.
Título: Re: Avances, Diario de...
Publicado por: blostec en Noviembre 20, 2008, 08:59:40 am
claro no has pillado que ahora bennu se pueden meter dlls "normales" sin necesidad de crear un modulo externo.

Simplemente genial!  :)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 20, 2008, 09:41:21 am
Yo,:(:(, y sigo sin entenderlo. Lo leo y releo, pero no capto el mensaje.
A ver, cuando añadiste plugins a fenix, ya se podía enganchar con cualquier librería externa, simplemente programando un plugin para ello.
Aqui en bennu, has separado en módulos el core de fenix, siguiendo algun sistema parecido para enganchar con las dll de los modulos, pero no es el mismo sistema como con los plugins.
Antes había que crear en c o c++ una especie de wrapper para poder encapsular las librerías dinámicas a usar.

Nos estás diciendo que a partir de ahora no hace falta hacer eso y que directamente podemos enganchar de alguna forma nuestro código con las dlls dinámicas son solo tener sus "headers" mas no menos¿?.


En Fenix no podias llamar a cualquier dll, solo a dlls fenix...

Verás: Fenix usaba SDL para representar gráficos, así que cuando creabas una libreria (dll) con otro motor gráfico, al final, tenías que recurrir de nuevo a SDL para integrarlo.

Splinter, al separarlos en módulos, dejó de usar SDL, y para representar gráficos podías usar los módulos que ha hecho él (creo que van por software, ¿no?) o crear la tuya propia con openGL, DX o la que te diera la gana (es decir, podías hacer cosas como cambiar el angle, el size, trabajar con paletas y demás usando aceleracion hardware con.. directX, por ejemplo. O como han hecho con la bennu3D, que es otra librería gráfica, pero 3d)

El cambio actual permite que, sin crearte ninguna librería que usase las librerías gráficas, con símplemente el core, puedas hacer llamadas directamente a dichas librerías. Es decir, te quita una capa en medio que tenías que diseñar.
Antes: creabas una librería con la funcion dibuja_cuadrado, en la que se llamaba a SDL_draw_box.
Ahora: llamas directamente a SDL_draw_box.

No es tan directo, pero bueno, no se necesita crear una dll para poder usarlo, o sea, los programadores que no tienen conocimiento de C podran hacer sus propias llamadas a dlls normales sin necesidad de depender de alguien que sepa C para que le arme una dll, incluso a uno que sepa C, para simplificarle trabajo.

Mas adelante el soporte podra ser mejor y mas intuitivo, por ahora hay que llamar a una serie de funciones.

Y ya tenia una version nueva, con bugs corregidos, pero bueno, tendre que hacer esas correcciones nuevamente cuando pueda dedicarle un tiempo a rearmar el entorno.

A eso me refería yo, a eso mismo, no me expliqué bien, entonces la idea que tenía era la correcta, es que con tanto alboroto me pusisteis en duda.
Yo quise decir que en fenix se podía enganchar con cualquier dll, pero no directamente, sino a través de una "dll fenix" que hiciera de wrapper (envoltorio, encapsulador, puente) entre fenix y la dll. Esta había que programarla en C.
Y lo que comentas que tendrá bennu es una forma de conectar "directamente" con la dll externa conociendo sus funciones y estructuras lo que se denomina cabecera "header". Esto de directamente me refiero a través de código Bennu, independientemente de que tengas que usar alguna función adicional para activar la dll tipo "dllimport" o "LoadLibrary" de c.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 20, 2008, 11:38:44 am
"tendrá", no... "tiene", es el "mod_ffi" que subi hace unas semanas con un sample...
Título: Re: Avances, Diario de...
Publicado por: syous en Noviembre 24, 2008, 09:54:28 am
para cuando unas tcpsock o fsock para bennu  ???
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 24, 2008, 06:24:53 pm
Debo anunciar gratamente que luego de muchisimos intentos y distros probadas, y tras tomarme una buena ducha fria y una pastillita para la presión he logrado compilar bennu en linux... donde otros fallaron la fuente fue la solucion... no me quedo otra opcion (gratamente) que instalar un debian puro, ahi todo fue fluido... y la verdad que va muy lindo... supongo que otras distro base podran ir tambien bien... pero bueno, ubuntu un fracaso, ultimas distros de otros linux que antes me funcionaban ahora son un desastre... no se que pasara en el mundo linux, pero bueno, la buena noticia es que el tema se soluciono...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 24, 2008, 08:18:12 pm
En el site hay nueva version binaria para linux, esto es lo ultimo que recupere del SVN, tiene todos los ultimos cambios informados, me faltan algunos que yo habia corregido y que ahora tengo que recordar.

La novedad es que ahora linux posee un instalador (hay que descomprimir el paquete principal, no lo que esta dentro de este), es precario, pero cumple su objetivo, se necesita tener permisos de root o superusuario para instalar el paquete, si haces "./install.sh help" muestra una ayuda, pero basicamente es:

./install.sh                instala el producto
./install.sh remove     desinstala el producto

ya no hay que hacer LD_LIBRARY_PATH, ni veran las dlls desperdigadas en el directorio del proyecto.
Para aquellos que no quieran usar el instalador, dentro del paquete hay un archivo bgd.pkg, que es un simple tgz con todos los archivos de bennu.

No se incluyen SDL, ogg, etc... esos hay que instalarlos con la herramienta para tal fin...

NOTA: Acabo de probar que el instalador solo funciona bien en linux 32, en 64 bits no se encuentran luego las dlls... en 64 bits sugiero el metodo manual.
Título: Re: Avances, Diario de...
Publicado por: osk en Noviembre 25, 2008, 02:23:32 am
Hola! Está bueno!!
Una pregunta: el moddesc no está (ni el function-list.txt). ¿Es por alguna razón?
He visto el script...sólo por curiosidad, ¿por qué la comparación que haces es x$1="xhelp" en vez de $1="help" ? Por otro lado, no sé si sería buena idea dar la opción a la hora de instalar de poder elegir dónde: si no he visto mal, desempaqueta automáticamente en la carpeta donde estés...no sé.
Y una chorrada tocapelotas: ¿qué tal cambiar el nombre del script con algo como "setup" o similar? Lo digo porque un "install remove" es como un poco esquizofrénico...un "setup install" o un "setup remove" estaría más guay, no?

...Y finalmente, ¿por qué no hacer algo similar para Windows también? Hay multitud de programas generadores de instalación open source, no hace falta que os lo diga...por ejemplo http://nsis.sourceforge.net . En verdad yo casi que prefiero no usar instalador, pero reconozco que la mayoría de usuarios estándar lo agradecerán.

Ah, y lo de instalar todas las librerías en una subcarpeta dentro de /usr/lib...¿daría muchos problemas? Manía con el orden y eso...


Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 25, 2008, 03:16:31 am
Genial!, muchas gracias :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 25, 2008, 04:10:28 am
1) El moddesc ni el function list no estan incluidos por razones de publico conocimiento con mi instalacion previa de windows+grub...
2) el hecho de tener "x$1" = "xhelp" y no lo otro, es por el simple motivo de que sino cuando ejecutas sin argumentos el if dara un error de expresion unaria (logicamente)
3) no desempaqueta donde estas, lo hace en el directorio /usr
4) porque no estas "setupeando" nada, sino que estas instalando... setup es mas bien para "seteos", esto no es un seteo es una instalacion
5) preguntar el path ira en alguna proxima version, anuncie que esto es un poco precario y rapido, pero que cumple con su funcion
6) Windows ya tendra su instalador... (conozco el nsis, de hecho lo use varias veces, para armar o para "desarmar" y toquetear instaladores) por ahora el problema de la mayoria es linux... a pesar de que los que usan linux son los pocos... pero bueno... me uni al club...
7) /usr/lib, quizas deberia usar otro, por si se llega a pisar (por ahora no pasa) alguna libreria del sistema que no haya tenido en cuenta, pero eso no deberia pasar, y ademas todos los productos instalan sus libs en dicha carpeta... quizas la solucion sea cambiar los nombres de las libs internas por algo asi como libbgd* o bgdlib*, eso no afectaria en nada, ya que ningun usuario deberia usarlas...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 25, 2008, 04:12:15 am
espero me digan como va esta version y si encuentran algun bug... saludos...
yo por lo pronto encontre problemas con librerias libvorbisfiles3 en ubuntu 64, que no instala la lib 32 de esa y otras libs mas.

ahora mismo hare una instalacion de debian, como dios manda, adios a las distro fantasmas...
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 25, 2008, 09:57:32 am
Bueno, por lo pronto veo que ya no hace falta aquello de LD_PRELOAD=/usr/lib/libX11.so.6, ¿verdad?.
Mi mini-proyecto de karaoke funciona sin problemas, no sabría decir objetivamente si más rápido, pero parece que sí. En fin, felicidades.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 25, 2008, 02:55:39 pm
fantastico
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 26, 2008, 06:32:44 am
Nuevo instalador para linux, no hubo cambios en codigo, solo el instalador, por eso se subio el paquete nuevamente, recordar que si ya hicieron ./install.sh, hay que hacer "./install.sh remove" antes de correr el nuevo instalador.
No se dio opcion de preguntar el path, porque solo un directorio permite el uso de mod_* como shared library, o por lo menos todavia no se hacer que me soporte otro directorio, la otra opcion es poner todos los modulos como lib*, pero ahi ya no funcionan...
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 26, 2008, 08:42:46 am
No sé si es exactamente lo que preguntas, pero puedes añadir un ficherico en /etc/ld.so.conf.d con el directorio de instalación de las librerías. Algo como:

Código: [Seleccionar]
echo "/opt/bennugd/lib" > /etc/ld.so.conf.d/bennugd-i386.conf
Obviamente, cambiando ese directorio por el de instalación. Luego conviene hacer un

Código: [Seleccionar]
ldconfig
como root, claro.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 26, 2008, 09:05:31 am
en el script de instalacion hago eso... solo que otro path y no puse el "-i386" no se me ocurrio eso...
chequeatelo en la ultima version subida
Título: Re: Avances, Diario de...
Publicado por: HaCkZJuaNN en Noviembre 26, 2008, 09:59:36 am
El tema de los floats infinitos y demás no está incluido en la WIP 15.c.2, que es la última que hay para windows en el directorio de betas, o sí???, porque no logro encontrar en qué módulo está y no viene en la lista de funciones. Además, pone que esa se subió el 3 de noviembre, y el mensaje en el que hablaste de ello es del 9 de noviembre, así que supongo que aún no lo habrás subido.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 26, 2008, 10:35:29 am
en la de linux
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 26, 2008, 12:47:22 pm
en el script de instalacion hago eso... solo que otro path y no puse el "-i386" no se me ocurrio eso...
chequeatelo en la ultima version subida
Hoy no puedo, pero mañana te lo miro, ¿ok?
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 27, 2008, 12:43:00 pm
A mí el instalador me funciona sin mayor problema. Sólo una sugerencia: en vez de usar "cp" quizás te interese mirar el programa "install".
En cuanto a lo de las librerías que empiezan por 'mod' parece que no hay suerte. Según estos dos enlaces:
http://ubuntuforums.org/showthread.php?t=834388
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
todas las librerías salvo las de más bajo nivel deben tener por nombre lib*.so o ld-*.so
Sin embargo, acabo de comprobar que copiándolas con mod* al directorio que sea (yo las tengo en /opt/bennugd/lib) y haciendo softlinks a ellas, las encuentra. Esto es:
[code language="bash"][root@localhost lib]# pwd
/opt/bennugd/lib
[root@localhost lib]# /sbin/ldconfig -p | grep '/opt'
        libwm.so (libc6) => /opt/bennugd/lib/libwm.so
        libvideo.so (libc6) => /opt/bennugd/lib/libvideo.so
        libtext.so (libc6) => /opt/bennugd/lib/libtext.so
        libsdlhandler.so (libc6) => /opt/bennugd/lib/libsdlhandler.so
        libscroll.so (libc6) => /opt/bennugd/lib/libscroll.so
        librender.so (libc6) => /opt/bennugd/lib/librender.so
        libmouse.so (libc6) => /opt/bennugd/lib/libmouse.so
        libkey.so (libc6) => /opt/bennugd/lib/libkey.so
        libgrbase.so (libc6) => /opt/bennugd/lib/libgrbase.so
        libfont.so (libc6) => /opt/bennugd/lib/libfont.so
        libdraw.so (libc6) => /opt/bennugd/lib/libdraw.so
        libblit.so (libc6) => /opt/bennugd/lib/libblit.so
        libbgdrtm.so (libc6) => /opt/bennugd/lib/libbgdrtm.so
[root@localhost lib]# for i in mod_*; do ln -s $i lib$i; done
[root@localhost lib]# /sbin/ldconfig
[root@localhost lib]# /sbin/ldconfig -p | grep '/opt'
        mod_wm.so (libc6) => /opt/bennugd/lib/mod_wm.so
        mod_video.so (libc6) => /opt/bennugd/lib/mod_video.so
        mod_timers.so (libc6) => /opt/bennugd/lib/mod_timers.so
        mod_time.so (libc6) => /opt/bennugd/lib/mod_time.so
        mod_text.so (libc6) => /opt/bennugd/lib/mod_text.so
        mod_sys.so (libc6) => /opt/bennugd/lib/mod_sys.so
        mod_string.so (libc6) => /opt/bennugd/lib/mod_string.so
        mod_sound.so (libc6) => /opt/bennugd/lib/mod_sound.so
        mod_sort.so (libc6) => /opt/bennugd/lib/mod_sort.so
        mod_scroll.so (libc6) => /opt/bennugd/lib/mod_scroll.so
        mod_screen.so (libc6) => /opt/bennugd/lib/mod_screen.so
        mod_say.so (libc6) => /opt/bennugd/lib/mod_say.so
        mod_regex.so (libc6) => /opt/bennugd/lib/mod_regex.so
        mod_rand.so (libc6) => /opt/bennugd/lib/mod_rand.so
        mod_proc.so (libc6) => /opt/bennugd/lib/mod_proc.so
        mod_path.so (libc6) => /opt/bennugd/lib/mod_path.so
        mod_m7.so (libc6) => /opt/bennugd/lib/mod_m7.so
        mod_mouse.so (libc6) => /opt/bennugd/lib/mod_mouse.so
        mod_mem.so (libc6) => /opt/bennugd/lib/mod_mem.so
        mod_math.so (libc6) => /opt/bennugd/lib/mod_math.so
        mod_map.so (libc6) => /opt/bennugd/lib/mod_map.so
        mod_key.so (libc6) => /opt/bennugd/lib/mod_key.so
        mod_joy.so (libc6) => /opt/bennugd/lib/mod_joy.so
        mod_grproc.so (libc6) => /opt/bennugd/lib/mod_grproc.so
        mod_flic.so (libc6) => /opt/bennugd/lib/mod_flic.so
        mod_file.so (libc6) => /opt/bennugd/lib/mod_file.so
        mod_ffi.so (libc6) => /opt/bennugd/lib/mod_ffi.so
        mod_effects.so (libc6) => /opt/bennugd/lib/mod_effects.so
        mod_draw.so (libc6) => /opt/bennugd/lib/mod_draw.so
        mod_dir.so (libc6) => /opt/bennugd/lib/mod_dir.so
        mod_debug.so (libc6) => /opt/bennugd/lib/mod_debug.so
        mod_cd.so (libc6) => /opt/bennugd/lib/mod_cd.so
        mod_blendop.so (libc6) => /opt/bennugd/lib/mod_blendop.so
        libwm.so (libc6) => /opt/bennugd/lib/libwm.so
        libvideo.so (libc6) => /opt/bennugd/lib/libvideo.so
        libtext.so (libc6) => /opt/bennugd/lib/libtext.so
        libsdlhandler.so (libc6) => /opt/bennugd/lib/libsdlhandler.so
        libscroll.so (libc6) => /opt/bennugd/lib/libscroll.so
        librender.so (libc6) => /opt/bennugd/lib/librender.so
        libmouse.so (libc6) => /opt/bennugd/lib/libmouse.so
        libkey.so (libc6) => /opt/bennugd/lib/libkey.so
        libgrbase.so (libc6) => /opt/bennugd/lib/libgrbase.so
        libfont.so (libc6) => /opt/bennugd/lib/libfont.so
        libdraw.so (libc6) => /opt/bennugd/lib/libdraw.so
        libblit.so (libc6) => /opt/bennugd/lib/libblit.so
        libbgdrtm.so (libc6) => /opt/bennugd/lib/libbgdrtm.so
[root@localhost lib]# [/code]
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 27, 2008, 02:02:22 pm
Venga, más cosas:
En las cabeceras de desarrollo, la libgrbase.h no incluye en ningún momento SDL.h, aunque la usa. Si mi librería no la incluye a mano, no puedo compilar. Creo que debería iincluirla.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 27, 2008, 06:33:42 pm
son headers viejos, igual creo que la grbase no la usa, la usa otro modulo... por otro lado, no sirven hacer softlinks, ya que el nombre de la dll es usado como parte de los symbolos de exportacion, y cambiar ahora los nombres no va...

si usas LD_LIBRARY_PATH, toma los mod donde sea... y si los pones en /usr/lib o /usr/lib32 va fenomeno...
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 28, 2008, 04:24:56 am
El tema es que no conviene no respetar la convención de nombres. Entre otras cosas eso significa que, si alguna vez intentas meter bennu en los repositorios de debian (por ejemplo) no te lo van a aceptar.
En cuanto a lo de que las librerías no van... A mí me funciona en dos ordenadores distintos, uno con fedora y otro con ubuntu... En realidad no toma el nombre de la librería como libmod*, porque sigue el enlace. La salida de "ldconfig -p" muestra que realmente está tomando la librería como mod*, pero hay que crear los enlaces.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 06:26:39 am
yo la probe y no me funciono, pero cuando haces el import, que pones?

si usas el ultimo Bennu, no te puede funcionar que pongas import "libmod_video"... ya que al importarla bennu intentara cargar las funciones llamadas "libmod_video_*", las cuales no existen... y si pones "mod_video", no te la tomara porque el nombre es "mod_video"... por lo menos en mi debian no me funciona poner esto ultimo si hago un soflink... asi que no entiendo como te funciona...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 06:29:41 am
puedo hacer que internamente se busque por libmod_ o por mod_ en los unix, no hay problema con eso, pero me obliga a tener que renombrar a mano los modulos, porque libtool y toda la porqueria esa lo genera sin el prefijo.
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 28, 2008, 10:55:30 am
No sé si estamos haciendo lo mismo. Siento ser tan pesado, pero entiendo que estás dejando las librerías mod* como tal y estás creando los enlaces a ellas como libmod*, ¿verdad?. Y en mi código bennu, lo he dejado como estaba cuando hacía lo de LD_LIBRARY_PATH: import "mod_video";
Sólo por si tiene alguna trascendencia, he puesto todas las lib* (las que vienen con el paquete) y las mod* en el mismo directorio, y he creado los enlaces en ese también.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 11:17:36 am
no, esta bien... no hay problema...

que directorio? el de tu proyecto? el que usas con LD_LIBRARY_PATH? como haces el import?
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 28, 2008, 11:35:22 am
A ver, lo que yo he hecho es copiar las librerías mod* y lib* a /opt/bennugd/lib. Además, he copiado los binarios bgdc y bgdi a /opt/bennugd/bin.
Luego he creado el fichero /etc/ld.so.conf.d/bennugd-i386.conf con el siguiente contenido:
Código: [Seleccionar]
/opt/bennugd/libLuego he hecho los enlaces de las librerías mod* a libmod* del directorio /opt/bennugd/lib de la siguiente forma:[code language="bash"]for i in mod*; do ln -s $i lib$i; done[/code]De forma que ahora tengo en ese directorio las lib* originales, las mod* originales y un montón de libmod* enlazando con éstas últimas.
Ahora hago un /sbin/ldconfig para que actualice la base de datos de librerías.
Al consultar esa base de datos obtengo:[code language="bash"][root@localhost ~]# /sbin/ldconfig -p | grep '/opt'
        mod_wm.so (libc6) => /opt/bennugd/lib/mod_wm.so
        mod_video.so (libc6) => /opt/bennugd/lib/mod_video.so
        mod_timers.so (libc6) => /opt/bennugd/lib/mod_timers.so
        mod_time.so (libc6) => /opt/bennugd/lib/mod_time.so
        mod_text.so (libc6) => /opt/bennugd/lib/mod_text.so
        mod_sys.so (libc6) => /opt/bennugd/lib/mod_sys.so
        mod_string.so (libc6) => /opt/bennugd/lib/mod_string.so
        mod_sound.so (libc6) => /opt/bennugd/lib/mod_sound.so
        mod_sort.so (libc6) => /opt/bennugd/lib/mod_sort.so
        mod_scroll.so (libc6) => /opt/bennugd/lib/mod_scroll.so
        mod_screen.so (libc6) => /opt/bennugd/lib/mod_screen.so
        mod_say.so (libc6) => /opt/bennugd/lib/mod_say.so
        mod_regex.so (libc6) => /opt/bennugd/lib/mod_regex.so
        mod_rand.so (libc6) => /opt/bennugd/lib/mod_rand.so
        mod_proc.so (libc6) => /opt/bennugd/lib/mod_proc.so
        mod_path.so (libc6) => /opt/bennugd/lib/mod_path.so
        mod_m7.so (libc6) => /opt/bennugd/lib/mod_m7.so
        mod_mouse.so (libc6) => /opt/bennugd/lib/mod_mouse.so
        mod_mem.so (libc6) => /opt/bennugd/lib/mod_mem.so
        mod_math.so (libc6) => /opt/bennugd/lib/mod_math.so
        mod_map.so (libc6) => /opt/bennugd/lib/mod_map.so
        mod_key.so (libc6) => /opt/bennugd/lib/mod_key.so
        mod_joy.so (libc6) => /opt/bennugd/lib/mod_joy.so
        mod_grproc.so (libc6) => /opt/bennugd/lib/mod_grproc.so
        mod_flic.so (libc6) => /opt/bennugd/lib/mod_flic.so
        mod_file.so (libc6) => /opt/bennugd/lib/mod_file.so
        mod_ffi.so (libc6) => /opt/bennugd/lib/mod_ffi.so
        mod_effects.so (libc6) => /opt/bennugd/lib/mod_effects.so
        mod_draw.so (libc6) => /opt/bennugd/lib/mod_draw.so
        mod_dir.so (libc6) => /opt/bennugd/lib/mod_dir.so
        mod_debug.so (libc6) => /opt/bennugd/lib/mod_debug.so
        mod_cd.so (libc6) => /opt/bennugd/lib/mod_cd.so
        mod_blendop.so (libc6) => /opt/bennugd/lib/mod_blendop.so
        libwm.so (libc6) => /opt/bennugd/lib/libwm.so
        libvideo.so (libc6) => /opt/bennugd/lib/libvideo.so
        libtext.so (libc6) => /opt/bennugd/lib/libtext.so
        libsdlhandler.so (libc6) => /opt/bennugd/lib/libsdlhandler.so
        libscroll.so (libc6) => /opt/bennugd/lib/libscroll.so
        librender.so (libc6) => /opt/bennugd/lib/librender.so
        libmouse.so (libc6) => /opt/bennugd/lib/libmouse.so
        libkey.so (libc6) => /opt/bennugd/lib/libkey.so
        libgrbase.so (libc6) => /opt/bennugd/lib/libgrbase.so
        libfont.so (libc6) => /opt/bennugd/lib/libfont.so
        libdraw.so (libc6) => /opt/bennugd/lib/libdraw.so
        libblit.so (libc6) => /opt/bennugd/lib/libblit.so
        libbgdrtm.so (libc6) => /opt/bennugd/lib/libbgdrtm.so
[/code]Y como digo, las librerías que mete en la base de datos son las mod*, no las libmod*·
Por lo que tengo entendido, la razón de que busque las lib* pero luego meta en la base de datos las librerías reales (en caso de que las lib* sean enlaces) es porque así, con linkar contra (p. ej.) /usr/lib/libamarok.so y en cada sistema se puedan utilizar versiones de librerías distintas, mientras sean compatibles a nivel de símbolos. Es decir, en mi ordenador /usr/lib/libamarok.so es en realidad un enlace a /usr/lib/libamarok.so.0.0.0 y en otro sistema puede ser un enlace a /usr/lib/libamarok.so.0.1.2. Eso te permite linkar contra librerías de forma genérica o contra versiones en particular (linkando contra el enlace o contra el fichero en sí).

En cuanto a lo del LD_LIBRARY_PATH me refería a que mi código lo tengo igual que cuando hacía falta lo del LD_LIBRARY_PATH, es decir, para importar mod_video hago un simple:[code language="bennu"]import "mod_video";[/code] y no [code language="bennu"]import "libmod_video";[/code] En realidad mi variable de entorno LD_LIBRARY_PATH no está ni siquiera definida... Y bueno, mi proyecto está en /home/user/Programas/karaoke en un ordenador y en /home/joseba/cvs/karaoke en otro, pero podría estar en cualquier lado.

¡Vaya rollo que te acabo de meter!. Espero haberme explicado :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 11:52:13 am
no, no hay rollo...
exactamente eso mismo hice yo, pero el ldconfig de mi debian 64, no me incorporo los mod... si las libs, pero no los mods... y ademas de eso, haciendo luego import "mod_video", no lo tomo... no se si sera un bug de la version 64 bits, pero no me extraña... que version tenes vos?
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 28, 2008, 11:55:29 am
Estoy con una fedora 8 de 32 bits y con una Ubuntu 8.10 de 32 también.
Si me das un minuto, voy a probar con una redhat ws 4 de 64 bits.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 11:58:32 am
dale... gracias...
igualmente para quitarnos de la duda, luego vuelvo a probar, pero tene por seguro que el asunto de los links fue una de las primeras cosas que hice y no funciono... quizas me olvide el ldconfig, pero es raro porque lo tengo en el script install, pero quien sabe... ahora no puedo, pero luego vuelvo a probar y te comento.
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 28, 2008, 12:03:49 pm
Bueno, entramos en el campo de lo extraño. Lo acabo de comprobar en el ordenador de 64 bits con la redhat (un poquito antigua, todo hay que decirlo) y funciona igual...
Yo qué se... son chorradas, pero intenta hacerlo a mano y comprueba los permisos y esas cosas que a veces se nos pasan.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2008, 12:26:32 pm
lo hice a mano, por eso quizas me falto algo, volver a hacerlo nuevamente
incluso hice tambien un for para los link... volvere a probar... gracias por la preocupacion...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 11:14:43 am
Funciono, me faltaba incluir un directorio mas en el bgd.conf, pero bueno, ya que estamos lo mejore un poco...
Con respecto a debian y los archivos que no empiezan con lib en el lib32, temo decir que tengo en la instalacion de debian paquetes que no cumplen con eso... asi que no veo motivos por no incluir a bennu...

El script quedo asi:

Código: [Seleccionar]
#!/bin/sh

MACHINE=$(uname -m)
if [ "$MACHINE" == "x86_64" ];
then
    TARGET_LIB=/usr/lib32
else
    TARGET_LIB=/usr/lib
fi

if [ "x$1" == "xhelp" ];
then
    echo "Bennu Game Development Installer"
    echo "(C) 2008 - SplinterGU"
    echo
    echo "usage: $0 [options]"
    echo "options:"
    echo "    help   - show this text"
    echo "    remove - uninstall Bennu Game Development"
    echo

elif [ "x$1" == "xremove" ];
then
    echo "Uninstalling Bennu Game Development..."
    rm -f /usr/bin/bgdc
    rm -f /usr/bin/bgdi
    rm -Rf $TARGET_LIB/bgd
    rm /etc/ld.so.conf.d/bgd.conf
    ldconfig
    echo "done!"

else
    CPWD=$PWD
    echo "Installing Bennu Game Development..."
    mkdir -p /tmp/bgd>/dev/null 2>/dev/null
    cd /tmp/bgd
    tar -zxvf $CPWD/bgd.pkg
    cp -Rf bin/* /usr/bin
    cp -Rf bgd $TARGET_LIB
    echo $TARGET_LIB/bgd>/etc/ld.so.conf.d/bgd.conf
    echo $TARGET_LIB/bgd/lib>>/etc/ld.so.conf.d/bgd.conf
    echo $TARGET_LIB/bgd/module>>/etc/ld.so.conf.d/bgd.conf
    ldconfig
    cd $CPWD
    rm -Rf /tmp/bgd
    echo "done!"

fi

Con la siguiente release, saldra con ese script...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 11:35:12 am
josebita, te ganaste un karma!
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 02, 2008, 01:12:20 pm
Funciono, me faltaba incluir un directorio mas en el bgd.conf, pero bueno, ya que estamos lo mejore un poco...
¡Genial!, me alegro mucho.
Con respecto a debian y los archivos que no empiezan con lib en el lib32, temo decir que tengo en la instalacion de debian paquetes que no cumplen con eso... asi que no veo motivos por no incluir a bennu...
Tendré que revisar eso, porque pensaba que era así :).

En fin, gracias por mirarlo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 01:28:20 pm
por ejemplo, mira el paquete bonobo

/usr/lib/bonobo/servers/*.server (xml que no empiezan con lib)

(lib o lib32, segun el caso)

/usr/lib/bonobo-activation/* (hay ejecutables, que no empiezan con lib)

/usr/lib/dri/*.so (no empiezan con lib)

y hay un monton...

Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 02, 2008, 02:31:40 pm
No puedo más que darte la razón :). El tema es que dejarlos en /usr/lib directamente me da cosita.... ¿Quizás /usr/lib/bgd?

Bueno, que no te quiero liar más, concéntrate en lo importante que es sacar la 1.0, que ya hay ganitas :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 02:38:20 pm
si, ahi van ahora, en /usr/bin/bgd... nada en el /usr/lib... igual deberia no darte cosita, todos los productos meten sus libs en /usr/lib... no solo los del sistema...

y ahora mejore la version del instalador, ahora es un solo script... no hay mas 2 archivos... es un .sh, que se ejecuta e instala...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 04:24:30 pm
nuevo instalador linux agregado... ahora es un solo archivo... (http://betatester.bennugd.org/betas/bgd-wip16-installer.sh)
Título: Re: Avances, Diario de...
Publicado por: osk en Diciembre 02, 2008, 04:52:04 pm
Ei, ahora estoy en Windows y no lo he podido probar, pero he abierto el código con el bloc de notas y justo después del script hay un montón un montón un montón de líneas con símbolos raros...(?) Míratelo a ver si se te ha colado algo, porque es bastante extraño
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 04:54:39 pm
esos simbolos raros es la idea del instalador, esta en perfectas condiciones...
gracias...
Título: Re: Avances, Diario de...
Publicado por: animanegra en Diciembre 02, 2008, 05:17:52 pm
Creo que prefiero la otra version ^^ no me gusta eso de ejecutar un script como root :P. Se que al final es lo que hacemos con los paquetes .deb :D pero , dejaria tambien la posibilidad de untarear en un lugar especificado. podrias añadir que como argumento te puedan pasar instalar en el directorio actual y simplemente te untaree todo en el directorio actual.

Por cierto no se si conoceras, kdialog. Podrias ponerle al instalador ventanitas sin casi esfuerzo usando el programa. Para la gente mas acostumbrada al tema wizard de siguiente siguiente y siguiente les gustara mas ^^.

Basicamente ejecutas algo en plan:

kdialog --msgbox "Se va a proceder a la instalacion de bennu game development" y te pone un dialogo con el mensaje y un aceptar. Puedes con las diferentes opciones montar menus sencillos listas pedir ficheros y directorios, passwords y tal

Se puede usar tambien el gtkdialog que se supone puede coger interfaces hechas con el glade eso es ya rollo quiero ponerlo como me gusta :D pero yo no lo he usado aun. ^^

se me olvidaba ¿porque le añades la x antes de las variables?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 02, 2008, 05:29:12 pm
caramba! como desconfian del producto!
la version anterior tambien necesita de permisos de root... todo instalador necesita permisos de root... todos los productos serios tienen su instalador o paquete... siempre pueden tocar el script y obtener los archivos si no les gusta que un script les haga el trabajo y setear todo lo que setea el script...
ya tendra su instalador de ventanitas, por ahora es asi... ultimamente no tengo tanto tiempo para dedicarle...
lo de las x en las variables ya lo explique unos mensajes atras, es algo basico en el uso de scripts con datos opcionales... leete un par de mensajes atras...
hay muchos productos que usan metodos de stub-script... no veo el problema de que bennu tambien lo use...
Título: Re: Avances, Diario de...
Publicado por: syous en Diciembre 02, 2008, 11:57:19 pm
caramba! como desconfian del producto!
la version anterior tambien necesita de permisos de root... todo instalador necesita permisos de root... todos los productos serios tienen su instalador o paquete... siempre pueden tocar el script y obtener los archivos si no les gusta que un script les haga el trabajo y setear todo lo que setea el script...
ya tendra su instalador de ventanitas, por ahora es asi... ultimamente no tengo tanto tiempo para dedicarle...
lo de las x en las variables ya lo explique unos mensajes atras, es algo basico en el uso de scripts con datos opcionales... leete un par de mensajes atras...
hay muchos productos que usan metodos de stub-script... no veo el problema de que bennu tambien lo use...

no hay desconfianza simplemente son  sugerencias o opiniones para mejorar un producto eso es lo que significa una comunidad recibir criticas constructivas para crecer
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 12:32:55 am
Perfecto, pero la idea del installer es mejorar, cuantos mensajes hubo diciendo que no iba en linux, que como se hacia para que funcione, que el metodo de instalacion y tener todas las dlls junto al juego y a los ejecutables era algo feo y desordenado? ahora que esta ordenado y mejorado como lo hace cualquier producto serio, no entiendo la sugerencia.
pero bueno, los instaladores saldran asi, y si alguien considera que no es adecuado o no cumple con sus exigencias podra tirar de los fuentes...
sinceramente me esperaba una felicitacion por hacer que la instalacion sea tan simple, compacta, seria y ordenada (1 solo archivo de instalacion y no 2 o mas como habia antes...), pero bueno...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 12:42:23 am
con respecto al kdialog o gtkdialog no viene instalado por default, y la instalacion dependeria del SO... pero veo que si esta instalado el dialog... y esta muy bueno... quizas luego se incluya, aunque no hay mucho para configurar, y el path de instalacion debe ser el que instala el script, por normas generales de instalacion de librerias y porque asi funciona tanto en 64bits como en 32bits...
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 03, 2008, 01:14:31 am
Yo no tengo ningún problema con el instalador en modo stub, los instaladores de GarageGames, ID, icculus... lo hacen. En realidad, es lo más sensato si no te quieres meter con historias de empaquetar para cada distribución que tiende a ser un infierno.

Además, se puede sacar un tar.gz (o como esté comprimido en el paquete) del script con una línea de bash. Ahora no tengo tiempo para mirarlo, pero si quereis esta tarde puedo intentar postearlo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 01:18:28 am
Sinceramente no es la idea, y me desagrada la intencion, pero bueno, la linea para obtener el paquete original es...

tail -n +52 bgd-wip16-installer.sh > bgd.tgz
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 03, 2008, 01:27:20 am
Si en esto te doy la razón. Lo suyo es eso.
Tampoco hay razón para que quien quiera toquetear su sistema no lo pueda hacer. Tú dejas éste como sistema de instalación recomendado y punto, porque a la mayor parte de la gente le será más útil eso.

En fin, que en mi Ubuntu de 32 bits el instalador va como genial. Rápido y limpio.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 01:39:35 am
Yo lo probe en linux 64, asi que excelente... lo unico malo que vi a esto, es que hay .so necesarias para bennu que no instala el apt de linux64... bueno, supongo tambien que es cosa de debian... ya que en 32 bits las instala, asi que el trabajo fue instalarlas en un jail de 32 bits y luego copiarlas a la carpeta /usr/lib32... estas .so son las de libsdl_mixer...
Gracias.
Título: Re: Avances, Diario de...
Publicado por: animanegra en Diciembre 03, 2008, 02:24:51 am
jo lo siento. No me exprese bien :S No estaba diciendo que estubiese mal ni nada de eso. Ni pretendi expresar desconfianza. Lo que pretendia decir es que seria bueno tener la opcion de desempaquetar en el propio directorio. Algo  parecido al prefix de los configure. Pero era simplemente por el tema de que determinadas cosas yo las suelo instalar en directorios aparte, no como critica a que estubiese mal hecho ni nada ni fuese mala idea. Como dije todos los paquetes .deb se instalan con root. :( Siento que te pudiese sentar mal.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 03, 2008, 02:42:30 am
Hola, por cierto esto podria meterse en otra sección llamada linux bennu, o problemas bennu o algo asi no?
lo digo porque he entrado varias veces a lo largo de estos dos dias creyendo que había novedades y releases en el avance de bennu y me he encontrado con esto :(.

Creía que ya estabas puesto manos a la obra con el código fuente de BennuGD :D

Venga, saludos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 02:51:28 am
animanegra, no, disculpame a mi... es que estoy un poco agotado estos ultimos dias, con linux y trabajo, y la cabeza siente ese cansancio.. y quizas respondo de la forma adecuada... disculpame...
dcelso, festival, si bien no es codigo C, esto es parte del proyecto... y si bien no toco el codigo estoy relevando informacion sobre las cosas que hay que tocar... ademas de que emplee tiempo en el documento de estilo...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 03, 2008, 03:06:22 am
ok, no yo era por organizarlo un poco, en verdad no pasa nada donde esté, era simplemente eso que al ver que habia nuevas respuestas pues entraba animado creyendo en una posible nueva versión :D :D.
No te mosquees ni te satures, no era mi intención.
Bastante haces con estar las 24 horas viendo el foro :D.
Gracias por todo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 03:24:51 am
:)
Título: Re: Avances, Diario de...
Publicado por: HaCkZJuaNN en Diciembre 03, 2008, 09:28:13 am
Para cuando tienes planeado colgar la release para windows? Lo digo porque tengo un pequeño código ya hecho que probar usando las funciones nuevas de floats, y querría probar el código antes de seguir complicándolo.

Gracias por todo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 03, 2008, 10:10:01 am
apenas tenga un momento de hacer la compilacion...
Título: Re: Avances, Diario de...
Publicado por: Foni en Diciembre 08, 2008, 06:29:42 am
Buenas tardes a todos:

Aprovechando la salida del WIP16 me descargue el sh y lo ejecute correctamente. El tema es que soy usuario div/fenix/bennu en windows de toda la vida y no sé por donde empezar, ni para adaptar los codigos a linux ni para que corran en linux.

Algo de documentacion al respecto tenemos?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 08, 2008, 06:43:44 am
hola, creo que no hay ningun documento... lo que debes saber en linux principalemente es que las mayusculas y minusculas en los nombres de archivos y directorios es de importancia... yo sugiero tener todo en minusculas... tambien no usar paths absolutos y usar las barra de division para los paths... luego de eso, no deberias tener mayores problemas.
quizas me olvide algo, pero creo que con eso es suficiente por ahora.
Título: Re: Avances, Diario de...
Publicado por: Foni en Diciembre 08, 2008, 06:55:24 am
hola, creo que no hay ningun documento... lo que debes saber en linux principalemente es que las mayusculas y minusculas en los nombres de archivos y directorios es de importancia... yo sugiero tener todo en minusculas... tambien no usar paths absolutos y usar las barra de division para los paths... luego de eso, no deberias tener mayores problemas.
quizas me olvide algo, pero creo que con eso es suficiente por ahora.

Y a parte de la gramática... ¿algun entorno de desarrollo para linux?

en windows creas el programa, lo compilas con el compilador y lo ejecutas con el interprete.

necesito saber el equivalente a esos pasos en linux, ya que como veis estoy bastante verde en este sistema operativo... jeje

Gracias Splinter por la respuesta, y por la velocidad de ella, un saludo
Título: Re: Avances, Diario de...
Publicado por: osk en Diciembre 08, 2008, 07:00:53 am
Pues lo mismo: creas el programa con el editor de texto que más te guste, lo compilas con el compilador (bgdc) y lo interpretas con el intérprete (bgdi). Nada más.

P.D: Foni, mejor pon los posts de ayuda en su tema correspondiente,ok?...para mejorar la legibilidad y eso.
Título: Re: Avances, Diario de...
Publicado por: Foni en Diciembre 08, 2008, 07:03:44 am
Pues lo mismo: creas el programa con el editor de texto que más te guste, lo compilas con el compilador (bgdc) y lo interpretas con el intérprete (bgdi). Nada más.


vale bien, jaja, pense que sería algo mas complicado, voy a probar!


PD: vale, postearé en la ayuda
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 14, 2008, 05:46:31 am
¡¡No había visto que habías subido la wip 17!!
Ahora lo miro, si encuentro algo ya aviso :)

[Edito] Sólo una cosita con el instalador , si lo instalo como "sudo ./bgd-installer" me dice que no encuentra el ejecutable ldconfig.
¿Podrías explicitar en el script que es /sbin/ldconfig?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 14, 2008, 06:45:25 am
claro que podria...
No avise que la subi, esperaba subir una de windows... aunque de esta wip17 solo corregi pocas cosas... pero la mas importante es el tema de los floats en linux...
Y para compilar la version windows es linux, es un tema, con el cygwin no va... tarda una locura siquiera correr el configure... asi que le estoy dando a una vm, pero estoy armando todo el tema de las librerias necesarias, poniendo todas las ultimas versiones de todos los productos.
Título: Re: Avances, Diario de...
Publicado por: Prg en Diciembre 14, 2008, 07:35:15 am
Citar
esperaba subir una de windows...

 ;D  :) Dentro de poco.  :) dentro de poco... (Sonrisa de docientos [de cien a cien]).  ;)

Amigo, no se si te había agradecido por todo, de lo contrario, ¡Gracias!   :)

... (vocesita a lo lejos) Dentro de poco tendremos versión nueva los de windows...

PDT: (Si falta aún un poco de tiempo, no nos quiten las esperanzas, sólo digan que dentro de poco y se sobreentiende). :)

¡¡¡versión de windows, versión de windows!!!

 ;)
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 14, 2008, 08:55:35 am
Yo cada dia visito el site de betas a ver si esta  ;D

Que novedades aporta la wip17 respeto a la wip15c2? Saludos!
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 14, 2008, 09:45:19 am
es verdad que novedades va a tener la nueva versión de windows.
La wip16 no salió aún ¿no?
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 14, 2008, 10:38:38 am
La wip16 sólo salió para linux.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 14, 2008, 11:55:07 am
ya dije que cosas corrije la wip17...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2008, 07:29:08 am
Problemas con la version windows...
Despues de actualizar todos los paquetes compilador+SDL+SDL_Mixer+ogg+png+etc+etc+etc... parece que SDL cambio varios nombres en las constantes de teclado, lo que me obligara a reescribir parte del modulo de teclado y chequear que no haya inconsistencias... quizas tambien esto solucione el tema del mapeo incorrecto de teclas que pasaba con version anterior de la SDL.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Diciembre 15, 2008, 08:33:44 am
Dichosos cambios, ¿eh? :-)

[MENSAJE_DE_ALIENTO ON]
En cualquier caso, gracias por estar metiéndole la caña que le estás metiendo al Bennu, lenguaje divertido y potente a la par como pocos :-)
[MENSAJE_DE_ALIENTO OFF]

¡Saludos!
Título: Re: Avances, Diario de...
Publicado por: Prg en Diciembre 15, 2008, 02:36:03 pm
Citar
Despues de actualizar todos los paquetes compilador+SDL+SDL_Mixer+ogg+png+etc+etc+etc... parece que SDL cambio varios nombres en las constantes de teclado, lo que me obligara a reescribir parte del modulo de teclado y chequear que no haya inconsistencias... quizas tambien esto solucione el tema del mapeo incorrecto de teclas que pasaba con version anterior de la SDL.

:)  No importa, podemos esperar todavía. Además, si esto soluciona algo, ¡qué mejor! :)

Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 15, 2008, 03:40:23 pm
que sdl usas?  la 1.2.13 o la 1.3
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Diciembre 15, 2008, 03:54:36 pm
la version windows esta muy rapida y estable , asi que no se va a acabar el mundo...    ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 16, 2008, 08:00:08 am
1.3...

nuevamente problemas de equipo... tuve que reinstalar nuevamente linux, tras varios intentos infructuosos de instalar linux 64, termine con linux32... puf, que lento es linux 32 bits!

No me queda claro cual fue el problema, si hard, si grabadora de dvd que no funciona adecuadamente, o simplemente porque no se puede pasar de una etch a una sid sin pasar antes por una lenny... no se, pero me volvi loco, toda la noche despierto...

pero esta vez no perdi nada...
Título: Re: Avances, Diario de...
Publicado por: Prg en Diciembre 16, 2008, 02:37:19 pm
Citar
pero esta vez no perdi nada...

Cuando inicié a leer el mensaje me asusté,
que bueno, que no pasó a mayores...

A dormir amigo, hay que recuperar ese tiempo que no dormiste. :)
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Diciembre 18, 2008, 03:50:43 pm
1.3...

nuevamente problemas de equipo... tuve que reinstalar nuevamente linux, tras varios intentos infructuosos de instalar linux 64, termine con linux32... puf, que lento es linux 32 bits!

No me queda claro cual fue el problema, si hard, si grabadora de dvd que no funciona adecuadamente, o simplemente porque no se puede pasar de una etch a una sid sin pasar antes por una lenny... no se, pero me volvi loco, toda la noche despierto...

pero esta vez no perdi nada...


Go Back to Windows,Go Back to Windows,Go Back to Windows,.......... (Leer esto recordando la musiquita de inicio de Windows, ta-ra.....)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 18, 2008, 04:59:07 pm
jeje... en linux pasan cosas extrañas... hoy se me "trabo" el X, no respondia el teclado, solo se movia el mouse, pero obviamente, ningun evento de este era procesado... no siquiera respondio el ctrl+backspace, ctrl+alt+backspace, ctrl+alt+F1/F10... nada... no me quedo otra que pulsar el boton de reset... y con el vmware corriendo... raro, pero no se corrompio nada (aparentemente)...
esto es como cuando me lei la biblia completa para poder criticar con propiedad a la religion... tengo que seguir usando linux como desktop para poder criticarlo con propiedad... y realmente la cantidad de problemas que tengo en linux, no me pasaban en windows... y eso que no se puede decir que es por ser un usuario iniciado, ya que manejo el linux a nivel mas que avanzado, y corregi problemas que no vi solucion en ningun lado... y tengo detectados, diagnosticados y analizados unos cuantos bugs... pero me doy cuenta que linux es una caja de pandora...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 28, 2008, 06:22:17 pm
svn creado

http://bennugd.svn.sourceforge.net/viewvc/bennugd/
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 28, 2008, 06:27:34 pm
Genial :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 31, 2008, 08:02:18 am
bueno, chequeen el svn cada tanto, hay cambios bastante frecuentemente.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Diciembre 31, 2008, 10:07:22 am
Interesante el poder ir observando las novedades/modificaciones/fixs/etc. que se van realizando en el proyecto gracias al svn...

Saludos y... ¿cómo no lo digo? Feliz Año 2009 :-)
Título: Re: Avances, Diario de...
Publicado por: josebita en Enero 03, 2009, 03:08:44 pm
Una cosita:

El script "configure" que viene del svn en "modules" no chequea que esté instalada la cabecera ffi.h.
Otra cosa es que tampoco tiene permiso de ejecución, pero eso es un poco chorradilla...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 03, 2009, 05:47:57 pm
exacto, no chequea por el ffi.h puesto que aun ese modulo es experimental, no es definitivo...
Título: Re: Avances, Diario de...
Publicado por: josebita en Enero 03, 2009, 06:17:18 pm
ok.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 15, 2009, 12:03:28 am
varios fix... revisar http://forum.bennugd.org/index.php?topic=343.0 y el svn http://bennugd.svn.sourceforge.net/viewvc/bennugd/
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 20, 2009, 04:26:08 pm
Corregido error de actualizacion del grafico al cambiar su centro.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 20, 2009, 05:20:36 pm
Ostras, que bien, en cuanto tenga un hueco pruebo el ejemplo que hice enel que ví el bug.
Mis felicitaciones.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 20, 2009, 05:33:03 pm
No se si sera el mismo bug... hay un bug pendiente, pero no tengo tiempo ahora de mirarlo, vi el ejemplo del jetpack, pero ese error no lo corregi aun... cuando tenga tiempo lo hago...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 24, 2009, 08:41:21 am
Corregido bug de actualizacion de pantalla con mirror y punto de control no centrado y sin usar angle.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 24, 2009, 06:49:02 pm
Splinter, no he podido probar nada aún, creí que estaba el exe por algún lado, veo que ya dejaste definitivamente de mantener los binarios de windows :( (siento ser windowsnero buaaa). Esto de depender de compilar los fuentes es mas complejo. Mingw32 es un asquillo, hay que compilar todo todo todo. Estoy intentandolo desde cygwin que veo que ya hay bastantes paquetes compliados como los zlib, png y SDL, a ver si consigo pronto un binario (y dlls) para win :(.
De todas formas, gracias por el bugfix.
PD: por cierto, ¿hay alguna forma de cargar jpgs?¿Sería dificil adaptar la parte del código de fenix de lectura de jpgs para hacer un modulo bennugd?¿o existe alguna librería power para hacer eso ya en bennu?
Es que los fondos ocupan un huevo en png de 32 bits :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 24, 2009, 08:57:56 pm
yo no me preocuparia mucho por el tamaño, en memoria va a ocupar lo mismo un png que un jpg... ademas un jpg para funcionar correctamente necesitaria ser un jpg sin compresion (o sin perdida de calidad), ya que en bennu los colores (0 por ejemplo) son significativos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 24, 2009, 10:03:28 pm
No deje de mantener los binarios windows, Sandman se estaba encargando de compilarlos, pero pronto volveré a hacerlo yo... quiero armar un instalador, asi las distro (tanto linux como windows) salen con su instalador...
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Enero 25, 2009, 03:13:57 am
Ok la paciencia es una virtud, y como por aqui queremos ser virtuosos en el arte del fenix, seremos pacientes, ademas como me gusta decir "lo bueno se hace esperar".

 :D :D
Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 25, 2009, 04:24:53 am
SplinterGu no hay prisa, yo de momento sigo usando la beta 15c y tan contento.  ;)
Saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 04, 2009, 06:33:49 pm
binarios de la revision 22 listos para descarga
http://betatester.bennugd.org/betas/
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Febrero 05, 2009, 03:49:37 am
Oh Yeah!, Thankcias, voy a probarla...

SplinterGU.Karma++
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 05, 2009, 07:45:12 am
buenísimo, ya lo tenía yo desde ayer por la mañana.
es lo que tiene revisar el svn cada dia :D.
Título: Re: Avances, Diario de...
Publicado por: blostec en Febrero 08, 2009, 08:35:28 am
Bajando la 22, gracias Juan!  :)
Título: Re: Avances, Diario de...
Publicado por: Prg en Febrero 15, 2009, 08:22:11 pm
hola
tengo rato revisando y las librerías de la wip 22 no me funcionan correctamente.
aunque todas dicen haber sido creadas el 4 de febrero, excepto dos archivos que fueron creados el 5, encuentro los mismos bugs que la versión de diciembre que recibimos como regalo de navidad. no cierra ventana en la cruz, no se crean fpgs nuevos, etc, etc, etc. no entiendo qué pasa, pues había leido que todos estos problemas ya se habían resuelto.

antes de decir algo más, quisiera preguntar si a todos les ha funcionado bien la nueva versión. es suficiente con que revisen que se cierra la ventana de windows al dar click en la cruz. a mi no me pasa, y ya revisé la ruta de compilación y ejecusión, lo hice manualmente, y borré todas las versiones anteriores, revisé que no compilara al eliminar algunas librerías, me descargué los librerías externas zdl, etc.

saludos a todos :) (no se me ocurre nada más  :-[ )
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 16, 2009, 04:36:49 am
ya se explico que lo de no cerrar ventana con la cruz no es un bug, cuando se pulsa la cruz se setea una variable que indica esta acccion... de hecho si mal no recuerdo lo use en el ejemplo de la GUI...

eso de que no se crean fpg nuevos no entiendo a que te referis el programa que crea fpg a partir de pngs funciona perfectamente... y no se que otros bugs mas decis... podrias numerarlos?
Título: Re: Avances, Diario de...
Publicado por: Prg en Febrero 16, 2009, 04:11:35 pm
??? no es bug... oh??? perdón  :D

he revisado y si se crean fpgs nuevos en memoria, pero le doy a save_fpg, y no se guarda, y cambio las librerías a las de octubre y ahí si se guarda el fpg  ???

ehhhh, perdón por lo alarmista, como antes si funcionaba la x y ahora no (y parte esta cosita), pues pensé que había muchas cositas (cositas que no funcionaban) más, sin embargo no he tenido tiempo de buscar, por eso puse etc  ::) (je je, lo siento)

de todas formas, eso de que no se guarde los fpgs está raro, y les dejo un ejemplo.
saludos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 16, 2009, 04:26:37 pm
si los maps en una lib tienen distinta profundidad no se grabaran...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 16, 2009, 04:34:12 pm
el error esta en la fpg_new, que da 0... voy a revisar si es correcto...

bueno, tampoco se cuanto daba la version anterior...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 16, 2009, 04:56:32 pm
Fixeado, gracias!
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 16, 2009, 11:32:36 pm
Hola, tengo un error  con la ultima versión y los 32 bits de color.
Cuando pongo esa profundidad, si cargo un proceso con un gráfico con regiones transparentes y cargo otro proceso con otro gráfico mas chico que se moverá por encima del otro, me detecta colisión en las zonas transparentes del primer gráfico. En cambio en profundidad de 16 bits no pasa.
¿Es conocido ya?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 16, 2009, 11:56:27 pm
eso no es un bug...
las transparencias son colisionables... tanto en 16, como en 32bits..
el 0 absoluto es la unica transparencia que no colisiona, en 16 bits las transparencias con valor menos a 50% son convertidas a 0 absoluto, en 32 bits cada transparencia es respetada...

yo creo que de esto ya se hablo...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 17, 2009, 12:40:10 am
Sí, se habló de eso y eso que comentas lo veo correcto, el problema es que te hablo de transparente transparente osea 0 absoluto. No he dicho transparencias en ningún caso sino transparente. Voy a revisar la imagen no vaya a ser que sea cercano a 0 y no 0.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 17, 2009, 12:51:19 am
si seguis teniendo el error, por favor, postea un ejemplo (con imagenes) asi lo pruebo...

gracias...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 17, 2009, 01:15:30 am
Lo he revisado y no encuentro nada raro, a ver si podes ayuarme a verlo.
Saludos.
NOTA: Te mando un ejemplo con imágenes si lo pones a 16 va bien, si lo pones a 32 va mal, presento la variable hay colisión en la pantalla por si te sirve para algo.

Se me ha olvidado explicar lo esperado. El proceso player incrementa la coordenada "y"  hasta colisionar con el proceso backgr. En 32 bits siempre está colisionando y no cae nunca (asi que parece que el player vuela), en 16 bits va bien cae hasta tocar algo distinto de transparente.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 17, 2009, 07:15:59 am
Como dije, el problema esta en que no estas usando color absoluto 0, estas usando un RGBA de 255,255,255,0... en 32 bits poner un canal alpha en 0, solo hace a un pixel no visible, pero el pixel sigue estando, es hacerlo invisible, pero existe y colisiona...

esto es un grafico con un fondo 0 absoluto (RGBA=0,0,0,0)...

espero que ahora con la nota del RGBA se entienda el asunto...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 17, 2009, 11:45:56 am
Ostras tu, pues eso no es lo típico de los programas, por ejemplo, el gimp no lo tiene en cuenta.
Yo creo que deberías permitir que fuera cualquier color a alpha 0. Date cuenta que el RGB(0,0,0) es otro color, asi que se está suponiendo que el "transparente transparente" es el negro con alpha 0. Cosa que hasta ahora ningún programa de los que he usado presupone: irfranview, acdsee,photoshop, inkscape, painshop pro. Para todos ellos alpha 0 es transparente independiente del color que tengan los otros canales. Cosa diferente sería que alpha fuera distinto de 0 porque supondría un color translúcido no transparente total.
Bueno, en fin, da igual, teniéndolo en cuenta tendré que pintar de negro lo que quiera que sea transparente y aplicarle alpha 0.
Muchas gracias por la aclaración.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 17, 2009, 11:55:22 am
alpha 0 es transparente... como un vidrio, porque sea transparente no significa que no este... proba correr contra una ventana y luego me decis si colisionas o no contra esta...

hay algo que todavia veo no se logra entender... una cosa es transparente otra cosa es ausente... 0 es ausencia... alpha 0 es transparente... pero no significa que este ausente, es un objeto transparente... esto es fantastico para 32 bits, porque nos permite poder colisionar contra objetos no visibles (transparentes)... cosa que en 16 y los otros modos no se puede...

EDIT:
Tampoco te equivoques, los programas graficos que mencionas se comportan igual... si vos tenes varios graficos de diferente color y luego le aplicas alpha 0 a cada 1 de estos, los colores de estos objetos siguen siendo el que tenian anteriormente, solo que no se ven... conservan su propiedad color... y si vos aplicas el selector magico para seleccionarlos por color, no va a tocar toda el area transparente porque tienen alpha 0, sino que van a tomar la seleccion del objeto por su color y no por su alpha...
veo que es dificil entender paletas, transparencias, alphas, huecos en los graficos (ausencia de pixels)...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 17, 2009, 12:10:42 pm
ok, gracias de nuevo
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 17, 2009, 02:34:17 pm
pero se entiende ahora?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 17, 2009, 03:11:33 pm
sipo, eso del RGBA lo explica bien. El único color que no produce colixion en 32 bits es el rgba (0,0,0,0) el resto sí producen colixion aunque no se vean.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 17, 2009, 05:13:51 pm
perfect!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 23, 2009, 05:43:20 am
binarios r24 estan disponibles... http://betatester.bennugd.org/betas/
Título: Re: Avances, Diario de...
Publicado por: Prg en Febrero 23, 2009, 05:40:33 pm
wow, muchísimas gracias, descargando  :)
Título: Re: Avances, Diario de...
Publicado por: blostec en Febrero 24, 2009, 02:42:09 am
Actualizando versión, muchas gracias Splinter. Karma up!!  :)
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Febrero 24, 2009, 04:31:53 am
Novedades, SplinterGU?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 24, 2009, 07:02:34 am
Novedades, SplinterGU?

http://bennugd.svn.sourceforge.net/viewvc/bennugd/modules/?sortby=rev&sortdir=down&view=log
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Febrero 24, 2009, 08:31:34 am
No lo conocía. Una cosa, ya que la página de inicio de bennugd.org está tan vacío. Porqué no se ponen algunos links interesantes además de acceder al foro? Podrían ser acceso a la wikipedia, descargar la última versión, ...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 24, 2009, 08:44:59 am
podria ser... no es mala idea... algo basico... si alguien se anima a armar esa pagina, yo la subo y luego actualizo los links...
Título: Re: Avances, Diario de...
Publicado por: syous en Febrero 24, 2009, 09:00:54 am
Hola por que no pruebas este mod  para smf  y  integrar los foros y un cms con portal de noticias, descargas, enlaces y en un plisaplas y manteniendo la estica


;Dhttp://www.tinyportal.net (http://www.tinyportal.net)
Título: Re: Avances, Diario de...
Publicado por: blostec en Febrero 24, 2009, 09:15:00 am
Muy bueno ese link syous.

Pixel ya creó una pagina (http://web.bennugd.org/) para el proyecto usando el CMS Drupal. Solo habría que redireccionar para que se mostrara por defecto al acceder a http://bennugd.org/ y buscar un theme acorde con el aspecto del foro. También veo importante que sea multilingue pudiéndose escoger el idioma. Drupal esta preparado para ello. Es imprescindible que esté en inglés para darse a conocer pero sin olvidar a la comunidad de usuarios en español que aquí somos la mayoría.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 24, 2009, 09:48:19 am
por motivos de los ultimos hackeos, estamos intentando mantener todo por separado... en dominios y usuarios diferentes... la idea es el foro en un lugar, el portal en otro, etc, se que sera una complicacion, pero por lo menos limitamos un poco los hackeos...
Título: Re: Avances, Diario de...
Publicado por: panreyes en Febrero 24, 2009, 01:48:41 pm
Actualmente Sandman está toqueteando la web, y planea hacer un tema común para ella, para el wiki, y no sé si para el foro, aunque creo que es más bien basado en el del foro actual.
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Febrero 27, 2009, 02:01:37 am
Coincido con ello. Es necesario unificar los contenidos aunque estén en diferentes servidores o sitios. Cosas imprescindibles:

Título: Re: Avances, Diario de...
Publicado por: osk en Febrero 27, 2009, 02:12:48 am
Si es cuestión de promocionarlo, yo me comprometo a escribir algún artículo de iniciación para las revistas que hagan falta (TodoLinux, LinuxMagazine, Linu+...otra cosa es que me hagan caso), cuando salga una versión definitiva de Bennu.
Y evidentemente, ir por otros foros.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Febrero 28, 2009, 10:02:48 pm
Eso de tener algún tipo de página web además del foro, por muy sencilla que sea, me parece fundamental.

Muchas veces recomiendo Bennu, pero la gente se extraña de que haya que conocerlo a través de un foro. A mí personalmente también me pasó en un principio, hasta que me decidí a postear y me encontré con las grandes personas que sois todos  ;)

Siento no poder ayudar en el tema de la web, soy bloggero pero no soy webero...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 01, 2009, 05:26:20 am
muchas gracias a ambos...
Título: Re: Avances, Diario de...
Publicado por: Foni en Marzo 02, 2009, 11:02:14 am
Coincido con ello. Es necesario unificar los contenidos aunque estén en diferentes servidores o sitios. Cosas imprescindibles:

  • Foro
  • Página de inicio
  • Noticias
  • Documentación y Wiki
  • Material:
    • Ejemplos
    • Imágenes
    • Fuentes
    • Sonidos
    • ...
    En inglés como en castellano. Convendría promocionarlo un poco, Div_arena se convirtión en un gran portal con muchos usuarios...

100% de acuerdo, cada dia que pasa que alguien cae en esta web y no ve toda la informacion a golpe de vista, es un posible nuevo usuario de bennu que se pierde.

Es IMPRESCINDIBLE si se quiere que bennu sea utilizado que disponga de una WEB, simple, que tenga muy resumido ¿que es? ¿como empezar? etc, para que cualquier persona con conocimientos basicos de programacion pueda estar en 5 minutos trasteando con el.


en mi opinion intentaria basarme ya en alguna web que tenga todo eso para ver como lo estructuran. es necesario que salgan en portada imagenes de juegos ya echos con bennu y con un buen acabado esteticamente, que la gente vea lo que se puede hacer, una vez visto que con un simple click vea como se empieza, que de un simple click pueda descargar todo lo necesario, y tenga a la vista un tutorial para principiantes (ESPECIFICO DE BENNU)

es decir, que si yo le doy el link a mi primo de 15 años, le pique la curiosidad 1º, 2º que intente hacer el algo, y 3º que lo consiga por basico que sea, si se consiguen estos 3 pasos en la primera hora de contacto con bennu (cosa mas que sencilla) el usuario ya indagara mas a fondo por los foros etc... y sera un habitual de bennu.

En cambio si llega y ve: click para acceder a los foros ya dices: vaya, ni una triste web... entras en el foro y no sabes ni por donde buscar... y tardas 3 horas en encontrar simplemente como funciona en comparacion con fenix... eso es lo q no puede pasar, que alguien que ya conozca div/fenix tenga que tirarse 3 horas para ver como funciona esto...donde conseguirlo etc...

Y se deberia hacer cuanto antes, pues cuanto mas se tarde menos usuarios nuevos en esta comunidad tendremos y estaremos perdiendo
Título: Re: Avances, Diario de...
Publicado por: syous en Marzo 03, 2009, 08:34:25 am
 ;D podría mirar otro sistema mas completo de integrar smf y sistema de portal muy completo http://mkportal.es/ (http://mkportal.es/) y serie independientes a la vez de que se integran
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 03, 2009, 08:46:26 am
si puede ser independiente (alojado fisicamente en otro subdominio o usuario) seria lo ideal...

con respecto a los cambios que estan haciendo en el site, por favor, no me toquen el foro... solo denme ese gustito... despues hagan lo que crean conveniente con el resto del site...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Marzo 03, 2009, 11:54:00 am
Ya os he dicho que soy bloggero, un blog de Wordpress direccionado con bennugd.org podría servir temporalmente... Aunque por supuesto que no es la mejor solución ni mucho menos. Una web sería lo adecuado, preferiblemente con su propio alojamiento para poder modificar cualquier cosa en cualquier momento.

El foro ni tocarlo, es el único foro que uso, nunca me han gustado usar foros pero es que este es sencillamente perfecto!
Título: Re: Avances, Diario de...
Publicado por: animanegra en Marzo 04, 2009, 11:43:34 am
Holas, pregunta supertonta. Donde andan las fuentes? Que toy con un mac que me han dejado pa compilar el bennu, y no las veo por ningun sitio. ^^ Asi le meto un compile y dejo una release compilada para macosX con motorola. Me he bajado de betatester los sh y nas. Hay solo versiones compiladas, y en sources no me sale la page :( (Puede que me haya perdido algo ya que llevo mucho tiempo sin tiempo para leer los foros en condiciones :S aparte de lo empanao que suelo ser ^^)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 04, 2009, 12:38:10 pm
Holas, pregunta supertonta. Donde andan las fuentes? Que toy con un mac que me han dejado pa compilar el bennu, y no las veo por ningun sitio. ^^ Asi le meto un compile y dejo una release compilada para macosX con motorola. Me he bajado de betatester los sh y nas. Hay solo versiones compiladas, y en sources no me sale la page :( (Puede que me haya perdido algo ya que llevo mucho tiempo sin tiempo para leer los foros en condiciones :S aparte de lo empanao que suelo ser ^^)


http://forum.bennugd.org/index.php?action=search2

pones sourceforge... y le das enter...

o podes ver mi firma...
Título: Re: Avances, Diario de...
Publicado por: animanegra en Marzo 04, 2009, 12:56:22 pm
joder menudo empane, te juro que habia visto tu firma pero se ve que me habia fijado solo en la parte de betatesters :S ^^ Gracias :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 04, 2009, 01:15:02 pm
je, eso lo agregue cuanto respondi... ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 07, 2009, 07:40:52 pm
- Soporte de fade 32 bits (disponible en SVN)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 12, 2009, 02:52:44 pm
Finalmente funciona correctamente (eso creo)!

- Fixed Translucent tables in 8 bits
- Fixed blend operations in 8 bits
- Fixed Translucent+Blend in 8 bits

sample
Código: [Seleccionar]
Program Pruebas;

#ifdef __VERSION__
import "mod_screen";
import "mod_video";
import "mod_map";
import "mod_say";
import "mod_text";
import "mod_rand";
import "mod_mouse";
#endif
import "mod_file";
import "mod_key";
import "mod_draw";
import "mod_proc";
import "mod_math";

#define GR_DEPTH    depth
//#define GR_DEPTH    16

global
   int recta;
   int cubo;
   int fondo;
   int depth = 32;
   int gflags = 0;
   int gangle = 0;
   int gsize = 100;
   int galpha = 255;
   int sw = 0;

begin

    set_fps(0,0);

    action();

    While (NOT key(_esc))
        if (key(_TAB))
            let_me_alone();

            depth /= 2;
            if (depth<8) depth = 32; end

            delete_text(all_text);
            unload_map(0,fondo);
            unload_map(0,cubo);
            unload_map(0,recta);
            unload_map(0,mouse.graph);
            action();
            while (key(_TAB)) frame; end;
         end

        frame;
    end
end



process action()
private
map;
count ;
Begin
//    scale_mode = scale_normal2x;

/*
    dump_type=1;
    restore_type=1;
*/
    set_mode(640,480,GR_DEPTH|WAITVSYNC); // For rgb for graphs

    cubo=new_map(100,100,GR_DEPTH);
    drawing_map(0,cubo);
    drawing_color(rgb(0,0,200));
    draw_box(50,0,100,100);
    drawing_color(rgb(0,100,200));
    draw_box(0,0,50,100);
    drawing_color(rgba(100,0,200,50));
    draw_box(25,0,75,25);
    /* Hole */
    drawing_color(rgba(255,255,0,200));
    draw_box(35,35,65,65);
    drawing_color(rgba(255,0,255,64));
    draw_box(45,45,55,55);

/*
    cubo=new_map(100,100,GR_DEPTH);
    drawing_map(0,cubo);
    drawing_color(rgb(0,0,200));
    draw_fcircle(50,50,50);
    drawing_color(rgb(0,100,200));
    draw_fcircle(50,25,20);
*/

    recta=new_map(5,100,GR_DEPTH);
    drawing_map(0,recta);
    drawing_color(rgb(200,0,0));
    draw_box(0,0,5,100);
    drawing_color(rgb(0,200,0));
    draw_box(0,0,5,5);
    drawing_color(rgb(0,0,200));
    draw_box(5,0,5,100);

    set_mode(640,480,depth);

    mouse.graph=png_load("pngtest.png");

    fondo=new_map(640,480,depth);

    for (y=0;y<480;y++)
        for (x=0;x<640;x++)
             //((y*100/256)<<(((y>>2)%3)<<3))
//            map_put_pixel(0,fondo,x,y,rgb(y*256/480,y*256/480,y*256/480));
            map_put_pixel(0,fondo,x,y,rgb((y&1)?x*256/640:0,(x&1)?x*256/640:0,(y&1)?y*256/480:0));
        end
    end

    put_screen(0,fondo);

    write_int (0,100,10,1,&fps);
    write_int (0,200,10,1,&depth);

    write_int (0,300,10,1,&gangle);
    write_int (0,400,10,1,&gsize);
    write_int (0,500,10,1,&galpha);

    jugador(120,180,cubo,-180000,0);
    jugador(240,180,cubo,-180000,B_HMIRROR);
    jugador(120,300,cubo,-180000,B_VMIRROR);
    jugador(240,300,cubo,-180000,B_HMIRROR|B_VMIRROR);

    jugador(440,180,recta,-180000,0);
    jugador(560,180,recta,-180000,B_HMIRROR);
    jugador(440,300,recta,-180000,B_VMIRROR);
    jugador(560,300,recta,-180000,B_HMIRROR|B_VMIRROR);

    While (NOT key(_esc))
        gangle+=100;

        If (key(_F1)) gflags |= B_TRANSLUCENT; end
        If (key(_F2)) gflags = gflags & ~B_TRANSLUCENT; end
        If (key(_F3)) gflags |= B_ABLEND; end
        If (key(_F4)) gflags = gflags & ~B_ABLEND; end
        If (key(_F5)) gflags |= B_SBLEND; end
        If (key(_F6)) gflags = gflags & ~B_SBLEND; end

        If (key(_minus)) gsize-=10; if (shift_status) while(key(_minus)) frame; end ;end; end
        If (key(_plus))  gsize+=10; if (shift_status) while(key(_plus))  frame; end ;end; end

        If (key(_1) && galpha > 0)   galpha--; if (shift_status) while(key(_1)) frame; end ;end; end
        If (key(_2) && galpha < 255) galpha++; if (shift_status) while(key(_2)) frame; end ;end; end

        If (key(_q)) gangle-=1000;   if (shift_status) while(key(_q)) frame; end ;end; end
        If (key(_w)) gangle+=1000;   if (shift_status) while(key(_w)) frame; end ;end; end
        If (key(_a)) gangle-=100;    if (shift_status) while(key(_a)) frame; end ;end; end
        If (key(_s)) gangle+=100;    if (shift_status) while(key(_s)) frame; end ;end; end
        If (key(_z)) gangle-=10;     if (shift_status) while(key(_z)) frame; end ;end; end
        If (key(_x)) gangle+=10;     if (shift_status) while(key(_x)) frame; end ;end; end

        If (key(_9) && !fading) fade_off(); while(key(_9)) frame; end; end
        If (key(_0) && !fading) fade_on() ; while(key(_0)) frame; end; end

        if ( key( _H ) ) gflags ^= B_HMIRROR; while ( key( _H ) ) frame; end; end
        if ( key( _V ) ) gflags ^= B_VMIRROR; while ( key( _V ) ) frame; end; end

        if ( key(_F10)) map = get_screen(); while(file_exists("capture"+count+".png"));count++;end;save_png(0,map,"capture"+count+".png"); unload_map(0,map);while ( key(_F10)) frame; end; end

        if ( key( _SPACE ) ) gangle = 0; end

        Frame;
    End

    let_me_alone();

End

Process jugador(x,y,graph,angle,iflags)
Private
    int mapa;
Begin
    While (NOT key(_esc))
        alpha = galpha;
        size = gsize;
        angle = gangle;
        flags = gflags ^ iflags;

        Frame;
    End
End
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 12, 2009, 06:09:11 pm
r28 available for download...
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 13, 2009, 12:22:26 am
Actualizando versión, gracias SplinterGU! karma++  :)
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 13, 2009, 01:25:45 am
No se si lo has hecho a propósito o es un descuido, pero en esta release falta el describe.bat.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 13, 2009, 01:07:12 pm
r29 in svn...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 13, 2009, 01:07:49 pm
No se si lo has hecho a propósito o es un descuido, pero en esta release falta el describe.bat.

no me di cuenta... gracias... lo incluire en la proxima... me esta costando mucho subir las releases...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 14, 2009, 04:05:01 pm
r30 in svn...

core:

- new string_ptoa more efficient and same result in different SO.
- check constants already defined as variable
- Fix variant arg for pointer vars
- Fix unsigned comparations

modules:
   
- 32 bits drawing alpha support (alpha-pixel and drawing_alpha)
- speed up some drawing functions
- write_var pointer vars support

sample:

Código: [Seleccionar]
import "mod_draw"
import "mod_wm"
import "mod_key"
import "mod_video"
import "mod_text"
import "mod_say"
import "mod_rand"
import "mod_map"

Process Main()
private
unsigned int ga = 255;
unsigned int r = 255, g = 255, b = 255;
unsigned int a = 255;
char * rgba;

Begin
    set_mode(640,480,32);

    write(0,10,10,0,"drawing_alpha:");   write_var(0,110,10,0,ga);
    write(0,10,20,0,"r:");               write_var(0,110,20,0,r);
    write(0,10,30,0,"g:");               write_var(0,110,30,0,g);
    write(0,10,40,0,"b:");               write_var(0,110,40,0,b);
    write(0,10,50,0,"alpha");            write_var(0,110,50,0,a);
    write(0,10,60,0,"color32:");         write_var(0,110,60,0,rgba);

    Repeat
        if (key(_1) and ga>0) drawing_alpha(ga--); end
        if (key(_2) and ga<255) drawing_alpha(ga++); end

        if (key(_q) and r>0) drawing_color(rgba(r--,g,b,a)); end
        if (key(_a) and r<255) drawing_color(rgba(r++,g,b,a)); end

        if (key(_w) and g>0) drawing_color(rgba(r,g--,b,a)); end
        if (key(_s) and g<255) drawing_color(rgba(r,g++,b,a)); end

        if (key(_e) and b>0) drawing_color(rgba(r,g,b--,a)); end
        if (key(_d) and b<255) drawing_color(rgba(r,g,b++,a)); end

        if (key(_r) and a>0) drawing_color(rgba(r,g,b,a--)); end
        if (key(_f) and a<255) drawing_color(rgba(r,g,b,a++)); end

        if (key(_SPACE)) draw_box(rand(0,640),rand(0,480),rand(0,640),rand(0,480)); end

        rgba = rgba(r,g,b,a);

        frame;

    Until(exit_status||key(_ESC))

End
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 18, 2009, 02:13:03 am
Por curiosidad ¿cuando sacas los binarios? cuando ya se ha probado como estable, cuando trabajas en la siguiente revisión, al poco tiempo...
Es que hay ganas :D :D :D :D
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Marzo 18, 2009, 04:42:45 am
hoy a la noche generare todo...
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 18, 2009, 05:31:14 am
splinter_work? a que se debe ese nuevo nick?
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Marzo 18, 2009, 06:35:15 am
a que estoy en el trabajo... mi otro nick es solo para uso en zona militarizada...
Título: Re: Avances, Diario de...
Publicado por: HaCkZJuaNN en Marzo 18, 2009, 09:29:14 am
en zona militarizada...

???
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 20, 2009, 01:35:38 am
Gran trabajo con las últimas optimizaciones/incorporaciones al lenguaje con cosas tales como "new string_ptoa more efficient and same result in different SO", "speed up some drawing functions", "write_var pointer vars support"... me gustan esas cosas...

Por cierto, puesto que ya diste soporte de fade en 32bits, ya se podría eliminar la línea que hace referencia a ello en la sección "a completar (urgencia media)" del hilo "TODO", así como quizás actualizar alguna cosa de ese hilo...

Saludos.
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Marzo 20, 2009, 10:46:04 am
(...)

Código: [Seleccionar]
import "mod_draw"
import "mod_wm"
import "mod_key"
import "mod_video"
import "mod_text"
import "mod_say"
import "mod_rand"
import "mod_map"

Process Main()
private
unsigned int ga = 255;
unsigned int r = 255, g = 255, b = 255;
unsigned int a = 255;
char * rgba;

Begin
    set_mode(640,480,32);

    write(0,10,10,0,"drawing_alpha:");   write_var(0,110,10,0,ga);
    write(0,10,20,0,"r:");               write_var(0,110,20,0,r);
    write(0,10,30,0,"g:");               write_var(0,110,30,0,g);
    write(0,10,40,0,"b:");               write_var(0,110,40,0,b);
    write(0,10,50,0,"alpha");            write_var(0,110,50,0,a);
    write(0,10,60,0,"color32:");         write_var(0,110,60,0,rgba);

    Repeat
        if (key(_1) and ga>0) drawing_alpha(ga--); end
        if (key(_2) and ga<255) drawing_alpha(ga++); end

        if (key(_q) and r>0) drawing_color(rgba(r--,g,b,a)); end
        if (key(_a) and r<255) drawing_color(rgba(r++,g,b,a)); end

        if (key(_w) and g>0) drawing_color(rgba(r,g--,b,a)); end
        if (key(_s) and g<255) drawing_color(rgba(r,g++,b,a)); end

        if (key(_e) and b>0) drawing_color(rgba(r,g,b--,a)); end
        if (key(_d) and b<255) drawing_color(rgba(r,g,b++,a)); end

        if (key(_r) and a>0) drawing_color(rgba(r,g,b,a--)); end
        if (key(_f) and a<255) drawing_color(rgba(r,g,b,a++)); end

        if (key(_SPACE)) draw_box(rand(0,640),rand(0,480),rand(0,640),rand(0,480)); end

        rgba = rgba(r,g,b,a);

        frame;

    Until(exit_status||key(_ESC))

End


Una cosa, ¿el código no se tendría que ver con colores?
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Marzo 20, 2009, 10:49:26 am
Bueno, me respondo a mí mismo:


[code language="bennu"]
import "mod_draw"
import "mod_wm"
import "mod_key"
import "mod_video"
import "mod_text"
import "mod_say"
import "mod_rand"
import "mod_map"

Process Main()
private
unsigned int ga = 255;
unsigned int r = 255, g = 255, b = 255;
unsigned int a = 255;
char * rgba;

Begin
    set_mode(640,480,32);

    write(0,10,10,0,"drawing_alpha:");   write_var(0,110,10,0,ga);
    write(0,10,20,0,"r:");               write_var(0,110,20,0,r);
    write(0,10,30,0,"g:");               write_var(0,110,30,0,g);
    write(0,10,40,0,"b:");               write_var(0,110,40,0,b);
    write(0,10,50,0,"alpha");            write_var(0,110,50,0,a);
    write(0,10,60,0,"color32:");         write_var(0,110,60,0,rgba);

    Repeat
        if (key(_1) and ga>0) drawing_alpha(ga--); end
        if (key(_2) and ga<255) drawing_alpha(ga++); end

        if (key(_q) and r>0) drawing_color(rgba(r--,g,b,a)); end
        if (key(_a) and r<255) drawing_color(rgba(r++,g,b,a)); end

        if (key(_w) and g>0) drawing_color(rgba(r,g--,b,a)); end
        if (key(_s) and g<255) drawing_color(rgba(r,g++,b,a)); end

        if (key(_e) and b>0) drawing_color(rgba(r,g,b--,a)); end
        if (key(_d) and b<255) drawing_color(rgba(r,g,b++,a)); end

        if (key(_r) and a>0) drawing_color(rgba(r,g,b,a--)); end
        if (key(_f) and a<255) drawing_color(rgba(r,g,b,a++)); end

        if (key(_SPACE)) draw_box(rand(0,640),rand(0,480),rand(0,640),rand(0,480)); end

        rgba = rgba(r,g,b,a);

        frame;

    Until(exit_status||key(_ESC))

End
[/code]
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 20, 2009, 02:34:52 pm
Gran trabajo con las últimas optimizaciones/incorporaciones al lenguaje con cosas tales como "new string_ptoa more efficient and same result in different SO", "speed up some drawing functions", "write_var pointer vars support"... me gustan esas cosas...

Por cierto, puesto que ya diste soporte de fade en 32bits, ya se podría eliminar la línea que hace referencia a ello en la sección "a completar (urgencia media)" del hilo "TODO", así como quizás actualizar alguna cosa de ese hilo...

Saludos.

gracias... hoy hay nuevas mejoras, en un rato las subo...
cierto...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 20, 2009, 03:45:35 pm
A ti por la labor, estaré pendiente de esas novedades ;-)
Título: Re: Avances, Diario de...
Publicado por: Windgate en Marzo 21, 2009, 01:49:39 am
Arg, siento decir que desde Windows, copiando y pegando ese codigo y pulsando F6 (Compilar+Ejecutar) el programa se me cierra solo...

¿Me falta actualizar una DLL verdad? Me ha pasado varias veces en los ultimos meses. Si usa alguna DLL nueva de las ultimas 3-4 semanas tiene que ser eso. Confirmadme!
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 21, 2009, 03:37:49 am
Ese código no te funciona porque el soporte 32bits alpha se ha añadido en la r30 de la cual no se han liberado los binarios. Es normal que con la r28 no funcione. Si tienes dudas con las dll's, lo mejor es que las borres y te bajes de nuevo la release 28 y el mandatory pack. Saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 21, 2009, 05:17:49 am
maldicion, ayer pense que habia subido los cambios, pero se ve que fallo...

ahora si, revision 33 disponible en el svn...

lamentablemente no estoy pudiendo subir los ejecutables, mi ISP me tiene cansado...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 21, 2009, 09:21:27 am
no mas betas... ahora son snapshot...

http://betatester.bennugd.org/snapshot/
Título: Re: Avances, Diario de...
Publicado por: izubiaurre en Marzo 21, 2009, 12:50:48 pm
Diferencias entre betas, wips, revisions y snapshots?
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 21, 2009, 01:41:04 pm
Veo que ya estas subiendo la r34, mañana me la bajo y la pruebo. Gracias!  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 21, 2009, 02:21:39 pm
betas son betas...
wips, son versiones en desarrollo, podria ser lo mismo que snapshots.
revision es la numeracion de cada cambio...
snapshot es una foto binaria de lo que esta en el repositorio en tal revision
Título: Re: Avances, Diario de...
Publicado por: Prg en Marzo 21, 2009, 07:39:36 pm
Citar
ahora si, revision ...
gracias, :)
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 22, 2009, 02:54:47 am
Gracias por la r34.

A ver si se me ocurren más sugerencias para el lenguaje y las digo, aunque supongo que lo prioritario en éstos momentos sea su depuración...
Título: ¿Problema con fread?
Publicado por: MythomizeR en Marzo 22, 2009, 02:31:53 pm
Bueno, escribo en un post nuevo no vaya a ser que por editar el anterior pase desapercibido... :-)

El caso es que tras probar la última release, la r34, un sencillo fragmento de código que antes me funcionaba sin problemas ahora ha dejado de hacerlo, a saber:

Código: [Seleccionar]
private
  int fichero;
  word *buffer;
  int n;
begin
  buffer = alloc(1000);
  fichero = fopen(filename,O_READ);
  for(n=1000;n;n--)
    fread(fichero,buffer);
    buffer++;
  end
  fclose(fichero);
end

Antes me cargaba los 1000 bytes correctamente en 'buffer' y ahora lo carga con datos "basura" que nada tienen que ver con lo que antes cargaba...

Ello me hace pensar que quizás en este tiempo ha habido algún cambio (quizás bug, no se...) en la función fread.

Y que sí, que es un poco gañán usar fread en su versión de dos parámetros teniendo una de tres que te lee todos los datos de una, pero lo cierto es que cuando vi la documentación de ésta, no me lo dejaba claro (INT FREAD(POINTER, INTEGER, INTEGER))... y bueno, ya se que es cuestión de probar, pero aprovecho para preguntar cual de los dos enteros es el que recoge el dato y cual la cantidad de este :-)

Por cierto, aprovecho tambien para decir que qué chulo estaría que el Bennu dejara usar llaves {} en lugar del begin-end... y ya de paso, que nos dejara ahorrarnos éstas en aquellos casos de sentencia única a lo C style, of course... pero bueno, esto ya es por pedir, que para eso es gratis :-)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 22, 2009, 03:41:00 pm
iba a probar tu codigo, pero caramba! claro que no va a funcionar... buffer es un pointer... lo unico que haces con fread es leer punteros (4 bytes, pointer), no su contenido...
por otra parte con alloc 1000 solo estas alocando espacio para 500 words...
esta todo mal por donde lo mires... no puede ser que antes te funcionara... si antes te funcionaba habia un bug...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 22, 2009, 04:08:43 pm
LOL qué cosas me dices :-), me sorprende, pues te puedo asegurar que me ha estado funcionando perfectamente hasta no sé que versión, porque no sé si me quedé por la r28 o por ahí, no recuerdo bien... yo pensaba que debe recibir un puntero al área a cargar, como en C...

Y sí, claro que sé que alloc reserva bytes, y por tanto en words son la mitad, pero es que por otro lado ese no es el código exactamente original, pero vamos, que el original es así solo que algo más engorroso... pero vamos que es así.

Pues a ver si va a ser un bug que hubo, no se... pero ya te digo que me ha ido de rechupete para una librería que hice y que, bueno... tendrá que ver la luz algún día y espero os guste :-)

Editado:
Viendo la documentación de la Wiki, jaja ya lo veo, pero es que qué raro que no viera tal docu, pues echo mano de ésta con frecuencia como es natural... y qué suerte por tanto he tenido todo este tiempo al funcionarme jaja

Pues voy a ver si subsano el asunto...
Gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 22, 2009, 04:21:18 pm
perdon, quizas no me explique bien... intentare explicarlo, para que razonemos juntos y veamos porque no deberia funcionar...

el prototipo de la funcion (original) es:

fread(fichero, variable)

donde fichero es lo que retorna el fopen
y variable es la variable a cargar

bien, la funcion fread, toma del "tipo" de variable los valores de address y tamaño...
esto es:

&variable y sizeof(variable)

entonces, al variable ser un pointer... lo unico que haces es leer el puntero. ("&variable" NO variable...)

se entiende ahora?

Cuando dije 500, lo dije, porque en el ejemplo haces un for de 1000, y no de 500...

EDIT:
En otro prototipo es:

fread(address, size, fichero);

casi como C.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 22, 2009, 04:30:14 pm
Sí, bien, todo aclarado... con la primera explicación que me has dao ya he empezado a ver el asunto y luego después al mirar la wiki (que no sé por que se me habia pasado por alto mirar allí)...

Y sí, lo del bucle 1000 es que es por lo que te he contado después en el EDIT de mi post anterior, que el código no es el original y entonces por eso se me ha pasado modificar eso...

Gracias, voy a ver si arreglo la cosa y no hay más problemas en el código :-D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 22, 2009, 04:37:01 pm
aca te pongo un ejemplo, llama al codigo "fread.prg"

[code language="bennu"]
import "mod_file";
import "mod_mem";
import "mod_say";
import "mod_string";
private
  int fichero;
  char *buffer;
  string str;
  int n;
begin
  buffer = alloc(1000);
  fichero = fopen("fread.prg",O_READ);
  fread(buffer,1000-1,fichero);
  buffer[1000]=0;
  fclose(fichero);
  str = "";
  for (n=0;n<1000;n++)
    str += chr(buffer[n]);
    if (!buffer[n]) break; end
  end
  say(str);
end
[/code]
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Marzo 22, 2009, 04:44:34 pm
Nada, no te preocupes, si ya lo he visto todo claro y ya me vuelve a funcionar perfecto el código, era esa chuminá y que lógicamente he solucionado con simplemente añadir un bonito asterisco punterístico delante de 'buffer' y así cargar donde hay que cargar X-D) (pero sabía yo que mi fallo provenía del fread... :-):

Código: [Seleccionar]
fread(fichero,*buffer);
La confusión vino porque al no dar yo con la documentación de fread en su versión dos parámetros, pues yo imaginé que la variable que recibe el dato leido era tambien un puntero como ocurre con el fread de C, más o menos...

Pues nada me alegro de que me vuelva a rular el código.

Gracias de nuevo :-)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 23, 2009, 03:34:24 am
Pregunta tonta del día [música del "wanna be a millionarie"]
¿Se puede compilar el código de Bennu del SVN usando dev-c++?
a- Sí, compilando sólo el código principal.
b- Sí, pero tendrías que crear un proyecto nuevo.
c- Sí, pero tendrías que configurarlo.
d- No, tienes que usar los comandos gcc, etc... que vienen en la carpeta bin del dev-c++

NOTA: es la pregunta 10 y estamos sin comodines ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 23, 2009, 04:03:11 am
no se.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 23, 2009, 04:12:08 am
¿Cómo haces tu los binarios para windows, pues?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 23, 2009, 04:26:33 am
¿Cómo haces tu los binarios para windows, pues?

esa es la pregunta el millon!

bien, te respondere...

Citar
For compile BennuGD in windows, you need:

- Last version of gcc (only install "current", and g++ and gnumake)
- autotools is suggest
- MSYS
- SDL (source and compile it)
- SDLMixer (source and compile it)
- libogg (source and compile it)
- libungif (source and compile it)
- libpng (source and compile it)
- zlib (this must installed manual)

- and bennugd sourcecode from svn.

I think that is all.

for core compilation (from core folder):

./configure && make

for modules compilation (from modules folder):

./configure --with-bennu-prefix=<path where core reside> && make

p.e.: ./configure --with-bennu-prefix=/opt/bennugd/core && make

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 02, 2009, 06:39:55 am
r38 en el svn
Título: Re: Avances, Diario de...
Publicado por: TYCO en Abril 02, 2009, 08:03:27 am
New function MAP_NEW(w,h,depth,flags) where flags can be: B_CLEAR (bitmap clear) or 0 (no clear new bitmap)

mmm... cuando se crea un map_new no se supone que esta limpio por defecto?
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Abril 02, 2009, 08:44:46 am
No.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 02, 2009, 08:47:43 am
New function MAP_NEW(w,h,depth,flags) where flags can be: B_CLEAR (bitmap clear) or 0 (no clear new bitmap)

mmm... cuando se crea un map_new no se supone que esta limpio por defecto?

por eso mismo...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Abril 02, 2009, 10:05:06 am
A ver que quede claro, porque aún no hay que pagar por escribir, ni hay limite de carácteres como en un SMS.

"MAP_NEW(100,100,16,B_CLEAR)" que tiene de diferente de "MAP_NEW(100,100,16,0)"???
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 02, 2009, 12:06:59 pm
que "MAP_NEW(100,100,16,0)" no limpia el mapa, y por consiguiente es mas rapida.
Esto sirve para casos donde se necesita crear cantidades de mapa, que luego seran sobreescritos en su totalidad. En estos casos se evita la limpieza del area de memoria asignada al grafico al momento de la creacion.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 03, 2009, 05:23:08 pm
r39 disponible!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 03, 2009, 05:25:33 pm
Tyco: Se entendio para que sirve? es una funcion para usuarios avanzados, solo para maniaticos. No te preocupes, para tu tranquilidad, la clasica MAP_NEW sigue disponible.
Título: Re: Avances, Diario de...
Publicado por: TYCO en Abril 04, 2009, 05:59:15 am
Será para maniaticos sí XD. Supongo que puedes crear 100 mapas sin "rellenar", ocupando así menos memoria, y según vas necesitando los mapas, si se pinta uno, ese mapa pintado ya ocurá más en memoria (como un map_new clásico) por tener algo pintado en él.

PD: No soy maniaTyco. XD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 04, 2009, 06:05:24 am
je, en realidad la memoria que consume es la misma, es el tiempo empleado...
supone que necesitas cortar un mapa grande en 100 porciones, y para eso necesitas crear 100 mapas mas pequeños... no tiene sentido que el code pierda tiempo en limpiar esos 100 mapas si vos vas a sobreescribir esa informacion... entonces en esos casos esto es mucho mas rapido.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 20, 2009, 04:53:55 pm
r40 released!

http://betatester.bennugd.org/snapshot/
Título: Re: Avances, Diario de...
Publicado por: DCelso en Abril 20, 2009, 11:40:18 pm
Muchas gracias SplinterGU, ¿algo que probar?
Por cierto una cosilla veo desactualizado la información de los binarios
********************
C:\DevBennu\bin>bgdc
BGDC 0.93 (Apr 20 2009 20:38:27)
Copyright ® 2006-2009 SplinterGU (Fenix/BennuGD)
Copyright ® 2002-2006 Fenix Team (Fenix)
Copyright ® 1999-2002 JosÚ Luis Cebrißn Pag³e (Fenix)
Bennu Game Development comes with ABSOLUTELY NO WARRANTY;
see COPYING for details
*************
Bueno más o menos.
Recuerdo que en muchos proyectos existe un configure -version="r40" o asi que añade esa cadena en los sitions necesarios de código en los que se necesite saber la versión.
En algunos otros proyectos simplemente es editando un archivo version.txt y ejecutando en configure como siempre.
Aqui podrias plantear en hacer alguna autogestión de versiones para que la cabecera siempre esté al día y podamos ver rápidamente la versión actual que tenemos instalada en el equipo. También ya de camino un --version vendría genial :D.
¿Que te parece?
Título: Re: Avances, Diario de...
Publicado por: blostec en Abril 20, 2009, 11:53:31 pm
Actualizando, gracias Juan  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 21, 2009, 02:39:36 am
incluire la version pronto, aunque ya esta mas para sacar la 0.93 release o 0.94...

la fecha sale bien... eso es el indicador de la version...

gracias a uds por usar la herramienta...
Título: Re: Avances, Diario de...
Publicado por: Prg en Abril 21, 2009, 06:31:14 pm
descargando.... gracias :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 21, 2009, 07:00:30 pm
hay nueva version en SVN...
Título: Re: Avances, Diario de...
Publicado por: TYCO en Abril 22, 2009, 02:49:10 am
Gracias, sólo una cosa... en la R40 como la R34, la consola de debug en 8Bits se transparenta el fondo negro, y se ve el juego detrás impidiendote leer correctamente la consola de debug. En 16/32 bits no sucede.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Abril 22, 2009, 03:26:19 am
Asi es, gracias.
El color 0, para el fondo no es algo muy acertado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 04, 2009, 06:46:20 pm
Bien, a partir de ahora, paleta cargada, paleta asignada.

Recordar liberar la paleta cuando ya no se use. Porque las paletas permanecen cargadas en memoria.

Si se usa modo de video 16 o 32, la cada mapa de 8 bits tiene su paleta, o sea, que si se quiere que use la del sistema hay que eliminarle la paleta asignada usando map_assign, poniendole como paleta 0 (paleta del sistema).

Se agregan nuevas funciones de paleta:

pal_set(byte raw[768])
pal_set(palid)

para setear la paleta del sistema por medio de un array con la info rgb o desde otra paleta previamente cargada

tambien si a pal_set se le pasa 0 como id de paleta entonces setea sobre la paleta del sistema.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 04, 2009, 06:54:59 pm
get_screen ahora retorna un clone de la pantalla dibujada en el ultimo frame.

y funciona perfectamente con los efectos de paleta:

Código: [Seleccionar]
Program prueba;

import "mod_video";
import "mod_map";
import "mod_string";
import "mod_screen";

import "mod_draw";

Global
    int counter=0;
    int map;

begin
    full_screen=false;
    set_mode(640,480,32,WAITVSYNC);
    set_fps(25,0);

    drawing_map(0,0);
    draw_box(50,50,100,100);

    fade(200,0,0,1);
    while(fading)
        frame;
        map = get_screen();
        save_png(0,map,"captures/img"+substr("00000"+counter,-5)+".png");
        counter++;
        unload_map(0,map);
    end
end
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Mayo 04, 2009, 09:29:10 pm
¡Buen trabajo!

Por cierto, ¿no habria que sacar fuera del while el unload_map(0,map);? o ¿es que acaso hay que ir liberando el mapa antes de cada nueva llamada a get_screen() al devolver ésta ids diferentes por cada una de ellas?

Ahora que lo pienso, creo va a ser lo segundo por resultarme más lógico...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 05, 2009, 02:41:20 am
1) ¿no habria que sacar fuera del while el unload_map(0,map);?
No, dentro, porque cada get_screen (ahora y antes) crea un map nuevo en cada ejecucion.
2) o ¿es que acaso hay que ir liberando el mapa antes de cada nueva llamada a get_screen() al devolver ésta ids diferentes por cada una de ellas?
Exacto "o".... ;)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Mayo 05, 2009, 03:35:56 am
Esto: pal_set(byte raw[768]) es lo que antiguamente se hacía con set_colors? Y cómo se sabe a qué paleta se le están cambiando los colores?
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Mayo 05, 2009, 03:54:35 am
2) o ¿es que acaso hay que ir liberando el mapa antes de cada nueva llamada a get_screen() al devolver ésta ids diferentes por cada una de ellas?
Exacto "o".... ;)
Era de esperar :-)
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Mayo 05, 2009, 07:23:15 am
Esto: pal_set(byte raw[768]) es lo que antiguamente se hacía con set_colors? Y cómo se sabe a qué paleta se le están cambiando los colores?

Elemental mi querido Watson...

En aquellas funciones que permiten no especificar paleta, trabajan sobre la del sistema.
No es lo que se hacia, es lo que se hace. Uno de los modos de esta funcion (la que tiene los mismos parametros) es un alias a set_colors.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Mayo 05, 2009, 12:40:20 pm
get_screen() es una de las funciones que nunca me había dado por probar, no me lo había planteado todavía pero en cuanto tenga un momento me pongo a hacer efectos graciosos de transición de fase y cosas así xD

En cuanto a paletas... Soy amigo de usar sprites "robados". y como provienen de paletas diversas trabajo directamente en 16 bits. No he usado una paleta desde el antiguo DIV2...
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Mayo 11, 2009, 06:10:30 am
Ya esta disponible en el SVN "Bennu Game Development 1.0.0 RC (Release Candidate)"...
Título: Re: Avances, Diario de...
Publicado por: blostec en Mayo 11, 2009, 06:23:15 am
Genial, ahora mismo me actualizo con tortoise. Gracias Juan!!
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Mayo 11, 2009, 08:31:04 am
(Casi)yujuuuuu.
Bennu, bennu, bennu ¡2009! (http://www.youtube.com/watch?v=qCcaNTrHkPs)
Título: Re: Avances, Diario de...
Publicado por: osk en Mayo 12, 2009, 01:01:48 am
Hola. ¿El módulo fsock no entrará dentro de la versión oficial de bennu? Graciaaas.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 12, 2009, 02:38:28 am
no, es un contrib... quizas lo ponga en contrib...

todavia no se bien que hacer con los contrib... ya esta creada una carpeta para que se siga una norma de donde agregarlos (a nivel usuario)... pero no se si se incluiran en la version oficial... en principio, no
Título: Re: Avances, Diario de...
Publicado por: DCelso en Mayo 12, 2009, 02:50:48 am
¿que es un contrib?
¿Una contribución?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 12, 2009, 03:12:48 pm
yep!
Título: Re: Avances, Diario de...
Publicado por: DCelso en Mayo 14, 2009, 12:08:55 am
Ya he nominado a Bennu.
Me ha respuesto con un link que no sé exactamente para qué sirve, creo que es para que otros nominen, cosa un poco tonta porque para eso los mandaría a donde yo lo encontré.
<a href="http://sourceforge.net/community/cca09/nominate/?project_name=Bennu Game Development&project_url=http://forum.bennugd.org/"><img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0"/></a>
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 14, 2009, 02:32:36 am
eso es para que si vos tenes un site, lo pongas en el y ayudes de esta forma a promocionar el proyecto y tambien a votar por el.

Gracias.

EDIT: Lei las reglas y es posible votar el mismo proyecto para otras categorias, pero solo se puede votar 1 vez por categoria, esto se valida contra el mail.
Los mails no se guardan en ninguna base de datos, solo se usan para enviar la confirmacion de la votacion que uno tiene que clickear para confirmar.

Gracias.
Título: Re: Avances, Diario de...
Publicado por: osk en Mayo 14, 2009, 02:54:40 am
Yo no sabía en qué categoría votar...al final he votado en "best project for developers" y "best project for gamers"...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Mayo 14, 2009, 04:42:42 am
Lo suyo es mejor proyecto para desarrolladores... al menos, por la descripción que se da. Dudo mucho que gane el de mejor proyecto del mundo :D
Bueno, que tambien he votado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 14, 2009, 03:08:00 pm
Lo suyo es mejor proyecto para desarrolladores... al menos, por la descripción que se da. Dudo mucho que gane el de mejor proyecto del mundo :D
Bueno, que tambien he votado.

Gracias por la confianza! :P

Igual la idea es que podamos dar a conocer un poco mas el proyecto... por favor colaboren pidiendo a sus conocidos que voten por el proyecto.

Saludos.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Mayo 15, 2009, 05:30:28 pm
Splinter, estamos en la era de la web 2.0: el internet de la sociedad, donde lo importante son los blogs chorra cn la última borrachera del botellón de anoche, las páginas de relacion social tipo tuenti o myspace donde darse a conocer y acumular la mayor lista de amigos a ver quien es el primero en desbordar el servidor, o programas de chat donde acumular correos y más correos para despues mandar un spam masivo (si, las cartas de la cadena ya son eso), saturar la red y preguntarse por qué la red va lenta.
No, Juan, se realista, no podemos competir con pidgin y demás programas de interaccion social, aunque evangelicemos tres paises enteros :D :D :D :D :D

De todas formas, ya sabes que, por mi parte, estoy ganando adeptos por donde puedo: ya me he labrado una fama en gp32spain (no se si buena o mala ;D) y tdos los que conozco con problemas con el C++ o señales y procesos los mando para acá (o al "foro padre"), jejeje.
Título: Re: Avances, Diario de...
Publicado por: darío en Mayo 15, 2009, 08:05:15 pm
Yo también voté... dos veces... no se si es hacer trampa :P
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 16, 2009, 05:12:19 am
Obviamente no se pretende ganar, pero si se ve bennu cada tanto entre los ultimos votados eso ayuda mucho, alguno que otro querra saber de que trata...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Mayo 16, 2009, 05:42:42 am
Oye, ¿Qué es Bennu? :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 01, 2009, 05:38:09 pm
Nueva version en el svn...

------------------------------------------------------------------------
r83 | SplinterGU | 2009-07-01 21:20:53 -0300 (mié 01 de jul de 2009) | 23 lines

- New dirs lib and new glob, diropen, dirread, dirclose functions
- New mod_crypt:

        method
        ------
        CRYPT_NONE
        CRYPT_DES
        CRYPT_3DES

        functions
        ---------

        handle CRYPT_NEW(int method, byte * key); /* key = byte [8] in DES, byte [24] 3DES */
        int CRYPT_DEL(handle);
        int CRYPT_ENCRYPT(handle, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_DECRYPT(handle, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_ENCRYPT(int method, byte * key, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_DECRYPT(int method, byte * key, pointer in, pointer out, int blocks ); /* each block = 8 bytes */

- add vendor folder and modified libdes-4.04b
- some configure fix


Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 01, 2009, 07:24:35 pm
samples de encripcion... no recomiendo usar esta logica, sino variantes de la misma, por tema de tener una logica cerrada de encripcion... por ejemplo, encriptar distintos fragmentos con distintas keys o incluso distintos metodos...
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 02, 2009, 01:08:57 am
¡Genial!

¿Esto será parte de la 1.0?
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Julio 02, 2009, 01:39:16 am
Muy interesante, aunque _parece_ algo engorroso el sistema (aunque también parece potente y flexible)...

Gracias.

Edit: Por cierto, quizás en Argentina esté bien dicho, pero tengo entendido que es "encriptación", en cualquier caso, es un detalle sin importancia pibe ;-)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2009, 07:14:25 am
La idea es que sea engorroso para evitar hackeos... es muy simple siendo esto opensource hackear un sistema transparente, asi que tras mucho pensar y debatir juntos Sandman y a otros... se me ocurrio que el mejor metodo es hacerlo asi ya que es mas complicado de hackear... ya que la forma de llamar a la encripcion, claves, metodos y el orden lo define el programador en el dcb, y este es cerrado.
Si bennu fuera codigo cerrado, se podria hacer bastante seguro (nada lo es) de forma transparente, pero lamentablemente (para esto) no lo es.
Título: Re: Avances, Diario de...
Publicado por: syous en Julio 02, 2009, 07:24:51 am
 ;D una gran idea :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2009, 07:45:41 am
aca hay otro ejemplo, menos rebuscado. las variantes posibles son muchas.

Título: Re: Avances, Diario de...
Publicado por: osk en Julio 02, 2009, 08:01:42 am
Hola ¿AES no se tiene previsto implementar?
Sólo por tocar las narices...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Julio 02, 2009, 08:03:01 am
La idea es que sea engorroso para evitar hackeos... es muy simple siendo esto opensource hackear un sistema transparente, asi que tras mucho pensar y debatir juntos Sandman y a otros... se me ocurrio que el mejor metodo es hacerlo asi ya que es mas complicado de hackear... ya que la forma de llamar a la encripcion, claves, metodos y el orden lo define el programador en el dcb, y este es cerrado.
Si bennu fuera codigo cerrado, se podria hacer bastante seguro (nada lo es) de forma transparente, pero lamentablemente (para esto) no lo es.
Ahora comprendo... pues sí, mucho mejor así entonces.
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 02, 2009, 08:43:02 am
Siento ser pesado, pero es que estoy empaquetando el deb con los últimos cambios para el PPA. ¿Incluyo el módulo o no?.

Graciaaaaas
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 02, 2009, 11:03:30 am
Una cosilla más, dentro de mod_crypt creo que falta el Makefile.in.
El core y la nueva dependencia ya los he subido al PPA (falta que se compilen).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2009, 11:39:59 am
si, se implementaran luego mas metodos, por ahora solo estos.

Incluye el nuevo modulo, por supuesto.

me falta me svn add... ahora lo incluyo... gracias...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2009, 12:17:55 pm
Una cosilla más, dentro de mod_crypt creo que falta el Makefile.in.
El core y la nueva dependencia ya los he subido al PPA (falta que se compilen).

ya esta incluido el Makefile.in... voy a corregir un poco el tema de los Makefiles y configure... porque no todos los modulos deberian depender de todas las libs... por ejemplo, X11, libz, etc... asi que voy a corregir eso...
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 02, 2009, 12:20:58 pm
Genial, gracias.
Era lo que me hacía falta. Pongo el bennugd-modules en la cola de compilación.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2009, 02:26:37 pm
Nuevos cambios.

- Fix all configure/makefiles dependencies
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 03, 2009, 03:48:49 pm
Genial, creo que era una de las pocas carencias de Fenix respecto a su predecesor :D
De todas formas, como decía mi profesor de Sistemas Operativos "la seguridad del sistema no depende de cómo esté implementado el sistema, sino de la clave con la que se protege".
Si, es posible que haya sitemas más seguros que otros, pero sin la clave habría que dar muchas vueltas, además, tampoco vamos a proteger secretos de estado ¿no? sólo son videojuegos :P
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 04, 2009, 07:06:15 am
seguro, pero trabajar en un sistema que en 10 minutos sea hackeado, no sirve de mucho.
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Julio 04, 2009, 07:29:22 am
recomiendo tambien una funcion que genere hashes como string MD5(string)

para por ejemplo colocar records en paginas web u otras cosas utiles

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 04, 2009, 07:40:02 am
se incluira...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 04, 2009, 08:32:43 pm
New version in SVN

- Add "types_def" to shared library systems
- Add "types_def" to moddesc
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Julio 07, 2009, 05:00:38 am
ya subi un paquete binario windows con la ultima version, por ahora sin instalador, solo el autoextraible...

estamos trabajando en el instalador bennu.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 07, 2009, 05:42:52 am
probemos, pues
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Julio 17, 2009, 06:20:15 am
Nueva version en el svn...

------------------------------------------------------------------------
r83 | SplinterGU | 2009-07-01 21:20:53 -0300 (mié 01 de jul de 2009) | 23 lines

- New dirs lib and new glob, diropen, dirread, dirclose functions
      


¿no hay una documentación un poco más extensa? o algún ejemplo, o algo asín
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 17, 2009, 07:30:40 am
je, me olvide poner la documentacion... solo esta en el fuente...

Citar
int DIROPEN (STRING path)

Open a dir for read it, returns handle id.
return 0 if fail.


int DIRCLOSE (INT handle)

Close a dir

string DIRREAD (INT handle)

Given a path with wildcards ('*' or '?' characters), returns the first
file that matches and, in every next call, all matching files found
until no more files exists. It then returns NIL.

esto trabaja con las misma estructuras que glob, asi que devolvera resultados en la misma estructura.
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Julio 18, 2009, 10:31:56 am
La nueva versión me da error al cargar la image.dll, la ponga donde la ponga me dice que no encuentra la librería, y eso que la he probado con proyectos que funcionan en antigüas versiones de bennu con la image.dll.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 18, 2009, 01:58:58 pm
donde la estas poniendo?
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Julio 19, 2009, 01:52:53 am
¿donde debería ponerla? la he puesto en todos los sitios que se me ha ocurrido. En la misma carpeta que el prorgrama, en la carpeta de los mod_x, en la carpeta de las dlls, y nada de nada.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 19, 2009, 12:15:37 pm
Portado pacman de tyco a wiz... subido con el runtime al sitio de snapshots...

http://betatester.bennugd.org/snapshot/

tambien he corregido del pacman aquello que dice de premovimiento... y alguna otra cosa mas que ahora no recuerdo bien...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Julio 19, 2009, 01:59:59 pm
al final que pasa con la image.dll? está confirmado que funciona con la 1.0 y es por lo pronto un problema mío o le pasa a más gente?

Un saludín
Título: Re: Avances, Diario de...
Publicado por: TYCO en Julio 20, 2009, 12:34:22 pm
Ultimamente suelo faltar a clase... eso de WIZ.. ¿Qué es? algo de la GP32???

La verdad es que el Pacman ocupa muy poco y es un buen juego para pasarlo a plataformas como la GP32 que son más reducidas que un pc. A ver que tal funciona, si alguien lo puede probar.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Julio 20, 2009, 01:08:55 pm
Yo tampoco sé qué es lo que es eso de WIZ, acabo de leer a Josebita hablando de ello y ??? xD

Si es que se intenta estar a todo, pero son días tan cortos y laburosos...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 20, 2009, 03:16:13 pm
:D, pues mas o menos tyco y windgate, la nueva de esos mismos.
http://www.gameparkwiz.com/
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 20, 2009, 03:31:13 pm
Ultimamente suelo faltar a clase... eso de WIZ.. ¿Qué es? algo de la GP32???

La verdad es que el Pacman ocupa muy poco y es un buen juego para pasarlo a plataformas como la GP32 que son más reducidas que un pc. A ver que tal funciona, si alguien lo puede probar.

funciona muy lindo... puse eso de la pre-pulsacion de las teclas... y tambien hice un resize automatico de todos los mapas y fonts, ya qe esto corre a 320x200, en cuanto al codigo, no me tome el trabajo de cambiar todas las coordenadas, solo puse "/2" en casi todo el codigo... y toque alguna otra cosa que no iba bien... pero ya esta funcionando y va muy lindo...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Julio 20, 2009, 05:42:11 pm
¿Otra consola que soporta Bennu? No estuve muy al día con la GP32, miré su precio y dije:  :o :o :o

Ahora miro la información para comprar la GamePark Wiz y sólo veo un banner publicitario ???

Intentaré ponerme más al día con el tema, pero la verdad es que dejé el mundo de las videoconsolas hace muchos años...
Título: Re: Avances, Diario de...
Publicado por: darío en Julio 21, 2009, 12:16:58 am
Wow, la verdad es que es muy buena noticia... Nunca me animo a comprarme una consola porque luego no tengo tiempo de disfrutarlas pero esto es fácil atraer a algunos usuarios de la Wiz a Bennu :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 21, 2009, 07:40:19 pm
La verdad que estoy muy conforme con la consola...

----

nueva version en el svn... mañana procupare subir versiones nuevas...

------------------------------------------------------------------------

r95 | SplinterGU | 2009-07-21 23:39:43 -0300 (mar 21 de jul de 2009) | 2 lines

- Open2xWiz setup vars for configure

------------------------------------------------------------------------
r94 | SplinterGU | 2009-07-21 23:02:45 -0300 (mar 21 de jul de 2009) | 9 lines

- Add GP2XWIZ
- New fps limit and frameskip system... now, all time is adjusted it.
- Fix mod_joy help
- Fix align rgb_component struct
- Fix mod_map, palette use and discard
- Add Makefile.openwiz to libdes
- libvideo, add VIDEO_WIDTH, VIDEO_HEIGHT, VIDEO_DEPTH environment vars to change initial video mode

------------------------------------------------------------------------
Título: Re: Avances, Diario de...
Publicado por: Windgate en Julio 22, 2009, 04:20:43 am
Citar
- libvideo, add VIDEO_WIDTH, VIDEO_HEIGHT, VIDEO_DEPTH environment vars to change initial video mode

¿Son constantes donde consultar la resolución horizontal y vertical de vídeo actual o son globales donde establecer la resolución horizontal y vertical? ¿O son otra cosa? :P

Siempre acabo definiendo esas CONST y la verdad, es buena idea que ahora vengan "de serie" xD
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Julio 22, 2009, 06:15:25 am
Citar
- libvideo, add VIDEO_WIDTH, VIDEO_HEIGHT, VIDEO_DEPTH environment vars to change initial video mode

¿Son constantes donde consultar la resolución horizontal y vertical de vídeo actual o son globales donde establecer la resolución horizontal y vertical? ¿O son otra cosa? :P

Siempre acabo definiendo esas CONST y la verdad, es buena idea que ahora vengan "de serie" xD

no, son "variables de entorno", que definis en tu operativo (o script de arranque) y al cargar el modulo de video, se setea en ese modo en vez de hacerlo en 320x240x32 al iniciar.

no podes consultar nada.
para consultar eso, map_info de 0,0, o las funciones del modulo mod_wm (en casos donde hay ventanas)...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Julio 22, 2009, 10:59:52 am
Oh, cierto, el map_info de 0,0 ¿Porque ahí se guarda un map con el contenido actual de la pantalla verdad?

Ciertamente había oído hablar de ello muchas veces, pero nunca le he sacado partido :-[

Bastante fuera del tema, llevo tiempo pensando en la posibilidad de manipular el size de un scroll... ¿Hay pensado algún cambio en el funcionamiento de scroll[] en ese sentido o en algún otro?

Simple curiosidad...
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Julio 22, 2009, 11:10:08 am
chequea el ejemplo...

scroll.rar en el sitio de descargas...

:)
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 25, 2009, 03:02:11 am
Me he bajado la última versión del instalador para Linux y me sigue haciendo lo mismo que ya comenté: no acepta los parámetros.

Si pongo --help me sale:
[: 57: --help: unexpected operator
[: 57: --help: unexpected operator
e intenta instalarse.

Si pongo --remove lo mismo:
[: 57: --remove: unexpected operator
[: 57: --remove: unexpected operator
y tira para alante también.

Y si no pongo nada, también me da un aviso de error:
[: 57: unexpected operator
[: 57: unexpected operator

Malamente,pues.


EDIT: El instalador de Windows tampoco me va. Salta un messagebox diciendo: "Error al iniciar la aplicación porque no se encontró libbgdrtm.dll.La reinstalación de la aplicación puede solucionar el problema". Parece obvia la solución: copiar esta dll a la carpeta del instalador...pero precisamente para eso está el instalador, para instalar las dll necesarias, no? Es el pez que se muerde la cola...en un ordenador limpio sin que tengan ningún Bennu instalado previamente.
Título: Re: Avances, Diario de...
Publicado por: darío en Julio 25, 2009, 04:37:55 am
Hola, yo el lunes instalé bennu en un "ordenador limpio" (con windows xp) con el último instalador disponible que había y si me funcionó el instalador a la perfección. La versión de bennu era la que estaba disponible en la web oficial a esa fecha (ahora no tengo acceso al ordenador donde lo instalé).

Lo que si que creo recordar es que como se hace modificación en la variable de entorno PATH, hay que reiniciar el sistema para que funcionen los comandos bgdc y bgdi desde la consola. Quizá sería intersante un mensaje al final del instalador diciendo que es posible que deba reiniciar el equipo o algo.

Un saludo,
Darío
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 25, 2009, 08:25:44 am
Me he bajado la última versión del instalador para Linux y me sigue haciendo lo mismo que ya comenté: no acepta los parámetros.

Si pongo --help me sale:
[: 57: --help: unexpected operator
[: 57: --help: unexpected operator
e intenta instalarse.

Si pongo --remove lo mismo:
[: 57: --remove: unexpected operator
[: 57: --remove: unexpected operator
y tira para alante también.

Y si no pongo nada, también me da un aviso de error:
[: 57: unexpected operator
[: 57: unexpected operator

Malamente,pues.


EDIT: El instalador de Windows tampoco me va. Salta un messagebox diciendo: "Error al iniciar la aplicación porque no se encontró libbgdrtm.dll.La reinstalación de la aplicación puede solucionar el problema". Parece obvia la solución: copiar esta dll a la carpeta del instalador...pero precisamente para eso está el instalador, para instalar las dll necesarias, no? Es el pez que se muerde la cola...en un ordenador limpio sin que tengan ningún Bennu instalado previamente.

en que distribucion de linux lo estas queriendo hacer?
a mi me funciono perfecto recien, como comentario adicional, la instalacion debe hacerse desde el usuario root.
Título: Re: Avances, Diario de...
Publicado por: Prg en Julio 25, 2009, 07:02:19 pm
hola, me quice instalar el "bgd-1.0.0RC6(r95)-win32" en mi windows y me dice que no encuentra el libgdrtm.dll...

¿Qué tengo que hacer? gracias :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 25, 2009, 07:47:26 pm
eso puede ser que me falto algo entonces... a ver...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 25, 2009, 08:14:34 pm
ya esta corregido... disculpas las molestias...
Título: Re: Avances, Diario de...
Publicado por: Prg en Julio 26, 2009, 11:17:19 am
:) muchas gracias, ya pude...
una cosita... seleccioné c y luego bennugd (anterior instalación), pero sólo le di un click a la carpeta, no doble, y la nueva carpeta (donde se instaló bennu) se llamaba c:/bennugdbennugd, también... las letras de abajo corrían muy deprisa(las  verdes que dan los mensajes), estaba haciendo un análisis de virus, no se si eso tiene que ver (aunque el analisis pone lenta la pc y ls letras corrían muy rápido)

nuevamente muchas gracias :)
saludos
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 26, 2009, 11:29:57 am
tiene un set_fps(0,0) al momento de instalar, pero en ese momento no deberian haber letras abajo... y lo de la carpeta, bien, faltara poner una barra... lo voy a revisar.
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 26, 2009, 01:13:26 pm
Vale, he visto que el error de Windows ya se ha solucionado.
Mi error de Linux es en una Ubuntu normal y corriente...no sé, por mi parte puedo intentar toquetear el shellscript a ver qué es lo que pasa...pero es raro que me pase sólo a mi.
Venga, hasta pronto.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 26, 2009, 01:22:30 pm
El problema debe estar en el shell que tenes configurado como root (supongo que lo estas lanzando desde root), podrias probar ejecutarlo con otro shell...

en windows, hay un problema con el tema de los fps... con linux y wine anda perfecto... pero se ve que en windows no le da el timing... por la fraccion de tiempo... o algun otro problema, estoy intentando resolverlo, pero el putisimo windows me cago el teclado y me es imposible teclear ciertas cosas... voy a ver si pruebo actualizando vmware...
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 26, 2009, 02:46:49 pm
Efectivamente, es un problema de shells.
Según el foro de Ubuntu:

"It looks like it's a bug in their script, based on the (technically) incorrect but usually safe assumption that /bin/sh is just an alias of bash, Ubuntu is one of two distributions (ubuntu and debian) that use the more sh compliant dash by default."

Así que lo que he hecho ha sido cambiar la primera línea del script:
#!/bin/sh
por
#!/bin/bash
y ha funcionado perfecto.

Por otro lado, tanto mi usuario normal como el usuario root utilizan el shell bash por defecto, a tenor de lo que hay en /etc/passwd.

Espero que este hecho sea de provecho.

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 26, 2009, 03:02:22 pm
creo que si haces

bash ./bgd-...

functionaria igual

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 26, 2009, 06:45:05 pm
Bueno, la ultima version windows y linux, no esta usable... para corregir los fps en la wiz, destrui el sistema en los otros operativos... bueno, no es nada grave, pero necesito darme mejor precision al sistema de fps... con los cambios que estoy haciendo ahora va mejor, pero entre muestra y muestra hace pausas un poco mayores a las que deberia...
ya lo solucionare.
Título: Re: Avances, Diario de...
Publicado por: osk en Julio 27, 2009, 03:03:16 am
Claro, claro. Si haces lo que tú dices sí que funciona, porque estás diciéndole con qué shell quieres ejecutar el script, pero si no le dices nada (como suelo hacer yo) entonces por defecto coge el shell que hay en la primera línea del script...no sé si sería buena idea pues poner como shell por defecto el bash, que es de hecho el que todos los Linux tienen (salvo cosas muy raras) y para el que está pensado el script.
Pero vaya, veo que tienes cosas más importantes que mirar. Sólo era una sugerencia tonta.
Hasta luego.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Julio 27, 2009, 05:25:58 am
entonces en windows tenemos que seguir con la anterior a la r95 ¿no? para evitar problemas de fps digo.
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Julio 27, 2009, 05:30:57 am
Si usas fps(0,0) podes usar la nueva version...
ahora si necesitas ajustar los fps, va a ir muy rapido... a menos que tengas un equipo lento (600mhz supongo) donde ahi si va bien...
Título: Re: Avances, Diario de...
Publicado por: osk en Agosto 13, 2009, 12:13:39 pm
- New mod_crypt:

        method
        ------
        CRYPT_NONE
        CRYPT_DES
        CRYPT_3DES

        functions
        ---------

        handle CRYPT_NEW(int method, byte * key); /* key = byte [8] in DES, byte [24] 3DES */
        int CRYPT_DEL(handle);
        int CRYPT_ENCRYPT(handle, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_DECRYPT(handle, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_ENCRYPT(int method, byte * key, pointer in, pointer out, int blocks ); /* each block = 8 bytes */
        int CRYPT_DECRYPT(int method, byte * key, pointer in, pointer out, int blocks ); /* each block = 8 bytes */

Acabo de entrar en el "Sitio Maldito" y me he encontrado con algo que a priori parece interesante.
No he mirado nada, pero por si lo consideráis útil...a lo mejor se puede aprovechar algo:
http://forum.divsite.net/viewthread.php?tid=6481
http://forum.divsite.net/viewthread.php?tid=6465
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2009, 05:40:28 pm
:)
gracias... ya lo habia visto... el md5 podria ser incluido, pero no es crypt... el hash no puede ser desencriptado... y tampoco es la data encriptada... lo mismo el md5...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 18, 2009, 07:30:18 pm
Nueva funcionalidad

variable global "scale_resolution"

descripcion:

sirve para escalar hacia abajo un modo de video... esto es, el modo interno para el juego es el del set_mode, pero el modo a dibujar es el especificado en scale_resolution.

uso:

scale_resolution = WWWWHHHH ;

donde:

"WWWW" es el ancho
"HHHH" es el alto

puede ser cualquier valor menor a las dimensiones de set_mode...

nota:
por ahora no se aplica ningun como ser escalado bilineal, bicubic, etc... con lo que si se usan resoluciones a la mitad puede que si tenemos algo con ancho 1, y esta fijo en pantalla no se vea.

contra:
hay que tener cuidado con el uso de los fonts, ya que si usamos el del sistema, al reducir no entiende lo que se ve...

ventajas:
Facilidad para portar los juegos a consolas.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 19, 2009, 03:41:23 am
Ahora falta la opción para poder hacer resize de la ventana con el ratón :D

Perdón por darte trabajo xD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 19, 2009, 03:53:29 am
eso es mucho mas dificil... no te envicies...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Agosto 19, 2009, 05:23:51 am
lol, eso de dar resize a la ventana de forma "dinámica" sería un follón de mucho cuidado...

La ventana muestra la resolución del set_mode dentro de la resolución de escritorio, y aumentar la ventana sería casi un pecado tal y cómo está estructurada la cosa ahora mismo.

Se me ocurre hacer uso del map 0,0 (El que almacena el último FRAME) e ir haciendo el set_mode correspondiente y mostrar ese gráfico con un size adecuado... Pero es una cochinada :-\

Con el nuevo scale_resolution por ahora no se me ocurre nada, lo probaré, y gracias Splinter :P
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Agosto 19, 2009, 06:51:08 am
Con el nuevo scale_resolution por ahora no se me ocurre nada, lo probaré, y gracias Splinter :P

Te dare algunas ideas...

que tal si tienes tu juego hecho en 1280x1024 y lo quieres correr en una gp2x wiz, o en una dingoo o en una xbox, o en algun otro aparatejo que no te deje llegar a esa definicion? simple, seteas set_resolution y ya tu juego funcionara, asi de simple... y no tienes que andar perdiendo tiempo ni matandote en modificar toda la logica del programa para cuadrarlo a la resolucion del hard a portar.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 19, 2009, 08:36:07 am
Ahora, no hay duda de que es tirar recursos, pero en muchos casos merecerá la pena. Por ejemplo, algunos de mis juegos están en 1024x768, pero el Acer Aspire One que tengo sólo soporta 1024x600. ¿Solución? Esta :)

Otro: PiX Pang - 800x600 -> 640x480 y a correr en la Wii :D
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 19, 2009, 09:04:36 am
Je, no conseguí hacer funcionar un juego de 800x600 en GP2X, pese a que usa el reescalado automático de UFenix (no se si es HW o SW)... Incluso me da problemas con otro porque me falta memoria y voy a tener que rehacerlo reescalando los gráficos. Menos mal que construí en un par de horas un programilla que me abre los FPG de una lista y me crea otros nuevos al escalado que le indique, aunque claro, usa el size de Fenix/Bennu, que es uno básico sin filtrados ni los escalados que comentaba splinter.

Lo cierto es que es una de esas funcionalidades que todos los novatos agradecen y que puede ser util segun los requisitos y la máquina, pero que los más experimentados acaban por no usar.
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Agosto 19, 2009, 09:54:12 am
Je, no conseguí hacer funcionar un juego de 800x600 en GP2X, pese a que usa el reescalado automático de UFenix (no se si es HW o SW)... Incluso me da problemas con otro porque me falta memoria y voy a tener que rehacerlo reescalando los gráficos. Menos mal que construí en un par de horas un programilla que me abre los FPG de una lista y me crea otros nuevos al escalado que le indique, aunque claro, usa el size de Fenix/Bennu, que es uno básico sin filtrados ni los escalados que comentaba splinter.

Lo cierto es que es una de esas funcionalidades que todos los novatos agradecen y que puede ser util segun los requisitos y la máquina, pero que los más experimentados acaban por no usar.

No se con que escalado basico de fenix/bennu probaste eso, porque esto que nombre es nuevo... todavia no libere ningun binario...
No vas a tener que rehacer tu juego, va a correr sin cambios (salvo los del teclado).
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 19, 2009, 04:08:57 pm
No, si digo que en Fenix y UFenix de GP2X puedo hacer un juego de 800x600 y, sin cambiar nada, este se ajusta a la pantalla de la consola (que recordemos que tiene una resolución fija de 320x240).
La GP2X tiene un HW de escalado (que Puck añadió para esto en concreto en su port), por lo que dicha operación no consume nada de CPU, y se pueden hacer el juego del tamaño que se quiera (sólo probado con resoluciones mayores que la pantalla), pero claro, si un juego de 320x240 ya requiere optimización, meterle un renderizado de 800x600...
Lo digo porque probé, por accidente, mi motor a dicha resolución y el framerate cayó por los suelos (de 50 fps a 320x240, a 12 fps siendo generosos). No es lo mismo (320/32)*(240/32)*2 procesos que (800/32)*(600/32)*2.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 19, 2009, 04:15:15 pm
ya te dire como funciona en las consolitas...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 19, 2009, 08:00:21 pm
ya probe la version en la wiz, cero problemas de velocidad... se ve impecable... probe el pacman, que volvi a restaurar a su resolucion original...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Agosto 20, 2009, 12:20:18 am
esto va a ser genial para el apagame, que estabamos cambiando resoluciones para ajustarlo a 640x480 para wii y no veas que chungo es reajustar todo :D. Por cierto, el proyecto lo tengo olvidadísimo, a ver si despues de verano le meto un cambio :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 20, 2009, 03:28:12 am
bueno, no todo es color de rosas... pase el galaxian... y ahi como hay scroll, el rendimiento no es tan bueno.

EDIT: Con un frame_skip 3, va de lujo... supongo que con 1 o 2, tambien va bien... tendria que probarlo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 20, 2009, 04:46:09 pm
version RC8 (r101) disponible http://betatester.bennugd.org/snapshot/
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 20, 2009, 06:31:48 pm
Pregunta tonta: ¿los DCB son compatibles con versiones anteriores? es decir, si no se usan las novedades, claro.
Es que aun tengo en la cabeza los problemas de compilar Fenix y de que tal no es un DCB compatible cuando uno es el 0.xxa y el otro el 0.xxb.
Estaría bien saber cuando llega la hora de cambiar de versión, cuando hay que recompilar viejos códigos para que vuelvan a funcionar...

Hablando de esto ¿donde está SandMan? Hace tiempo que no le veo, le dejé un mensaje en el subforo inglés, a ver si puede hacer el port para GP2X de la versión actual, ya que él tiene experiencia, sabe más que yo...
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 20, 2009, 06:47:42 pm
Sandman es como un fantasma.... de vez en cuando (ahora, en particular) aparece en la lista de usuarios que están leyendo el foro, pero permanece silencioso...
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 20, 2009, 11:47:57 pm
VA DE CINE! :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 21, 2009, 03:51:53 am
VA DE CINE! :D

quien va al cine?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 21, 2009, 03:53:05 am
Pregunta tonta: ¿los DCB son compatibles con versiones anteriores? es decir, si no se usan las novedades, claro.
Es que aun tengo en la cabeza los problemas de compilar Fenix y de que tal no es un DCB compatible cuando uno es el 0.xxa y el otro el 0.xxb.
Estaría bien saber cuando llega la hora de cambiar de versión, cuando hay que recompilar viejos códigos para que vuelvan a funcionar...

Hablando de esto ¿donde está SandMan? Hace tiempo que no le veo, le dejé un mensaje en el subforo inglés, a ver si puede hacer el port para GP2X de la versión actual, ya que él tiene experiencia, sabe más que yo...

creo que en este caso, por incluir una nueva global, hay que recompilar el dcb... no estoy seguro... tengo que revisar...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Agosto 21, 2009, 04:10:13 am
Drumpi, he intentado compilar bennu para gp2x, por toda la información recopilada acerca de wiz y gp2x y por la forma de crear los entornos de desarrollo de ambas plataformas (en el caso del devkit y open2x misma configuración), juraría que son 100% compatibles en binarios, así que mi opinión es que pruebes a ejecutar la versión wiz de splinter.
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Agosto 21, 2009, 05:33:29 am
Drumpi, he intentado compilar bennu para gp2x, por toda la información recopilada acerca de wiz y gp2x y por la forma de crear los entornos de desarrollo de ambas plataformas (en el caso del devkit y open2x misma configuración), juraría que son 100% compatibles en binarios, así que mi opinión es que pruebes a ejecutar la versión wiz de splinter.

Yo he intentado a la inversa... o sea, correr cosas gp2x en la wiz, y no va... pero claro, posiblemente sea porque usan particularidades de la consola... habria que probar con algo generico, y bennu es ideal para eso...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 21, 2009, 06:34:45 pm
Mmm, puedo probar, pero juraría que hay cambios de ciertas librerías a la hora de compilar y no sirven, no se, mañana lo miro.

Pero estoy más interesado en saber cómo hacer funcionar los entornos: tengo el oficial con dev-c++, pero Splinter usa los makefiles para compilar y no se cómo se hace eso con el Dev-c++, luego tengo otro con una cosa llamada minsys y un porrón de carpetas que, supuestamente, debo añadir al PATH de windows para compilar... ahora se, pero en su día usaba una opción de make que cambiaba de directorio previamente a la compilación y saqué un ejemplo de SDL... pero había un problema con el resto o no se.
Y el del Open2X jamás lo encontré, su web es un labreinto y no he visto ni los ejecutables del entorno, ni del IDE ni na de na. Estoy harto de pedir ayuda, sobre todo en gp32spain, pero parece que allí todo el mundo sabe y no le dicen nada a los novatos, así que...

Y me interesa tenerlo funcionando, porque luego quiero basarme en la librería de scroll para montar otra de tiles y, si puedo, meter la VSE de una vez. Se que no es una librería tan seria como la Bennu3D, pero me sirve para lo que quiero hacer (proyecto nº 7 de la pila, lleva como tres años sin bajar de ese puesto, por lo que debo tener interés en él).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 22, 2009, 06:35:06 am
pero la VSE funcionaba mal...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 22, 2009, 07:30:04 pm
Mmmm, mal no. Se que en la version 084 se hicieron cambios en la estructura interna de los mapas (que aun ignoro por qué) y el código ya no servía porque usaba la antigua.
Aparte de eso, había un problema de división por cero al usar la función VSE_Target con determinados ángulos, pero localicé la linea del fallo (y lo comenté en el foro de Fenix)... lo que no se es qué valor ponerle en ese caso porque no conozco el funcionamiento del código en si.
Y bueno, también está la cosita del auto-escalado de los sprites 2D según la distancia a la cámara, que no está bien calibrado, pero podrían ser sustituibles por los "sprites 3D" que se añadieron en la última versión (el efecto con el que se hace el cubo rotatorio en la demo).

Ahora, que si alguien se quiere hacer cargo de hacer una nueva que haga lo mismo, oye... yo quiero hacer ese plataformas pseudo3D que empecé para aprender a manejar la librería.
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 23, 2009, 12:30:20 pm
Splinter, mira a ver si he pillado lo del scale_resolution:

http://www.bennugd.org/?q=node/27

También, si alguien me pone un par de screenshots con el mismo código funcionando con y sin el efecto para la noticia, se lo agradezco, que ahora no tengo mucho tiempo libre para probar.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 31, 2009, 06:42:34 pm
nueva version disponible que corrige el contador de fps que no se mostraba correctamente... lo mismo para el speed_gauge...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Septiembre 07, 2009, 12:45:18 pm
Acabo de tener un problemilla: Necesito una CONST donde poner el máximo valor float para el lenguaje (Bennu xD).

He comprobado que MAX_INT existe, pero en function_list.txt no aparece... También he comprobado que MAX_FLOAT no existe.

¿Alguien sabe decirme cuál es el máximo valor float en Bennu? Una precisión de +/- 20% me es suficiente, no quiero arriesgarme a excederme y tener overflow ni quedarme demasiado corto y que el algoritmo que estoy escribiendo funcione mal :P

PD: Hago esta pregunta en este hilo porque es el más relevante donde se ha hablado de MAX_INT
Título: Re: Avances, Diario de...
Publicado por: panreyes en Septiembre 09, 2009, 04:50:27 am
Hello :)
Habría que modificar una cosa.

Al poner
  scale_resolution=06400480;
y hacer
 set_mode(1280,1024,16);
sobre un monitor que sólo soporta hasta 1024x768, el juego se sale. ¿Esto tiene solución?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 09, 2009, 03:59:01 pm
no se si sera eso... es raro eso...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 11, 2009, 05:31:42 pm
RC9 r105... disponible...

fix en fps como anuncie hace unos cuantos dias
fix en posicion del mouse, cuando se usea scale_resolution

agradeceria si pueden postear la noticia en todos lados...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 12, 2009, 03:25:25 am
Gracias, ya he actualizado los enlaces de la página de descargas.
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 12, 2009, 05:09:03 am
Bajando nueva RC, gracias Juan!  ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 17, 2009, 07:36:06 pm
nuevo parche que corrige el tema de nombres de parametros llamados igual a constantes...
Título: Re: Avances, Diario de...
Publicado por: josebita en Septiembre 17, 2009, 09:04:48 pm
Genial, gracias :)
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Septiembre 18, 2009, 08:03:39 am
gracias
Título: Re: Avances, Diario de...
Publicado por: darío en Septiembre 18, 2009, 10:19:57 am
:) Gracias
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 19, 2009, 07:36:34 am
Parcheado, gracias por tu labor.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 14, 2009, 06:36:49 pm
avances al dia de hoy...

------------------------------------------------------------------------
r110 | SplinterGU | 2009-10-14 23:30:25 -0300 (mié 14 de oct de 2009) | 11 lines

- Add more modifier to shift_status:

   STAT_RCTRL              0x0000010
   STAT_LCTRL              0x0000020
   STAT_RALT               0x0000040
   STAT_LALT               0x0000080
   STAT_NUM                0x0000100
   STAT_CAPS               0x0000200
   STAT_SHIFT              0x0000400


------------------------------------------------------------------------
r109 | SplinterGU | 2009-10-14 20:44:00 -0300 (mié 14 de oct de 2009) | 2 lines

- scale_resolutions now works in any resolution

------------------------------------------------------------------------
r108 | SplinterGU | 2009-10-07 22:16:14 -0300 (mié 07 de oct de 2009) | 2 lines

- Fix on arrays chars

------------------------------------------------------------------------
r107 | SplinterGU | 2009-10-06 09:11:00 -0300 (mar 06 de oct de 2009) | 2 lines

- scale speed up

Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 14, 2009, 09:40:27 pm
Oh, ¿Esos "modifier to shift status" son GLOBAL que indican el estado de pulsación de esas teclitas o cómo se usan? Creo que fue en base a un hilo propuesto por uno de mis alumnos, si es que se les ocurren cosas que a mí no se me ocurrirían en la vida :P

Qué Bien ;D

Karmón que te ganaste
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 15, 2009, 02:00:01 am
Genial, pal ppa que se va.
Título: Re: Avances, Diario de...
Publicado por: TYCO en Octubre 15, 2009, 05:25:26 am
Bien bien, esto avanza. Pero hay muchas versiones 1.0.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 15, 2009, 06:40:54 am
Splinter, esto no soluciona el problema de write_in_map en 32 bits que detectó sandman cuando hizo el mod_ttf ¿no?
http://forum.bennugd.org/index.php?topic=837.msg12061#msg12061
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Octubre 15, 2009, 09:46:42 am
Gracias Aladdin Splinter :)
Mis deseos se convierten siempre en realidad, grande genio me pille! :)
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Octubre 15, 2009, 10:44:35 am
Que es exactamente lo de scale speed up? Optimización de scale_resoultion? O de size, size_x y size_y?

Toda optimización me parece cojonudisima, es solo curiosidad ;)
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Octubre 15, 2009, 11:22:18 am
Que es exactamente lo de scale speed up? Optimización de scale_resoultion? O de size, size_x y size_y?

Toda optimización me parece cojonudisima, es solo curiosidad ;)

scale_resolution
Título: Re: Avances, Diario de...
Publicado por: splinter_work en Octubre 15, 2009, 11:22:47 am
Splinter, esto no soluciona el problema de write_in_map en 32 bits que detectó sandman cuando hizo el mod_ttf ¿no?
http://forum.bennugd.org/index.php?topic=837.msg12061#msg12061

ni idea de ese problema... no lo lei... que era?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 15, 2009, 01:55:15 pm
Básicamente es que al hacer un write_in_map en modo 32 bits no escribe bien los colores.
Código: [Seleccionar]
set_mode(320,240,32);
f = ttf_loadx("C:\Windows\fonts\vladimir.ttf",40,32,rgba(255,255,255,255),rgba(255,255,255,0),0);
map_clear(0,0,rgb(0,255,0));
drawing_map(0,graph);
drawing_color(rgb(255,0,0));
draw_box(100,100,200,200); // Borramos con rojo el grafico
graph = write_in_map(f,"HELLO WORLD",0); // escribimos hello world en blanco

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 15, 2009, 03:57:28 pm
ya hable con sandman... la cosa es que cuando dibujas sobre un grafico de 32 bits, el alpha de los pixels dibujados es 255... y eso tiene que ser asi... la conclusion que llegamos es que necesitamos tener un flag para poder modificar ese comportamiento... (pero no lo hare ahora)

una solucion es poner text_flags = B_NOCOLORKEY; pero justo con el font que sandman esta probando da problemas ya que cada caracter si pisa sobre el anterior, entonces se corta parte del grafico... pero en un font normal (no italico) o italico con un espaciado mas amplio funcionaria correctamente.

el por que de alpha a 255 en el mapa destino tiene un porque... y es algo un poco largo de explicar...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 16, 2009, 12:26:42 pm
Me ocurrió algo relacionado en un juego que hice... Todavía no lo había comentado pero quizás sea ahora el momento:

En ese juego disparaba a un objeto con una ametralladora y quería que el objeto se agujerease con las balas (Agujeros transparentes). Para ello hice un map_block_copy y no conseguí poder dibujar un círculo con su alpha correcto para los bordes... Así que terminé dibujando cuadrados negros que trabajando en 16 bits hacían la vez de alpha.

Pero me quedé con las ganas de poder hacerlo en 32, los agujeritos totalmente redondos hubiesen sido muy graciosos.

Me alegro que esté en la lista de tareas pendientes Splinter. Esperaremos con paciencia :D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Octubre 16, 2009, 03:17:22 pm
Splinter porfa la snapshot de la r107 que me prometiste :) Que quiero programar en Bennu todo el Sabado.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 16, 2009, 07:27:50 pm
Con las DLL de la última RC me dejaron de funcionar los juegos en 3D... No sé qué pasó, si sale nueva RC sustituyo DLLs a ver qué es... Ya lo reporté con captura del error pero nadie me dijo nada al respecto :'(
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 16, 2009, 07:54:07 pm
subida rc10 revision 110...

por favor, "difundid la palabra..." :D

PD:
les debo el instalador windows, solo esta el rar... lo siento, pero el ultimo upgrade de mingw32 para linux esta cagado... no entiendo por que meten mano y hacen cagadas que no arreglan en varias versiones de mingw que estan saliendo en el toolchains de linux...
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Octubre 18, 2009, 08:43:38 am
En ese juego disparaba a un objeto con una ametralladora y quería que el objeto se agujerease con las balas (Agujeros transparentes). Para ello hice un map_block_copy y no conseguí poder dibujar un círculo con su alpha correcto para los bordes... Así que terminé dibujando cuadrados negros que trabajando en 16 bits hacían la vez de alpha.

Para eso lo que puedes hacer es (a ver si me doy explicado bien), tener un gráfico aparte con el agujero, irlo recorriendo con map_get_pixel, y donde encuentres el color que le hayas puesto al agujero, meter un pixel transparente en el gráfico a agujerear con map_put_pixel teniendo en cuenta la referencia que acabas de obtener en el gráfico del agujero y en que coordenadas del gráfico vas a meter el bujero

Usé el truco este hace mucho (DIV1) para un remake que había hecho del mitico gorilla del Qbasic (http://www.pixfans.com/wp-content/uploads/2008/12/gorilla-bas.gif), que causaba furor por aquel entonces en las clases de informática de mi instituto XD

Sin embargo este método sería demasiado lento para cumplir mi viejo anhelo de meter en un juego la siempre encantadoramente hortera cortinilla de estrellas (vease el capitulo de los simpson en el que la palma la mujer de Flanders) para cambiar de escena XD
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 18, 2009, 08:52:47 am
¿Y que tal las funciones draw? permiten pintar en color transparente, y no se si en modo 32 bits o con alguna variable incluso con alphas distintas.
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Octubre 18, 2009, 10:16:29 am
También es verdad, mucho mejor que lo que decía yo, aunque sigue siendo complicado hacer una cortinilla de estrellas XD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 18, 2009, 03:18:52 pm
el problema es que actualmente si uno dibuja sobre un grafico de 32 bits, el alpha del grafico destino es 255... a menos que usemos b_nocolorkey... pero al hacer eso, las areas negras se copian...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 19, 2009, 09:07:25 am
Ya, pero pensaba que como el color es rgbA ya se incluía el valor del alpha para cada pixel en el destino.
Y la cortinilla de estrellas, es posible hacerla con las lineas, sólo debes definir a cada frame la posición de los 10 vértices y dibujar las lineas correspondientes (aunque creo que dejan algunos huecos por los redondeos).
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 20, 2009, 03:41:35 am
Ok, probaré lo que dices Momia a ver qué tal queda, me dolió no poder dejar el juego terminado como quería :'(

Los problemas que estamos hablando con los 32 bits supongo que serán a causa de que todavía no hemos testeado a fondo los videojuegos con esta profundidad de color. Imagino que a base de darles caña y reportar posibles fallos se irán arreglando, al fin y al cabo sólo es añadir A a las ya existentes R G y B... Con los flags que comentaba Splinter para transparencia aditiva, sustractiva y esas cosas que tiene el color se debería poder hacer "cualquier" cosa.

Drumpi, el trazado de líneas no tiene "suavizado" (No tiene alpha, vamos) y cuando lo probé en mi visor 3D para el wireframe sí que salía algún hueco.

¿Hay algo pensado para primitivas de dibujo en 32 bits? Simple curiosidad, hay otras cosas más importantes ;)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 21, 2009, 03:11:32 pm
No, no tiene suavizado, pero cada color en 32bits si que lo tiene, ya que se usan 8 para la componente roja, 8 para la verde, 8 para la azul y 8 para el ALPHA, por lo que un color hFFFFFFF0 debería ser un color blanco con transparecia al 50%
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 21, 2009, 06:11:15 pm
las primitivas graficas de 32 bits estan soportadas
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 22, 2009, 12:51:37 am
Código: [Seleccionar]
las primitivas graficas de 32 bits estan soportadas
Sí, eso ya me imaginaba, que es posible dibujar una línea con cierto alpha, de hecho lo probé con mi visor 3D.

Lo que quería saber es si era posible trazar la línea con suavizado, de forma que las diagonales no muestren "escalones", para ello la línea añade algunos píxeles con transparencia extra en los "escalones" y da mayor sensación de diagonal.

¿Eso no está, verdad? Tampoco lo hecho en falta, es por curiosidad y por conocer bien lo que hay y lo que no hay.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 22, 2009, 04:13:22 am
no, podes modificar el alpha como ya probaste, pero no con suavizado...
eso implicaria que la linea realmente sea mas grande que 1 pixel... lo que podes hacer es trazar varias lineas con diferentes alfas y con algun pixel de diferencia... y finalmente trazar la linea final sin el alfa...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 22, 2009, 04:26:49 am
Ok Splinter gracias por la aclaración. Aquí dejo el detalle del efecto de línea con suavizado, a 1 píxel en negro puro, sin alpha, por si a alguien le diese por implementar el algoritmo en un futuro, fijaros que ni un sólo pixel queda totalmente negro realmente xD

(http://trinit.es/images/linea_alpha.png)

Por supuesto sin zoom la línea queda estupendamente, no se ve ni un pixel.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 09, 2009, 01:47:01 pm
he incluido nuevos productos en el svn de autoria propia con licencia LGPL... y he actualizado el componente loadlib a LGPL... ire haciendo lo propio con los modulos de mi autoria... y si en el futuro puedo pasar todo a LGPL, asi lo hare.

saludos...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 09, 2009, 01:58:55 pm
Por lo que leo: http://es.wikipedia.org/wiki/GNU_Lesser_General_Public_License

Con ello Bennu es todavía más libre... No puede ser más libre diría yo... Karma++ SplinterGU, ¿Sabes que vas a ir al cielo quieras o no? ;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 09, 2009, 02:06:18 pm
je, gracias... todavia no estan todos los modulos, hay que estudiar bien, cuanto tienen de fenix aun... y si se llegara a conseguir que todos los que participaron en Fenix (o por lo menos los principales) autoricen a cambiar la licencia a LGPL entonces seria fantastico y se cambiaria...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 09, 2009, 04:01:05 pm
He accedido al Centro de Software de Ubuntu, el "gestor de paquetes" de la nueva 9.10, he buscado Bennu para ver si había algo pero veo que no... En el tema de Linux ya sabéis que apenas llevo 1 año y eso es "nada", ¿Habría alguna forma de hacer que el paquete de Bennu fuese un paquete instalable desde ese menú?

Por tema de hostearlo supongo que no hay problema, bennugd tiene su hosting y algunos más podríamos aportar, ¿Qué clase de impedimentos hay? Por curiosidad :P
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 10, 2009, 01:25:05 am
http://forum.bennugd.org/index.php?topic=496.0
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 10, 2009, 01:27:24 am
Gracias DCelso... Ahora creo recordar que mire ese hilo tiempo ha, voy a verlo de nuevo porque tengo memoria de pez :P
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 27, 2009, 03:49:10 am
Me estaba haciendo una preguntilla:


Sobre el map_block_copy:


Seria posible crear un mapa 'virtual' que no ocupará memória à diferencia de crear uno cargando un mapa vacio, el cual si va ocupar memória ?

Lo pregunto sobretodo por temas de rendimiento, ya que el mapa seria para pintarlo utilizando el map_block_copy, y lo ideal es que la memória que este ocupa fuera sólo la memória ocupada por los gráficos utilizados en el map_block_copy (y sus punteros) y creo que la memória del mapa inicial para poder utilizar el map_block_copy sobrária....

Vamos, resumiendo, actualmente este mapa se carga al principio de la fase para poder pintar los tiles sobre el, pero creo que la memória de este mapa en sí sobraria, ya que sólo sirve para servir de referencia a los tiles pintados con map_block_copy...

a lo mejor existe otra alternativa para hacer esto sin usar un mapa de base ...

No se se me entendeis...

Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 27, 2009, 04:25:59 am
No comprendo, un mapa virtual seguiría ocupando memoria, ¿Dónde iba a estar si no?
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 27, 2009, 04:42:42 am
Claro es que le llamo virtual para decir un mapa null.
Vamos lo ideal seria que el map_block_copy puediera copiar sobre una region nula (o mapa nulo que es lo mismo), sin tener aparte de la memória del tile, la memória del mapa vacio (ya que me imagino que los otros tiles iguales apuntarian a la memoria del primero y no ocuparian espacio).

O sea, que el map_block_copy pudiera poner ese tile en las coordenadas x,y pero sin necesidad de basarse en un mapa destino, y al final tendriamos un mapa completo pero compuesto sólo por la memória de los tiles.

Porque me imagino que al usar un mapa + tiles, vas a tener aparte de la memoria de mapa que cargaste al inicio, la memoria de los tiles usados en el. Si este ultimo no es así pues el problema ya estaria resuelto ;)

Por otro lado, creo que no ocupa lo mismo un mapa con X,Y dimensión pintado de negro, que el mismo mapa lleno de colores.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 27, 2009, 09:05:27 am
Pues yo sigo sin enterarme de lo que quieres decir, la verdad...
Creo que map_block_copy coge los datos del mapa origen y los pega en el destino, sin usar memoria intermedia, porque no vas a descargar el mapa origen durante la operación. Si lo que quieres es tener una copia en memoria tienes map_clone, y si quieres guardar un trozo creas un nuevo mapa del tamaño que quieras y haces el map_block_copy sobre este.

Pero un mapa con dimensión (x,y) pintado de negro ocupará lo mismo que el mismo mapa lleno de colores, porque el propio negro es un color (aunque hablemos de negro, transparente o vacío, el 0 ocupa una posición de memoria). Lo que dices sería cierto si se usase algún tipo de compresión en memoria, pero no es así.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 27, 2009, 08:12:33 pm
Yo tampoco entiendo del todo la sugerencia, pero FreeYourMind, créeme que he estado investigando map_block_copy y me interesan mucho las posibles mejoras sobre esta función, especialmente en 32 bits.

Entiendo que propones una mejora de eficiencia, pero no comprendo qué propósito tiene ese mapa virtual... ¿Para qué caso o casos en concreto ahorraría memoria?

Por tu último comentario me parece que te refieres a hacer un map_block_copy sobre un mapa "vacío", para componerlo completamente desde 0. Por ejemplo con mí módulo "Dialog Boxes" hacía algo así, la idea de hacerlo desde 0 es interesante pero no la tuve en cuenta, exprésate más a fondo sobre el tema please.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 27, 2009, 09:30:20 pm
Claro es que le llamo virtual para decir un mapa null.
Vamos lo ideal seria que el map_block_copy puediera copiar sobre una region nula (o mapa nulo que es lo mismo), sin tener aparte de la memória del tile, la memória del mapa vacio (ya que me imagino que los otros tiles iguales apuntarian a la memoria del primero y no ocuparian espacio).

O sea, que el map_block_copy pudiera poner ese tile en las coordenadas x,y pero sin necesidad de basarse en un mapa destino, y al final tendriamos un mapa completo pero compuesto sólo por la memória de los tiles.

Porque me imagino que al usar un mapa + tiles, vas a tener aparte de la memoria de mapa que cargaste al inicio, la memoria de los tiles usados en el. Si este ultimo no es así pues el problema ya estaria resuelto ;)

Por otro lado, creo que no ocupa lo mismo un mapa con X,Y dimensión pintado de negro, que el mismo mapa lleno de colores.

La idea de un tile no es que si tenes que pintar un tile 10 veces tengas 10 graficos clones... la idea es que uses un solo grafico para cada uno de los tiles...

tiles no necesariamente significa que tengas que usar map_block_copy (puede, pero no es necesario), podes usar procesos tambien...

como sea, en el caso del block_copy, solo copias a un mapa mas grande... pero no por eso vas a consumir mas memoria...

segun leo en el mensaje que queres transmitir es que ademas de hacer el map_block_copy, tenes un grafico unico por cada uso del tile... eso no es necesario... si no es eso lo que quisiste decir, entonces no te entendi...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 28, 2009, 05:40:26 pm
Buenas. Estoy de vuelta, por fin espero no volver a quedar sin portatil, ya que de una vez quite el maldito disco duro de mi portatil, ahora acabo de estrenar disco duro de 680 gigas, como evolucionan estos trastos :)

Comento lo del map_block_copy, porque cargo 3 mapas para pintar las distintas partes de un nivel (objectos de fondo, objetos de colisiones y objetos frontales que tapan a los personajes), como si fueran 3 en 1. Al hacerlo repito 3 veces el mismo mapa, ya que cada uno va construir su respectiva region o scroll. Lo que pienso es que internamente esta función podria ser más optimizada, no veo sentido que se necesite de principio un mapa para poner tiles en el, tener un mapa sin memória y que al final los tiles al copiarse en realidad se estarian creando regiones de mapas con esos tiles. o sea, se construyerá el mapa con tiles sin tener una base para ponerlos... ya se que hay formas de hacerlo, pero si tuvieramos una función equivalente a la que le pasaramos un mapa destino que no existierá molaria por comodidad.

Es que noto que por ejemplo si no borro este mapa al empezar de nuevo el nivel, al generar de nuevo los tiles (ya que lo hago al empezar el nivel), estos se sobreponen sobre los antiguos del mismo mapa en memoria (y como los antiguos son los mismos en la misma posición), el mapa va tener cada vez mas memoria ya que se va sobrecargar de objetos, aunque siga teniendo la misma dimensión...

Esto tambien me parece un poco raro ya que si estamos poniendo tiles en ese mapa es como si estuvieramos de nuevo pintando en el, y si un mapa ocupa siempre el mismo tamaño tenga el pintado que tenga como decis, el mapa no tendria que aumentar de memoria...
Título: Re: Avances, Diario de...
Publicado por: DjSonyk en Noviembre 28, 2009, 05:55:10 pm
Humm Free ,has probado como te a dicho Splinter ¿crear los tiles por procesos?,mira yo te doy dos opciones.

1- Si no quieres nada de fondo ,usar una estructura que segun valla leyendola te valla colocando los tiles en la posición que quieres ,como map_block_copy,pero con procesos...
2- Si quieres fondo,le pones y haces lo de 1. Una estructura de 1024x1024pixel dividida en tiles de 16x16 te ocupa 16 kb+los graficos de los tiles....

Creo que la forma que estas haciendo para colocar los tiles a base de map_block_copy,es un poco ,y permitemelo decir ^^,estraña....
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 28, 2009, 05:59:56 pm
Te estas armando un lio tu solo:
Si quieres sacar información de un mapa, esa información debes colocarla en alguna parte, no puedes dejarla en el aire, porque ocupa un espacio de memoria si o si, por lo que debes guardarla en un mapa, o en su defecto, en una zona de memoria que hayas reservado con un puntero, pero va a gastar memoria... y entonces es mejor que la tengas en un mapa.

Otra cosa: si pegas información de un mapa en otro, el destio NO AUMENTA SU MEMORIA, sigue con la misma que ocupa siempre (ancho*alto*profundidad_de_color(8/16/32)), sobreescribes información, lo que hubiera antes en esa posición se pierde porque se ha cambiado, no existe la función "deshacer" sobre los mapas.

Ten en cuenta que todo lo que sea copia, requiere una memoria: en el caso de map_block_copy usa el espacio de memoria donde está el mapa origen (si descargas el mapa origen, entonces desaparecen estos datos y no se pueden copiar), si usas map_clone se crea un nuevo mapa con esa info. Hasta el copy/paste que haces en windows ocupa memoria nueva, esa info se almacena en una zona de memoria, y puedes consultarla si usas el "visor del portapapeles" (si sigue existiendo, es una vieja aplicación que traía w95, w98 y creo que w2000)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 28, 2009, 06:15:52 pm
Otra cosa: si pegas información de un mapa en otro, el destio NO AUMENTA SU MEMORIA, sigue con la misma que ocupa siempre (ancho*alto*profundidad_de_color(8/16/32)), sobreescribes información, lo que hubiera antes en esa posición se pierde porque se ha cambiado, no existe la función "deshacer" sobre los mapas.

Vale, el problema se resume sólo a eso, segun las pruebas parece que esto no ocurre, si se sobrescribe información y se pierde lo que existia en esa posición, porque el juego pierde rendimiento si lo hago ? y porque si hago unload y vuelvo a cargar el mapa antes de volver a poner de nuevo los tiles en el, esto no ocurre ? Alguna cosa de errado hay, porque eso no parece que este funcionando, me gustaria que Splinter revisara justamente eso en map_block_copy, que confirmará que el tile anteriormente pintado en la posición del segundo que lo va a substituir, se pierde (hablando de memoria claro).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2009, 09:47:35 pm
eso que dices no tiene sentido como lo dices...

lo que necesitas es no pintar sobre ningun mapa, sino usar 1 proceso para cada tile.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2009, 09:48:42 pm
Otra cosa: si pegas información de un mapa en otro, el destio NO AUMENTA SU MEMORIA, sigue con la misma que ocupa siempre (ancho*alto*profundidad_de_color(8/16/32)), sobreescribes información, lo que hubiera antes en esa posición se pierde porque se ha cambiado, no existe la función "deshacer" sobre los mapas.

Vale, el problema se resume sólo a eso, segun las pruebas parece que esto no ocurre, si se sobrescribe información y se pierde lo que existia en esa posición, porque el juego pierde rendimiento si lo hago ? y porque si hago unload y vuelvo a cargar el mapa antes de volver a poner de nuevo los tiles en el, esto no ocurre ? Alguna cosa de errado hay, porque eso no parece que este funcionando, me gustaria que Splinter revisara justamente eso en map_block_copy, que confirmará que el tile anteriormente pintado en la posición del segundo que lo va a substituir, se pierde (hablando de memoria claro).

WTF!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 12:25:28 am
WTF!

Bueno, en lugar de espanto, estaria bien aclarar si el mapa destino ocuparia la misma memória, haciendo sobre el 10 map_block_copy
que 10000.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 29, 2009, 06:12:41 am
Free, no debería haber aumento de memoria en el mapa, hagas 10, 1000 o 100000000000000 map_block_copy, porque map_block_copy es como map_put_pixel pero con varios pixels a la vez. Una cosa es que los comandos PUT y familia (entre ellos map_block_copy) sean comando "lentos" (la gp2x no puede "refrescar" una pantalla de 320x240 a 30fps) y otra cosa es que se ralenticen.

Si haces unload del mapa, lógicamente se pierden los cambios porque no los has guardado, al hacer load cargas el que tenías en el disco, sin cambios. Si quieres que se guarden, debes hacerlo en el disco, no sólo en la memoria.

Me parece que no tienes claro el concepto de memoria.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 06:52:53 am
Hombre, la culpa ha sido mia no expresarme bien, si que tengo el concepto, si creeme :)

Lo que ocurre es que yo pongo los tiles en el mapa al empezar la fase, con lo cual no tendria que hacer un unload_map antes, ya que si voy a volver a poner los mismos tiles en el al repetir la fase, la logica es que como vuelve a pintar el mismo mapa con los mismos tiles,  no habria ningun cambio en la memoria.
Pero con las pruebas que hice (y claro esto sólo se puede observar en la Wiz), si no descargo antes el mapa al repetir la fase, la memoria se va incrementando (sea o no la del mapa en concreto, esto se me escapa, pero no cargo más ningun recurso en ese instante) hasta el punto que quedaba lento y petaba por memoria.

Otra cosa que ocurria y que arregle en parte, es que en ciertos puntos de algunos mapas el fps caia en picado haste el 0,1 fps, y lo curisoso es que salia al menu, y como tengo un let_me_alone tendria que recuperar su fps normal.
Esto no ocurria (dandole tiempo para hacerlo claro), y me entero que tambien es por problemas de memoria, ya que lo que hice fue descargar tambien el mapa al entrar al menu y no sólo al repetir fase.
Esto me soluciono lo del fps al salir de una fase que ocurra la caida brusca :) (lo bueno es que si descargas un mapa que no existe Bennu no peta, al reves de lo que ocurria con las musicas, pero vamos esto tampoco importa mucho, es ponerle la condicion is null y listo).
Así que con esto se conprueba que ni siempre los errores tienen origen en lo mismo, la caida del fps y su recuperación  siempre esta asociada al numero de procesos y rendimiento en determinado punto, pero tambien tiene origen en la memória que en ese punto se consume...

Sobre lo del unload, es buena tu observación, pero me imagino que cuando haces unload de un mapa cargado este será sobre el mapa que ya ha sido modificado en ejecución, o sea, con los cambios que tuvo en la Ram.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 07:03:11 am
Ha y se me olvidaba. Sobre el tema tambien tengo una muy buena pregunta:

Como sabes ahora se permite, tal como en DIV, poner un tile sobre el mapa destino en regiones negativas (fuera del mapa destino), la pregunta es, las partes que quedan fuera (regiones del tile que no coincidan con el area del mapa destino) tambien se pintan o desaparecen ??

Es que estas partes si se pintan pues tambien ocuparan memória, o sea, si estan ahí, no vas a tener sólo la memória que ocupe el mapa destino, ya que el resultado va ser una region mayor...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2009, 09:14:29 am
Free, no debería haber aumento de memoria en el mapa, hagas 10, 1000 o 100000000000000 map_block_copy, porque map_block_copy es como map_put_pixel pero con varios pixels a la vez. Una cosa es que los comandos PUT y familia (entre ellos map_block_copy) sean comando "lentos" (la gp2x no puede "refrescar" una pantalla de 320x240 a 30fps) y otra cosa es que se ralenticen.

Si haces unload del mapa, lógicamente se pierden los cambios porque no los has guardado, al hacer load cargas el que tenías en el disco, sin cambios. Si quieres que se guarden, debes hacerlo en el disco, no sólo en la memoria.

Me parece que no tienes claro el concepto de memoria.

esto es correcto...

Free, lo que dices no es asi, si lo piensas y haces las cosas correctamente, no hay forma de que pase lo que dices... el map_block_copy (ya lo dije en su momento) no escribe mas alla de los limites del mapa destino, no crea ningun mapa nuevo ni lo agranda ni lo achica... seria ilogico si hace eso. Entonces, si yo tengo un escritorio con 10 cajones que solo entra un objeto en cada cajon, si yo hago un copy a ese cajon de otro objeto (reemplazando el que tenia previamente) cómo eso va a ser que mi escritorio tenga mas cajones? imposible. Por eso el "WTF!"

Desaparecen, ya te lo habia explicado, se ve que no lo hice bien. Es completamente ilogico que queden.

Ahora, si creas el mapa destino muchas veces o cargas constantemente los tiles y no los desacargas, o haces clone y no haces unload de esos mapas, entonces seguramente te va a consumir mas memoria cada vez. Revisa tu codigo, quizas tienes algo de eso...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 02:02:09 pm
Ok, esta todo aclarado, entonces el cambio que hiciste en la rc112, para poder poner tiles que tienen parte de su gráfico fuera del mapa destino, se 'limpian' automaticamente y sólo queda en memoria la parte visible que pertenece a la region del mapa destino ???

No se si te acuerdas, pero DCelso te puso unas pantallas que aclaraban esto, y en ellas y segun el cambio que hiciste, ya se podian pintar tiles fuera de la region destino (como en DIV), o sea, tiles que parte de su cuerpo salian fuera del mapa destino.

Por otro lado lado me parece un poco raro que con el cambio que hiciste en la rc112, no ponga nada fuera del mapa destino, ya que yo por ejemplo pongo un tile (que creo que esta fuera del mapa destino, x<0) que sirve como pared invisible, que no deja que el prota pase de x < 0 del mapa destino, y esta pared ya se encuentra fuera del mapa visible pero tiene que estar ahí ya que el prota colisiona con ella.

De momento esta todo OK, esto fue a titulo de reflexión/dudas, para mi el map_block_copy no necesita ningun cambio, ni necesito buscar otra solución de momento, ya que en principio y segun mis ultimas pruebas ya no voy a tener más problemas de rendimiento en la Wiz, ya que en el juego final no vas a tener vida infinita como en mis pruebas :) Es que esto me permite pasar por varios enemigos y matar varios a la vez, encima que tenia el tiro en automatico (tirando mogollon de tiros al mismo tiempo) pero en la version final el jugador no llega a este estremo ya que va a morrir antes, con suerte luchará con 2 enemigos al mismo tiempo, heheheh, así que en rendimiento no va poder caer tan en picado :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2009, 03:14:22 pm
a ver... nunca se copio mas alla del espacio que existe... antes directamente no se copiaba nada... si eran negativas las coords...

nooo! nunca se pintan tiles fuera de la region, ni en bennu ni en DIV...

que dificil es explicar algo muy basico... si yo tengo una bolsa (mapa destino) que entra 1kg de pan... por mas que yo tenga 10kg de pan para ponerle... en la bolsa solo entra 1kg de pan... el resto no entra, entonces no se pone...

creo que aun no logro que entiendas el concepto.

Por favor, alguien que me de una mano a explicar la cosa de forma mas simple...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 04:09:42 pm
Si te entiendo, no te preocupes. Grácias por la paciencia de santo.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Noviembre 29, 2009, 04:13:46 pm
Lo del map_block_copy es muy sencillo:
Imagina que en una pared cuelgas un papel grande, ahora trazas una linea enorme y esta se sale del papel y pintas la pared (es lo que sucede cuando tu mapa pinta fuera del mapa, cuando se sale), pues bien, si retiras el papel de la pared, sólo verás la linea que ha quedado dentro, lo que has pintado en la pared no aparece y el papel no se ha hecho más grande para abarcarlo. En el mapa destino pasa lo mismo, sólo almacena los datos del papel, lo que pase en la pared se pierde, como si nunca hubiera existido.
Y no, eso que se sale del mapa no ocupa memoria extra, simplemente no se dibuja en ningún sitio, en ese aspecto la brocha es "inteligente" y no mancha nada fuera del papel.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2009, 04:45:36 pm
si, con la salvedad que en bennu, cuando se va a pintar mas alla de los limites del papel, directamente no se pinta... no se hace el trabajo de pintarlo...

pero si, esa es la idea, gracias.
Título: Re: Avances, Diario de...
Publicado por: DjSonyk en Noviembre 29, 2009, 04:55:46 pm
Mira Free eso lo puedes ver bien en mi editor,que como tiene Scroll ciclico,si te pasas con el scroll el tamaño que has selecionado veras que no puedes pintar,y otra prueba que tambien puedes hacer es pintar un tile por ejemplo de 32x32 en el limite y veras que "SOLO"se pinta el cacho que entre en tu mapa y el resto no se pinta ^^,ahi lo puedes comprobar perfectamente ^^...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2009, 11:10:49 pm
Grácias compis. Sobre funcionamiento y como debe funcionar nunca tuve dudas, otra cosa era saber si realmente lo hacia de esa forma ;)
Con vuestras palabras ya me fio, no tengo que probarlo, es suficiente  ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 30, 2009, 02:07:30 pm
nuevas correcciones:

- Tablas de calculos trigonometricos se calculan ahora al cargar el modulo mod_grproc y no al momento de usar las funciones, esto corrige la pausa en el juego galaxian cuando la primera nave entraba en rotacion
- Se reemplaza la des-4.04b por la libssl (openssl)
- la carpeta vendor ahora se llama 3rdparty
- los fuentes crypt.* ahora se llaman b_crypt.* para evitar conflictos con los del SO
- la libreria de log se agregar comando para controlar nivel de log (aun no se usa esta lib en el proyecto)
- revision del modulo de sonido, y se agregan 2 nuevas funciones SOUND_INIT y SOUND_CLOSE, sirven para resetear el sistema de sonido y poder modificar cosas como cantidad de canales, frecuencia y otras cosas.
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 30, 2009, 02:58:28 pm
Genial, gracias :)
Me pongo a empaquetar.
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 30, 2009, 04:03:59 pm
Venga, un pequeño comentario: al enlazar contra libssl me da un error de dependencias, tengo que enlazar contra libcrypto, que también viene del paquete libssd-dev. (En Ubuntu libssl.so depende de libcrypto.so).
Lo que he hecho es cambiar el configure.in para enlazar contra libcrypto, no sé si te parece bien.

Bueno, el bennugd-core ya se ha compilado en el servidor y pronto se copiará a los servidores de actualizaciones y los módulos empezarán en unos 20 minutillos a compilar, así que si todo va bien, en un ratito le dais a actualizar y listo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 30, 2009, 04:16:45 pm
lo raro es que a mi no me dio esos errores y compilo correctamente...

pero me parece bien...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 30, 2009, 05:49:51 pm
Bueno, ya lo comenté en el otro hilo: si esto funciona, podría resolver los problemas de incompatibilidad entre firms de GP2X.
A Splinter ya le di un karma por el trabajo hecho, ahora le doy otro al Josebita por mantener la versión Linux (ahora tendré que pillar un rato de desconexión para actualizar :D :D :D).
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Diciembre 31, 2009, 11:54:53 am
 ;D ;D ;D, Jejejeje, o sea que mi Galaxian ha provocado el cambio y revision de los calculos trigonometricos, no se si sentirme orgulloso o sentirme lapidado por SplinterGU.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 31, 2009, 06:31:09 pm
la cosa es que la tabla de cosenos y senos se calculaba cuando se usaban las funciones de getangle o similares... en pc se caga de la risa, pero en wiz se reciente mucho el uso de flotantes... y se frena un momento cuando el primer marciano cae en ataque...

despues de revisar el galaxian y optimizar un monton de cosas, pero aun asi ver que no mejoraba, sospechaba que el problema estaba ahi, pero cuando lo modifique confirme que ese era el problema...

gracias, un karma...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Enero 01, 2010, 07:39:38 am
Gracias Splinter, ni sabía que hubiese una tabla de trigonometría que se inicializaba, un granito de arena más de tantos otros :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 01, 2010, 11:28:39 am
para optimizar calculos luego.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Enero 04, 2010, 03:08:44 pm
Grandioso que exista algo así, se presupone que la primera utilización de una función trigonométrica supondrá posteriores usos, no es lo habitual cuando empiezas "desde 0", pero un videojuego es un videojuego, y si se usa una... Se usarán también en adelante.

Veo que todos los años de desarrollo tienen su fruto, si es que da "yuyu" pensar en usar otra cosa que no sea Bennu para hacer un videojuego :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 19, 2010, 04:47:52 pm
bien, tras un tiempo sin actualizacion, acabo de liberar una nueva version que incluye todos los nuevos fixes, incluido el uso de openssl para la encripcion...

vuelve a funcionar el instalador de win32 (en teoria, deberia decir, lo hice compilar)

ver mi firma para la descarga... version 1.0 RC11(r131)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 19, 2010, 06:03:09 pm
Permíteme ser el primero en darte el merecido karma por la release :)

No te quejarás, acabo de terminar de programar en bennu por hoy y son las 3 de la noche ;D
Título: Re: Avances, Diario de...
Publicado por: osk en Enero 19, 2010, 06:41:47 pm
Gracias!!
Título: Re: Avances, Diario de...
Publicado por: simulatorone en Enero 21, 2010, 01:33:13 am
bien, tras un tiempo sin actualizacion, acabo de liberar una nueva version que incluye todos los nuevos fixes, incluido el uso de openssl para la encripcion...

vuelve a funcionar el instalador de win32 (en teoria, deberia decir, lo hice compilar)

ver mi firma para la descarga... version 1.0 RC11(r131)

Que cosas nuevas tiene? fixes arreglados?

:)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2010, 08:02:41 am
hay que revisar en el svn el log desde la ultima release a esta... esos son los cambios...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2010, 08:09:32 am
------------------------------------------------------------------------
r113 | SplinterGU | 2009-11-08 15:09:38 -0300 (dom 08 de nov de 2009) | 3 lines

- Fix modvideo_mode_is_ok parameters
- Fix mod_crypt args types

------------------------------------------------------------------------
r114 | SplinterGU | 2009-11-09 14:24:33 -0300 (lun 09 de nov de 2009) | 3 lines

- Add liblog (LGPL)
- Add libdict (LGPL)

------------------------------------------------------------------------
r115 | SplinterGU | 2009-11-09 14:33:47 -0300 (lun 09 de nov de 2009) | 2 lines

- loadlib LGPL upgrade

------------------------------------------------------------------------
r116 | SplinterGU | 2009-11-12 00:41:19 -0300 (jue 12 de nov de 2009) | 2 lines

- Log update

------------------------------------------------------------------------
r117 | SplinterGU | 2009-11-12 21:45:45 -0300 (jue 12 de nov de 2009) | 2 lines

- Log Update

------------------------------------------------------------------------
r118 | SplinterGU | 2009-12-26 19:29:45 -0300 (sáb 26 de dic de 2009) | 2 lines

- Add module_initialize with init_cos_tables in mod_grproc and mod_m7, for speedup

------------------------------------------------------------------------
r119 | SplinterGU | 2009-12-26 21:13:10 -0300 (sáb 26 de dic de 2009) | 3 lines

- Add SOUND_INIT and SOUND_CLOSE for initialize and deinitialize the module
- Remove unusefull variables

------------------------------------------------------------------------
r120 | SplinterGU | 2009-12-29 16:25:47 -0300 (mar 29 de dic de 2009) | 2 lines

- Log level control added

------------------------------------------------------------------------
r121 | SplinterGU | 2009-12-30 18:15:17 -0300 (mié 30 de dic de 2009) | 6 lines

- Rename vendor folder to 3rdparty
- Remove use des-4.04b, and now use openssl
- Update configure/autotools
- rename crypt* to b_crypt*


------------------------------------------------------------------------
r122 | SplinterGU | 2009-12-30 18:23:40 -0300 (mié 30 de dic de 2009) | 5 lines

- Rename vendor folder to 3rdparty
- Remove use des-4.04b, and now use openssl



------------------------------------------------------------------------
r123 | SplinterGU | 2009-12-30 18:26:57 -0300 (mié 30 de dic de 2009) | 3 lines

- Rename vendor folder to 3rdparty
- Remove use des-4.04b, and now use openssl

------------------------------------------------------------------------
r124 | SplinterGU | 2009-12-30 18:47:27 -0300 (mié 30 de dic de 2009) | 2 lines

- Replace libdes to libssl

------------------------------------------------------------------------
r125 | SplinterGU | 2010-01-15 14:52:27 -0300 (vie 15 de ene de 2010) | 2 lines

- Fix some problems with set mouse position on scale_mode

------------------------------------------------------------------------
r126 | SplinterGU | 2010-01-15 19:29:46 -0300 (vie 15 de ene de 2010) | 2 lines

- path_find memory leak fix

------------------------------------------------------------------------
r127 | SplinterGU | 2010-01-17 17:28:55 -0300 (dom 17 de ene de 2010) | 2 lines

- mod_path memory leak patch fix

------------------------------------------------------------------------
r128 | SplinterGU | 2010-01-18 02:50:36 -0300 (lun 18 de ene de 2010) | 2 lines

- Fix libssl on mingw

------------------------------------------------------------------------
r129 | SplinterGU | 2010-01-18 03:02:25 -0300 (lun 18 de ene de 2010) | 2 lines

- libSSL fix

------------------------------------------------------------------------
r130 | SplinterGU | 2010-01-18 03:06:33 -0300 (lun 18 de ene de 2010) | 2 lines

- LibSSL fix mingw

------------------------------------------------------------------------
r131 | SplinterGU | 2010-01-19 18:38:26 -0300 (mar 19 de ene de 2010) | 2 lines

- Win32 libpng fix

------------------------------------------------------------------------
r132 | SplinterGU | 2010-01-19 21:34:43 -0300 (mar 19 de ene de 2010) | 2 lines

- Change ssl by crypto

------------------------------------------------------------------------
Título: Re: Avances, Diario de...
Publicado por: Prg en Enero 22, 2010, 02:11:55 pm
gracias por la nueva versión, karma++ splinter :)
Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 24, 2010, 04:36:56 am
Muchas gracias Juan, otro karma y superando ya los 100  ;D
Título: Re: Avances, Diario de...
Publicado por: Windgate en Enero 24, 2010, 12:17:46 pm
Me uno al K++, el tema del path_find estaba pendiente y me interesaba desde hace tiempo, gracias!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 24, 2010, 07:23:54 pm
:)

por favor, si hacen pruebas pasenme feedback... gracias...
Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 25, 2010, 12:10:51 pm
A mi el instalador de Windows no me funciona, uso Windows XP.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 29, 2010, 08:56:50 am
SplinterGU, felicidades por los cambios al bennu, el último punto no lo entiendo, has cambiado ssh por crypto? o que un tal crypto ha sido el que ha hecho el ssh o ...,  no me queda claro :D.

Por otro lado ahora la dependencia de libdes no existe no? ahora necesitamos en las demás platarormas una nueva librería dinámica externa de ssh o está dentro de las internas de bennu.

Saludos.,
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 29, 2010, 09:12:14 am
crypto es parte del openssl, la libssl era la incorrecta para las funciones que uso, deberia haber puesto inicialmente libcrypto, pero me confundi... y linux no chillo...

libdes no va mas... ahora se usa openssl, es una lib estandard... hasta ya la compile en wiz...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 29, 2010, 09:35:36 am
ok, thanks for the explanation.  ::)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 03, 2010, 02:39:58 am
Pero libcrypto ahora será una dependencia externa no?, necesitamos de un libcrypto.dll.
O esta compilado de forma estática como antes estaba libdes.

Y como compilaste libcrypto en wiz? o ya viene.

No tengo claro en wiz aún las dependencias que en linux y windows se hacen con las external libs.

He mirado la distribución de wiz y no he visto ningún "*.so" de las external libs, esto quiere decir que van de forma estática en el bennu de wiz o que vienen ya en el sistema de la wiz o como va la cosa.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 03, 2010, 06:53:45 am
las que se necesitan en wiz y no estan incluidas en el SO, van en la misma carpeta que el bgd-runtime... trato de no modificar el sistema operativo.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 03, 2010, 10:08:02 am
Pero libcrypto ahora será una dependencia externa no?
Y como compilaste libcrypto en wiz? porque el codigo fuente viene para cc en sus makefiles. Y tampoco veo libcrypto en bdd-runtimes del binario de openwiz r131, por ejemplo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 03, 2010, 12:08:48 pm
entonces en wiz esta metida estatica... la compile con make...

no te funciona la version wiz?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 03, 2010, 12:58:52 pm
No tengo wiz, estoy esperando a pandora :).
Yo lo comentaba por saber para un futuro poder hacer compilaciones cruzadas de bennu.
he probado a compilar el código de openssl usando open2x y no lo he logrado, los makefiles no están muy bien hechos para compilaciones cruzadas.
Resulta que usan el compilador "cc" sin la variable CC, y así las demás.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 03, 2010, 01:45:32 pm
algo tuve que tocar a mano...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Febrero 09, 2010, 02:13:58 pm
Jolín, hace mucho que no me paso por aquí, y ya estoy totalmente perdido, ja ja ja. ¿Por que versión de bennu vamos ya? yo me quedé en la wip 11 ¿merece la pena que pruebe alguna de las betas no oficiales? ya que he leido en la página oficial que la última versión estable es la 11 ¿ o hay algo que he interpretado mal?
Título: Re: Avances, Diario de...
Publicado por: josebita en Febrero 09, 2010, 02:28:46 pm
La última versión es la RC11 (Release Candidate). Vamos por la casi1.0.
Bienvenido de nuevo :)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 09, 2010, 03:54:30 pm
Si, es la RC11, version r131 ;D
Splinter no se atreve aun a dar por definitiva la versión actual, pues aun se van encontrando bugs, cada vez menos.

Por cierto, hace mucho que no se te ve :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 09, 2010, 03:58:55 pm
betas no oficiales? y eso?

por otro lado, wip11, es viejisima...
Título: Re: Avances, Diario de...
Publicado por: Danielo515 en Febrero 10, 2010, 12:53:45 am
Puede ser que esté equivocado y la r-24 sea más nueva que la wip 11? pues en ese caso, voy por la r-24  ;D

No se, yo en bennugd.org he leido en downloads algo de 11..... a lo mejor me he flipado
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 10, 2010, 06:29:29 am
muchacho... vamos por la r131... o mas... r24 es viejisima...
Título: Re: Avances, Diario de...
Publicado por: panreyes en Febrero 11, 2010, 01:33:10 am
Hello. Una pregunta, ¿es normal que pida libcrypto el configure del core?
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 11, 2010, 05:51:34 am
Se supone que si, ahora que se ha pasado a openssl. Creía haber entendido que era una de las librerías que venían con él ¿o era porque la función de encriptado era nueva?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 11, 2010, 06:21:04 am
viene en la openssl
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 11, 2010, 06:46:30 am
Creo que pregunta que cree que solo sería necesario enlazar con ella el módulo de encriptado y que si el core no hace de uso de ella pues no sería necesar "linkarlo" con esta librería.
Dicho de otra forma, ¿Es necesario el uso de la librería libcrypto de openssl para compilar el core de bennugd?
Título: Re: Avances, Diario de...
Publicado por: panreyes en Febrero 11, 2010, 08:59:27 am
Creo que pregunta que cree que solo sería necesario enlazar con ella el módulo de encriptado y que si el core no hace de uso de ella pues no sería necesar "linkarlo" con esta librería.
Dicho de otra forma, ¿Es necesario el uso de la librería libcrypto de openssl para compilar el core de bennugd?

Esa era mi pregunta concreta :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 11, 2010, 09:55:07 am
si, es necesario, puesto que esta pensando para en un futuro tener dcb encriptados.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 11, 2010, 10:29:31 am
moola, ¿un futuro próximo?¿Será extensible para archivos de recursos fpg,oggs,etc?
Por otro lado, entonces para que pixel lo compile para el linux de la wii ahora no es necesario, es decir, podemos prescindir del módulo de encriptación y compilar el core sin el libcrypto por ahora para optener una versión de bennugd para wii sin necesidad de compilar libcrypto en wii.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 11, 2010, 11:54:38 am
es la idea... pero a nivel compilacion solo dcb encriptados.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 11, 2010, 11:55:45 am
no, no se puede prescindir... no me explique bien entonces...

si, es necesario, puesto que esta pensando para en un futuro tener dcb encriptados, e incluido en los apis basicos.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 11, 2010, 12:08:37 pm
¿Y tiene utilidad encriptar los DCBs? es decir ¿tan sencillo es hacer ingeniería inversa con ellos en proyectos de índole comercial cuyo código debe ser protegido bajo cuatro llaves en el fondo del mar?
Los gráficos, músicas y demás todavía lo entiendo (aunque seamos aficionados, no nos hace gracia que otros se enriquezcan con nuestro trabajo, como ya ha pasado alguna vez), pero los DCB... al menos, muchos de nosotros hasta compartimos código ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 11, 2010, 05:19:13 pm
el dcb puede contener datos sensibles que si bien para tus proyectos no son necesarios, no significa lo mismo para todos los proyectos...
Título: Re: Avances, Diario de...
Publicado por: Windgate en Marzo 02, 2010, 06:02:23 am
Yo no saco absolutamente nada sin todo el código y recursos abiertos para que cualquiera pueda utilizarlos ;D

Y si se forra alguien me alegraré, pues significa que yo también puedo hacerlo xD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 02, 2010, 07:54:42 am
es correcto, pero hay gente que no quiere eso...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 02, 2010, 12:02:15 pm
Yo, por ejemplo. Me fastidiaría sobremanera que alguien se lucrase de MI trabajo sin ni siquiera pedirme permiso.
O sea, no me importa que se use el código que he subido (por ejemplo, del motor de tiles), los juegos que haga o las aplicaciones, mientras no se cobre por ello. Pero si se va a conseguir algún beneficio, al menos, avisar para llegar a algun acuerdo (o llevarme la parte que me corresponde) ¿no? ;D ;D ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 18, 2010, 07:29:47 am
primeras pruebas con opengl...

una modificacion muy cutre del core bennu para usar opengl hecho en 15 minutos anoche... me dio en una prueba de un programa que hace rebotar 1000 pelotas en una resolucion de 640x480x32 con graficos de 32x32x32 unos 254fps, cuando la misma prueba en bennu por soft me da unos 48fps...

esta es una rapida version... con cero optimizacion, muy sucia y ejecutando mucho codigo que no deberia ejecutar... solo soporta procesos con graficos sin rotacion ni escalado.. si con alphas... pero bueno, es un adelanto y queria compartirlo con Uds.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 18, 2010, 08:48:17 am
Lo ideal, es que despues pongas una variable que permita elegir el modo al principio del programa (aceleración por Software/Hardware).
Incluso puedes ir sacando versiones del mismo modo que lo haces hasta ahora, pero que ni que tenga la parte por Hardware en estado beta, cosa que no implica que puedas seguir sacando Bennu sin que tenga la parte por hardware completa al 100%, y podemos seguir usando la parte por software como hasta ahora...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 18, 2010, 09:13:33 am
genial, pero ¿SDL no traía una forma de usar opengl internamente?+
http://www.libsdl.org/opengl/index.php
El primer ejemplo hacel algo como SDL_SetVideoMode(640, 480, 0, SDL_OPENGL)

Código: [Seleccionar]
//
// This code was created by Jeff Molofee '99
// (ported to SDL by Sam Lantinga '2000)
//
// If you've found this code useful, please let me know.
//
// Visit me at www.demonews.com/hosted/nehe
//
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#if defined(__APPLE__) && defined(__MACH__)
#include <OpenGL/gl.h> // Header File For The OpenGL32 Library
#include <OpenGL/glu.h> // Header File For The GLu32 Library
#else
#include <GL/gl.h> // Header File For The OpenGL32 Library
#include <GL/glu.h> // Header File For The GLu32 Library
#endif
#include "SDL.h"

/* A general OpenGL initialization function.  Sets all of the initial parameters. */
void InitGL(int Width, int Height)         // We call this right after our OpenGL window is created.
{
  glViewport(0, 0, Width, Height);
  glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black
  glClearDepth(1.0); // Enables Clearing Of The Depth Buffer
  glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
  glEnable(GL_DEPTH_TEST); // Enables Depth Testing
  glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity(); // Reset The Projection Matrix

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f); // Calculate The Aspect Ratio Of The Window

  glMatrixMode(GL_MODELVIEW);
}

/* The main drawing function. */
void DrawGLScene()
{
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
  glLoadIdentity(); // Reset The View

  glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0

  // draw a triangle
  glBegin(GL_POLYGON); // start drawing a polygon
  glVertex3f( 0.0f, 1.0f, 0.0f); // Top
  glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
  glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
  glEnd(); // we're done with the polygon

  glTranslatef(3.0f,0.0f,0.0f);         // Move Right 3 Units

  // draw a square (quadrilateral)
  glBegin(GL_QUADS); // start drawing a polygon (4 sided)
  glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
  glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right
  glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
  glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
  glEnd(); // done with the polygon

  // swap buffers to display, since we're double buffered.
  SDL_GL_SwapBuffers();
}

int main(int argc, char **argv)

  int done;

  /* Initialize SDL for video output */
  if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
    fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError());
    exit(1);
  }

  /* Create a 640x480 OpenGL screen */
  if ( SDL_SetVideoMode(640, 480, 0, SDL_OPENGL) == NULL ) {
    fprintf(stderr, "Unable to create OpenGL screen: %s\n", SDL_GetError());
    SDL_Quit();
    exit(2);
  }

  /* Set the title bar in environments that support it */
  SDL_WM_SetCaption("Jeff Molofee's GL Code Tutorial ... NeHe '99", NULL);

  /* Loop, drawing and checking events */
  InitGL(640, 480);
  done = 0;
  while ( ! done ) {
    DrawGLScene();

    /* This could go in a separate function */
    { SDL_Event event;
      while ( SDL_PollEvent(&event) ) {
        if ( event.type == SDL_QUIT ) {
          done = 1;
        }
        if ( event.type == SDL_KEYDOWN ) {
          if ( event.key.keysym.sym == SDLK_ESCAPE ) {
            done = 1;
          }
        }
      }
    }
  }
  SDL_Quit();
  return 1;
}
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 18, 2010, 09:14:26 am
Un artículo que entra a fondo en SDL y aceleración hardware
http://linuxdevcenter.com/pub/a/linux/2003/08/07/sdl_anim.html

¿Es esto lo que estás haciendo? porque esto supongo que será más facil para empezar.

O por el contrario lo que estas haciendo es eliminar SDL de Bennu, lo que estaría genial y optimizaría el sistema increiblemente.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 18, 2010, 09:26:25 am
Si, si, eliminaba el SDL y tu harias los ports multiplataforma :)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 18, 2010, 10:16:21 am
Si, si, eliminaba el SDL y tu harias los ports multiplataforma :)
¿?
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 18, 2010, 10:35:34 am
Genial, si se le mete aceleración HW, Bennu, en vez de volar, viajaría por el espacio :D
Lo que me llama la atención es que los cambios se hagan en el core de bennu en lugar de en los módulos/librerías que tratan con gráficos y toda la pesca, y así luego poder escoger entre las librerías con SDL y las otras con OGL, sin variables ni nada, a traves de los imports ¿no era ese el objetivo?
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 18, 2010, 11:20:56 am
Ha dicho que es una primera versión muy preliminar.
Pero si le estás metiendo cosas nuevas,  no deberíamos llamar a la rc11 cómo 1. 0 final?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 18, 2010, 02:12:27 pm
ufff... vamos por partes...

Lo ideal, es que despues pongas una variable que permita elegir el modo al principio del programa (aceleración por Software/Hardware).
Incluso puedes ir sacando versiones del mismo modo que lo haces hasta ahora, pero que ni que tenga la parte por Hardware en estado beta, cosa que no implica que puedas seguir sacando Bennu sin que tenga la parte por hardware completa al 100%, y podemos seguir usando la parte por software como hasta ahora...

Sera mucho mejor que eso... podras elegir...

genial, pero ¿SDL no traía una forma de usar opengl internamente?+
http://www.libsdl.org/opengl/index.php
El primer ejemplo hacel algo como SDL_SetVideoMode(640, 480, 0, SDL_OPENGL)


quien dijo que no estaba usando eso? es mas arranque con opengl directo (cosa que no descarto) pero luego use SDL_gl... por otro lado, no es tan transparente como vos decis... solo estoy usando SDL para setear el modo de video y que no me cree una ventana nueva, para hacer el swap del video, y para activar cosas como el vsync... pero nada mas que eso, no uso surfaces SDL ni nada de eso... todo directo... asi que nada...

Genial, si se le mete aceleración HW, Bennu, en vez de volar, viajaría por el espacio :D
Lo que me llama la atención es que los cambios se hagan en el core de bennu en lugar de en los módulos/librerías que tratan con gráficos y toda la pesca, y así luego poder escoger entre las librerías con SDL y las otras con OGL, sin variables ni nada, a traves de los imports ¿no era ese el objetivo?

"core" me refiero al core grafico (parte del core que reside en los modulos), creo que eso es mas que obvio, no necesita explicacion... sin embargo no toda la parte de lo que se dice "core" esta residente en el bgdrtm... mucha funcionalidad del core se encuenta en los modulos o librerias y se proveen a traves de callbacks o hooks.

Ha dicho que es una primera versión muy preliminar.
Pero si le estás metiendo cosas nuevas,  no deberíamos llamar a la rc11 cómo 1. 0 final?

exacto, es preliminar, aunque mas que premiliar diria experimental, y es otra rama de modulos por ahora... esta lejos de ser version distribuible...

----

a todos... la noticia es que estoy empezando a trabajar en la acceleracion grafica de bennu y que ya es en parte un prototipo funcional, pero no final... yo no dije nada mas... no dije que voy a quitar el swrender... ni tampoco dije que no iba a ser posible elegir entre sw o hardware... tampoco dije que use o no use SDL... ni otra cosa... solo digo que estoy trabajando en prototipos con acceleracion y me da un 500% mas rapido que el actual render...
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 18, 2010, 04:23:22 pm
Eso es genial.  Intento decir que ya es hora de tener la 1.0 en base a lo que ya hay,  que es mas que estable.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 18, 2010, 04:34:45 pm
 :o anda que no molaría ver el test.
podrías ponernos un vídeo o algo que ver :D
No es bueno enseñar una piruleta a un niño y luego esconderla  ;).
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 18, 2010, 05:36:17 pm
Pues nada, esperaremos, será que no hay cosas por hacer mientras.
Como ya tenemos experiencia con el tema de esperar una release que maneje gráficos (¿alguien se acuerda de la WIP2? ;D) sabemos lo que nos toca, aunque claro, splinter, lo primero es lo primero, no descuides tu vida exterior ;)

Pues nada, voy a seguir con mis ratos libres, a ver si consigo el deslumbramiento que se me pidió hace un par de días, estoy trabajando en el editor de terrenos.
Título: Re: Avances, Diario de...
Publicado por: Prg en Marzo 18, 2010, 07:05:01 pm
excelente noticia la de bennu con opengl :)  ;D  ;D nadie le ha dado karmas a splinter por esta noticia?
karma++
Título: Re: Avances, Diario de...
Publicado por: gecko en Marzo 18, 2010, 07:48:07 pm
Muy muy buena noticia!

Siento ser un poquito parte de algo cada vez mas y mas importante como lo es Bennu!

jajaja

Gracias Splinter! :)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 18, 2010, 11:39:25 pm
Yo no le doy karmas que ya tiene muchos, y si no me va a costar más alcanzarlo :D.

Veeenga va, si nos pones algo que ver, almenos un screenshot con ese 300% de "performanze" te doy unos karmas  ;).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 19, 2010, 01:44:08 am
Yo no le doy karmas que ya tiene muchos, y si no me va a costar más alcanzarlo :D.

Veeenga va, si nos pones algo que ver, almenos un screenshot con ese 300% de "performanze" te doy unos karmas  ;).

vos tambien tenes muchos karmas y sin embargo te seguimos dando mas...

las 2 versiones de bennu corriendo juntas... corriendo solo la version opengl da unos 254fps... y la bennu normal 48fps...

la imagen no sale perfecta porque el capturador no espera vsync...

(http://img59.imageshack.us/img59/4245/pantallazoe.jpg)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 19, 2010, 01:48:23 am
ahora me doy cuenta que el tema de los colores, no siempre van bien... veo que en algunos casos tengo que hacer algun swap de bytes y en otros no...

bueno, 1 es png y los fonts son fonts de bennu...

como sea, estos son solo pruebas, todo lo que estoy haciendo va a la basura... la cosa es probar el funcionamiento y adquirir toda el conocimiento opengl, para luego hacer el cambio correctamente...

no es 300% es 500%...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Marzo 19, 2010, 01:57:07 am
Oh, pues siendo test mola mucho, encima ya usa fonts y múltiples procesos con imágenes.

ea, karmita pal nene que se lo ha currao :).

Título: Re: Avances, Diario de...
Publicado por: Windgate en Marzo 19, 2010, 04:21:19 am
Karma up, el incremento de rendimiento para el dibujado nunca me ha dado problemas significativos, ni con miles de procesos, pero siempre viene bien acelerar los cálculos para permitir liberar de carga a la CPU y poder hacer otras cosas. Con 32 bits he hecho alguna prueba exhaustiva con unos 1000 procesos con transparencia y ahí se nota más la pérdida de fps, quizás OpenGL sea la solución para poder hacer videojuegos en 32 bits con grandes cantidades de procesos activos... Sólo nos faltan unos buenos grafistas, pero bueno xD
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 19, 2010, 05:37:19 am
Es cierto, olvidé darle karma al amigo para que tenga suficiente energía para seguir con ello (y no es al único).
De todas formas ¿esto tiene algo que ver con que WIZ soporte OpenGL ES 1.1? ;D Lo cierto es que le daría un empujón muy grande a la scene portatil, sobre todo para que no se me quejen de cierto proyecto por tener un frameskip cada segundo :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 19, 2010, 08:16:06 am
todavia no probe nada en Opengl ES... pero basicamente es lo mismo... con alguna que otra diferencia... pero claro, la idea es que la version opengl tambien sea portable...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 19, 2010, 09:54:35 am
Ahora que esta el SDK oficial con soporte OpenGL habrá que ver como funciona, y que dependencias tiene para controlar correctamente la aceleración hardware de la consola, ya que por ejemplo con el GLBasic el OpenGL todavia no funciona correctamente en la Wiz.
Título: Re: Avances, Diario de...
Publicado por: blostec en Marzo 20, 2010, 04:54:40 am
Fantástica noticia Splinter, gracias por tu esfuerzo. karma up!
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Marzo 20, 2010, 11:31:14 am
CROOOOOOMMMM! que rendimiento, como diriamos por aqui, SplinterGU eres el puto amo, gracias por todo el curro que te esta pegando.
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 22, 2010, 01:17:36 am
primeras pruebas con opengl...

una modificacion muy cutre del core bennu para usar opengl hecho en 15 minutos anoche... me dio en una prueba de un programa que hace rebotar 1000 pelotas en una resolucion de 640x480x32 con graficos de 32x32x32 unos 254fps, cuando la misma prueba en bennu por soft me da unos 48fps...

esta es una rapida version... con cero optimizacion, muy sucia y ejecutando mucho codigo que no deberia ejecutar... solo soporta procesos con graficos sin rotacion ni escalado.. si con alphas... pero bueno, es un adelanto y queria compartirlo con Uds.

¿Está en el SVN?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 22, 2010, 07:37:23 am
no
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 22, 2010, 10:32:44 am
Ok :)
Título: Re: Avances, Diario de...
Publicado por: Windgate en Marzo 26, 2010, 07:19:54 pm
Mucho ánimo Splinter, cuenta con mi ayuda para lo que necesitas, yo me "apuesto" ya un donativo para cuando salga la versión que use OpenGL para dibujar, qué menos :D

La verdad no sabía que estabas hablando de ese tema en este hilo, lo sigo a partir de ahora :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 30, 2010, 12:33:33 am
por fin logre renderizar texturas de 16 y 32 bits a la vez en opengl... lo unico que ahora los mapas de 16bits para opengl seran convertidos a RGBA=5551...

me voy a dormir... saludos.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 30, 2010, 12:46:29 am
Que diferencia horaria tienes, siempre me lo he perguntado :) Los libros que he puesto han servido de algo ? alguien sabe donde sacar los 4 ? Tengo eso pendiente...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 30, 2010, 12:54:30 am
Me autorespondo  ;D

Justo ahora aqui van ser las 11 de la mañana y en Argentina las 6 de la mañana  ;)

Currando hasta tarde, he Splinter! Me imagino que ya no tienes curro de día  ;D
Título: Re: Avances, Diario de...
Publicado por: panreyes en Marzo 30, 2010, 12:55:01 am
No ayuda mucho, pero un karma por el sueño invertido! Bueno, más bien por el logro :)
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 30, 2010, 03:14:22 am
¡Muchas felicidades!
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 30, 2010, 03:36:08 am
Yo también me sumo al karma, porque es un curro impresionante y va a repercutir muy positivamente en aquellas máquinas con aceleración HW.
Además, es posible que ayude a la integración de aquellas librerías que usen OGL en lugar de SDL.

De todas formas, muchas gracias por currártelo tanto, Splinter. Te mereces todo nuestro apoyo y mucho más :)
Título: Re: Avances, Diario de...
Publicado por: Prg en Marzo 30, 2010, 06:50:15 am
por fin logre renderizar texturas de 16 y 32 bits a la vez en opengl... lo unico que ahora los mapas de 16bits para opengl seran convertidos a RGBA=5551...

me voy a dormir... saludos.

genial, excelente noticia  :)
me uno al karma ++
buenas noches... más bien diría buenos días que ya deben ser como las 8  :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 30, 2010, 07:35:05 am
lamentablemente los libros no me sirvieron para resolver el problema... pero me serviran para otras cosas... al final consegui varios en rapidshare...

tengo curro de dia, pero curro en casa... duermo un poco de dia muy tarde y despues me cuesta dormir a la noche... y luego duermo a la noche un poco... no logro dormir mas de 3 horas... asi que tengo sueño invertido y corto...

por ahora los experimentos tienen render mixto... o sea, render por soft para dibujar texturas sobre texturas o para cosas como dibujar el fondo (ahora mismo no recuerdo bien porque hay un dibujado sobre una textura y luego sobre la pantalla... mmmm... anoche lo mire y ya me olvide... tengo que revisar...) y SDL esta detras de opengl para inicializar video, para manejar el input (joys, key, mouse, etc...) y el sonido, pero eso es un modo bien independiente...

no creo que vaya a eliminar completamente la SDL, porque SDL no es solo video...
Título: Re: Avances, Diario de...
Publicado por: josebita en Marzo 30, 2010, 07:51:16 am
Menudo transtorno del sueño que tienes.... :)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 30, 2010, 08:14:39 am
Bueno, teniendo en cuenta que ha tardado 7 horas a volver a postear, me imagino que ha dormido las 7 horas, o sea, eso es el máximo que puedo llegar a dormir todas las noches, tampoco es para tanto  ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 30, 2010, 08:19:25 am
si, bueno, la cosa es que realmente no me fui a dormir con el ultimo post... pero supongo que 5 horas dormi...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Marzo 30, 2010, 05:17:35 pm
Tres Karmas al que consiga hacer un juego para que Splinter duerma sus horas ;D
Aunque si no lo consiguió el WiiFat...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 31, 2010, 10:09:52 am
bien, sin usar SDL (usando directo opengl) para hacer el swap del video, en las pruebas donde antes obtenia 500fps ahora obtengo 1600fps...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 31, 2010, 10:27:44 am
Mi modulo Open3D ha dejado de tener sentido, para continuar con el sólo tendria sentido usar una version beta de tu nuevo motor compilado para windows, para que yo creará las ventanas usando tus funciones, y ahora ya tendria sólo una ventana renderizada por open gl (la disponibilizada por Bennu), y el modulo serviria para crear funcionalidades, o sea, seguir con la creacion de funciones 3d, modelación, carga de mapas, etc, etc.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Marzo 31, 2010, 10:35:38 am
te repito, lo que yo estoy trabajando es 2D, no es 3D...

tu modulo mas que nunca tiene sentido... no te preocupes por los detalles que luego se pueden ajustar...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Marzo 31, 2010, 10:45:36 am
Que si, te entiendo y lo se, pero OpenGl es tanto 3D como 2D, el render de video es comun...
Se que tiene sentido, pero mi modulo, no tiene sentido en el punto en que, ha diferencia de otros modulos, tiene más caracter de trabajo oficial, que de no oficial, porque es mas un complemento al trabajo que tu o el equipo de bennu tendrá que hacer tarde o temprano, que es adaptar todas las funciones que OpenGL disponibiliza, al lenguaje Bennu.

Se que interesa por esto, pero infelizmente no me puedo dividir en dos chinos :), como ya comente antes, ese es un trabajo de chinos  ;D Ya veremos, lleva meses parado, me imagino las cosas chulas que ya podria tener si no lo hubiese abandonado, estoy por ponerlo en la sección 'StandBy' que curiosamente es la sección que más va creciendo de mi soft  :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 03, 2010, 04:02:28 pm
nueva version del core en svn...

yo habia dicho que si uno usaba la opcion -a y tenia #include se incluian los fuentes en el dcb, bueno, me confundi, vi que corregi ese tema hace tiempo... por otro lado mejore el sistema de inclusion de archivos, ahora funciona mejor con los #import, no se incluye ninguno, antes usaba deteccion por extension, ahora directamente cuando se hace #import, la siguiente string que es el nombre del archivo no se tiene en cuenta en la inclusion de archivos.

tambien quite el uso de los arranges en la compilacion, solo se hacen en el momento de grabacion... (igualmente, el sistema de byteorder no esta completo aun)

y otros cambios mas...

Saludos.
Título: Re: Avances, Diario de...
Publicado por: josebita en Mayo 03, 2010, 04:30:35 pm
¡Genial, Splinter!. Me alegra ver que te has puesto a trabajar en esto :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 03, 2010, 07:45:48 pm
por favor, decime ahora si sigue siendo necesario ese arrange que estas poniendo extra... igual todavia no esta completo el tema de los arranges... pero por lo menos ahora deberia funcionar compilando y leyendo en la misma plataforma... y posiblemente se solucione el tema del save/load... por favor, confirmame cuando puedas...
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Mayo 12, 2010, 05:57:57 pm
He subido una versión compilada del último SVN para Windows :
http://www.bombergames.net/BennuGD_win.zip

Incluye ultimas SDL y mixer  :)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Mayo 12, 2010, 09:46:50 pm
Me tienes que dar classes como preparar el entorno de compilación...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Mayo 17, 2010, 07:30:24 pm
Importante fix en bitmap_analize, que hacia que se analizara fuera de los limites del area de datos en algunos casos con mapas de 16 y 32bits.

Eternamente agradecido a Bomberlink, por la cantidad de pruebas (como 1 semana), para ayudarme a detectar el bug.

Gracias.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Mayo 17, 2010, 07:43:42 pm
No hay de que  ;)  los crashes empezaban a asustarme  :D

He subido los binarios de la versión Windows de forma temporal :
http://bombergames.net/BennuGD_win.zip
Título: Re: Avances, Diario de...
Publicado por: josebita en Mayo 18, 2010, 06:16:30 am
Versión modificada de camino a mi PPA :) Gracias a los dos.
Título: Re: Avances, Diario de...
Publicado por: kim-elet-o en Mayo 18, 2010, 11:46:35 pm
Ya tengo el bennu actualizado en mi ubuntu, gracias a todos por vuestro trabajo.
Título: Re: Avances, Diario de...
Publicado por: blostec en Junio 06, 2010, 10:07:41 am
Sin querer meter prisa ni nada por el estilo, Juan como va el desarrollo de Bennu, tienes previsto compilar alguna release próximamente? Saludos y gracias por todo tu magnífico trabajo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 06, 2010, 10:14:59 am
pronto
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 06, 2010, 10:51:21 am
por otro lado, la version windows la genero bomberlink de los ultimos fuentes, la version linux, cualquier linuxero la puede generar, estoy en falta con la gente de wiz.

estoy poniendo unas mejoras, cuando las tenga listas genero paquetes nuevos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 20, 2010, 07:42:26 pm
nueva version con m7 corregido y otras cosas mas (vean el log del svn please)

solo subi version windows, los de linux saben como compilar, pronto subire version wiz.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 21, 2010, 07:12:24 am
subidas versiones windows, linux y wiz.

por favor, no he podido probarlas por falta de tiempo, a ver quien me hace el favor de probarlas.

aclaro porque ya veo que van a preguntar, son mas chicas porque no tienen simbolos de debug.
Título: Re: Avances, Diario de...
Publicado por: josebita en Junio 21, 2010, 08:29:38 am
Ya están en mi PPA. Luego actualizo la página de decargas.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 21, 2010, 09:09:02 am
Time to update r131  ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 21, 2010, 09:19:26 am
Ya están en mi PPA. Luego actualizo la página de decargas.

gracias! karma para ti!
Título: Re: Avances, Diario de...
Publicado por: blostec en Junio 21, 2010, 01:13:07 pm
Bajando la nueva versión, muchas gracias Juan! karma++
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 21, 2010, 03:43:08 pm
Juas, vaya, no me lo esperaba ;D
Espero que esto no haya supuesto un retraso en tu trabajo, Splinter (y sobre todo, no ser el culpable de ello ^^U).
Karma hoy... y karma mañana (o bueno, dentro de una hora, que es cuando me deja... si me acuerdo ^^U).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 21, 2010, 06:08:13 pm
tu culpa, si, al menos pruebalo, por favor.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 22, 2010, 08:06:17 am
^^U

Yujuuuu, ya tenemos modo7 como dios manda :)
http://www.youtube.com/watch?v=1nBg2pk_XFY
Hasta dentro de una hora no te puedo colmar de karmas :P
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 22, 2010, 09:08:42 am
Todavia siguen aqui en la bolsa los 49 que te faltan por el port definitivo a las Gp2x  ;D
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 22, 2010, 05:43:10 pm
Pues le auguro un futuro muy próspero, lejano, pero próspero ;D (mínimo, hasta que termine la carrera).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 23, 2010, 08:45:46 pm
encontre y corregi el bug en el fade que hacia que si se hace un fade_off + un fade_on  sin un frame entremedio el fading se quedara pegado en 1 (y todos los casos donde fading se quedaba pegado)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 23, 2010, 09:14:05 pm
Pufff, no estaras petando la compatibilidad con juegos antiguos a lo bestia ?!
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 24, 2010, 03:48:42 am
Por lo que he leido, lo que ha hecho ha sido arreglar eso, no ha cambiado nada, antes fallaba sin un frame en medio, ahora funciona con o sin frame intermedio :)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 24, 2010, 03:53:23 am
Ya, pero a los que se me olvido ponerle el while (fading) frame; cuando hice la conversión de Fenix a Bennu por ejemplo, ahora si le ponemos la nueva version de Bennu van a tener fading en esos puntos, y aunque sea correcto no voy a tener el mismo resultado  ;D ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 24, 2010, 07:29:36 am
free, por favor, lee lo que puse, no se cambio nada, solo se corrigio un bug que hacia que los juegos dejen de ir... por favor, lee.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 24, 2010, 09:47:41 am
Ya se a lo que te refieres, he tenido ese  problema, eso tiene el origen en lo mismo, ocurria si no me he olvidado, al cambiar de proceso, teniendo fade_off al final del primero y fade_on al principio del segundo. El juego se paraba por ejemplo al ponerle el fading/frame para que se visualizará el fade, o sea, si no me equivoco la solución era poner todo al principio del segundo proceso y no repartido entre los 2.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 24, 2010, 10:49:30 am
la solucion es que haya un frame entre medio, pero no es correcto que tengas que hacer eso.

este cambio no afectara en nada a tus juegos si ya estan funcionando.

ahora, tambien debo decir que el comportamiento del fade_on y fade_off no es el mismo que en DIV, en DIV todo se paraba hasta que el fade este completo, en Bennu no, y esto es porque no todos los modulos lo permiten parar su ejecucion, pero quizas deberia plantear darle soporte a esto, aunque sea seteando alguna variable global para definir este comportamiento like DIV.

pero bueno, tampoco tiene que ser exactamente igual a DIV, esto no es un clon de DIV, sino que va mucho mas alla.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Junio 24, 2010, 10:56:29 am
En este caso me refiero a Fenix (aunque el comportamiento en Fenix creo que era identico a DIV).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 24, 2010, 04:24:21 pm
si, en un principio si, pero no iba del todo bien, o sea, habia cosas que seguian su marcha, a pesar de que todo deberia estar congelado esperando el fade.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 30, 2010, 09:33:55 am
Tengo que mirarlo, pero la versión Linux (PPA) me lanza un segmentation fault con el modo7. Si alguien puede probarlo, a ver si es algún cambio que hice en el código, que windows se lo traga y linux no...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 30, 2010, 09:35:56 am
debe ser que no tiene la ultima version compilada... a mi me pasa en la wiz, recordas?
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Junio 30, 2010, 09:51:54 am
Ya están en mi PPA. Luego actualizo la página de decargas.

Creo que sí se actualizó.
Por cierto, creo que me toca a mi hacer lo mismo con GP2X, con ambas versiones ^^U Así lo puedo probar en mi negrita, aunque tendré que hacer ciertas modificaciones al código para que me funcione :P
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Junio 30, 2010, 10:02:05 am
por que tendras que hacer modificaciones?
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 01, 2010, 03:13:14 pm
Actualizo a la última versión SVN casi siempre que tengo oportunidad (y hay cambios). Lo mismo con la versión para Mac, aunque éste lo toco menos.

Las versiones de SVN casi siempre son tremendamente estables y lo único que hacen es corregir bugs de las versiones anteriores.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 01, 2010, 03:41:58 pm
Pues no se, el modo7 "casca" como una r146 o anteriores. Con windows me va bien. A ver qué dice el port de GP2X.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 01, 2010, 04:23:25 pm
con wiz y con mi version linux tambien va bien, posiblemente sea un tema de compilacion, proba la version que genere aca.
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 01, 2010, 04:35:52 pm
Intentaré recompilar todo de cero, a ver si es eso.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 02, 2010, 06:41:24 am
Splinter, sabes que no soy muy amigo de los instaladores ^^U
De todas formas, he probado la versión que compilé ayer para gp2x oficial y también se cae. Sale el primer say que indica la posición inicial del coche, pero se me celga sin decir nada (aun tengo que mirar la salida por el puerto serie).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2010, 07:42:46 am
drumpi, de que instaladores me hablas?

todo lo que se "instala" en el script de linux se deinstala absolutamente con el mismo script.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 02, 2010, 08:13:08 am
Nah, lo digo por el .sh de la zona de descargas.
Además, en Linux tengo instalado Bennu mediante el PPA de josebita.

Seguiré mirando pero cuando tengas un ratillo, mira a ver si es que se ha subido mal al svn el código.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 02, 2010, 08:48:09 am
el script este deja menos cosas que el .deb que instales por dpkg, apt, aptitude, etc, ya que estos, por mas que desinstales el paquete, te queda en disco a menos que hagas un purge, el script bennu, haces un uninstall y no queda ni rastros.

que lo tengas por el PPA no tiene importancia, podes bloquearlo o retirar el repositorio...

el repositorio esta perfecto, lo acabo de verificar.

pero si no queres ni siquiera probar, segui rompiendote los sesos buscando donde esta el problema.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 02, 2010, 11:01:20 am
Okis, lo probaré.
De todas formas, prefiero romperme la cabeza de vez en cuando porque siempre detecto algún nuevo fallo. En este caso, estaba haciendo "cosas raras" con punteros (inicializando un puntero desde una función y pasando los datos de un lado a otro) y temía haber hecho algo mal, no sería la primera vez que windows "se lo traga" sin problemas, y en otros SO pega un pantallazo.

Según mi gp2x, hay un fallo en mi código haciendo esto:
[code language="bennu"]say("COCHES COLOCADOS, CP_Detector creado");
   
    //preparamos el cronómetro
    l3_reloj_id=reloj(160-78,0,-20,l3_graficos[3]);
    reloj_data.run=false;
   
    fade(100,100,100,3);
    while (fading) frame; end

say("hola");[/code]
Lo cual es muy raro, pues me consta que dicho proceso reloj va perfecto en el resto del juego, y hasta el fade. Sigo haciendo pruebas y te comento.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 03, 2010, 03:04:07 am
Vale, he probado la versión instalable de la página principal, y con esa funciona perfectamente, sin problemas.
Voy a volver a probar con la PPA a ver si funciona. Estooo... ¿cómo se desinstalaba la versión instalable? ^^U
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 03, 2010, 03:36:08 am
si corres el script con el parametro --help te tira una ayuda
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 03, 2010, 03:58:44 am
Si, ya me he dado cuenta.
Ahora el problema es que no me deja instalar la versión del PPA de nuevo. Como me dijiste lo de purgar, lo "desinstalé completamente" y eso me parece que ha debido tocar algo porque ahora me salta con el mensaje "Depende: libssl0.9.8 (>=0.9.8k-1) pero se va a instalar 0.9.8g-10.1ubuntu2.6" y no me deja instalar. He podido hacerlo desde la PPA en versión Intrepid, pero la Karmic no me lo permite :'( (supongo que por lo de la g y la k en la versión).
No se si esto tiene solución, pero los PCs me están tocando demasiado las narices como para liarme a destrozar cosas. Usaré la versión instalable en lugar de la PPA, hasta que sepa cómo arreglarlo.
Título: Re: Avances, Diario de...
Publicado por: josebita en Julio 03, 2010, 06:22:17 am
Drumpi, si me das acceso por SSH a tu ordenador, quizás pueda arreglarte el tema de las dependencias.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Julio 03, 2010, 06:41:14 am
Mientras no termine el proyecto, prefiero no trastear demasiado con "cosas complicadas" que me puedan dejar el ordenador (o peor aun, el entorno de programación) inservible durante un tiempo.
De todas maneras, si me ves conectado (o (auto)ausente) por el pidgin, podemos hablar de ello.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 11, 2010, 10:48:29 am
revivio mi version de bennu opengl... pense que mi maquina no tenia opengl... pero entre las pruebas que hice deje codigo malo... ya lo corregi...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 22, 2010, 10:41:29 pm
confirmo que la version binaria de bennu en linux funciona en opensuse, fedora, debian y ubuntu (todas 32 bits probadas), si alguien puede probar en otras versiones de linux y compartir los resultados se ganara su bonito karma.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Julio 22, 2010, 10:58:18 pm
Linux Mint cuenta para mi cajita de karmas ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 22, 2010, 11:20:08 pm
cuenta, pagado!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Julio 23, 2010, 12:09:09 am
Pues paga otro, porque en Knoppix tambien funciona  :o
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Julio 23, 2010, 04:23:23 am
pagado!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 01, 2010, 07:41:11 pm
corregido timing de fps en wiz, ahora se puede setear 60fps y no va a 50.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 04, 2010, 01:55:10 am
Me alegro por Bomber (por cierto Bomber mi bici va de maravilla, da gustaco ver una peli mientras se pedala :)).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 04, 2010, 07:26:36 pm
bien gente, ya tengo port a caanoo, con algunos mejoras añadidas...

funciones

soporte de accelerometros

joy_get_accel(&x,&y,&z)
joy_get_accel(joy,&x,&y,&z)

si se define la variable de enviroment OS_ID, bennu toma esta como el OS_ID que esta corriendo, lo que permite poner los juegos ya creados en Wiz, que corran en Caanoo.
 
es importante hacer el export de la variable para que lo tome.

se remapearon y mixearon los joysticks de la caanoo (3) para hacer la emulacion del joys de wiz, y se disponen de 2 joys, 1 idem a wiz (sin botones de volumen porque no existen en caanoo) + analogicos, y otro joys, con los botones especificos y analogicos de caanoo.

tambien mejore la jkeys.lib para soporte adecuado de Caanoo.
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 05, 2010, 05:50:55 am
Genial! Me viene muy bien lo de la aceleración para la Wii.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 05, 2010, 09:07:41 am
;)

es la idea, ya darle soporte donde sea posible...
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 05, 2010, 10:37:14 am
Splinter, diría que se te han olvidado un par de líneas en modules/libjoy/libjoy.h:
[code language="c"]
extern int libjoy_get_accel( int * x, int * y, int * z );
extern int libjoy_get_accel_specific( int joy, int * x, int * y, int * z );
[/code]

PD: Y en el modules/mod_joy/mod_joy.c creo que hay otro pequeño error:
[code language="c"]
static int modjoy_get_accel( INSTANCE * my, int * params )
{
    return ( libjoy_get_accel_specific( ( int * ) params[0], ( int * ) params[1], ( int * ) params[2] ) );
}
[/code]
me imagino que debería ser:
[code language="c"]
static int modjoy_get_accel( INSTANCE * my, int * params )
{
    return ( libjoy_get_accel( ( int * ) params[0], ( int * ) params[1], ( int * ) params[2] ) );
}
[/code]
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 05, 2010, 11:39:31 am
si, es correcto, muchas gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 06, 2010, 03:02:12 am
nueva version disponible para descarga, se agrega version oficial Caanoo, se agregan funciones de acelerometros, ejemplos de uso de acelerometros, update de los ejemplos pacman y galaxians para usar la jkeys.lib con soporte Caanoo.
se agrega que si existe definida la variable de enviroment OS_ID, bennu informa dicho valor como OS_ID.
se agrega OS_WII con el valor 1000 (como se habia dicho)
se corrigen retornos de funciones joy como ser joy_get_button para que si el boton no existe retorne 0 en vez de -1, es mas facil de esta forma manejar los retornos.
se mejora finalmente el timing en wiz y caanoo, ahora si se pide 60fps da 60fps y no 50 como sucedia al usar SDL para los delay de ajuste de fps.
otras mejoras y fixes que ahora no recuerdo.

http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-caanoo.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-installer.sh
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-openwiz.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-win32.exe
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-win32.rar
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 06, 2010, 05:18:06 am
Mira a ver si te gusta el artículo (http://www.bennugd.org/node/96) que he puesto; le tengo que añadir más enlaces y quizás cambiar la foto por alguna mejor.

Lo digo antes de tirarlo a la basura, que tampoco estoy muy convencido de cómo me ha quedado y a los de GPH hay que tenerles contentos :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 06, 2010, 07:13:58 am
me gusta, claro esta...

bien, estoy viendo el tema de la version android.

android es todo java, y me parece que eso es motivo tambien de la horrible velocidad que da.

como es java, para hacer que bennu corra sobre este bicho tengo que hacer que bennu sea un jni, y no se si necesitare hacer una version monolitica, espero que no, como sea, voy a tener que pensar y diseñar seriamente como encararlo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 06, 2010, 07:20:06 am
creo que ya lo tengo... tendre que hacer un bgdi java, que se limite a cargar la bgdrtm o un wrapper jni que cargara realmente la bgdrtm (las funciones del core) y con eso ya se solucionara el tema.

bueno, de apoco... ahora tengo sueño... :P
Título: Re: Avances, Diario de...
Publicado por: Prg en Agosto 06, 2010, 01:30:22 pm
nueva version disponible para descarga, se agrega version oficial Caanoo, se agregan funciones de acelerometros, ejemplos de uso de acelerometros, update de los ejemplos pacman y galaxians para usar la jkeys.lib con soporte Caanoo.
se agrega que si existe definida la variable de enviroment OS_ID, bennu informa dicho valor como OS_ID.
se agrega OS_WII con el valor 1000 (como se habia dicho)
se corrigen retornos de funciones joy como ser joy_get_button para que si el boton no existe retorne 0 en vez de -1, es mas facil de esta forma manejar los retornos.
se mejora finalmente el timing en wiz y caanoo, ahora si se pide 60fps da 60fps y no 50 como sucedia al usar SDL para los delay de ajuste de fps.
otras mejoras y fixes que ahora no recuerdo.

http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-caanoo.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-installer.sh
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-openwiz.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-win32.exe
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC13(r156)-win32.rar

grandes noticias. lo del joystick ya hacía falta
karma++
y las noticias del bgdi java suenan muy bien, a ver si de ahí podemos probar bennu en otros lugares. ya tendremos la oportunidad de experimentar... saludos :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 06, 2010, 02:49:37 pm
pero en java seria solo el lanzador, luego el motor seguiria siendo una .so, como lo es ahora (bgdrtm)
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 06, 2010, 03:02:50 pm
creo que ya lo tengo... tendre que hacer un bgdi java, que se limite a cargar la bgdrtm o un wrapper jni que cargara realmente la bgdrtm (las funciones del core) y con eso ya se solucionara el tema.

bueno, de apoco... ahora tengo sueño... :P
Sí, cuando lo estuve mirando yo también pensé que esa sería la mejor opción, aunque no creo que haga falta binario monolítico; tienes libdl.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 06, 2010, 03:23:07 pm
si, no hace falta monolitico... mejor...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 11, 2010, 02:35:59 am
bueno, para que te free se deje de quejar por todos lados, ya implemente en bennu, rotacion de pantalla, y correccion de aspectratio, ambos seteados por variables globales nuevas, esto solo funciona con scale_resolution, pero nada impide que tengas un scale_resolution a la misma resolucion que el set_mode.

esto es

scale_resolution_orientation = 0 (normal) 1 (rotado)
scale_resolution_apectratio = 0 ( amplia todo) 1 (mantiene el aspect ratio original, centando la imagen en el medio de la pantalla)


tambien corregi un tema con el ultimo cambio de __VERSION__ y COMPILER_VERSION.
Título: Re: Avances, Diario de...
Publicado por: josebita en Agosto 11, 2010, 02:48:35 am
Genial, ésto es útil.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 11, 2010, 02:56:44 am
eso espero, me llevo como 3 horas, y no dormi... ahora me voy a ir a dormir, estoy subiendo los binarios...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 11, 2010, 03:07:15 am
nueva version bennugd, con fix en __VERSION__ y COMPILER_VERSION, que con el ultimo cambio habian dejado de ser defines y eran constantes, ya son nuevamente defines y de tipo string.

y se agregan funciones de rotacion de pantalla y correccion de aspect ratio con el uso de scale_resolution, las nuevas variables son:

scale_resolution_orientation = 0 o 1, siendo 1 rotacion
scale_resolution_aspectratio = 0 o 1, 0 normal, 1 correccion de aspect ratio

aca van los paquetes de todas las versiones oficiales:

http://betatester.bennugd.org/snapshot/bgd-1.0.0RC14(r157)-caanoo.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC14(r157)-installer.sh
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC14(r157)-openwiz.tar.gz
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC14(r157)-win32.exe
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC14(r157)-win32.rar
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 12, 2010, 01:57:54 am
Holas, locurón de bug:
Si en el GPE, en vez de poner esto
LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
pones esto
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime

Funciona todo menos el joystick. Y sólo en las dos últimas versiones, en la versión previa que me mandaste por mail no ocurría.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 02:28:45 am
ay, ay, si leyeras...

la nueva sdl trabaja diferente, por eso hay que poner como esta en la primer linea que pusiste, ya que la otra apunta a la SDL vieja que aun esta en el firmware (pero que desaparecera) y tiene un manejo diferente de los joys.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 12, 2010, 04:11:00 am
Mmmmm, interesante: el orden de las direcciones altera al producto compilado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 05:57:36 am
es que son los paths que marcan el camino de busqueda de las dll de linux, o sea, las .so
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 12, 2010, 06:21:03 am
Muchas grácias Splinter :)
Eres mi idolo :)
Justo venia a Internet buscar el ejemplo de la lupa para apañarmelas por código y me llevo esta grata sorpresa.
Karma Thanks.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 06:23:41 am
de nada, te tardaste en aparecer...

por favor, decime luego si quedo bien.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 12, 2010, 06:25:58 am
En un rato salgo de internet y me temo que sólo vuelva la proxima semana para comentarlo.
Voy hacer pruebas luego, no se si con estos cambios podré tambien ajustar el tamaño del original (su resolucion) dentro de la resolucion soportada por la Wiz (como lo hace mame).
Grácias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 06:29:33 am
podras, pero no seas desgraciado, el otro dia me pase despierto toda la noche para tenerte esto listo, al menos probalo y decime que tal te va, y si despues no queres aparecer por 1 mes, no aparezcas, pero no me dejes esperando hasta la semana que viene.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 12, 2010, 07:19:09 am
Es que no puedo aparecer antes Splinter, no tengo internet en casa y no puedo hacer 8 kilometros todos los dias y perder unas horas en internet en la tienda.
Te he pedido esto porque por casualidad vine a internet estos dias (pero es algo que ya pedi hace tiempo y no contaba que lo hicieras ahora).
En realidad no estoy de vacaciones, tengo curro en el bar de mis padres que ahora son las fiestas de mi pueblo y hay mucha gente.
Tampoco tengo tiempo para programar, hoy lo miraré por la noche pero no se cuando volvere a tocar código ni a internet. A finales de la semana que viene volveré a Madrid, y ya tendré tiempo de sobra para testear Bennu y pedirte mas cosicas  ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 07:23:38 am
ok, entonces no hay problema.
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Agosto 12, 2010, 09:01:31 am
La rotación funciona de lujo, pero no consigo que me funcione la correccion de aspecto, igual es que entiendo algo mal...

Como yo lo entiendo, con scale_resolution_aspectratio=1; al poner pantalla completa en un monitor panorámico usando una resolución "clásica" no panorámica, la imagen se debería de corregir automaticamente para que no aparezca "estirada" pero no lo consigo...

En el eek esto lo resolví "a mano" y se puede jugar a pantalla completa en un monitor panorámico sin que se estire la imagen, pero lo hice con scale_resolution "a ojo" xD, y aunque da el pego la imagen se deforma un poquillo.

Aprovecho para compartir con vosotros un truquillo que use para autodetectar el tipo de monitor y ahorrar al usuario que tenga que marcar una opción de corrección de aspecto si/no:

get_desktop_size(&dsx, &dsy);
aspect=dsx/dsy;

aspect debe ser tipo float

Si aspect vale 1.3 es que se esta usando un monitor normal, de lo contrario es que es panorámico (Luego ya en panorámicos creo que hay de dos tipos, 16:9 y 16:10, pero de ese tema ya no se mucho...en todo caso aspect equivaldría a la división de esos nºs: 4/3=1.3, 16/9=1.7 y 16/10=1.6)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 11:24:27 am
podrias poner las lineas que estas usando y decis no funciona?

el aspectratio es con respecto al modo original (al set_mode)
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Agosto 12, 2010, 12:51:48 pm
Código: [Seleccionar]
begin


//scale_resolution_orientation = 1;
full_screen=1;
scale_resolution_aspectratio=1;
scale_resolution=08000600;

set_mode(800,600,32,MODE_WAITVSYNC);

Me sale la pantalla igualmente "estirada", no me corrige el aspecto ni parece hacer nada apreciable.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 01:12:58 pm
pero eso no es bennu... eso es tu monitor, si pones un 800x600 sin scale_resolution, te saldra estirado igual, porque tu monitor es wide.

lo que tenes que poner es un set_mode 800x600 y un scale_resolution de definicion 16:9, por ejemplo un 1366x768.
Título: Re: Avances, Diario de...
Publicado por: La momia que fuma en Agosto 12, 2010, 03:36:50 pm
pero eso no es bennu... eso es tu monitor, si pones un 800x600 sin scale_resolution, te saldra estirado igual, porque tu monitor es wide.

lo que tenes que poner es un set_mode 800x600 y un scale_resolution de definicion 16:9, por ejemplo un 1366x768.

Uhhh....vale, pero....eso ya es lo que estaba haciendo y de hecho exactamente lo que hice en el Eeek (Versión PC) sin necesidad de esa global nueva...(Solo con scale resolution puedes contrarestar el estiramiento y corregir el aspecto) no entiendo para que sirve entonces, pense que reescalaría la resolución automaticamente a su equivalente panorámico, para no tener que hacer calculos.......

Que no entiendo para que sirve scale_resolution_aspectratio o en que influye exactamente, vaya  ???
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 04:08:05 pm
luego pongo unas capturas
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 07:40:03 pm
capturas...

normal

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1441)

scale_resolution=ancho_original/2 + alto_original

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1443)

scale_resolution=ancho_original/2 + alto_original
scale_resolution_aspectratio=1

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1445)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 07:43:29 pm
con rotacion...

scale_resolution=ancho_original/2 + alto_original
scale_resolution_orientation=1

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1447)

scale_resolution=ancho_original/2 + alto_original
scale_resolution_orientation=1
scale_resolution_aspectratio=1

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1449)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 12, 2010, 10:17:55 pm
Oye, Splinter, sé que la respuesta a la pregunta será obvia, pero ¿por qué la rotación sólo se puede hacer a +90º? ¿Por qué no a 180º, o a 270º que sería lo ideal en WIZ?

Ahora es cuando te me tiras al cuello ^^U
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 12, 2010, 11:26:50 pm
no esta bien la rotacion? ahora lo pruebo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 12:00:24 am
fallo mio, lo correcto seria poner 4 modos de orientacion...

0, 90, 180 y 270

voy a tener que hacerlo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 01:56:00 am
listo, agregados 3 modos mas de rotacion

scale_resolution_orientation = <0,1,2,3>

0 normal
1 rota 90 grados
2 rota 180 grados
3 rota 270 grados

ahora creo que es mas flexible.

bueno, luego hago los binarios, ya me quiero ir a dormir.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 13, 2010, 03:04:51 am
Buenas. Acabas de hacer justo lo que venia a pedirte, o sea, que se pudiera rotar tambien hacia la derecha :)

Funciona de lujo, no noto diferencia en rendimiento ni en la Wiz (tambien es cierto que esto lo he mirado a ojo y no mirando el fps).

Lo que te pediria era aparte de la rotación, un modo espejado (cabinet, imagen invertida), o sea, que usando un espejo despues la imagen se vea de forma normal (como lo hacen algunas recreativas).

Lo que si he notado es que para corregir la inclinacion en la Wiz, en el scale resolution tuve que cambar los valores del width por los del height y viceversa.

Lo que intento hacer es que pueda poner margenes fuera de pantalla como lo hace mame, o sea, por ejemplo con la pantalla inclinada en la wiz, la resolucion original es de 254, pero como sólo tengo 240, la imagen se encoje en la horizontal (wiz inclinada) y lo que me gustaria es que esos 16 pixels que sobran sobrepasaran 8 pixels en cada lado para fuera de pantalla, de forma a tener los gráficos en su tamaño original aunque las margenes se oculten.

Hay alguna forma de hacerlo ?
Luego por la tarde intentaré pasarme por aqui, y ya os pongo la forma como estoy poniendo la imagen en la wiz.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 06:30:44 am
lo del espejado olvidate por ahora, y lo mismo lo que salga de los margenes, si lo tenes bien configurado, uno de los lados deberia ir al 100% (alto o ancho).

eso es todo lo que puedo hacer por ahora.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 13, 2010, 06:40:57 am
Os pongo mis pruebas para Wiz, a ver si me ayudais a poner la configuracion correcta para tener la pantalla inclinada pero que los 16 pixels sobrantes salgan de pantalla sin que la imagen del juego salga de sus dimensiones originales:

1 - Horizontal con juego centrado
scale_resolution = 03200240;
scale_resolution_aspectratio = 1;
set_mode(224, 256, 16);
    
2 - Horizontal fullscreen (strech)
scale_resolution = 03200240;
set_mode(224, 256, 16);
    
3 - Rotacion Izquierda (Imagem reduzida en la horizontal porque pasa de 256 a 240)
scale_resolution = 02400320;
scale_resolution_aspectratio = 1;
scale_resolution_orientation = 1;
set_mode(224, 256, 16);
    
4 - Rotacion Izquierda con fullscreen (strech)
scale_resolution = 02400320;
scale_resolution_aspectratio = 0;
scale_resolution_orientation = 1;
set_mode(224, 256, 16);


La opcion que tengo es la 3, pero como ya comente antes, me gustaria que la horizontal no se ajustase a la pantalla,
y que los 16 pixels sobrantes salieran ocultos por las laterales en lugar de ajustar los 256 pixels en 240.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 07:05:29 am
y de cuanto es el tamaño real de la imagen? o sea, sin contar marcos negros, lo que es imagen.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 13, 2010, 09:39:37 am
La imagen es del mismo tamaño que la resolución original, 224 * 256
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 13, 2010, 09:44:35 am
Ups, perdon ahora me entero, son los 224 que se estan estirando a los 240, o sea, no hay region que quede fuera o tenga que quedar (16 pixels que comentaba), pero es al reves, o sea, el objectivo no es otro que la imagen tambien tenga tiras horizontales, o sea, he mirado como ocurre en Mame con el juego original, y este tiene tiras negras verticales y tambien horizontales en la pantalla de la wiz para respetar la resolucion original, cuando la imagen esta girada 90 grados en las opciones del menu antes de empezar la emulación.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 10:26:36 am
la resolucion original no la tenes, porque significaria que pierdas imagen, la relacion del aspecto la tenes.

si vos queres bandas negras, vas a tener que hacer el set_mode correcto, con las bandas negra ya calculadas.

pero a mi me parece que no tenes que hacer eso, pero hacelo como vos quieras, yo no puedo hacer desde bennu lo que vos pretendes, eso ya es parte de que lo que vos como programador tenes que hacer desde tu codigo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 10:59:55 am
nueva version, ahora se agrega soporte de 4 modos de scale_resolution_orientation, y la posibilidad de setear todas las variables del scale_resolution desde variables de enviroment, lo que nos permite poder correr un juego de una resolusion determinada en arquitecturas o resoluciones diferentes sin necesidad de recompilar.

version liberada

http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-caanoo.tar.gz (http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-caanoo.tar.gz)
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-installer.sh (http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-installer.sh)
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-openwiz.tar.gz (http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-openwiz.tar.gz)
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-win32.exe (http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-win32.exe)
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-win32.rar (http://betatester.bennugd.org/snapshot/bgd-1.0.0RC15(r159)-win32.rar)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 13, 2010, 12:10:03 pm
No te he entendido, si bennu pone las tiras de arriba y abajo al adaptarlo, tambien deberia hacer las tiras verticales (lados), porque esta ajustando la altura de la resolucion original dentro de una resolucion mayor, o sea, de lado deberia hacer lo mismo.
En este momento en la wiz pone tiras negras arriba y abajo, pero me estira la imagen en los lados a la resolucion de la consola, cuando deberia hacer un ajuste similar al aplicado arriba y abajo. Por favor compruebalo con una imagen de la resolucion original 224x256, girandola en la wiz, y verás que tengo razón.
Grácias, te doy otro karma por todo tu trabajo, que lamentablemente ahora mismo no puedo venir a internet muy a menudo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 01:40:52 pm
pues no, no deberia ser como dices.
no, si pone arriba y abajo, como va a poner de costado? no tiene logica.

tiene que mantener la relacion visual.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 01:48:41 pm
no, lo probe y funciona perfecto, lo que vos estas pidiendo no es un escalado, sino un centrado.

o sea, el efecto solo funciona con escalado.

el aspecto se mentienen perfecto, lo que esta haciendo es ampliarlo.

si la imagen es 4:3 seguira siendo 4:3, pero ajustado al tamaño de la pantalla.

eso hacelo por soft, o sea, mentene en tu codigo constantes de ancho y alto de la pantalla y trabaja ubicando los objetos en relacion a eso, que imagino ya lo estas haciendo.

yo ya te hice la parte mas complicada.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 13, 2010, 06:40:53 pm
la version caanoo no soporta ogg, ya que la sdl_mixer no viene compilada con soporte ogg.

sin embargo, despues luchar un poco con los fuentes de la sdl_mixer, mikmod y copiando librerias ogg que tenia en mi SDK, logre que funcione, y ahi descubri algo.

el soporte de musica que tiene la SDL_Mixer es patetico, el echo de drumpi, que en caanoo anda de maravillas se debia a que no tenia sonidos reproduciendo, al ponerle el soporte ogg comenzo a petardear si le daba a la pantalla tactil (aun sin tener mouse en el juego) y lo mismo con el puzsion, en menor medida pero al fin.

tambien probe reducir los ogg hasta 64kbps (que se escucha fantastico), pero sin mejoras de rendimiento.

ahora probe cambiando los .ogg por .mp3, y mi sorpresa fue que la cosa mejoro mucho, sin embargo si dejo el dedo puesto en la pantalla al rato petardea, pero al soltarlo se recupera rapido, yo creo que la mixer y la sdl estan consumiento mucho tiempo en manejar los eventos de sonido.

lo maravilloso es saber que el MP3 funciona perfecto, tanto en caanoo como en pc linux, no probe en otros.

saludos.
Título: Re: Avances, Diario de...
Publicado por: osk en Agosto 14, 2010, 01:29:59 am
Hola. ¿Habría la posibilidad,por reota que fuera, de prescindir de la SDL_Mixer? Existen varias librerías de sonido muy buenas por ahí...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 14, 2010, 03:13:27 am
No estas entendiendo splinter, si lo haces con una imagen es lo mismo, o sea, tienes 240 pixels en la Wiz de pantalla para una imagen de 224, y lo que ocurre es que esta se alarga hasta rellenar la pantalla (estamos hablando de la horizontal teniendo la imagen en 90 con la wiz de lado). Y no deberia ser así, deberia tener 2 tiras, cada una de 8 pixels para rellenar la pantalla.

Por favor, prueba el juego Pinball Action con mame en tu wiz, y antes de arrancar pon screen rotate, y veras como lo hace, veras que ajusta en las 4 diagonales la imagen.

De la forma que esta ahora, Bennu sólo lo hace arriba y abajo y deja la pantalla estirada, quedando el juego mal graficamente.

Imagina que podrias poner una resolucion 50x50 en la pantalla de la wiz inclinado 90, veras que quedaria un rectangulo, o sea, dos de los lados se ajustarian hasta el limite de pantalla, y no deberia ser asi, pero si quedar un cuadrado perfecto con tiras negras alrededor.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 14, 2010, 09:37:51 am
te entiendo perfectamente, lo que quieres tu es rotar sin escalar y que rellene lo que falta o si sale de la pantalla que salga, el que no me entiendes eres tu.

nah, con scale_resolution_aspectratio, no se extiran ambos lados (alto y ancho) hasta el limite de la pantalla, solo se estira 1 hasta el limite y el otro se ajusta manteniendo la proporcion con el anterior.

lo siento, pero eso que pides no lo hare, eso lo debes hacer tu por soft, que es muy simple, solo tienes que centrar tus cosas en base a 2 variables.

lamento haber trabajado al pedo.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 14, 2010, 09:52:15 am
Me alegra que entiendas lo que quiero. Pero yo tampoco estoy pidiendo que lo hagas, pero saber si ya es posible hacerlo con lo que hay.
Si dices que ya es posible pues me alegro, y es sólo esta mi duda nada mas, por otra parte lo pregunto en general, por si alguien lo sabe hacer cambiando las opciones de resolucion que he puesto.
No estoy obligando a nadie y ni mandando a nadie hacer mi trabajo, y si se puede hacer con estas variables de rescalado pues tampoco creo que sea dificil que alguien sepa como hacerlo y que nos enseñe  ;D
Porque mis dudas pueden ser las de otro en el futuro y viceversa.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 14, 2010, 10:49:39 am
disculpa, puedes hacerlo, lo que tienes que hacer es ubicar tu juego en un set_mode 320x240 o 240x320, segun corresponda, y luego ya puedes usar la rotacion de pantalla, pero tu modo nativo debe ya tener las bandas negras de costado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 15, 2010, 01:44:32 am
nueva funcion al mod_sound

set_music_position( double segundos )

bueno, con respecto al tema de la performance, voy a intentar conseguir los fuentes de la SDL que esta en el SDK de GPH, quizas el problema esta en como maneja los threads de sonido (si es que esta compilada con threads) o los wait que hay que esperan que termine cada chunk de sonido.

necesito esta version porque tiene el manejo de los joys.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Agosto 15, 2010, 04:44:25 am
Mola, eso vendra bien para devolver la canción en el trozo en el que se estaba reproduciendo, ej. entras a una tienda, suena otra canción, sales y sigue la música donde estaba  :)

Ahora que estas tocando el sonido has pensado en añadir alguna función para eco ? Se que se puede hacer por código sin embargo..
O una para decidir por donde empieza y acaba un bucle en una canción ?

Solo sugerencias claro  :)
Título: Re: Avances, Diario de...
Publicado por: Mr Matsusaka en Agosto 15, 2010, 05:31:55 am
Viene bien para canciones que tienen una intro, y no quieres que se repita desde el principio.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 15, 2010, 07:56:56 am
Oye, si viene alguna función para obtener la FFT o para obtener los datos antes de mandarlos a la tarjeta de sonido, se le podrían aplicar miles de efectos: con las muestras se podría conseguir eco, cancelación de ruido, reverberación... y con la FFT el cambio de frecuencia, ecualizador, filtrado de sonido...

Bueno, ya estoy soñando otra vez ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 15, 2010, 07:58:36 am
Mola, eso vendra bien para devolver la canción en el trozo en el que se estaba reproduciendo, ej. entras a una tienda, suena otra canción, sales y sigue la música donde estaba  :)

Ahora que estas tocando el sonido has pensado en añadir alguna función para eco ? Se que se puede hacer por código sin embargo..
O una para decidir por donde empieza y acaba un bucle en una canción ?

Solo sugerencias claro  :)

para hacer eso deberias saber donde estas en la reproduccion, pero para saber eso no hay funcion en la mixer.

con respecto al eco, podria fijarme que efectos hay.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 15, 2010, 07:59:39 am
Oye, si viene alguna función para obtener la FFT o para obtener los datos antes de mandarlos a la tarjeta de sonido, se le podrían aplicar miles de efectos: con las muestras se podría conseguir eco, cancelación de ruido, reverberación... y con la FFT el cambio de frecuencia, ecualizador, filtrado de sonido...

Bueno, ya estoy soñando otra vez ;D

no se que es la fft, pero si hay funciones de pre-proceso, que te permite modificar vos lo que quieras, pero dudo que eso sea performante.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 15, 2010, 08:31:07 am
para hacer eso deberias saber donde estas en la reproduccion, pero para saber eso no hay funcion en la mixer.

con respecto al eco, podria fijarme que efectos hay.

Eso es fácil: basta con tener un contador o usar un timer desde el principio de la reproducción.

Respecto a los efectos, la gran mayoría se limitan a versiones del eco, es decir, repetir muestras con mayor o menos retardo, con mayor o menor atenuación... al menos los que se hacen sin procesado.

no se que es la fft, pero si hay funciones de pre-proceso, que te permite modificar vos lo que quieras, pero dudo que eso sea performante.

FFT: Fast Fourier Transform, transformada rápida de Fourier, transforma una señal representada por una serie de muestras en la suma de sinusoides que la componen, representado por valores delta que indican frecuencia y amplitud.
No se si te acuerdas de qué iba mi PFC inicialmente, programé la FFT en Bennu tomando datos desde un archivo wav.

Que si es perfomante o no, depende: los DSP pueden manejarla sin problema gracias al manejo de instrucciones SIMD, de la paralelización y de la posibilidad de hacer una suma y multiplicación en un único ciclo. Obviamente la transformada consume ciclos, pero no sé hasta qué punto es necesario hacer la transformada inversa (se puede obtener el valor de la siguiente muestra sumando el resultado de una multiplicación por sinusoide), o la directa (creo que OGG y MP3 comprimen en base a transformar la señal en su FFT y descartando frecuencias inaudibles, enmascaradas, con poca amplitud y tomando sólo una transformada cada x tiempo).

Vamos, la FFT es básico en el tratamiento de audio: puedes sintetizar un instrumento en menos de 5 sinusoides, y símplemente desplazandolos en frecuencia obtener cualquier nota.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Agosto 15, 2010, 10:24:56 am
con respecto al eco, podria fijarme que efectos hay.

 :)
--

set_music_position es dinamico y cambia la cancion en cualquier momento o hay que llamarlo antes del play_song ? Si es lo segundo se me ocurre una idea  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 15, 2010, 01:12:51 pm
dinamico...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 15, 2010, 01:13:20 pm
drumpi, hasta donde recuerdo, si, creo que la mixer lo soporta...
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 16, 2010, 03:23:55 am
Esto... ¿no funciona load_song con wav?
En Fénix juraría que si que se podía, evitando cargar el wav entero en memoria y haciendo uso de buffer.

Ahora dice: "Couldn't load ./ogg/menu.wav: Module format not recognized" :S
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 16, 2010, 03:30:03 am
eso no es memoria, es el formato de tu wav.

algo mal esta en el formato que la mixer no lo reconoce, o la sdl_mixer.dll que estas usando.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 16, 2010, 03:56:33 am
Eso veo... Veo que en mod_sound no hay ninguna referencia a los formatos, se encarga todo la sdl_mixer!

Vale, my megafault y un FAIL que te cagas: el programica OGGDropXPd convierte los ogg a wav de 48khz :\
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 17, 2010, 03:33:42 am
¿Y funciona el instalador de Bennu para Windows? :S
Título: Re: Avances, Diario de...
Publicado por: osk en Agosto 18, 2010, 01:10:14 pm
Hola. ¿Habría la posibilidad,por reota que fuera, de prescindir de la SDL_Mixer? Existen varias librerías de sonido muy buenas por ahí...

Estoooo...¿fao?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 22, 2010, 11:34:53 pm
he agregado nuevas funciones de collision y mejorado la que ya existia (ahora colisiona bien con mapas de 1x1).

Se agregan las siguiente funciones:

- Collision_Box(p)
- Collision_Circle(p)

funcionan con type y con procesos, como la collision, comparten tambien el contexto en el caso de usar type, por eso tener cuidado con esto y recordarlo, no digan despues que no avise.
estas funciones son mas rapidas que la collision actual, pero no son tan rapidas como un calculo de distancias (quizas al ser en C lo sean), ya que se tiene en cuenta tamaño, angulo, espejado, etc.
para el caso del box, el box se calcula en base a los extremos, o sea, que si hay rotacion, el tamaño del area de colision varia.
para el caso del circle, se promedia el alto y el ancho (tambien del box del grafico rotado o escalado) y esa es el area circular de colision, que puede salir fuera del box del grafico o estar dentro de este, si el grafico no es igual el alto y el ancho.
puede tambien que el centro del grafico (punto de control) no se ajuste a todos los casos que necesitamos, aunque se necesitarian hacer mas pruebas.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Agosto 23, 2010, 12:46:52 am
Me huele a que esa colision en circulo me va venir de perlas para el pinball action  :)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 23, 2010, 03:26:37 pm
Y las collision box para reducir el uso de recursos.
Lo que no acabo de entender ¿la caja está siempre con los lados paralelos a los bordes de la pantalla? ¿aunque se rote el gráfico?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 23, 2010, 03:38:48 pm
no, ya lo dije, esta en los bordes, a 90 grados y 180 con respecto a la pantalla, por eso dije que el area de colision varia.

con respecto a los pixelperfect de 1x1, si esta rotado o hay un size, no lo detecta, puedo hacerlo como estaba antes, pero no quiero, quiero resolverlo adecuadamente, vamos a ver si se puede.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 23, 2010, 03:58:36 pm
por fin, solucionado el tema de los graficos de pixel 1x1, o mejor dicho de ancho 1, el problema era el blitter, espero que esto no traiga nuevamente los problemas de dibujado de lineass raras en las rotaciones.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 23, 2010, 08:17:23 pm
bien, corregido un tema con el resolution y el collision_circle, tambien ahora solo colisionan procesos del mismo ctype (cosa que debio ser siempre), y tambien colisionan con el mouse, claro.

he hecho pruebas de performance, y la verdad que no hay muchas mejoras, debido a todo el tema que tenemos de rotaciones, sizes, etc.

se ganan unos 20fps en numeros de 230 fps mas o menos, no es algo grandioso.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 24, 2010, 09:09:40 am
Preguntaba porque creía que las collision box detectaban la colisión con el cuadrado del gráfico, es decir, también le afectaría la rotación y el escalado, porque de la otra forma se podía hacer por código. Era sólo una duda que tenía.

Mmmm, si eso que dices del bliter es cierto, tendré que volver a probar las rotaciones con gráficos de 1 pixel de ancho, que a un ángulo desaparecían y a otro eran el doble de anchos.

Y oye, 20 de 230 es casi un 10%, yo creo que es un gran avance, eso se va a notar, sobre todo en la negrita.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 24, 2010, 10:11:02 am
si, las rotaciones y el size afectan el tamaño del area de colision, la cosa es simple, rotas un grafico y los extremos del grafico (no solo el era pintada, sino que se incluye el area transparente), y por cada extremo trazas rectas y paraleleas de 90° y 180°, con respecto a los ejes x e y de la PANTALLA.

el tema de que no se veia el grafico de 1px de ancho, ya se soluciono, ahora que sea vea segun la rotacion de 1px mas, a simple vista me parece que sigue, pero eso es por los calculos,

yo sigo pensando que no es importante la mejora, si se pudiese evitar todo el tema de las rotaciones, escalado y resolution, este tipo de colisiones seria muy rapido.

quizas se podria implementar un par de funciones que no consideren estos valores, algo asi como un collision_circle_fast y collision_box_fast, que se basen solamente en el alto y ancho del grafico con respecto a su centro, sin chequear rotaciones, escalado ni demas cosas, quizas el resolution no afecta mucho.

tambien quiza estas funciones puedan tener un parametro extra que indique radio de accion de la colision o quizas agregar una variable local que indique radio de accion para casos de colision circular y podria ser alto y ancho para casos box.

no esta mal, y creo que esto ameritaria un modulo de colisiones exclusivos, y para evitar el problema de lo que ya esta hecho (que usa mod_grproc), puedo hacer que mod_grproc cargue automaticamente este nuevo modulo (dependencia), y asi seria transparente para lo que ya actualmente lo use.

lo que tambien afecta mucho es el comparar en cada collision toda la lista de procesos (en el caso del type, si hay muchos de este tipo, o de collision ALL_PROCESS), collision directo a un proceso, supongo que va muy rapido, pero tambien lo ira en el collision normal.

la cosa es que estuve pensando, y no se puede hacer un cache de las colisiones, ya que uno de los procesos que previamente fue chequeado por colision en otro proceso, en el actual proceso pudo haber cambiado sus datos, por ende, no se puede asumir que la info anterior es valida.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 24, 2010, 10:31:18 am
No, si yo la collision box me refería a que al rotar el gráfico, los lados también rotaban, vamos, que no siempre son paralelos a los bordes de la pantalla, sino que delimitan los bordes del gráfico (ignorando las transparencias).

La idea de un módulo con diversas colisiones estaría muy bien,y para no romper la compatibilidad podrías dejar las colisiones "básicas" donde están, y crear las nuevas en el módulo aparte, o meter también las antiguas de manera que "tapen" las del mod_grproc.
Hombre, un cache de procesos sería útil con los procesos que permanezcan quietos, es cierto que suelen estar en movimiento pero ¿no hay una variable que los marque como "dirty" para actualizar sus valores o decir que hay que redibujarlo?
También es verdad que una cache come recursos, y si estamos usando colisiones simples por falta de los mismos, estaría interesante tener una variable para activarlas/desactivarlas, igual que hay para el volcado total/parcial de pantalla.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 24, 2010, 10:36:56 am
hacer un box que tambien el box rote es ridiculo, seria tan complejo como hacer el pixelperfect o quizas mas.

no, el dirty se chequea en el frame final o cuando un grafico se modifica su contenido, pero eso solo se le setea un flag que indica que debe ser analizado. ademas cambiar el grafico es lo de menos, hay muchas cosas mas que hacen cambiar a lo que se dibuja, coordenadas, angulos, tamaño, etc, y hacer chequeos por todas esas cosas, haria al asunto mas lento, y muchas cosas internas que no tienen sentido discutir.

olvidate drumpi, es mucho mas complicado o elaborado que lo que decis.
Título: Re: Avances, Diario de...
Publicado por: blostec en Agosto 24, 2010, 10:58:10 am
Después de un tiempo desconectado, veo que el desarrollo de Bennu sigue imparable, gran trabajo Juan. Ahora mismo actualizo a la ultima versión. Sobra decir que te añado otro karma (no se que haras con tantos!). Saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 24, 2010, 11:33:55 am
ja, gracias blostec, estos ultimos cambios que voy mencionando (collision y funcion de la mixer) estan solo en el svn, aun no genere version binaria.

los karmas? disfrutarlos. :D
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Agosto 24, 2010, 12:20:02 pm
excelente


(http://3.bp.blogspot.com/_pS7sKjlzwFg/R5yGh1lpuRI/AAAAAAAABN0/v3Vcsg0en7I/s320/MrBurns.gif)

karma up..
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Agosto 24, 2010, 03:23:23 pm
Oye, L1nk, ya que estás aquí, ¿Estás ayudando a Splinter con el problema que tiene con la vibración en los mandos para plataformas no-WIZ? si no, échale una mano, por favor :)
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Agosto 25, 2010, 01:23:47 pm
BUENO comentame, y publica los binarios de la ultima bennu xfavor que estoy por sacar
el proximo bennupack..

exactamente cual es el problema con los mandos? haber si soy util en algo
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 25, 2010, 02:36:36 pm
tengo que hacer los binarios, en estos dias.

con respecto a los mandos, no hay problemas, solo que quiero dar un soporte de forcefeedback o vibracion, pero necesito pensar en un api que sea portable, me refiero, al mismo set de funciones y tambien a los mismos archivos de efectos.

en caanoo, es basica la informacion, tiene numero de acciones, y por cada accion se define, duracion en milisegundos y fuerza de la vibracion, maximo 120 acciones.

necesito saber como son los demas apis al respecto, y ver si es posible hacer algo normalizado.
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Agosto 25, 2010, 04:22:17 pm
http://www.libsdl.org/tmp/SDL-1.3-docs/SDL__haptic_8h.html

http://www.libsdl.org/hardware.php

bajar la version 1.3
http://www.libsdl.org/hg.php
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 25, 2010, 04:42:22 pm
esa misma usa caanoo, haptic... gracias... le echare un ojo.

edit: no me queda claro si haptic es una palabra generica que sirve para referenciar a todo esto de lo tactil o es algun estandard.
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Agosto 25, 2010, 06:21:54 pm
haptic es solo para los efectos force feedback , (vibracion ), y fue incluido en la version 1.3
The SDL Haptic subsystem allows you to control haptic (force feedback) devices.


según veo la versión 1.3 tiene soporte multi-monitor que pidieron en otro tema
y otras cosas raras,, la sdl se esta poniendo buena..
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 25, 2010, 07:59:34 pm
la cosa es que no se si esta la 1.3 para todas las plataformas que soporta bennu.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 26, 2010, 12:59:08 pm
sigo mejorando el sistema de colisiones... pero no me termina de convencer.

con los ultimos cambios en una prueba que me daba ~240fps con el collision normal, con collision box llega a ~284 y con circle ~280.

mejoro bastante, me gustaria meter funciones que para el caso de colisiones circulares te permitan especificar el radio del hotspot y la posicion en base a un punto de control de la colision.
y para el caso de colisiones box, poder decir que no le de bola a las rotaciones, o trabajarlo un poco mas y en base a si no esta rotado, ni escalado, usar funciones mas rapidas.

pero ya el modulo se esta haciendo un poco mas grande, voy a tener que separarlo finalmente.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 28, 2010, 07:33:49 am
nueva version bennugd disponible de descarga
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 28, 2010, 06:37:52 pm
bien, solucione el problema del sonido en las caanoo, me habia confundido de sdl_mixer, y puse la que no tenia sonido, pero aun asi hay petardeo con los ogg.

tambien cambie todos los retornos de las funciones load_wav y load_song, como asi tambien otras no importantes que retornaban -1, ahora retornan 0 si no se carga el sonido o en otros casos retorna 0 cuando el valor de retorno no es importante.

se agregan 2 nuevas funciones, o mejor dicho, 2 formas nuevas de usar 2 funciones ya conocidas.

unload_song(&song)
unload_wav(&wav)

estas funciones descargan los elementos pasados y los resetean a 0, asi no hay que preocuparse por ponerlos a 0.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Agosto 28, 2010, 11:26:50 pm
Aparte del seteo de la variable a 0, ¿qué diferencias tienen las nuevas unload_song y unload_wav?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Agosto 29, 2010, 04:26:18 am
nada, solo eso
Título: Re: Avances, Diario de...
Publicado por: blostec en Septiembre 01, 2010, 06:52:34 am
Descargando la nueva versión, gracias Juan!
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Septiembre 01, 2010, 06:31:22 pm
Por cierto, Splinter ¿has probado ya la nueva toolchain o el nuevo SDK liberado por GPH o es el mismo que tenías?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Septiembre 02, 2010, 02:04:37 am
deja vu.

lo mismo me pregunto free.

es el mismo que ya tenia.

gracias.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Septiembre 02, 2010, 02:38:45 am
Por cierto, Splinter ¿has probado ya la nueva toolchain o el nuevo SDK liberado por GPH o es el mismo que tenías?

(http://img338.imageshack.us/img338/8766/owned2px4.jpg)
Título: Re: Avances, Diario de...
Publicado por: Mr Matsusaka en Septiembre 02, 2010, 03:19:22 am
que foto mas horrible xddd
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Septiembre 02, 2010, 06:35:38 am
No recuerdo haberlo leido en los dos últimos dias, que es cuando salió la noticia.
Eso sí, es mi segundo owned, y al igual que aquella vez, la foto más horrible no puede ser ¬¬U
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Septiembre 02, 2010, 07:18:16 am
Que va, lo hablamos por msg ayer...

Tus neuronas parecen OK, tranquilo  ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 25, 2010, 10:33:42 am
nuevos cambios:

- soporte completo en 32bits de alpha, ahora van bien las funciones map_put, write_in_map, etc. y trabajan segun hacen los flags actuales, blend adictivo y blend substractivo o normal

- se corrige problema de velocidad en caanoo debido al ultimo firmware.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 25, 2010, 11:03:17 am
oolee, karma plus plus.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 25, 2010, 11:11:44 am
aquellos que puedan compilar la version del svn, necesitaria que lo prueben y me den sus impresiones, diria que lo de 32bits por ahora es experimental.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Octubre 25, 2010, 11:39:33 am
Deseando probarlo Splinter, gracias y karma up!
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 25, 2010, 12:11:38 pm
Subiendo los paquetes actualizados al PPA. Pronto para lucid y un rato después para karmic y maverick.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 25, 2010, 12:34:58 pm
gracias joseba, yo voy compilando para windows, wiz y caanoo... ya que hay algunos cambios que afectan a todas las consolas (como el fix en el draw, los chequeos del path y otras cosas)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 25, 2010, 03:00:20 pm
Nada, nada, hoy reparto karmas como si fueran caramelos :D :D :D
Yo mismo tengo que hacer ports, pero aun no tengo muy claro cómo hacerlo desde Linux, pues no encuentro una toolchain (encuentro SDKs preparados con codeblocks o el devkitpro, y no se si decantarme por ellos). Paciencia.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 25, 2010, 05:40:12 pm
RC18 (r181) disponible

Snapshot: http://betatester.bennugd.org/snapshot/
Sources: http://bennugd.svn.sourceforge.net/
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Octubre 25, 2010, 10:44:44 pm
Gracias Splinter! karma++
Título: Re: Avances, Diario de...
Publicado por: josebita en Octubre 26, 2010, 02:18:19 am
Los binarios ya están disponibles para lucid, karmic y maverick.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2010, 05:16:11 am
por favor, agradeceria prueben los 32bits y cuelguen los programas de ejemplos que usaron para probarlos.

gracias.
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Octubre 26, 2010, 09:00:13 am
Una pregunta, teniendo ya las librerias y todo, bajo solamente el interprete?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2010, 09:14:58 am
el paquete incluye todo, tenes que meter todo...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 26, 2010, 10:43:06 am
Muchas gracias, Splinter (ya sabía yo que no te podías estar quieto el fin de semana sin internet :D), me viene justo al pelo para actualizarme y comprobar si cierto error es mío o no (que va a ser que no ^^U).
Karma++.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 26, 2010, 12:56:48 pm
no se de que error hablas.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 27, 2010, 03:41:10 pm
Nada, olvídalo, como siempre, fallo de concepto.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 27, 2010, 04:30:23 pm
por favor, si necesitas decir algo, dilo... pregunto porque quizas me perdi un mensaje, porque no entendi de que hablabas.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 10:11:08 am
todos los que han pedido el tema del 32 bits, lo han probado? aun no veo respuestas de test...

agradeceria lo prueben...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 29, 2010, 03:01:38 pm
En el segundo test, el de fondo semitransparente verde me sale un marco que no se a qué se debe.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 03:24:31 pm
gracias! a ver...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 03:30:07 pm
falto el map_put con flag a 0

no me parece que esta bien el tema del translucent...

a ver como se veia antes...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 03:37:15 pm
bueno, esta mal, muy mal... :(
Título: Re: Avances, Diario de...
Publicado por: panreyes en Octubre 29, 2010, 03:51:54 pm
Ánimo! :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 03:56:39 pm
jeje, ya lo arreglare... tengo que replantear la forma de usar los alphas.

pero tan mal no esta, no todos estan mal.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 29, 2010, 04:22:20 pm
Y lo del marco verde oscuros sabes a qué se debe?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Octubre 29, 2010, 04:44:36 pm
He añadido el 0 al xput y también una tercera file con la mezcla de imagenes de la segunda al revés, es decir, primero poniendo la esfera y luego añadiéndole un cuadrado semitransparente.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 05:01:21 pm
tu grafico debe tener diferente alpha en los bordes.

edit: es eso, tu grafico tiene un borde de 2px de ancho que es 0 absoluto, y los demas pixels tienen alpha diferente a 0.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 29, 2010, 06:55:47 pm
Ya que estás con los PUT, echa un vistacillo rápido al put_screen y su hermano map_put, porque he intentado poner una mapa de 8 bits en modo 16 bits de pantalla y no ha transformado los colores a los de la paleta (tenía colores vivos en las 7 primeras posiciones, pero al hacer el put se veían en tonos negros).
Pondría ejemplo rápido, pero no me dejan, lo siento :(
Mañana lo mismo te puedo pasar el código con el que trabajo (y sus ficheros), pero no te los puedo preparar.

¿Es normal que no se pueda usar SET_COLORS sin un LOAD_PAL previo en modo 16bits? ¿Y por qué si uso NEW_PAL tengo que usar SET_COLORS(int,int,int,pointer) en lugar de SET_COLORS(int,int,pointer)?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 29, 2010, 08:22:09 pm
necesito ejemplo.

sin un load_pal o sin un new_pal, es correcto.

la otra pregunta es porque una trabaja con paletas individuales y otra con la del sistema.

.------------

volviendo al tema de los 32bits, funciona perfecto (bueno, a medias), es que ahora el render tambien considera el alpha de la pantalla donde se hace el render y entonces al tener este 0, no dibuja, si en el proceso esfera ponemos flags = b_nocolorkey; vamos a ver que se dibuja todo tal cual era en la anterior version, pero el map_put funciono perfectamente, aunque esto funciona perfecto, ahora van a surgir problemas al dibujar sobre la pantalla. diablos!
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Octubre 30, 2010, 06:21:55 am
Pues te mando el código: es un programa que a partir de un fichero TMF (mi formato de mapas de tiles), genera un FPG de durezas de 8 bits (cada pixel equivale al número del tile en esa posición) usando como paleta un BMP "especial", y después un BMP del propio mapa de tiles para usarlo como textura.

Lo primero es lo de la linea 113 de tmf2mode7.prg, no puedo hacer set_colors (a la paleta del sistema) sin usar load_pal.
Lo importante está entre las líneas 116 y 129: en la línea 122 generamos un mapa de 8 bits, la función se encuentra en tmf_conv.inc. En ese fichero, verás la línea 16 comentada. Si quitas las //, cuando salga por pantalla se verá todo negro (salvo la paleta), pero si lo pegas en el paint y rellenas de blanco, verás un mini cuadrado negro en el centro, que no es realmente negro puro, se puede usar la herramienta de relleno y se notarán los diversos colores.
La línea 17 era una prueba para ver si el mapa estaba bién, como proceso el mapa de 8 bits se muestra con los colores de la paleta.

Y ya, si alguien puede decirme por qué tmf_dur.fpg, a pesar de estar bien creado y de tener bien la paleta (comprobado con editor hexadecimal) lo que debería verse gris se ve negro con el FPGedit viejuno...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Octubre 30, 2010, 07:25:35 am
si estas en modo 16 bits, no tenes paleta del sistema hasta que hagas un load_pal, como sea, en 16bits, todos los graficos de 8 bits tiene su paleta propia, si queres que usen la del sistema tenes que eliminar la paleta de cada un de los graficos de 8bits.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 03, 2010, 10:44:53 pm
corregi un nuevo bug, con collision con type mouse, si el grafico del proceso que se quiere testear tiene un tamaño diferente a 100 y supongo que tambien si tiene angle.
no pasaba con las nuevas de collision (box, circle).

esto se debe a que aun se ve que existe el tema que si es de 1px de ancho no pinta bien, no se en que circunstancias, ya que la que dibuja rotado/escalado y la que no son diferentes.

bueno, lo parche, haciendo que el area de colision del mouse sea 2x1, en vez de 1x1, aunque para la comprobaion se testea solo 1x1, asi que no afecta.

en estos dias subo ejecutables, ya que considero este un bug importante.

disculpen las molestias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 07, 2010, 06:32:30 pm
finalmente corregido el tema de los 32bits...

( sera cierto? :D )

bueno, svn actualizado, debo binarios.
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 08, 2010, 12:13:28 pm
Nosotros con el Paper podemos hacer buena prueba, es todo 32 bits, incluso efectos bastante raros que mezclan una especie de foco de linterna en 32 bits con un fade_off. En cuanto estén los binarios avisa, sobre probar los write_in_map, map_block_copy, etc. Todavía no te puedo prometer nada pero lo intentaré :P
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 02:29:51 pm
lo del paper eso que cuando pones un grafico con alpha sobre un blanco total, no va, y esta bien que asi sea, porque ya el fondo esta al maximo del alpha, y ponerle otro del mismo color con mas alpha, no va a hacer que el alpha baje, tenes que cambiar de color o poner en el original un alpha mas bajo.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 08, 2010, 03:12:44 pm
SplinterGU, mira, he estado hechándole un ojo al asunto del png de 24 bits de profundidad de color por pixel y con un color de pixel RGB a tratar como transparente y he visto que los visores como acdsee o eye of GNOME trabajan bien con el transparente y bennu no los cargaba bien. Así que explorando el código fuente de mod_map y el formato PNG he descubierto que metiendo este código podemos dar soporte a imágenes RGB de 24 bits con un pixel a tratar como transparente (es decir sin usar canales alfa)
Código: [Seleccionar]
  else
    {
        Rshift = 8;
        Gshift = 5;
        Bshift = 3;

        Rmask = 0xF80000 ; // 3
        Gmask = 0x00FC00 ; // 2
        Bmask = 0x0000F8 ; // 3
        for ( n = 0 ; n < height ; n++ )
        {
            rowpointers[0] = ( void * )row ;
            png_read_rows( png_ptr, rowpointers, 0, 1 ) ;

            ptr = ( uint16_t* )((( uint8_t * )bitmap->data ) + n * bitmap->pitch );
            orig = row ;
            for ( x = 0 ; x < width ; x++ )
            {
                ARRANGE_DWORD( orig );

                if (( *orig ) & 0x80000000 )
                {
                    *ptr = (( *orig & Rmask ) >> Rshift ) | (( *orig & Gmask ) >> Gshift ) | (( *orig & Bmask ) >> Bshift )  ;
                    if ( !*ptr )( *ptr )++ ;
                }
                else
                    *ptr = 0 ;
              
      <b> if ((color==PNG_COLOR_TYPE_RGB)&& (info_ptr->pixel_depth=24)&& (info_ptr->valid & PNG_INFO_tRNS)){
                 uint8_t * ptr8 = (uint8_t *)orig;
         if(
         (ptr8[0]==info_ptr->trans_values.red) &&
         (ptr8[1]==info_ptr->trans_values.green) &&
         (ptr8[2]==info_ptr->trans_values.blue)
         )
         *ptr = 0;
                }
    </b>
                ptr++, orig++ ;
            }
        }

    }
como ejemplo pongo la imagen que nos pasó el muchacho este deetee,
La imagen adjunta si la abres con un visor cualquiera de imágenes verás que tiene fondo transparente, pero
Si la intentas cargar con el mod_map original no carga la información de transparente y es debido a que no es un formato png  que estemos acostumbrados a usar no es un png de 32 bits sino un png de 24 bits con tratamiento de un color como transparente.
Con esta modificación a mod_map ya sí trata bien este tipo de pngs.
Si quieres ver las diferencias puedes verlas con el siguiente ejemplo:
Código: [Seleccionar]
import "mod_key";
import "mod_map";
import "mod_screen";

process main()
private
 int escape=0;
 int square, pic6;
begin
  square=new_map(300,220,16);
  map_clear(0,square,rgb(0,255,0));
  pic6=png_load("A24b.png");
 repeat
  put(0,square,100,100);
  put(0,pic6,100,100);
  if(key(_ESC)) escape=1; end
  frame;
 until(escape);
 unload_map(0,pic6);

end
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 03:25:04 pm
muchas gracias DCelso, karma!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 03:29:15 pm
pregunta, aca creo que cometiste un error, cierto?

      if ((color==PNG_COLOR_TYPE_RGB)&& (info_ptr->pixel_depth =  24)&& (info_ptr->valid & PNG_INFO_tRNS)){

es ==, si?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 08, 2010, 04:37:10 pm
:D, sips, que bueno que no probé con otras imágenes, sino me petaría :D.
Menos mal que estás al loro y fijo que tienes ya ideas de como optimizarlo :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 04:52:14 pm
por ahora queda como lo pusiste.

gracias.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 08, 2010, 05:06:34 pm
splinter ese arreglo solo funciona para cuando el modo de pantalla es 16 bits, para poder cargar también la información de transparencia de esos PNGS en modo 32 bits hay que poner en la parte de arriba de ese condicional algo parecido.
Código: [Seleccionar]
   else if ( depth == 8 && sys_pixel_format->depth != 16 )
    {
        for ( n = 0 ; n < height ; n++ )
        {
            rowpointers[0] = ( void * )row ;
            png_read_rows( png_ptr, rowpointers, 0, 1 ) ;

            ptr32 = ( uint32_t* )((( uint8_t * )bitmap->data ) + n * bitmap->pitch );
            orig = row ;
            for ( x = 0 ; x < width ; x++ )
            {
                ARRANGE_DWORD( orig );
                *ptr32 = *orig ;
               <b> if ((color==PNG_COLOR_TYPE_RGB)&& (info_ptr->pixel_depth==24)&& (info_ptr->valid & PNG_INFO_tRNS)){
                   uint8_t * ptr8 = (uint8_t *)orig;
if(
(ptr8[0]==info_ptr->trans_values.red) &&
(ptr8[1]==info_ptr->trans_values.green) &&
(ptr8[2]==info_ptr->trans_values.blue)
)
*ptr32 = 0;

               }</b>
                ptr32++, orig++ ;
            }
        }
    }
Ahora he probado con otras imágenes pa no volverla a cagar :d.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 08, 2010, 05:14:55 pm
splinter, haciendo probatinas si uso pantalla de 32 bits y creo imágnes de 16 bits, luego al usarlas no van bien los colores, por ejemplo, este ejemplillo me da un cuadrado amarillo en vez de verde
Código: [Seleccionar]
import "mod_key";
import "mod_map";
import "mod_screen";
import "mod_video";

process main()
private
 int escape=0;
 int square, pic6;
begin
  set_mode(320,240,32);
  square=new_map(300,220,16);
  map_clear(0,square,rgb(0,255,0));
 repeat
  put(0,square,140,140);
  if(key(_ESC)) escape=1; end
  frame;
 until(escape);
 unload_map(0,pic6);

end
No se si es por culpa de los últimos cambios de alphas para soporte 32 bits de las últimas versiones de bennu, ¿Puede ser?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 06:57:48 pm
es probable, voy a volver atras tu cambio, ya que me decis no va bien, debo estar seguro que funciona en todos los casos, aunque me imagino porque no va bien, si lo corregis pasame el cambio, pero asegurate que funcione bien...

gracias...

ahora chequeo el otro tema, a mi tambien me da amarillo, voy a revisar por que.

EDIT: Ahhh, claro, es obvio, el RGB esta trabajando sobre 32bits no sobre 16bits.

proba cambiando el set_mode a 16 y luego poner un set_mode a 32, luego del map_clear, no lo probe aun, pero seguro es eso.

EDIT2: es eso.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 07:37:10 pm
se agregan nuevas funciones RGB*, sintaxis:

RGB( r, g, b, depth )
RGBA( r, g, b, depth )
RGB_GET( color, &r, &g, &b, depth )
RGBA_GET( color, &r, &g, &b, &a, depth )
GET_RGB( color, &r, &g, &b, depth )
GET_RGBA( color, &r, &g, &b, &a, depth )

enjoy it!
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 08, 2010, 07:47:08 pm
Grande Splinter! Solo una pregunta: que diferencia hay entre get_rgba y rgba_get? me suena a que hacen lo mismo  :P
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 08, 2010, 08:04:17 pm
Me imagino que serán sintaxis diferentes para lo mismo.

En cuanto a "depth" me imagino que provoca que se trabaje en ese modo, de forma que se puedan obtener las componentes RGB de 32bpp aunque el modo actual sea de 16bpp, ¿verdad?.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 08:06:16 pm
si, son lo mismo.

exacto, ese es el comportamiento...

pero he tenido que cambiar la sintaxis.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 08, 2010, 08:11:29 pm
ahora si funcionan... el ejemplo de DCelso quedaria asi:

Código: [Seleccionar]
import "mod_key";
import "mod_map";
import "mod_screen";
import "mod_video";

process main()
private
 int escape=0;
 int square, pic6;
begin
  set_mode(320,240,32);
  square=new_map(300,220,16);
  map_clear(0,square,rgb(0,255,0,16));
 repeat
  put(0,square,140,140);
  if(key(_ESC)) escape=1; end
  frame;
 until(escape);
 unload_map(0,pic6);

end

esto era algo que tenia pendiente desde hace mucho tiempo y me habian pedido varios usuarios, decidi hacerlo.

habia pensando meter funciones separadas segun la profundidad, pero eso complicaria luego hacer los codigos, y no aprovecharse de variables profundidad para obtener resultados, asi que opte por poner un parametro depth.

eso si, esto es para modos mayores a 8bits, estas funciones tambien sirven para 8bits, pero 8bits funciona sobre la paleta del sistema, lamentablemente no lo hace para paletas individuales, pero para eso, estan las funciones de map y creo que hay tambien de pal.

disfrutenlo, me retiro a descansar un rato.
Título: Re: Avances, Diario de...
Publicado por: blostec en Noviembre 09, 2010, 11:20:35 am
Después de un tiempo sin visitar el foro, bajada la RC18 y actualizando mis proyectos. Como siempre, muchas gracias por tu trabajo Juan, karma up :)
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 09, 2010, 12:24:07 pm
Ese karma para el maestro, gracias :D
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 09, 2010, 08:01:01 pm
Karma++ para Splinter por el trabajo!
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 10, 2010, 07:29:45 am
me uno.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 13, 2010, 01:45:53 pm
Para cuando los últimos binarios ?
Espero como loco los de Caanoo, compilados con la version 4 del EABI :)
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 15, 2010, 02:07:53 am
Por cierto, actualicé hoy la versión de Windows y la de Caanoo, y en Caanoo no me funciona el límite de fps.
Todos ellos van superchutaos xD
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 15, 2010, 02:24:48 am
Pero y que has actualizado si puede saberse ? :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 15, 2010, 02:49:45 am
PiXeL, tienes la ultima version para Caanoo? y el firm?
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 15, 2010, 03:11:19 am
RC17 tanto para Caanoo como para Windows, y el firm 1.5
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 15, 2010, 03:18:24 am
Que es la RC17, Bennu ?
Me pierdo  :(
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 15, 2010, 04:02:47 am
al menos necesitas la RC18.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 15, 2010, 04:53:11 am
Mmmm... La RC18 no estaba ayer en la web, no? xD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 15, 2010, 05:10:24 am
esta hace tiempo, todavia tengo que compilar una nueva.
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 15, 2010, 06:23:16 am
Estaba en el directorio de snapshots... He cambiado hoy los enlaces, sorry
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 15, 2010, 07:57:21 am
quizas deberiamos implementar algun sistema para que yo suba las versiones y aparezcan directamente en el portal, quizas algun panel o una pagina con password que solo yo tenga.

a ver que proponen y se les ocurre (esto es para PiXel y josebita)
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 15, 2010, 08:03:50 am
Sin problema :)
Es un script facilón en PHP
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 15, 2010, 09:37:57 pm
para los usuarios de linux, en la proxima release se incluira los archivos de autocompletado para el bash... si alguno ya lo quiere ir usando aca los pongo:

/etc/bash_autocompletion.d/bgdc
Código: [Seleccionar]
_bgdc()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

    case "${prev}" in
-o)
            _filedir '@(dcb|DCB|dat|DAT|bin|BIN)'
            return 0
            ;;

        -i)
            _filedir '()'
            return 0
            ;;

-f)
            _filedir '@(*)'
            return 0
            ;;

        -l)
            return 0
            ;;

-s)
            _filedir '@(*)'
            return 0
            ;;

        -D)
            return 0
            ;;

        *)
            _filedir '@(prg|PRG)'
        ;;
    esac

    if [[ ${cur} == -* ]] ; then
        COMPREPLY=( $(compgen -W "-d -o -i -a -f -l -s -g -c -D -p -Ca" -- ${cur}) )
        return 0
    fi
}
complete -F _bgdc bgdc

/etc/bash_autocompletion.d/bgdi
Código: [Seleccionar]
_bgdi()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

    case "${prev}" in
        -i)
            _filedir '()'
            return 0
            ;;

        *)
            _filedir '@(dcb|DCB|dat|DAT|bin|BIN)'
        ;;
    esac

    if [[ ${cur} == -* ]] ; then
        COMPREPLY=( $(compgen -W "-d -i" -- ${cur}) )
        return 0
    fi
}
complete -F _bgdi bgdi

cualquier sugerencia es bien recibida.
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 16, 2010, 03:24:39 am
¡Maravilloso!, gracias.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 16, 2010, 03:37:58 am
Hola, soy nuevo en esto, me podeis explicar todo lo que habeis puesto desde hace 2 páginas hacia aca (me gusta 'aca').
Título: Re: Avances, Diario de...
Publicado por: josebita en Noviembre 16, 2010, 05:06:33 am
En casi todos los sistemas, cuando estás en la consola puedes pulsar la tecla "Tabulador" y la consola rellena los nombre de archivos. P. ej. si haces:
cd /sys<<tabulador>>
la consola rellena hasta
cd /system

Las últimas versiones de Ubuntu han mejorado esto en el sentido de que ahora sólo rellena con los nombres de fichero que pegan con el comando, es decir que si vas a descomprimir un zip desde la consola:
unzip ficher<<tabulador>>
añade texto, pero sólo entre los ficheros que vas a descomprimir, de forma que si existen dos ficheros en ese directorio de nombres "fichero.zip" y "fichero.avi", el sistema sabe que no es probable que quieras pedirle que descomprima un avi y directamente rellena a
unzip fichero.zip

Lo que ha hecho Splinter es lo mismo: con ésto cuando escribas
bgdc <<tabulador>>
el sistema sabrá qué clase de comando puede aceptar cada opción y sólo rellenará con las que tengan sentido.

No sé si me explico :)

RC17 es Release Candidate 17 de Bennu, una forma de nombrar a las versiones.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 16, 2010, 07:33:51 am
Muchas grácias, karma por la explication.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 16, 2010, 09:41:35 am
Hola, soy nuevo en esto, me podeis explicar todo lo que habeis puesto desde hace 2 páginas hacia aca (me gusta 'aca').

jajaja, juro que cuando postee sabia que ibas a preguntar...

groso!

muy bien la explicacion josebita.

agrego, pones bgdc y pulsas tab y muestra todos los .prg o directorios que hay donde estas parados, y si pones una de las letras que componen alguno de ellos te autocompleta con el siguiente tab, y puedes ir agregando caracteres y tab hasta obtener lo que quieres, si tienes un solo prg en el directorio con 1 solo tab ya te lo pone, y si pones bgdc -<tab> (o sea, '-' de argumentos, te tira la lista de argumentos posibles).

bueno, esto mismo con el bgdi.

esto mismo deberia funcionar desde msys en windows, aunque no se bien donde iran los archivos, no lo he chequeado.

Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 16, 2010, 09:52:32 am
Splinter: karma up!

(http://www.bytelove.se/images/uploads/Bytelove/retro/1up%20-%20zoom.jpg)


Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 16, 2010, 01:48:15 pm
je, la verdad que ya estaba cansado que cada vez que tenia que compilar algo tener que escribir el nombre del prg y lo mismo para el dcb.

:D
Título: Re: Avances, Diario de...
Publicado por: osk en Noviembre 16, 2010, 03:49:17 pm
Hola.
Ei, no me toméis como un troll, porfa,pero estaba pensando...¿hay algún roadmap respecto los puntos clave que debe tener Bennu?
Estoy pensando en:
           -64 bits
           -Backend de OpenGL
           -Librería de red oficial
           ...
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 16, 2010, 11:03:37 pm
Hola Osk, perdona mi ignorancia pero ¿qué es un roadmap? (mapa de camino-ruta) es decir ¿sirve para ver que tipo de lenguaje queremos o algo asi?
Título: Re: Avances, Diario de...
Publicado por: Windgate en Noviembre 17, 2010, 01:57:54 am
Creo que se refiere a un TODO, una lista de cositas por hacer.

A Splinter le hemos hecho llegar numerosas sugerencias, pero no hay lista oficial que yo sepa :P
Título: Re: Avances, Diario de...
Publicado por: osk en Noviembre 17, 2010, 06:04:30 am
Sí, eso. Una lista de cosas por hacer temporizadas según su urgencia y el tiempo que se prevee en conseguirlo.
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 17, 2010, 08:02:45 am
Y si abrimos un post para esto? yo creo que es buena idea y de paso lo charlamos entre todos y vemos lo que se puede y lo que no...saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 17, 2010, 08:30:53 am
si, hay, aunque las prioridades cambian con las necesidades.

mas que ser rigido a un roadmap, mas bien veo las necesidades de la gente y segun la importancia, tiempo disponible y factibilidad lo voy haciendo.

si tuviera que seguir un roadmap creo que muchos se quedarian sin muchas cosas.

pero el roadmap general existe, si mal no recuerdo, esta en este mismo foro.

agrego, algunas cosas del roadmap no estan publicas, para evitar que otros tomen ideas.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 18, 2010, 04:43:34 pm
se cambia el MAX_PATH de 260 a 32768, debido a que windows dice que el maximo path puede ser de 32768, ademas de que en la actualidad es comun encontrarse con paths de mas de 260 caracteres.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 18, 2010, 11:59:12 pm
Para cuando el fix de sonido para Caanoo ?
Queria ver si empezaba a hacer los ports que me quedan, pero hasta que no este arreglado pues tendré que seguir esperando.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 19, 2010, 07:46:20 am
este fin de semana intento, pero creo que hay problemas para compilar la mixer... todo es compilacion de la mixer.

por otro lado, podes tambien convertir los sonidos si urge tanto.

el ejemplo que me armaste no tenia los sonidos de ejemplo, asi que voy a perder un buen tiempo buscando sonidos, si me podes pasar un pack completo full estaria agradecido, no me importa si son 100mb o 1gb, mientras este completo.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 21, 2010, 02:39:06 pm
Que dices !?
El ejemplo que te arme tiene todos los sonidos que salen en el menu y en sus respectivos formatos...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 21, 2010, 02:44:22 pm
Lo he mirado, entan embebidos en el dcb...
Te los paso de nuevo sueltos...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 21, 2010, 05:11:08 pm
gracias!
Título: Re: Avances, Diario de...
Publicado por: edgardo30 en Noviembre 25, 2010, 06:52:01 pm
Buenas Noches...

Soy nuevo en este foro, y viendo los avances de esta herramienta de desarrollo de video juegos (Bennu), solo queria felicitarlos por este grandioso proyecto basado en una herramienta que he usado anteriormente (DIV Games Studio), aunque extraño mucho DIV Games Studio...

Saludos...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 26, 2010, 11:47:58 am
veo que ya has actualizado la sdl, pero para cuando los muy esperados binarios actuales ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 26, 2010, 02:32:19 pm
la de caanoo, la tengo compilada, tengo que hacer lo propio con el resto.

aunque no pude testearla como queria...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 27, 2010, 06:13:16 pm
SplinterGu, en un windows xp sp3 recien instalado no va el instalador oficial de bennu. Lo ejecutas y se ve por segundos una ventana de msdos y desaparece. He intentado sacar cualquier log posible pero no hay, lo ejecuté desde consola con  1> salida1.txt 2>salida2.txt y nada no saca nada por las salidas, lo intenté ejecutar en modo compatiblidad w95,w98,w2000 y nada, igual.
He visto que el 7zip puede entrar en el .exe y verlo como un zip, he intentado repararlo pero dice que está bien el archivo.
Lo he abierto con el dependency walker y he visto que da un warning: at least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Así que el programa con el que haces los instaladores debe estar mal configurado o depende indirectamente de alguna dll que no tenemos instalada en el sistema y por eso no suelta windows la ventara de error típica de que falta tal dll.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 27, 2010, 09:41:17 pm
en teoria aparece la ventana de msdos, esta unos segundos, desaparece y por un rato no aparece nada, y luego aparece la ventana del instalador, quizas falte alguna dll si eso no sucede.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2010, 12:08:39 am
comprobado y solucionado... el maldito crosscompiler de windows sobre linux, esta dando problemas que desconozco en el exe generado, ya tengo el exe generado en windows y ahora solo añado los archivos y compilo la parte en bennugd desde linux y funciona ahora de maravilla.

en el proximo release vuelve el instalador...

quizas me gustaria un panel un poco mas chico, de 640x300 o algo mas onda 16:9, si alguien se anima...

gracias.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 28, 2010, 01:54:27 am
 ;D, no  me he enterado del proceso que haces, pero me alegra que se haya solucionado el problema :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2010, 08:31:06 am
el instalador es... pequeño exe con una mochila arriba que contiene un comprimido con la distribucion bennugd y un programa (setup) hecho en bennugd que se encarga de la instalacion... el pequeño exe se encarga de crear las carpetas temporales necesarias para la instalacion, descomprimir bennugd, ejecutar el setup, setear los path del sistema, y luego borrar todas las carpetas temporales.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 28, 2010, 10:26:16 am
:D, un poco guarrete eso de crear carpetas temporales, pero eficaz :D.
Los instaladores como innosetup  (http://www.jrsoftware.org/isinfo.php) hacen algo parecido pero como el "pequeño exe" no es tan pequeño sino que directamente es el GUI instaldor pues no necesita de archivos temporales, él mismo inserta donde hace falta los archivos comprimidos, modifica las claves del registro necesarias, modifica los archicos .ini necesarios y modifica las variables del sistema necesarias :D. Quizás sería una gran opción para el instalador oficial de bennu en windows, es gratuito.

La ventaja que le veo al tuyo, es que si el "pequeño exe" lo compilas en linux o cualquier otro SO, ya tienes instalador para ese otro SO sin tocar nada mas :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2010, 11:15:08 am
:D, un poco guarrete eso de crear carpetas temporales, pero eficaz :D.
Los instaladores como innosetup  (http://www.jrsoftware.org/isinfo.php) hacen algo parecido pero como el "pequeño exe" no es tan pequeño sino que directamente es el GUI instaldor pues no necesita de archivos temporales, él mismo inserta donde hace falta los archivos comprimidos, modifica las claves del registro necesarias, modifica los archicos .ini necesarios y modifica las variables del sistema necesarias :D. Quizás sería una gran opción para el instalador oficial de bennu en windows, es gratuito.

La ventaja que le veo al tuyo, es que si el "pequeño exe" lo compilas en linux o cualquier otro SO, ya tienes instalador para ese otro SO sin tocar nada mas :D.

muchacho, la idea de esto es que el instalador este escrito en BennugD, el pequeño exe solo se encarga de empaquetar todo incluidas las dlls, y no es guarro, es un metodo muy usado, incluso por el innosetup.
Todos los instaladores (o casi) que son 1 solo archivo de instalacion (el innosetup entre ellos) se descompactan en la carpeta %TEMP% y luego ahi ejecutan el instalador real, como lo hace BennuGD.
si no me crees instala algo y mientras lo hace, verifica la carpeta %TEMP% de tu sistema y veras que hace lo mismo.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 28, 2010, 12:42:28 pm
Sí?, no se, si lo dices tu, lo creo, pero juraría que era una de las ventajas que decía el autor que tenía éste sobre otros.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2010, 04:01:53 pm
;)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 28, 2010, 09:59:15 pm
ya subi los archivos a la pagina, pero falta actualizar el portal que se ve no actualiza automaticamente, asi que no podran ver las descargas por ahora.

entre la novedades:

- se corrigio la colision con el mouse.
- ahora la version caanoo usa la SDL del firmware (hay que probar si se puede usar la mixer del firmware y que suenen los ogg)
- el instalador de windows ya funciona correctamente nuevamente, y hay unas cuantas mejoras, ya no arruina las variables path y no es necesario reiniciar el windows una vez terminada la instalacion, tambien se cambio la forma en que se instalan los archivos, ahora es solo todos los archivos dentro de la carpeta de instalacion, para simplicar todo el tema del instalador y de tantos paths a setear.
- otras cosas que ahora no recuerdo, hay que revisar el log del svn si quieren saber que mas cambios se incluyen.

bueno, esperemos que pixel active las descargas y ya lo podran bajar

saludos.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 29, 2010, 12:28:26 am
Listo :D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2010, 06:27:02 am
Sigo viendo la 181  :o
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 29, 2010, 06:37:33 am
si, eso mismo noté yo, pero en www.bennugd.org en descargas encontrarás la RC19(r182)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2010, 10:21:46 am
ahi quedo...

bien muchachos, difundan la palabra... ha salido nueva version bennugd! :D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2010, 11:40:47 am
Vaya, pero yo quiero la ultima del src, la que arregla el port para Caanoo. Tengo que llamar al de la vara ?

(http://4.bp.blogspot.com/__pH2MZ9R3ok/S37QjmhV5CI/AAAAAAAAAQI/8IWmRHpPsMs/s400/t%C3%ADo+la+vara.JPG)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2010, 12:03:57 pm
es la ultima free... vos te drogas?
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 29, 2010, 01:02:39 pm
LOL XD
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2010, 02:36:14 pm
es la ultima free... vos te drogas?

189 = 182 ?
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Noviembre 29, 2010, 03:17:54 pm
es la ultima free... vos te drogas?
;D ;D ;D ;D (jajajajajaja ¡me causó risa en serio!)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 29, 2010, 04:09:35 pm
189???

la ultima es 182.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 29, 2010, 11:09:30 pm
(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1626)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 30, 2010, 04:51:21 am
un error de tipeo al ponerle nombre a las release... pero a ver... si sacamos unos binarios son los ultimos...

gracias por avisar.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Noviembre 30, 2010, 08:32:58 am
ya decía yo que solu hubera una revisión de diferencia entre los dos últimos binarios :D.
Por cierto, va a soportar pronto bennuGD SDL 1.3?
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 30, 2010, 02:20:25 pm
Yo flipo la verdad xDDDD
Llevas semanas actualizando versiones, y es un 'mero' error de tipeo xDDD
Encima como si no importará que ponga 182 en lugar de 189, igual te pasas al Debian 5, o al Windows 3.1 como si nada xDDD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 30, 2010, 03:31:45 pm
jajaja, tenes razon, no nos crucifiques, es que ahora con el nuevo sistema de subir los archivos me confundi... el sistema se encarga de renombrarlos.

esperemos que pixel los corrija.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 30, 2010, 03:33:38 pm
probaron el instalador de windows?

y free, la version de caanoo, podrias comentarme como funciona? intentar tambien eliminar la sdl_mixer y probarla?

es que aun no tengo memoria para probar la caanoo.

gracias
Título: Re: Avances, Diario de...
Publicado por: panreyes en Noviembre 30, 2010, 03:40:03 pm
esperemos que pixel los corrija.

Corregido :)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Noviembre 30, 2010, 04:43:38 pm
Gracias amigos. De momento no he podido probar en Caanoo la nueva version (aunque os machaque pidiendo a gritos la release xDD).
Es finde va ser Bennu a tope, pero esta semana el curro me ocupa todo el tiempo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Noviembre 30, 2010, 05:44:47 pm
sin apuro... gracias!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 01:44:35 pm
Chicos, urgencia!!!!
Teneis problemas con la ultima versión compilada de BennuGD para Windows (sólo he probado de momento aqui).

Dice que no encuentra la libreria mod_sound.dll apesar de que existe en el directorio (estoy compilando un juego compilado de antes, con esta nueva version, toda la estrutura es la misma, sólo he puesto las dll's de la nueva version).
Me imagino que es por los cambios de la SDL y de su actualización en el apartado sonoro (por el tema de Caanoo).
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 02:02:23 pm
Más urgencias!!!!!

He cambiado el runtime en la Caanoo y he probado el juego que ya habia sacado para Caanoo, el Skull (antes tenia el runtime r181 y ahora el r189).
He probado tambien las versiones de Wiz de Geca Blaster 2 y de Art Shot en la Caanoo:

Empiezo por lo bueno:

- Ya funciona el joy tirando de la SDL del firmware
(lo que es bueno, con el mapeo que tenia para Wiz todo funciona igual con Caanoo y no tengo que tocar nada en los joys).

#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
....

- Lo malo:

- Todos los juegos van a 30% más lentos que antes
(ocurre algo similar a lo que le pasa a Drumpi con el port a Gp2x para el firm oficial)

- La musica sigue sin funcionar bien (tipos de ficheros que te comentaba en el test de sonido)
Tambien es cierto que yo uso el firmware anterior + el fix que pusiste aqui (no he puesto el ultimo todavia y no tenia intenciones de hacerlo).


Es urgente, una pena que casi nadie pruebe en Caanoo, y hasta Splinter lo tiene abandonadillo, he tenido que ser yo a actualizar en openhandhealds....
Pero cuando se enteren que la velocidad va peor, se van a moskear :(
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 05, 2010, 02:23:20 pm
Chicos, urgencia!!!!
Teneis problemas con la ultima versión compilada de BennuGD para Windows (sólo he probado de momento aqui).

Dice que no encuentra la libreria mod_sound.dll apesar de que existe en el directorio (estoy compilando un juego compilado de antes, con esta nueva version, toda la estrutura es la misma, sólo he puesto las dll's de la nueva version).
Me imagino que es por los cambios de la SDL y de su actualización en el apartado sonoro (por el tema de Caanoo).

usaste el instalador previo borrado de la carpeta de la version anterior?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 05, 2010, 02:26:34 pm
Más urgencias!!!!!

He cambiado el runtime en la Caanoo y he probado el juego que ya habia sacado para Caanoo, el Skull (antes tenia el runtime r181 y ahora el r189).
He probado tambien las versiones de Wiz de Geca Blaster 2 y de Art Shot en la Caanoo:

Empiezo por lo bueno:

- Ya funciona el joy tirando de la SDL del firmware
(lo que es bueno, con el mapeo que tenia para Wiz todo funciona igual con Caanoo y no tengo que tocar nada en los joys).

#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
....

- Lo malo:

- Todos los juegos van a 30% más lentos que antes
(ocurre algo similar a lo que le pasa a Drumpi con el port a Gp2x para el firm oficial)

- La musica sigue sin funcionar bien (tipos de ficheros que te comentaba en el test de sonido)
Tambien es cierto que yo uso el firmware anterior + el fix que pusiste aqui (no he puesto el ultimo todavia y no tenia intenciones de hacerlo).


Es urgente, una pena que casi nadie pruebe en Caanoo, y hasta Splinter lo tiene abandonadillo, he tenido que ser yo a actualizar en openhandhealds....
Pero cuando se enteren que la velocidad va peor, se van a moskear :(


tenes que usar el nuevo firmware...

ya dije que no tengo SD para probar la caanoo, estoy esperando me lleguen las que compre, hasta que no lleguen no podre probar ni arrancar con el port de la dingoo...

ya lo avise hace unas semanas...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 02:30:19 pm
No uso instalador, eso es para los lamers, yo uso el rar, yo substituyo todas las dll's por las nuevas (todo bennu).
Me he fijado que ahora en el rar habeis puesto todo sin carpetas...

No he hecho el update de Caanoo, de todas formas falta compilar los dcb's con la 189 para ser si la velocidad se arregla, de todas formas si esto ocurre habra que avisar a los usuarios del firmware antiguo.
De momento me resisto a actualizarlo por miedo a joder la consola.
A ver si Pixel ya lo ha hecho.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 05, 2010, 03:07:47 pm
No uso instalador, eso es para los lamers, yo uso el rar, yo substituyo todas las dll's por las nuevas (todo bennu).
Me he fijado que ahora en el rar habeis puesto todo sin carpetas...

No he hecho el update de Caanoo, de todas formas falta compilar los dcb's con la 189 para ser si la velocidad se arregla, de todas formas si esto ocurre habra que avisar a los usuarios del firmware antiguo.
De momento me resisto a actualizarlo por miedo a joder la consola.
A ver si Pixel ya lo ha hecho.


bueno, ahi esta tu problema, necesitas correr el instalador o actualizar la variable path, y borrar los viejos archivos.

con compilar los dcbs no te va a ayudar en nada... necesitas actualizar el firmware o usar la vieja version del runtime, lamentablemente GPH cambio cosas del kernel que requirieron un cambio en los clocks de temporizacion... tanto esto como que hay que usar el nuevo firmware se explico cuando se hizo el cambio...

viejo firmware = viejo runtime
nuevo firmware = nuevo runtime

desconozco si hay forma de conocer la version del kernel, hasta no poder usar la caanoo no podre ver nada del tema...

ahhh... te iba a decir, esta version va mas rapido que la version anterior, pero necesitas el nuevo firmware...

sonidos y demas, como ya te dije cuando subi los binarios, no he podido compilar ni probar la mixer... y tambien te pedi que pruebes con la del firmware eliminando la que esta en el runtime... si algun sonido no funciona en el firm oficial, no puedo hacer nada... todo el soporte de sonido depende de la mixer, no de bennugd... cuando tenga la memoria intentare compilar la mixer con soporte de todos los formatos, pero me parece que no compilan todos los formatos en caanoo.
Título: Re: Avances, Diario de...
Publicado por: panreyes en Diciembre 05, 2010, 03:09:38 pm
Hello, yo actualicé ambas consolas sin problemas, la dev y la final, desde cualquier versión xD
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 04:59:29 pm
No uso instalador, eso es para los lamers, yo uso el rar, yo substituyo todas las dll's por las nuevas (todo bennu).
Me he fijado que ahora en el rar habeis puesto todo sin carpetas...

No he hecho el update de Caanoo, de todas formas falta compilar los dcb's con la 189 para ser si la velocidad se arregla, de todas formas si esto ocurre habra que avisar a los usuarios del firmware antiguo.
De momento me resisto a actualizarlo por miedo a joder la consola.
A ver si Pixel ya lo ha hecho.


bueno, ahi esta tu problema, necesitas correr el instalador o actualizar la variable path, y borrar los viejos archivos.

con compilar los dcbs no te va a ayudar en nada... necesitas actualizar el firmware o usar la vieja version del runtime, lamentablemente GPH cambio cosas del kernel que requirieron un cambio en los clocks de temporizacion... tanto esto como que hay que usar el nuevo firmware se explico cuando se hizo el cambio...

viejo firmware = viejo runtime
nuevo firmware = nuevo runtime

desconozco si hay forma de conocer la version del kernel, hasta no poder usar la caanoo no podre ver nada del tema...

ahhh... te iba a decir, esta version va mas rapido que la version anterior, pero necesitas el nuevo firmware...

sonidos y demas, como ya te dije cuando subi los binarios, no he podido compilar ni probar la mixer... y tambien te pedi que pruebes con la del firmware eliminando la que esta en el runtime... si algun sonido no funciona en el firm oficial, no puedo hacer nada... todo el soporte de sonido depende de la mixer, no de bennugd... cuando tenga la memoria intentare compilar la mixer con soporte de todos los formatos, pero me parece que no compilan todos los formatos en caanoo.

Te estas liando Splinter, leeme bien, son 2 cosas distintas no las mezcles :)

La version de Windows falla al compilar, no tiene nada que ver con Caanoo, por favor revisalo.

Sobre la Caanoo, me habeis convencido, voy a actualizar al nuevo y espero que todo chute a la perfección, sonido incluido, sino vengo com mi primo de Zumosol xDDD
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 06:19:23 pm
Por cierto ya que estamos.

Cuales pueden ser los motivos para que el prg no encuentre un modulo de los que se estan importando ?
Me refiero a que el modulo este bien compilado, con el nombre externo correcto, pero que siga saliendo el error de que no lo encuentra (como es el caso del mod_sound) ?

Acabo de compilar un modulo para Caanoo, y acabo de llevar esta desagradable sorpresa, no me localiza el modulo, pero lo he revisado todo, y el nombre esta correcto (al exportar las funciones).
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 05, 2010, 06:36:43 pm
Puede que te falte alguna librería de la que depende mod_sound (la sdl_mixer, o alguna de sus dependencias).
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 05, 2010, 06:51:32 pm
Si que esta, lo he mirado (recuerda que el la version rar de Bennu que me descargué de aqui, supuestamente la teneis completa).

Sobre mi modulo, puede ser una pista (aunque no creo que dependa de ningun modulo externo que me falte).
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 04:56:40 am
Ya he actualizado el firmware, ok, el sonido parece que ya chuta al 100%

Sobre la release para Windows, no localiza la mod_sound, porque por algun motivo la SDL_mixer que habeis puesto no la consigue cargar o da error interno, le puse la SDL_mixer antigua, y si pude compilar, pero logicamente ocurrio como la release anterior para Caanoo, donde la mayoria de los sonidos daban error al cargar.

Ya sabeis, hay que revisar la SDL_mixer, ahora mismo a los usuarios que se descarguen vuestra nueva versión no les va funcionar Bennu si usan sonidos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 05:09:42 am
nop, no estoy mezclando... te he comentado ambas cosas segun corresponde en cada punto.

a ver... si no usas el instalador debes incluir las dlls externas (que no se incluyen en el rar)... has como quieras, pero los paths han cambiado, si no usas el instalador entonces busca la opcion de que funcionen, pero la ultima version funciona bien en windows...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 05:17:07 am
Pero que dll's externas ? Si hasta ahora todo se incluia en el rar (y la SDL_mixer tambien viene en el rar), y si dejais de hacerlo no tiene sentido, ya que deberian venir todas las dependencias (entiendo que estais acostumbrados a Linux, pero en Windows existe la buena practica de portabilidad de poner todo lo necesario con el juego).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 05:36:44 am
Pero que dll's externas ? Si hasta ahora todo se incluia en el rar (y la SDL_mixer tambien viene en el rar), y si dejais de hacerlo no tiene sentido, ya que deberian venir todas las dependencias (entiendo que estais acostumbrados a Linux, pero en Windows existe la buena practica de portabilidad de poner todo lo necesario con el juego).

diablos no se cuando empece a meter las dlls externas en el rar... bueno, ahi estan...

ya veo, el stripeado de symbolos en la SDL_mixer la ha corrompido... hay que copiar la vieja version de dlls externas...

voy a regenerar esos paquetes...

gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 05:49:46 am
actualizado, gracias!

karma!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 05:53:09 am
Entonces en las descargas del rar 189 ya esta el nuevo ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 05:58:48 am
ya esta el nuevo, puedes probarlo a ver si ahora te funciona? gracias
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 06:20:25 am
Pero que distribuciones has actualizado ? Es que las fechas de los archivos son las mismas en el rar !
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 07:04:02 am
Pero que distribuciones has actualizado ? Es que las fechas de los archivos son las mismas en el rar !

lo probaste?
Título: Re: Avances, Diario de...
Publicado por: Rein (K´)ah Al-Ghul en Diciembre 06, 2010, 01:53:30 pm
alguien podria poner los pasos para actualizar a la ultima version ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 02:11:06 pm
si te refieres a windows.

borra el directorio de instalacion de bennugd, entra en propiedades del sistema y ve a variables de entorno y quita todos los paths de bennugd en la variable PATH.

luego de esto, solo corre el nuevo instalador.
Título: Re: Avances, Diario de...
Publicado por: Rein (K´)ah Al-Ghul en Diciembre 06, 2010, 02:56:13 pm
te refieres al instalador en tu firma splinter?
este:
http://betatester.bennugd.org/snapshot/bgd-1.0.0RC18(r181)-win32.exe
???
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 06, 2010, 02:58:06 pm
El de la página de descargas de la web, hombre.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 06, 2010, 02:59:15 pm
a este
http://www.bennugd.org/node/2
Título: Re: Avances, Diario de...
Publicado por: Rein (K´)ah Al-Ghul en Diciembre 06, 2010, 03:14:55 pm
gracias...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 04:02:14 pm
Lo siento pero hasta que no disponibilizeis la versión en rar no podré probarlo.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 06, 2010, 04:19:18 pm
es que esto no es la version rar?
http://www.bennugd.org/downloads/bgd-1.0.0RC19(r189)-win32.rar
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 06, 2010, 04:30:45 pm
Si DCElso pero sigue teniendo las dlls antiguas (lo veo por fecha), y apesar de esto, lo volvi a probar, y sigue igual.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 06, 2010, 04:43:31 pm
mierda, copien las dlls viejas y ya...

Pixel, podrias revisar si subo un archivo con el mismo nombre, si me lo acepta o deja el viejo?
Título: Re: Avances, Diario de...
Publicado por: panreyes en Diciembre 07, 2010, 07:06:32 am
Ya está arreglado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 07, 2010, 07:14:03 am
funcionaba mal?
Título: Re: Avances, Diario de...
Publicado por: panreyes en Diciembre 07, 2010, 07:40:04 am
No lo sé xD
Pero ante la duda, si se sube un fichero nuevo, antes de colocarlo en su sitio borramos el que estuviera xD
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 07, 2010, 08:03:31 am
Sigue el antiguo, no mirais las fechas de las dll's incluidas ?!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 07, 2010, 08:36:48 am
lo voy a volver a subir, pero quiero volver a probarlo antes de hacerlo, y con el ultimo upgrade del debien se me cago la VM, y no me deja desinstalar el puto vmware...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 07, 2010, 05:01:24 pm
ya esta la version windows, regenerado, y vuelto a testear... ahora si funciona...

mil disculpas.
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 08, 2010, 04:22:56 am
Actualizando, muchas gracias Juan! karma++
Título: Re: Avances, Diario de...
Publicado por: Prg en Diciembre 08, 2010, 02:25:45 pm
gracias, descargado y probado
antes no funcionaban las colisiones + size!=100 y ahora si me funciona.

saludos, y karma++ para splinter.
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Diciembre 12, 2010, 01:18:28 am
Muchisimas gracias por meterle dia a dia y mantener actualizando...Splinter presidente che!!! karma++

(http://www.sosgroso.com.ar/don.jpg)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 06:11:41 am
subido al SVN (aunque necesite mas testing)

- char[] initialization fix         
- full arrays copy support added
- glyph_set fix
- better error messages
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 15, 2010, 07:00:17 am
Como siempre muerto de prisa xDDD
Da igual, alfinal el fix no me sirve de nada, cuando tengo que crear el array en el cuerpo dentro de if's... Pero bueno, me alegro por los fix para los demás usuarios que hagan copias de sus arrays.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 07:04:16 am
muerto de prisa? hace casi 2 semanas que tengo el cambio esperando pruebas, pero tu estas ocupado con otras pruebas y esto realmente es muy importante, porque no solo se tratan de copias de arrays, se trata del manejo de todo tipo de dato, si algo sale mal... bueno, gracias por la ayuda con las pruebas... (ironic mode)

puf, los fix no son para solucionarte la vida a una persona, son para arreglar cosas que funcionan mal...
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 15, 2010, 07:20:35 am
Yo no puedo estar en mil frentes, por esperar mas una semana tampoco se moria nadie....
Es curioso que digas eso, cuando tenemos que esperar siempre semanas o meses por los binarios, cuando sabes de sobra, que sólo 2 o 3 privilegiados se pueden compilar el codigo, y ni nos los pasan  ;D
Ahora mismo corrijes Bennu en la r191 a toda prisa, pero despues por los binarios nos tenemos que tomar 3, 4 semanas trincado los dientes  >:(
Título: Re: Avances, Diario de...
Publicado por: panreyes en Diciembre 15, 2010, 07:25:29 am
FreeYourMind, te quejas por quejarte man :\

Y de hecho, esos privilegiados son todos los que puedan instalarse herramientas básicas de complilación, que los Makefiles van muy bien :\
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 15, 2010, 07:28:30 am
Diselo a mis portatiles, que se quejan siempre de todo cuando intento compilar cosas que me pasais, que supuestamente sólo le tengo que cambiar las rutas....
Título: Re: Avances
Publicado por: DjSonyk en Diciembre 15, 2010, 07:39:55 am
Sasto, aplicando las matemáticas escritas de toda la vida también da ese resultado :D.

Bueno se que no viene al caso pero me interesaba leer este hilo entero para enterarme de todo bien...y encotré un bug a DCelso que ya le tenia ganas,en plan sano no te mosquees, no se que matematicas has estudiado tú,pero las que he estudiado yo se aplican como una maquina,multiplicacions y divisiones se ejecutan antes que las sumas y restas.Si te lo enseñaron en la escuela de distinta forma entoces esque tenias un mal profesor de matematicas :P

15+3*5 =30 sea donde sea,de ahi que las matematicas también se use los parentesis.
Yo la verdad Splinter que las pruebas que realice yo con los chars eran muy basicas y parece que iban bien.
Aun asi estas haciendo un trabajo explendido no solo con bennugd windows/linux,ya con todas plataformas en general y es normal que lo quieras dar vida al asunto. Karma++
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 08:06:01 am
Yo no puedo estar en mil frentes, por esperar mas una semana tampoco se moria nadie....
Es curioso que digas eso, cuando tenemos que esperar siempre semanas o meses por los binarios, cuando sabes de sobra, que sólo 2 o 3 privilegiados se pueden compilar el codigo, y ni nos los pasan  ;D
Ahora mismo corrijes Bennu en la r191 a toda prisa, pero despues por los binarios nos tenemos que tomar 3, 4 semanas trincado los dientes  >:(

me pone triste que me diga eso, porque me da la sensacion que no se entiende lo que representa lo que hago para el proyecto... voy a intentar comentar algunos puntos...

1) "Yo no puedo estar en mil frentes, por esperar mas una semana tampoco se moria nadie...."

el tiempo que le dedico al proyecto es tiempo que tengo libre cada tanto, que le robo al trabajo o a mi familia... cada uno de esos minutos los tengo que aprovechar al maximo, asi que no puedo esperar 2 semanas o 3, porque los cambios se me acumulan y luego algun eventual bug en ellos se hace una tarea imposible de resolver... y ni contar que uso el SVN como backup, no quiero perder nuevamente fuentes...

y demas esta decir que estar en el frente de probar las versiones "customizadas" de Caanoo o Wiz que genera DCelso, existiendo ya versiones oficiales de los mismos... no le veo sentido.

2) "Es curioso que digas eso, cuando tenemos que esperar siempre semanas o meses por los binarios, cuando sabes de sobra, que sólo 2 o 3 privilegiados se pueden compilar el codigo, y ni nos los pasan  ;D
Ahora mismo corrijes Bennu en la r191 a toda prisa, pero despues por los binarios nos tenemos que tomar 3, 4 semanas trincado los dientes  >:("

a menos que sean bugs criticos, no puedo andar poniendo binarios por cada cambio, por el simple hecho que muchas veces son pocas lineas de codigo y porque no quiero aguantarme a nadie diciendo que saco binarios como chorizos.

tambien te comento, que compilarlos es muy simple una vez con el entorno preparado, y la unica complicacion para preparar los entornos es compilar las librerias externas, que en cualquier caso no se necesitan compilar, se bajan los paquetes compilados y se ponen en el directorio, luego no es ciencia, configura + make, esta explicado muchisimas veces por todos lados en el foro.
ahora si vos empezas a tocar los makefiles, a queres usar el codeblocks, metiendo mano donde no hay que meterla, entonces eso es otra cosa...

tampoco podes compararme con Uds. diciendo que yo les pido pruebas y las necesito rapido, cuando yo soy 1 sola persona y Uds. cientos... una simple prueba, un minimo compromiso... no les estoy exigiendo nada, ni siquiera les exijo dinero a cambio de lo que hago (que una donacion de 1$ a 5$ no me desagrada para nada), una simple mano en hacer unas pruebas para beneficio de todo es lo unico que pido... vamos que creo que no es mucho.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 15, 2010, 08:18:07 am
Te entiendo Splinter, pero nunca he despreciado tu trabajo, si hablo así contigo es porque ya tenemos confianza para hacerlo, de lejos cuestiono tu trabajo.

Pero tienes que entender dos cosas tambien, nosotros tambien trabajamos (por lo menos yo y la mayoria de bennuseros), y tambien el tiempo se escasea, si te digo para esperar 2,3 semanas es porque por lo menos yo prefiero tener tiempo de probar y decirte que si funciona, que no probar y decirte que me va bien....

Sobre DCElso, creo que lo que hace por Bennu, es por pasion como la mayoria que estamos, y como tu mismo ya has dicho en ocasiones, hay cosas que motivan y otras no, por ejemplo ya han exisitido posibles cambios sujeridos para Bennu y no los quisiste hacer porque te aburria y no lo veias divertido de hacer, era mas bien una obligación, pues lo mismo ocurre con nosotros que usamos Bennu, ni siempre lo que hacemos nos resulta divertido, pero siempre intentamos ayudar a los demás del foro en sus pruebas.

Tu crees que me resulta divertido estar cambiando mis 2 sd's entre varias consolas de GPH para hacer varias pruebas, donde cada vez que lo hago tengo que cambiar el runtime y otros parametros ? Pues no, aún así lo hago por vosotros, ya que lo haceis tambien por mi.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 08:38:44 am
creo que hay un grave error... nunca dejo de hacer algo en bennugd porque me aburre o porque no lo veo divertido... nada tiene que ver eso con mi trabajo en el proyecto... muchisimas cosas de las que hice, me hubiesen gustado no hacerlas... si hay algo que no hago en bennugd no es porque me aburra o no me resulte divertido, sino que porque no lo creo conveniente para el proyecto... muchas de las sugerencias que hacen al proyecto son para adaptar el lenguaje a sus actuales proyectos, y eso nunca puede ser asi, es el proyecto el que se tiene que adaptar al lenguaje, no al revez.
Título: Re: Avances, Diario de...
Publicado por: l1nk3rn3l en Diciembre 15, 2010, 10:01:39 am
subido al SVN (aunque necesite mas testing)

- char[] initialization fix        
- full arrays copy support added
- glyph_set fix
- better error messages

adelante----->>>> , continuemos .....  (recordad que es navidad!!!)

Gracias +karma
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 15, 2010, 11:12:11 am
Perdona, Splinter, pero la versión "alpha" para test la pusiste hace como cinco días:
http://forum.bennugd.org/index.php?topic=1869.msg32989#msg32989
Yo aun no he tenido tiempo ni de pensarme en probarlo (y mira que lo tengo fácil, pero modificar los scripts de compilación me da pereza) :D :D :D

Nah, haré una prueba en cuanto pueda con los programas que tengo, con y sin compilación (para testear la compatibilidad de los DCB), aunque nunca hago nada "raro" (ya sabes, C style: todo a mano ;D).
Ya me conoces, soy reacio a los cambios de los programas ^^U

Aun así, muchas gracias por la nueva release :)
Título: Re: Avances
Publicado por: DCelso en Diciembre 15, 2010, 11:51:12 am
Sasto, aplicando las matemáticas escritas de toda la vida también da ese resultado :D.

Bueno se que no viene al caso pero me interesaba leer este hilo entero para enterarme de todo bien...y encotré un bug a DCelso que ya le tenia ganas,en plan sano no te mosquees, no se que matematicas has estudiado tú,pero las que he estudiado yo se aplican como una maquina,multiplicacions y divisiones se ejecutan antes que las sumas y restas.Si te lo enseñaron en la escuela de distinta forma entoces esque tenias un mal profesor de matematicas :P

15+3*5 =30 sea donde sea,de ahi que las matematicas también se use los parentesis.
Yo la verdad Splinter que las pruebas que realice yo con los chars eran muy basicas y parece que iban bien.
Aun asi estas haciendo un trabajo explendido no solo con bennugd windows/linux,ya con todas plataformas en general y es normal que lo quieras dar vida al asunto. Karma++
¿?, lo siento ni idea de que me hablas. bennu y yo ahí también vemos 30.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 15, 2010, 11:56:44 am
Creo que ya se por donde vas, a ver el operador asignación es distinto del operador igual. ¿Es eso a lo que te refieres?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 12:31:38 pm
Perdona, Splinter, pero la versión "alpha" para test la pusiste hace como cinco días:
http://forum.bennugd.org/index.php?topic=1869.msg32989#msg32989
Yo aun no he tenido tiempo ni de pensarme en probarlo (y mira que lo tengo fácil, pero modificar los scripts de compilación me da pereza) :D :D :D

Nah, haré una prueba en cuanto pueda con los programas que tengo, con y sin compilación (para testear la compatibilidad de los DCB), aunque nunca hago nada "raro" (ya sabes, C style: todo a mano ;D).
Ya me conoces, soy reacio a los cambios de los programas ^^U

Aun así, muchas gracias por la nueva release :)

me perdi, que scripts de compilacion hay que modificar?
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 15, 2010, 12:36:08 pm
Los mios: compilo mediante scripts, lo que me ahorra la instalación de Bennu y me facilita la selección de versión a usar en cada momento :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 12:52:16 pm
con reemplazar los binarios no tenes que modificar ningun script.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 15, 2010, 02:42:33 pm
- Added 1bpp png support (save/load)
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 15, 2010, 11:39:57 pm
- Added 1bpp png support (save/load)
¡Anda!. Ni sabía que se pudiera hacer una png de 1bpp, gracias ;)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 16, 2010, 06:10:16 am
Yo me conformaba con sacar un PNG de 8/16/24 bits, pero mira, no sabía de los PNG de 1 bit. Gracias :)
Ya no sé ni cuantos karmas te he dado en los últimos tres días :D
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 20, 2010, 09:46:25 am
- Added 1bpp png support (save/load)

Gran trabajo, gracias Juan!  :)
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 20, 2010, 09:52:19 am
- Added 1bpp png support (save/load)

Gran trabajo, gracias Juan!  :)

Gran observación, gracias blostec! :)
Título: Re: Avances, Diario de...
Publicado por: Windgate en Diciembre 23, 2010, 02:07:43 pm
OFFTOPIC: Splinter, tus dibujos en blanco y negro todo pixelado al pie de tus posts me son familiares, ¿De qué se trata?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 23, 2010, 02:25:49 pm
OFFTOPIC: Splinter, tus dibujos en blanco y negro todo pixelado al pie de tus posts me son familiares, ¿De qué se trata?

:D :D :D

;) ;) ;)

son codigos de barra con mensajes... el que tenia antes tambien lo era, pero de otro tipo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 23, 2010, 02:27:32 pm
nuevo avance...

- Multiple sources can be compiled from command line (like #include), for example:

bgdc prg1.prg prg2.prg

this same that compile prg1.prg and do #include "prg2.prg" in prg1.prg
Título: Re: Avances, Diario de...
Publicado por: panreyes en Diciembre 23, 2010, 04:04:39 pm
Wow! nice! :D

But I'd rather force the developer to create specific prgs to do that, so it will be more ordered!

Something like this:

wii.prg:
 include "game.prg";
 include "wiicontrols.prg";

windows.prg:
 include "game.prg";
 include "windowscontrols.prg";
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 23, 2010, 04:12:21 pm
English in english forum please, 'Advances, Diary of...'
Título: Re: Avances, Diario de...
Publicado por: Noivern en Diciembre 23, 2010, 04:47:25 pm
OFFTOPIC: Splinter, tus dibujos en blanco y negro todo pixelado al pie de tus posts me son familiares, ¿De qué se trata?
http://es.wikipedia.org/wiki/Código_QR (http://es.wikipedia.org/wiki/Código_QR)
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 23, 2010, 06:06:23 pm
Es el mismo texto que tenía antes, pero ahora en código QR.

En cuanto a la actualización, ya la teneis para Lucid en mi PPA; los paquetes se están copiando para Maverick y para Karmic y deberían estar listos en unos minutos.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 23, 2010, 06:09:49 pm
esto es parte de un cambio importante que estoy pensando/intentando implementar, creo que algunos ya se estaran imaginando de que va.
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 23, 2010, 06:15:40 pm
Yo personalmente no tengo ni idea, pero ánimo con ello :)
Título: Re: Avances, Diario de...
Publicado por: DCelso en Diciembre 24, 2010, 02:45:23 am

...
------------------------------------------------------------------------
r126 | SplinterGU | 2010-01-15 19:29:46 -0300 (vie 15 de ene de 2010) | 2 lines

- path_find memory leak fix
...
A partir de esta versión ha dejado de funcionar mi ejemplo de path_find, pega un casque tremendo ahora que bloquea la recepción de eventos de ratón y teclado :(.
Fijo que me basaba en algun fallo anterior del path_find, sin saberlo. Tengo que revisar el ejemplo.
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 24, 2010, 03:42:24 am
nuevo avance...

- Multiple sources can be compiled from command line (like #include), for example:

bgdc prg1.prg prg2.prg

this same that compile prg1.prg and do #include "prg2.prg" in prg1.prg

Sos grande Juan!  :)
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 24, 2010, 05:54:36 am
Yo no termino de entender hacia dónde va esto, pero bueno, ahí está (bueno, sí, para compilar según el SO).

¿En el ejemplo ese, prg2.prg se "incluiría" antes o después del código de prg1.prg? Lo digo por el orden de declaraciones y todo eso.
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 24, 2010, 06:23:51 am
Por lo que entiendo del ejemplo, en primer lugar se debe indicar el .prg principal y luego los que contienen procesos que se invocan en el primero. De todas formas, supongo que ante la duda se puede seguir compilando con el tradicional #include dentro del .prg principal.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 24, 2010, 08:23:17 am
no, no, no tiene nada que ver con multiples operativos, no entiendo que quiso decir PiXeL.

ahora esto es como cualquier compilador, donde uno puede poner varios fuentes y generar un solo objeto binario, por linea de comando.

para modos de comparacion, es como hacer un #include, no prentende en lo mas minimo evitar el #include, por el contrario el uso de #include sera muy usado pronto, o por lo menos eso me gustaria.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 24, 2010, 06:16:47 pm
Se podría hacer un script que decidiese el segundo prg que usar según el SO, que tuviese funciones con el mismo nombre (en ambos prg secundarios) pero código distinto según si se ejecuta en windows, linux o Wiz (por ejemplo, usando distintos comandos de sistema).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 24, 2010, 06:43:52 pm
Se podría hacer un script que decidiese el segundo prg que usar según el SO, que tuviese funciones con el mismo nombre (en ambos prg secundarios) pero código distinto según si se ejecuta en windows, linux o Wiz (por ejemplo, usando distintos comandos de sistema).

eso lo haces con OS_ID
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 27, 2010, 09:26:34 pm
bien, nuevas funciones, new_fnt o fnt_new.

sintaxis:

FNT_NEW (CHARSET, DEPTH)
FNT_NEW (FILE, GRAPH, CHARSET, WITDH, HEIGHT, FIRST, LAST, FLAGS)

donde CHARSET puede ser:

CHARSET_ISO8859
CHARSET_CP850

donde flags puede ser

NFB_VARIABLEWIDTH
NFB_FIXEDWIDTH

la mas interesante es la ultima, que nos permite a partir de un bitmap crear una fuente en memoria.

un codigo como el siguiente:

Código: [Seleccionar]
import "mod_video";
import "mod_wm";
import "mod_text";
import "mod_map";
import "mod_key";

private
    a,b,c;
    g;
    font, font2;
begin

    set_mode(640,480);

    g = png_load("font.png");
    font = fnt_new(0,g,CHARSET_ISO8859,16,16,0,255,0);

    write_int(font,0,0,0,&a);
    write_int(font,0,20,0,&b);
    write_int(font,0,40,0,&c);

    write(font,0,60,0,"hello world!");

    write_int(0,320,0,0,&a);
    write_int(0,320,20,0,&b);
    write_int(0,320,40,0,&c);

    write(0,320,60,0,"hello world!");

    font2 = fnt_new(0,g,CHARSET_ISO8859,16,16,0,255,1);

    write_int(font2,0,100,0,&a);
    write_int(font2,0,120,0,&b);
    write_int(font2,0,140,0,&c);

    write(font2,0,160,0,"hello world!");

    while( !key( _ESC ) && !exit_status )
        a++;
        b--;
        c*=2;
        if ( c == 0 ) c = 1; end
        frame;
    end

end

y un bmp como el siguiente:

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1699)

produce una salida como la siguiente:

(http://forum.bennugd.org/index.php?action=dlattach;topic=102.0;attach=1701)

tambien se soportan bitmaps verticales de 1 sola fila o de 1 sola columna de fonts.

espero sea de su agrado.
Título: Re: Avances, Diario de...
Publicado por: Noivern en Diciembre 27, 2010, 09:55:18 pm
buenísimo, te vas a tapar en karmas xD
Título: Re: Avances, Diario de...
Publicado por: Fede en Diciembre 27, 2010, 10:47:27 pm
¡Eres mi semiDiooooooooos!  ;D

¡KARMA!
Título: Re: Avances, Diario de...
Publicado por: josebita en Diciembre 27, 2010, 11:39:03 pm
¡Genial! Gracias.
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 28, 2010, 12:10:59 am
Impresionante, muchísimas gracias Juan. Karma up!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Diciembre 28, 2010, 03:48:13 am
Fantastico!!! Yo tenia un sistema interno para escribir fuentes a traves de imagenes guardadas en el fpg (fuentes de imagenes), con esto ya veo que no lo voy a necesitar :)
Karma!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 28, 2010, 04:17:46 am
me alegro que les haya gustado...

ahora estoy trabajando en un cambio y mejora muy importante... y luego de esto me pongo con el port de dingoo... antes de continuar con el plan de trabajo...

si yo no hago publico el plan de trabajo es porque me gusta sorprenderlos...
Título: Re: Avances, Diario de...
Publicado por: blostec en Diciembre 28, 2010, 04:44:28 am
Y a nosotros que nos sorprendas  :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 28, 2010, 06:22:23 am
fix al sistema, para que ahora permita poner accesos a arrays de structuras sin poner [], solo se podra realizar para arrays de structuras y al primer elemento.

esto es valido

scroll.camera
scroll[0].camera

esto no es valido para acceder al address:

scroll

para acceder al mismo como un puntero, lo correcto es

&scroll
&scroll[0]
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Diciembre 31, 2010, 08:13:58 am
¡Uau! Geniales las funciones de los FNT, ahora sí que se pueden personalizar el tema de las fuentes.
¿Los flags de los charsets modifican de alguna manera el orden en el que se leen los caracteres del mapa o se ordenan en el FNT o es sólo para indicarlo en el fichero FNT de salida?

Bueno, karma++... y espero que esto no sea una inocentada :D
...y a la espera de nuevas sorpresas ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Diciembre 31, 2010, 05:04:55 pm
usa el charset, no es solo en la salida.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 01, 2011, 03:36:26 pm
- Blitter fix
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 01, 2011, 11:58:43 pm
¿Taducción please?

Según la wiki Blitter es un chip de gráfico dedicado a la transferencia de memoria.

¿Que dices que has arreglado? ;D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 02, 2011, 03:35:07 am
es la parte del motor encargada de dibujar en memoria (video o de un mapa)
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 02, 2011, 05:18:59 am
Me olía algo de eso.

!Muchas gracias Splinter! ¡Ala! ¡Karma!

Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 02, 2011, 09:56:48 am
:)

gracias.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 02, 2011, 03:56:08 pm
¿Está subido al SVN? Estaba mirando código y creo que me hará falta en un futuro (espero que no muy lejano).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 02, 2011, 05:00:19 pm
que cosa?
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 03, 2011, 05:51:41 am
Los cambios de la libblit.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 03, 2011, 07:57:24 am
si, drumpi, ya estan.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 03, 2011, 09:24:37 am
sip, y la última versión que he compilado para GP2X tb los trae ya. :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 03, 2011, 11:27:40 pm
- Optimize memory used for strings in compilation
- Fix max sources files in debug information (before 256, now 4093)
- Fix dcb version detection
- Several improvements in the core
- Better debug info messages
- Compilation warnings now are disabled by default
- New lib system, now can be possible build dcl libraries
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 03, 2011, 11:41:26 pm
Bien, por fin lo tengo... me ha costado un buen trabajo...

el cambio del que hablaba se trata de un nuevo sistema con el cual es posible crear librerias para bennugd a nivel dcb.

esto es, dcbs que aportan funciones escritas en codigo bennugd.

esto nos permite liberar funciones de usuario sin necesidad de liberar codigo, asi sea por seguridad o porque queremos tener todo mas prolijo y ordenado, o simplemente porque no queremos compartir codigo.

si bien estos nuevos archivos .dcl no son mas que .dcb, pero tienen alguna que otra pequeña modificacion para hacer posible esto.

ejemplos de uso:

para crear una libreria, vamos a tomar el ejemplo de key_event.lib.

solo haremos:

bgdc --libmode key_event.lib

esto nos generara un bonito key_event.dcl, el cual luego utilizaremos en nuestros proyectos.

ahora, estos dcl tienen una limitacion, no contienen constantes ni tampoco contienen defines, por ende necesitamos un .h como el siguiente (key_event.h):

Código: [Seleccionar]
#ifndef __KEY_EVENT_LIB
#define __KEY_EVENT_LIB

#define _key_pressed    0
#define _key_down       1
#define _key_up         2

#define _key(k,ev) ((ev==_key_down)?(  _key_state[ k ][ _key_use ] && !_key_state[ k ][ _key_use ^ 1 ] ): \
                    (ev==_key_up  )?( !_key_state[ k ][ _key_use ] &&  _key_state[ k ][ _key_use ^ 1 ] ): \
                    ( _key_state[ k ][ _key_use ]))

#endif

NOTA: no se deben declarar las funciones que existan en la lib si la estamos linkeando, ya que sino dara error. Pero si es una funcion que pensamos usar como externa y no la estamos linkeando en ese momento (generar otra dcl que usara una dcl), si conviene declararla para evitar conversiones raras.

ahora para compilar nuestro programa usando la libreria previamente generada, hacemos:

bgdc -L key_event.dcl key_event_test.prg

esto nos generara nuestro dcb de toda la vida, pero incluyendo todas las funciones de la libreria.

espero que les haya gustado y empiecen a liberar y compartir cosas usando este metodo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 03, 2011, 11:41:56 pm
hoy durante el dia prometo generar release binaria.
Título: Re: Avances, Diario de...
Publicado por: josebita en Enero 04, 2011, 12:27:25 am
¡Muchas felicidades, Splinter! ¡Vaya regalazo de año nuevo!.
Voy a subir el paquete actualizado a mi PPA.
Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 04, 2011, 03:02:32 am
Impresionante, gran trabajo Juan. Esperamos los binarios con los brazos abiertos  ;D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 04, 2011, 03:56:24 am
Gracias juan, espero que no estropee el espirito libre de Bennu, un gran update.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 04, 2011, 05:46:36 am
Mmmm, esto podría usarlo para mi motor de tiles, genial. Karma.

Aunque claro, la idea era que se tuviese el código para modificar el proceso tile o realizar mejoras al propio motor según se necesitase ^^U
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 06:59:01 am
Gracias juan, espero que no estropee el espirito libre de Bennu, un gran update.

yo espero que mejore el espiritu colaborativo de muchos que les gustaria colaborar con funciones o engines o lo que sea, pero no lo hacen porque no quieren compartir el codigo...

incluso podria dar paso a comercializar librerias escritas en bennugd, por ejemplo, un gui pago, un motor de tiles, funciones de encripcion, etc.

Mmmm, esto podría usarlo para mi motor de tiles, genial. Karma.

Aunque claro, la idea era que se tuviese el código para modificar el proceso tile o realizar mejoras al propio motor según se necesitase ^^U

se pueden mejorar o agregar funciones a una libreria, creando otra nueva que usa la que ya esta cerrada, tipo wrapper.
Título: Re: Avances, Diario de...
Publicado por: Prg en Enero 04, 2011, 07:00:00 am
genial, karma++

vamos a tenerles que hacer algunos cambios a nuestros ides a la hora de compilar... je je

Esto me cae genial para gui_so, donde hay funciones que no me gustaría que fueran modificadas como escanea (una pequeña modificación posiblemente desestabilice el programa)..

saludos
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 04, 2011, 07:02:14 am
Opino lo mismo  ;D
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 04, 2011, 07:42:27 am
Splinter, genial, karma mas mas, siempre sorprendiéndonos :D, para cuando soporte de clases? :D.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 07:53:03 am
odio las clases... desde lo mas profundo de mi ser...
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 04, 2011, 08:40:43 am
 :o, tonces descartao  pa siempre :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 09:28:06 am
no para siempre, pero no a corto plazo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 09:43:46 am
nueva version binaria liberada con todos los fix de las ultimas semanas/mes.
Título: Re: Avances, Diario de...
Publicado por: Noivern en Enero 04, 2011, 09:54:52 am
:o asi que esto era jojjojo
Muy bien, como dijo prg, ahora toca repensar como hacer las cosas más modulares, de modo de reutilizarlas más fácilmente.
Me gusta, karma++

y karma-- por tu odio a las clases jajajajajaja
noooo, mentira :P

Gracias juan, espero que no estropee el espirito libre de Bennu, un gran update.

No lo creo, al contrario, siempre puedes pasar el código fuente junto a tus librerías, de hecho lo deja más ordenado: modifícalo bajo tu propio riesgo, pero si quieres el original, ahi estará el .dcl
Título: Re: Avances, Diario de...
Publicado por: Prg en Enero 04, 2011, 10:36:09 am
Citar
No lo creo, al contrario, siempre puedes pasar el código fuente junto a tus librerías, de hecho lo deja más ordenado: modifícalo bajo tu propio riesgo, pero si quieres el original, ahi estará el .dcl

Estoy completamente de acuerdo.. je je. a descargar y probar
Título: Re: Avances, Diario de...
Publicado por: Prg en Enero 04, 2011, 10:38:37 am
nueva version binaria liberada con todos los fix de las ultimas semanas/mes.


dónde está la versión?

la busqué acá y no veo nada del 2011

http://betatester.bennugd.org/snapshot/?C=M;O=D
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 04, 2011, 10:57:26 am
pues como las últimas veces, no está en su firma sino en la página principal de bennu, en la que parece ser que nadie entrais :D

http://www.bennugd.org/node/2
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 04, 2011, 12:47:13 pm
¡KARMAAAAAAAAAAAAAAAAAA!

Gracias Splinter por el nuevo binario.

Cada cual se alegra de lo que más le hace falta.  ;D

Que conste que yo pienso liberar todo lo que haga.  :D

Y las dcl me parece muy buena idea para hacerte tus propias librerias bien ordenaditas.

(Y no sé porque que me huelo que una dcl se puede descompilar).  8)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 02:24:51 pm
¡KARMAAAAAAAAAAAAAAAAAA!

Gracias Splinter por el nuevo binario.

Cada cual se alegra de lo que más le hace falta.  ;D

Que conste que yo pienso liberar todo lo que haga.  :D

Y las dcl me parece muy buena idea para hacerte tus propias librerias bien ordenaditas.

(Y no sé porque que me huelo que una dcl se puede descompilar).  8)

si podes descompilar la dcl, entonces podes descompilar un dcb.

y si es asi, pasa el programa porque yo no logro hacerlo.
Título: Re: Avances, Diario de...
Publicado por: Prg en Enero 04, 2011, 02:37:46 pm
pues como las últimas veces, no está en su firma sino en la página principal de bennu, en la que parece ser que nadie entrais :D

http://www.bennugd.org/node/2

ahh
je je
perdón  ::)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 02:46:05 pm
Pongo un resumen de los cambios de la version binaria liberada:

- char[] initialization fix         
- full arrays copy support added
- glyph_set fix
- better error messages
- Added 1bpp png support (save/load)
- Multiple sources can be compiled from command line (like #include)
- new fonts functions, new_fnt or fnt_new.

syntax:

FNT_NEW (CHARSET, DEPTH)
FNT_NEW (FILE, GRAPH, CHARSET, WITDH, HEIGHT, FIRST, LAST, FLAGS)

where CHARSET can be:

CHARSET_ISO8859
CHARSET_CP850

where flags can be:

NFB_VARIABLEWIDTH
NFB_FIXEDWIDTH

The most sexy function is the last one [ FNT_NEW (FILE, GRAPH, CHARSET, WITDH, HEIGHT, FIRST, LAST, FLAGS) ], this function allow us create font from maps loaded in memory.

- Video blitter crash fix
- Optimize memory used for strings in compilation
- Fix max sources files in debug information (before 256, now 4093)
- Fix dcb version detection
- Several improvements in the core
- Better debug info messages
- Compilation warnings now are disabled by default
- New lib system, now can be possible build dcl libraries.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 04, 2011, 03:38:49 pm
Ni en sueños decompilareis un dcb xDDD
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 03:47:52 pm
Ni en sueños decompilareis un dcb xDDD

no seria posible, porque llevaria mucho trabajo y dependeria de la version del bgdc, y si yo cambio algo en el bgdc, ya el decompilador no serviria, necesitaria upgrade y asi podria ser eternamente.

aun asi, hay cosas que quizas podrian ser dificiles de detectar.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 04, 2011, 04:38:35 pm
Lo de decompilar el BCD me recuerda a aquella vez que Pixel se puso a trastear en el DCB de Venturer y casi descubre el huevo de pascua que tiene. Encontró uno, pero el que lleva el intérprete me lo guardo para el posible juicio por su uso ilícito :D :D :D

Yo de clases no entiendo mucho: sé que son una serie de funciones públicas y otras privadas para manejar "algo" (ya sea una lista enlazada, una imagen...) y dejarlo encapsulado, de forma que sólo se pueda acceder usando sus propias funciones, lo cual beneficia el orden, la portabilidad y la actualización del código (no sé, como las funciones de acceso a los textos en bennu).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 04:40:26 pm
claro que se puede interpretar el dcb y ver que hace, como se puede interpretar un asm... pero de ahi a hacer un decompilador hay un paso gigantesco.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 05:10:23 pm
- subida version con fix, que corrije el tema de que las funciones eran consideradas process
Título: Re: Avances, Diario de...
Publicado por: Noivern en Enero 04, 2011, 07:52:35 pm
- subida version con fix, que corrije el tema de que las funciones eran consideradas process
¿Esto no afecta las librerias y modulos importados verdad?
Justo acabo de subir el binario de mi juego y las librerias de windows a mi mediafire con la version anterior (sin fix), ojalá me salve de recompilar y resubir :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 04, 2011, 07:53:40 pm
si no usas dcl no hay problema.
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 04, 2011, 10:29:46 pm
Ni en sueños decompilareis un dcb xDDD

Nunca digas nunca jamás.  ;D

Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 05, 2011, 07:07:31 am
Bajando la nueva release, muchas gracias Juan. karma up!
Título: Re: Avances, Diario de...
Publicado por: panreyes en Enero 06, 2011, 04:15:02 am
Señores fede & free: su chat lo he separado a otro tema.

Si quereis hacer un offtopic teneis una sección para ello.
Y no se permite insultar a todas las mujeres del mundo, especialmente las peruanas. Esto va por ti free, ya que varias personas han dado un toque sobre ese mensaje.

Frenad, y hablar de lo que toca aquí. Pa otras cosas MasterC... Offtopic
Título: Re: Avances, Diario de...
Publicado por: josebita en Enero 06, 2011, 04:16:02 am
Mi último offtopic.

Si me puedo pillar novia, gorda, analfabeta, sin dientes, peruana, y infiel, si, me creo que no la tengo porque no quiero, tienes razón xDDD
Un usuario se ha quejado de que le parece despectiva la forma en la que dices "peruana", Free.
La verdad es que los últimos posts de la conversación que te traes con Fede son un poco chungos y no vienen mucho a cuento. Cortaos un poco, anda.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 06, 2011, 04:39:36 am
Vaya, no era mi intención entrad en temas raciales, mis disculpas a los visitantes ocultos que se han sentido ofendidos, pero vamos, es que nos sentimos tan a gusto que a veces nos olvidamos que mas gente nos mira  :D
Tema cerrado.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 06, 2011, 10:49:37 am
- Subidos un par de fix que afectan al compilador y al runtime

estoy generando los binarios.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 06, 2011, 11:40:40 am
subida la nueva version fixeada...

por favor, esparcid la noticia.
Título: Re: Avances, Diario de...
Publicado por: blostec en Enero 06, 2011, 12:39:58 pm
Entendido Juan, actualizando mi Bennu, de nuevo muchas gracias.  :)
Título: Re: Avances, Diario de...
Publicado por: Noivern en Enero 06, 2011, 04:21:15 pm
Gente hay que volver a bajar la última version, que el servidor no la actualizaba bien.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 06, 2011, 04:22:50 pm
justo estaba buscando este hilo...

estoy por subir nueva version caanoo, que corrije el problema de diferentes velocidades entre distintas versiones de firmware.

solo subire version caanoo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 08, 2011, 09:27:21 pm
la maldita version dingux no esta queriendo generar las .so

diablos!
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 08, 2011, 11:35:39 pm
¡Animo Splinter!

Yo no tengo dingoo pero estoy loco por pillarme una.  ;D

Besitos.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 08, 2011, 11:55:07 pm
la maldita version dingux no esta queriendo generar las .so

diablos!

Te lo dijé en su día, compila Bennu con su SDK oficial nativo, te va ser mas fácil de lo que piensas,incluso yo consegui compilar cosas para el y encima que si lo logras ya no necesitas versión Dingux ya que funcionará en cualquier Dingoo, y de esta forma, pensando que vas por el camino más fácil, sólo conseguiras rular Bennu en un numero limitado de Dingoo's cuyos dueños han instalado Dingux, pero hay mucha gente que se compra la consola y no tiene ni idea de como ponerle Dingux.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 09, 2011, 07:44:47 am
el SDK nativo me parece que no tiene SDL, por lo menos no lo vi... ya del vamos es una mierda conseguir el toolchains, el SDK que encontre nativo y oficial no tiene SDL.

asi que para nada sera facil.

el camino mas facil? puf, muchacho, no se justifica el tiempo que se perdera en el port nativo con algo de lo que no se saca ni 1 centavo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 09, 2011, 07:57:14 am
ademas, no te preocupes que me voy a cargar el sistema de configure en dingux...

si en dingoo nativo existe SDL, y demas libs necesarias, avisame y lo compilo en nativo.

saludos.
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Enero 09, 2011, 08:03:31 am
Corregidme si me equivoco, pero por lo que lei x ahi parece que las nuevas versiones de la Dingo van a soportar el Dingux en forma standart (no se si eso implique la desaparición del modo nativo). La version SDL para modo nativo tiene todavia algunos problemas y la verdad que no he visto casi entusiasmo x ella, por lo menos en el foro la gente no hace muchas consultas sobre ella. Las mas de las cosas parecen salir para el Dingux y ahora que ha habido un acercamiento entre chinachip y boboo se supone que posteriores versiones del Dingux soportaran lo que x ahora solo hay en modo nativo (Radio y otros).


Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 09, 2011, 09:20:20 am
Pues que se acerquen tambien a Splinter.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 09, 2011, 02:49:09 pm
Corregidme si me equivoco, pero por lo que lei x ahi parece que las nuevas versiones de la Dingo van a soportar el Dingux en forma standart (no se si eso implique la desaparición del modo nativo). La version SDL para modo nativo tiene todavia algunos problemas y la verdad que no he visto casi entusiasmo x ella, por lo menos en el foro la gente no hace muchas consultas sobre ella. Las mas de las cosas parecen salir para el Dingux y ahora que ha habido un acercamiento entre chinachip y boboo se supone que posteriores versiones del Dingux soportaran lo que x ahora solo hay en modo nativo (Radio y otros).




no entendi... el modo nativo en bennugd no existe para dingoo.
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Enero 09, 2011, 10:35:24 pm
En resumen me referia que probablemente te va ser mas facil hacer el BennuGD para el Dingux que para el modo Nativo (a pesar de la joda que significa instalar el Dingux para los usuarios comunes y silvestres).
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 10, 2011, 03:42:40 am
ah, si, si, eso ya lo teniamos en claro...
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Enero 10, 2011, 09:12:45 am
Parece ser que el figura de Harteex portó la SDL al FW nativo de la Dingoo...

http://boards.dingoonity.org/dingoo-development/native-now-has-sdl/ (http://boards.dingoonity.org/dingoo-development/native-now-has-sdl/)

Me alegro Splinter de que finalmente consiguieras la Dingoo, no creo que te arrepientas de ello por lo práctica que es y por su precio... aunque creo que fue donada, mejor que mejor :-)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 10, 2011, 09:47:07 am
gracias karma!

si, fue donada.
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Enero 10, 2011, 12:32:09 pm
Parece ser que el figura de Harteex portó la SDL al FW nativo de la Dingoo...

http://boards.dingoonity.org/dingoo-development/native-now-has-sdl/ (http://boards.dingoonity.org/dingoo-development/native-now-has-sdl/)

Me alegro Splinter de que finalmente consiguieras la Dingoo, no creo que te arrepientas de ello por lo práctica que es y por su precio... aunque creo que fue donada, mejor que mejor :-)

Si te fijas en las fechas desde el 26 de setiembre no hay ningun comentario sobre el tema. Como que me da la duda que ese port sea muy exitoso y de todos modos por lo que he vuelto a leer, el Dingux remplazara al Nativo (a menos claro que haya un doble boot)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 10, 2011, 12:46:18 pm
ah, transdiv, no te habia entendido antes, dices que oficialmente reemplazaran al sistema nativo por dingux?
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Enero 10, 2011, 01:26:14 pm
ah, transdiv, no te habia entendido antes, dices que oficialmente reemplazaran al sistema nativo por dingux?

No queda claro si van a coexistir de alguna manera, pero si, El soporte a Dingux sera oficial tanto con Chinachips como con la otra compañia que creaba los falsos dingoos.

www.dingux.com (http://www.dingux.com)

http://boards.dingoonity.org/other-game-systems/a-380!/?PHPSESSID=eisig4dlfv4e4liujnoa4sirg2 (http://boards.dingoonity.org/other-game-systems/a-380!/?PHPSESSID=eisig4dlfv4e4liujnoa4sirg2)











Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 07:44:53 am
me doy por vencido con la version dingux...

compila todo, pero parece que tengo un sdk de mierda o el dingux que instale no va.

no se, la info de dingux es una recagada, no hay nada claro, todo desparramado por todos lados, el site de dingux es un blog donde no hay secciones how-to ni nada.

si alguien tiene entorno dingux, pediria que por favor intente compilar con la version del svn, que ya esta todo incluido para compilar.

si no hay avances, abandonare esto por unos dias, tengo albañiles en casa haciendome el baño nuevo y obligandome a levantarme a las 8:00am... estoy muerto de sueño...
Título: Re: Avances, Diario de...
Publicado por: Transdiv en Enero 11, 2011, 07:54:32 am
me doy por vencido con la version dingux...

compila todo, pero parece que tengo un sdk de mierda o el dingux que instale no va.

no se, la info de dingux es una recagada, no hay nada claro, todo desparramado por todos lados, el site de dingux es un blog donde no hay secciones how-to ni nada.

si alguien tiene entorno dingux, pediria que por favor intente compilar con la version del svn, que ya esta todo incluido para compilar.

si no hay avances, abandonare esto por unos dias, tengo albañiles en casa haciendome el baño nuevo y obligandome a levantarme a las 8:00am... estoy muerto de sueño...

Hummm...... Algo de eso escuche; Por eso creo que habia hasta un proyecto opendingux. De todos modos hombre tomate el tiempo que quieras, que total, no te pagamos sueldo para hacer eso. Esperemos que con el soporte mas o menos oficial de las futuras versiones mejoren la documentación.

PD: Lo que si algunos usuarios van a llorar un poquito al escucharte esto.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 08:29:19 am
gracias, lo importante es que compila... y me sirvio para mejorar el sistema de builds general.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 11, 2011, 09:22:50 am
olee, algo es algo, por cierto splinter, que va a pasar con mod_ffi?, actualmente no compila ni para atrás, y clarop  casi nunca me acuerdo y me desespero hasta que veo ffi por algun lado y digo, olee, a eliminar de la compilación.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 11, 2011, 09:27:46 am
Y que modulo es ese con nombre tan raro ?
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 11, 2011, 09:37:56 am
nu ze, exporta esto:
Código: [Seleccionar]
DLCONSTANT  __bgdexport( mod_ffi, constants_def )[] =
{
    { "FFI_FIRST_ABI"       , TYPE_DWORD    , FFI_FIRST_ABI     },

    /* ---- Intel x86 Win32 ---------- */
#ifdef _WIN32
    { "FFI_SYSV"            , TYPE_DWORD    , FFI_SYSV          },
    { "FFI_STDCALL"         , TYPE_DWORD    , FFI_STDCALL       },
    /* TODO: Add fastcall support for the sake of completeness */
#endif

    /* ---- Intel x86 and AMD x86-64 - */
#if !defined(_WIN32) && (defined(__i386__) || defined(__x86_64__))
    { "FFI_SYSV"            , TYPE_DWORD    , FFI_SYSV          },
    { "FFI_UNIX64"          , TYPE_DWORD    , FFI_UNIX64        },      /* Unix variants all use the same ABI for x86-64  */
#endif

    { "FFI_DEFAULT_ABI"     , TYPE_DWORD    , FFI_DEFAULT_ABI   },
    { "FFI_LAST_ABI"        , TYPE_DWORD    , FFI_LAST_ABI      },

    { NULL                  , 0             , 0                 }
} ;

/* ----------------------------------------------------------------- */
/* Declaracion de funciones                                          */

DLSYSFUNCS  __bgdexport( mod_ffi, functions_exports )[] =
{
    { "FFI_DECLARE" , "ISSSS"   , TYPE_INT  , modffi_declare    },
    { "FFI_CALL"    , "IPP"     , TYPE_INT  , modffi_call       },
    { 0             , 0         , 0         , 0                 }
};
Pero depende de una libffi que no existe, quizas sea un wrapper para esto
http://sourceware.org/libffi/
algo relaccionado con cargar librerías externas
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 10:32:57 am
olee, algo es algo, por cierto splinter, que va a pasar con mod_ffi?, actualmente no compila ni para atrás, y clarop  casi nunca me acuerdo y me desespero hasta que veo ffi por algun lado y digo, olee, a eliminar de la compilación.


esta eliminado de la compilacion, posiblemente ese modulo desaparezca para integrarlo directamente al core.

que es eso? pues nada, un modulo que permite hacer llamadas a cualquier dll estandard del operativo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 11:07:38 am
- se deja de usar openssl para las versiones consolas, y se usa libdes en su reemplazo, que es mucho mas liviana.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 11, 2011, 11:11:18 am
- se deja de usar openssl para las versiones consolas, y se usa libdes en su reemplazo, que es mucho mas liviana.

Esto puede provocar que vuelva a funcionarme el compilador de Windows (el cygwin tenía incompatibilidades con openssl) ;D
Lo que no significa que el port para firm oficial vaya a funcionar.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 11:22:04 am
las version pc siguen con openssl, pero es tan facil como modificar el configure para que no lo haga y que compile la libdes.

Título: Re: Avances, Diario de...
Publicado por: Drumpi en Enero 11, 2011, 11:30:44 am
Muy bien, lo haré para el próximo port de GP2X.

Por cierto, descansa, no te fuerces: si no puede ser, déjalo un par de días y verás cómo te viene la inspiración. Pero mientras tengas obras en casa, procura usar el tiempo libre que tengas en descansar, porque yo sé lo que es eso (obras+trabajo+poco dormir) y no rindes nada.
Sé que no me vas a hacer caso, pero bueno, es mi consejo.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 11, 2011, 11:39:58 am
gracias... intento hacerte caso. :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 20, 2011, 09:52:35 pm
new version released
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 20, 2011, 10:33:52 pm
Me he bajado la versión RC20f formato RAR de la web y no me vá.

Me dice:

D:\Bennu Mis Progamas\Bennu File Manager\Bennu File Manager: doesn't exist or is
n't version 7 DCB compatible
Presione una tecla para continuar . . .

¿Alguien más la ha probado?

Gracias y saludos.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Enero 21, 2011, 12:03:31 am
Para cuando version funcional de Dingoo ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2011, 03:33:17 am
puede ser que no funcione el empaquetado, ahora lo pruebo...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2011, 03:42:49 am
verificado, el bgdc esta corrupto, ahora lo corrijo, gracias.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2011, 03:59:29 am
fixeado, con la version dingoo estoy trabajando...
Título: Re: Avances, Diario de...
Publicado por: Fede en Enero 21, 2011, 06:00:49 am
Ok. Ya va.  :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 21, 2011, 06:43:37 am
joya!

es que semi-automatice un poco mas la compilacion y generacion de instalables... y bueno, habia que depurar algo en los scripts.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 22, 2011, 07:35:16 pm
empieza a funcionar el port dingux... el bgdc no va, pero el bgdi si... aunque no tengo joys y los timers revientan...

vamos a seguir probando.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 22, 2011, 09:48:34 pm
se viene la version dingux


Ya tengo una version que empieza a funcionar en bennugd... tengo varios temas por resolver...

1) la SDL crashea al inicializar los TIMERS, no se si ya lo hara por defecto sola esta incializacion o voy a tener fallos

2) no se como mapea las teclas la SDL, por lo menos los cursores y el SELECT van como cursores y ESC... tengo que averiguar el resto.

3) probe el galaxian de wiz/caanoo, funciona bien, salvo el disparo, aun no se que tecla va. y a buena velocidad.
probe tambien una demo que hice de componer una pantalla con 512 procesos o 756, no recuerdo, y si que se pone pesado ahi.

bueno, nada de momento eso...

ahh, me olvide, bgdc no funciona en dingux, pero tampoco me molesta ni me interesa eso...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 22, 2011, 10:28:36 pm
mas resultados...

- crashean los wav al cargarlos
- no me aparecen los fonts cargados con load_fnt (quizas se lo mismo que le pasa a joseba con los endians)

- el tema de las keys ya las tengo resueltas, el jkeys va fantastico ya.

eso es todo por ahora...
Título: Re: Avances, Diario de...
Publicado por: josebita en Enero 23, 2011, 07:30:54 am
[...]
- no me aparecen los fonts cargados con load_fnt (quizas se lo mismo que le pasa a joseba con los endians)
[...]
DungixDingux es bigendian?

Bueno, si lo solucionas avisa de cómo, a ver si la solución vale para la Wii tb.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Enero 23, 2011, 08:33:39 am
no se si es endian... lo voy a tener que verificar.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Enero 23, 2011, 01:39:31 pm
y para psp.

A mi me escama que un programa bennu que carga un gráfico con un load_png o load_pcs se compile en pc (para obtener el dcb) y al ejecutarlo en psp o wii se vean los colores invertidos.

Y en cambio un programa que usa las funciones new_map,map_clear, RBG para crear un gráfico dinámicamente se compile en pc y al ejecutarlo en psp vaya perfecto, es decir igual.

Parece fallo solo del mod_map y de como inserta la imagen en el sdl_surface, la funcion RGB inserta correctamente cada componente de color en su sitio bueno del sdl_surface.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Febrero 02, 2011, 09:46:49 am
Una cosilla...

En la última release, la función draw_box() no trabaja correctamente, pues el 2º y el 4º parámetro no trabajan de igual forma...

En concreto, si no recuerdo mal, en el segundo parámetro ('x2' o 'ancho', ahora no recuerdo qué indica, pero creo que es el 'ancho') sí que se incluye el píxel indicado a la hora de pintar, mientras que en el cuarto (el relativo a 'y2' o 'alto'), no...

¿No existe un hilo en concreto para indicar los bugs? para no poner esto aqui...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 02, 2011, 10:16:42 am
Una cosilla...

En la última release, la función draw_box() no trabaja correctamente, pues el 2º y el 4º parámetro no trabajan de igual forma...

En concreto, si no recuerdo mal, en el segundo parámetro ('x2' o 'ancho', ahora no recuerdo qué indica, pero creo que es el 'ancho') sí que se incluye el píxel indicado a la hora de pintar, mientras que en el cuarto (el relativo a 'y2' o 'alto'), no...

¿No existe un hilo en concreto para indicar los bugs? para no poner esto aqui...

es correcto, creo que es cosa del blitter
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 02, 2011, 05:11:21 pm
Una cosilla...

En la última release, la función draw_box() no trabaja correctamente, pues el 2º y el 4º parámetro no trabajan de igual forma...

En concreto, si no recuerdo mal, en el segundo parámetro ('x2' o 'ancho', ahora no recuerdo qué indica, pero creo que es el 'ancho') sí que se incluye el píxel indicado a la hora de pintar, mientras que en el cuarto (el relativo a 'y2' o 'alto'), no...

¿No existe un hilo en concreto para indicar los bugs? para no poner esto aqui...

fixeado, era la libdraw... fixee varias funciones... gracias por el aviso. karma.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Febrero 03, 2011, 03:35:55 am
Todo sea por el crecimiento del Bennu y de la buena comunidad que lo rodea ;-)
Título: Re: Avances, Diario de...
Publicado por: blostec en Febrero 04, 2011, 08:50:30 am
Bajando la RC20, como siempre, muchas gracias Juan. karma++
Título: Re: Avances, Diario de...
Publicado por: Outlaw en Febrero 04, 2011, 09:57:30 am
Gracias Splinter por el trabajo que te tomas siempre! karma++ y ++ ++ ...Saludos!
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 04, 2011, 09:58:39 am
de nada, los 2 ultimos fix todavia no estan reflejados en los binarios.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 04, 2011, 08:36:19 pm
dingux beta

http://www.fileserver.cc/zu26ddb4c7iq.html

no funcionan los wav... puede que haya algun problema con los timers...

los scripts son iguales a los de wiz o caanoo, salvo que hay que poner export delante de LD_LIBRARY_PATH y de PATH

agradeceria testing.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 04, 2011, 08:53:53 pm
Yuuyuuuy, son las 6 de la mañana, despues de una noche llena de fiesta y sexo esto el la mejor noticia xDDD
Título: Re: Avances, Diario de...
Publicado por: Fede en Febrero 05, 2011, 12:16:01 am
Jua, jua, jua.

¡Y karma para Splinter!
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 05, 2011, 03:31:49 am
Splinter pasanos un fichero de arranque para el menu dingux y un ejemplo de prueba please.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 05, 2011, 08:06:03 am
no hay ejemplos, pueden usar los de caanoo o wiz... para agregar al gmenu, hay que tocar un archivo de configuracion que no me acuerdo el path.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 05, 2011, 08:20:04 am
No hay forma....
Los otros juegos de dingux si que van pero Bennu no hay forma que arranque (no llega ni a llamar el bgdi), el error que me da no lo consigo visualizar porque se sale muy rápido de nuevo al menu. Tengo los mismos problemas que tue al probar el anterior port de Bennu a Dingux.

Te paso los scripts del dmenu que es el que utilizo:

En 'local\dmenu\themes\toddler\menu_game.cfg' tengo mi link al juego:

MenuItem Bennu
{
Icon = "res/games/alice.png"
Name = " Bennu"
Executable = "./shootem"
WorkDir = "/usr/local/games/shootem"
}


Despues el juego lo tengo en 'local\games\shootem' y el script de llamada es:

#!/bin/sh
cd `dirname $0`
SDL_NOMOUSE=1 ./bgdi shootem.dcb 1>stdout1.txt 2>stderror2.txt

(Aqui tengo todos los ficheros de bennu en la misma carpeta del juego).


Otra forma que tenia era esta:


#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../mipsel-linux
PATH=$PATH:../mipsel-linux
echo 2 > /proc/cpu/alignment
bgdi shootem.dcb


Aqui tengo el runtime en 'local\games\mipsel-linux'


El problema parece que hay algun problema al ejecutar ./shootem, el cual ni llega a ejecutar bennu, pero no se que error es
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 05, 2011, 08:23:24 am
free, que dije yo al respecto de los PATH y LD_LIBRARY_PATH? (lo mismo para cualquier otra variable)

dingux beta

http://www.fileserver.cc/zu26ddb4c7iq.html

no funcionan los wav... puede que haya algun problema con los timers...

los scripts son iguales a los de wiz o caanoo, salvo que hay que poner export delante de LD_LIBRARY_PATH y de PATH

agradeceria testing.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 05, 2011, 08:24:23 am
por mas que tengas todos los archivos en la carpeta del juego, tenes que setear el LD_LIBRARY_PATH con export delante

el "echo 2 > /proc/cpu/alignment" me parece que no va, no me acuerdo
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 05, 2011, 08:45:21 am
Lo he puesto así a ver si es correcto:

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../mipsel-linux
export PATH=$PATH:../mipsel-linux
bgdi shootem.dcb 1>stdout1.txt 2>stderror2.txt


El error que pone creo que es este:

Read-only file system
Unable to open file system for writing
unable to execute command "./shootem"

O sea como te dijé, no llega ni a ejecutar, lo raro es que si funciona en los demás juegos del menu!!!!


Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 05, 2011, 09:12:40 am
He encontrado esto:

http://boards.dingoonity.org/dingux-general/error-booting-dingux/
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 05, 2011, 12:10:13 pm
Splinter el último binario para todas las plataformas (RC21 - r228) tiene el fix de la fuente del sistema (1px de separación) ?

Hay alguna nueva actualización prevista para este mes o principios del próximo ?

Lo pregunto porque quiero hacerle test de estabilidad, comprobación de memoria, etc a mi juego en breve y quedarme en una versión concreta de Bennu para todas las plataformas.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 06, 2011, 12:46:16 pm
Puedes poner el script para dingux Splinter y la estrutura de carpetas ? Yo he ultrapasado el problema anterior pero ahora no me pilla el bgdi.

Sobre la compilación de Bennu, el makefile de windows (variables de compilación) que viene en el src, es para compilar la version de Bennu para windows estando en Linux ? Donde puedo descargar el compilador que tienes referenciado en el ? (el gnu-win)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 06, 2011, 03:07:34 pm
Lo he puesto así a ver si es correcto:

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../mipsel-linux
export PATH=$PATH:../mipsel-linux
bgdi shootem.dcb 1>stdout1.txt 2>stderror2.txt


El error que pone creo que es este:

Read-only file system
Unable to open file system for writing
unable to execute command "./shootem"

O sea como te dijé, no llega ni a ejecutar, lo raro es que si funciona en los demás juegos del menu!!!!




esta intentando correr en un filesystem de solo lectura, quizas tengas proteccion en le memory, y entonces fallan los >... pero asi deberia funcionar.

Splinter el último binario para todas las plataformas (RC21 - r228) tiene el fix de la fuente del sistema (1px de separación) ?

Hay alguna nueva actualización prevista para este mes o principios del próximo ?

Lo pregunto porque quiero hacerle test de estabilidad, comprobación de memoria, etc a mi juego en breve y quedarme en una versión concreta de Bennu para todas las plataformas.

si, tiene el fix.

en principio, salvo corregir bugs, no tengo pensado nada para este mes.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 06, 2011, 03:15:23 pm
Lo he puesto así a ver si es correcto:

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../mipsel-linux
export PATH=$PATH:../mipsel-linux
bgdi shootem.dcb 1>stdout1.txt 2>stderror2.txt


El error que pone creo que es este:

Read-only file system
Unable to open file system for writing
unable to execute command "./shootem"

O sea como te dijé, no llega ni a ejecutar, lo raro es que si funciona en los demás juegos del menu!!!!




lo que mencionas del link es probable pasa si quitas o apagas la consola sin que haya hecho sync de los datos a disco (desconectar de forma segura)... con lo que se corrige pasandole un scandisk a la memoria, o fsck en linux... y tendras que volver a copiar los archivos mal copiados a la memoria...

a mi me ha pasado varias veces en linux.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 06, 2011, 03:18:52 pm
eso también pasa por no expulsar (o desmontar) debidamente el pendrive, memoria o lo que sea usb . :D
Ya ma pasao mas de una vez con la memory stick de la psp. :D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 06, 2011, 03:39:11 pm
Sip, saco siempre las tarjetas a lo bruto, pero en windows nunca tuve problema.

Lo que quiero es el script de ejecución tal cual, porque ya no me fio de nada. y respondeme a lo de compilar bennu tb  :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 06, 2011, 04:29:37 pm
Código: [Seleccionar]
#!/bin/sh
unset OS_ID

## Is important set first bgd-runtime folder
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH

export LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
export PATH=../bgd-runtime:$PATH

### For use Wiz games on Caanoo uncomment the next lines
#OS_ID=8
#export OS_ID

echo 2 > /proc/cpu/alignment

for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg
    bgdi $name
done

sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK

este es el que me funciona a mi...

no entiendo que querias saber del compilador.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 06, 2011, 09:12:17 pm
Citar
si, tiene el fix.

en principio, salvo corregir bugs, no tengo pensado nada para este mes.

Gracias.

He estado mirando aquí http://www.bennugd.org/downloads/old/, pero no veo la RC17 (r165) o anteriores, hay alguna forma de conseguirlas ?

Me gustaría verificar una cosa de rendimiento sobre Wiz  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 06, 2011, 09:15:20 pm
si no esta, no esta... yo fui limpiando mi pc.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 06, 2011, 09:18:51 pm
Ok, voy a cruzar dedos a ver si alguien ha usado esas librerias en algun proyecto de Wiz..

Puedes pasarte por el msn un momento ?  ;D
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 06, 2011, 11:14:05 pm
No cuadra ese script, el nombre de la carpeta que nos pasaste de la distro para Dingux no se corresponde...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 04:30:56 am
No cuadra ese script, el nombre de la carpeta que nos pasaste de la distro para Dingux no se corresponde...

free, lo que subi es un comprimido con los binarios, no es un paquete de distribucion, avise claramente que es una beta solo binarios, sin scripts ni ejemplos.

renombra la carpeta o modifica el script.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 07, 2011, 05:54:42 am
He estado mirando aquí http://www.bennugd.org/downloads/old/, pero no veo la RC17 (r165) o anteriores, hay alguna forma de conseguirlas ?

Me gustaría verificar una cosa de rendimiento sobre Wiz  :)

Yo tengo algunas versiones antiguas para windows, esa en concreto no, pero en el disco duro tengo las versiones r106, r110, r131, r147 y r181 (no se si entre las copias de seguridad tendré más), te las puedo comprimir y mandar.
Título: Re: Avances, Diario de...
Publicado por: DCelso en Febrero 07, 2011, 08:56:57 am
yo te puedo recompilar cualquiera, solo es elegir la versión de SVN, descargar y compilar :D. Lo malo es que no tengo windows, debería de explicarnos Splinter a free y a mí cómo hace la compilacion cruzada para generar binarios windows desde linux :D.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 07, 2011, 09:41:08 am
Si no recuerdo haber leido mal, usaba VirtualBox ;D
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 07, 2011, 10:29:34 am
Gracias Drumpi y Dcelso  :)

Yo tengo el entorno para compilar en Windows, pero es la que tengo  :)

Estuve toda la mañana buscando la r165 para Wiz y la encontre en " Agressive pong ".

Resulta que voy al limite con la memoria en Wiz y la última versión consume 1MB más que la de agosto, tampoco entiendo como Wiz reserva 24MB de 64MB que tiene, si hubiera algo como polluxset para liberar memoria al entrar en aplicaciones ya seria genial  :P

Supongo que usare la de agosto para todas las plataformas (me falta la de linux), por el tema del dcb que son 205MB y para tener una sola descarga con todos los ports  :)
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Febrero 07, 2011, 10:42:24 am
Siento tener que dar un poco por saco con otro, diría, pequeño bug...

No se si será un problema general con el operador [code language="bennu" options="singleline"]/=[/code], pero lo cierto es que al ir a hacer [code language="bennu" options="singleline"]x_scale/=2;[/code]
no trabaja bien, mientras que con la versión "desintetizada" [code language="bennu" options="singleline"]x_scale=x_scale/2;[/code], sí...

Seguro que no es novedad, pero bueno.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 07, 2011, 10:55:54 am
Gracias Drumpi y Dcelso  :)

Yo tengo el entorno para compilar en Windows, pero es la que tengo  :)

Estuve toda la mañana buscando la r165 para Wiz y la encontre en " Agressive pong ".

Resulta que voy al limite con la memoria en Wiz y la última versión consume 1MB más que la de agosto, tampoco entiendo como Wiz reserva 24MB de 64MB que tiene, si hubiera algo como polluxset para liberar memoria al entrar en aplicaciones ya seria genial  :P

Supongo que usare la de agosto para todas las plataformas (me falta la de linux), por el tema del dcb que son 205MB y para tener una sola descarga con todos los ports  :)

Como superaste el problema de los 50 megas de dcb en Wiz ?
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 12:27:19 pm
yo te puedo recompilar cualquiera, solo es elegir la versión de SVN, descargar y compilar :D. Lo malo es que no tengo windows, debería de explicarnos Splinter a free y a mí cómo hace la compilacion cruzada para generar binarios windows desde linux :D.

no pide windows, ademas yo no hago compilacion cruzada para compilar la version windows... uso vmware.

Gracias Drumpi y Dcelso  :)

Yo tengo el entorno para compilar en Windows, pero es la que tengo  :)

Estuve toda la mañana buscando la r165 para Wiz y la encontre en " Agressive pong ".

Resulta que voy al limite con la memoria en Wiz y la última versión consume 1MB más que la de agosto, tampoco entiendo como Wiz reserva 24MB de 64MB que tiene, si hubiera algo como polluxset para liberar memoria al entrar en aplicaciones ya seria genial  :P

Supongo que usare la de agosto para todas las plataformas (me falta la de linux), por el tema del dcb que son 205MB y para tener una sola descarga con todos los ports  :)

la ultima version (en wiz) no deberia consumir 1mb mas, en pc windows si, pero en los sistemas embebidos no deberia.
Título: Re: Avances, Diario de...
Publicado por: FreeYourMind en Febrero 07, 2011, 12:38:22 pm
Y porque ocurre eso ? Igual tendré que hacer lo mismo, porque en Wiz estoy al limite tb.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 12:43:31 pm
Y porque ocurre eso ? Igual tendré que hacer lo mismo, porque en Wiz estoy al limite tb.

por que ocurre que cosa? lo del mega extra? porque en windows se pueden soportar paths hasta 32kb, y entonces las cadenas que soportaban paths se agrandaron a ese tamaño en windows... creo que ya lo explique cuando comente/corregi el bug que no permitir correr el bgdc en dingux y psp.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 07, 2011, 12:46:31 pm
Free todavia no he probado el DCB mochila en wiz, solo se lo que ocupará.

Splinter, lo comentaba porque en la última versión no puedo terminar algunas fases siguiendo el mismo procedimiento, la memoria rasca entre 38MB y 40MB, a partir de 39MB se pone a 1fps, lo que seria genial es encontrar algun comando o algo para liberar memoria  :)
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 12:48:22 pm
que recuerde no hay nada que haga incrementar mas memoria en wiz, por lo menos no esa cantidad.

y si vos no alocas memoria, no se que es.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 07, 2011, 05:09:07 pm
Como dije en el otro foro, existe una zona de memoria llamada "zona alta" que es ligeramente más rápida y que se guarda para OpenGL, si no me he confundido de consola ^^U
Para acceder a ella hay un truco... No sé cómo es, creo que algo de crear un puntero a esa zona de memoria o algo así.

Yo tuve que retrasar la salida del primer juego de Venturer por culpa de un problema similar, porque tenía un FPG enorme que no entraba en la memoria de la GP2X (28MB o mas), y tuve que partirlo. Aun así, habían algunas animaciones a pantalla completa que no pude reducir, y es que de los 32MB que tenía, sólo se podían usar 16MB con cada procesador (y sólo estaba usando 1), a eso le quitas la memoria del sistema, y la de Fenix y se me quedaban en unos ridículos 8MB (a veces 9MB). De ahí salió el tema del motor de scroll tileado ;D

Si no, siempre puedes cambiar la WIZ por una CAANOO que tiene el doble de RAM :D :D :D
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 05:21:12 pm
realmente no se si es mas rapida, yo no lo aseguraria...
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 07, 2011, 05:27:34 pm
No he dicho nada, hilo equivocado ^^U

pero sí, dicen que es algo más rápida, y se recomienda usar esa si se quiere dar un pequeño empujoncito de rendimiento a los programas más exigentes.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 07, 2011, 06:08:54 pm
Segun he estado mirando se trata de la libreria warm_2.6.24.ko, para acceder a más memoria y ganar algo de rendimiento.
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 06:16:58 pm
un .ko es un modulo del kernel, no hay una libreria asociada a esta?

voy a investigar.
Título: Re: Avances, Diario de...
Publicado por: BoMbErLiNk en Febrero 07, 2011, 06:34:51 pm
Según he entendido funciona en conjunto con unas SDL :
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,23,271

Citar
2. Supports MMUHACK/wARM Module for more performance.
   (If you wanna use this feature, please copy mmuhack.ko or warm_2.6.24.ko on same directory with libSDL-1.2.so.0.
    But you don't have to copy it if mmuhack.ko or warm_2.6.24.ko already exists.)

Pero me da que esto deshace los cambios previamente realizados con polluxset, porque da menos rendimiento  :P, aunque si es cierto que rasca menos en la carga de recursos, como si hubiera más RAM
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 07, 2011, 06:48:36 pm
es un modulo del kernel, hay que hacer llamadas ioctl para usarlas, por lo que veo del codigo del mame4all, es un modulo que cachea memoria, creo, no estoy seguro, que cachea el area de memoria alta.

por otro lado, el mame4all, tiene un codigo que accede a la memoria alta directamente, haciendo unas funciones de alocacion de memoria a lo bruto, simplemente dando direcciones de memoria alta por bloques y marcandolas en un array interno en el mismo codigo... lo que me hace dudar en que pasaria si otro programa que este corriendo en background hace uso de esta memoria alta o si incluso lanzamos otro programa con exec (por ejemplo de bennugd)... tengo que revisar mejor el codigo, pero en principio diria que esto haria desastres, ya que dichas funciones de alocacion no las controla el kernel sino el programa.

deberia preguntar a chui o franxis.
Título: Re: Avances, Diario de...
Publicado por: MythomizeR en Febrero 08, 2011, 08:07:21 am
dingux beta

http://www.fileserver.cc/zu26ddb4c7iq.html

no funcionan los wav... puede que haya algun problema con los timers...

los scripts son iguales a los de wiz o caanoo, salvo que hay que poner export delante de LD_LIBRARY_PATH y de PATH

agradeceria testing.
Me gustaría hacer pruebas con la beta de dingux bennu, pero necesito alguna indicación de cómo lanzar un .dcb con el intérpete (que supongo es el que colgó Splinter en el post que he quoteado) así como si hay que indicar algo más, que creo que sí...
Título: Re: Avances, Diario de...
Publicado por: SplinterGU en Febrero 08, 2011, 08:39:23 am
podes hacerlo en windows o linux.
Título: Re: Avances, Diario de...
Publicado por: Drumpi en Febrero 08, 2011, 04:58:22 pm
es un modulo del kernel, hay que hacer llamadas ioctl para usarlas, por l