Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TYCO

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
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

TYCO

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.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

Luego analizare bien el tema y te dire si vale la pena mantenerlo asi.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

- 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:
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
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

- 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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

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.
Monstruos Diabólicos

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

SplinterGU

#52
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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

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.

|/
|\im-elet-o el yayo programador.

TYCO

Que bueno que esta! de unta pan y moja XD

PD: Perdon el offtopic (tampoco hago muchos)
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Solo puedo decir una cosa: ¡GUAAUUUU!  :o

Al final Bennu va a tener 3d antes que 2d, jajajaja.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

- 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)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

- Corregido bug al usar defines que usan otros defines
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

- 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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2