[BETA TESTING] Pre-launch nueva version de Gemix.

Discusión en general sobre Gemix.

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Hokuto7 » Fri Mar 12, 2021 8:24 pm

Hola cictec.

Podrias poner ejemplos sencillos de esto,cuando tu puedas.

-[COMPILER] soporte de cadenas temporales dinamicas sin limites de numero ni de caracteres
-[COMPILER] soporte de sequencias escape (\\, \", \', \t, \n) en las cadenas de texto
-[COMPILER] soporte de nuevos bucles UNTIL(condition)..END y REPEAT..WHILE(condition);
-[COMPILER] soporte de datos boolean por medio de la nueva palabra clave BOOL y nuevas palabras clave TRUE/FALSE
-[COMPILER] soporte para utilizar sub-struct como argumentos de funciones
-[COMPILER] soporte de inicialización de sub-struct's
-[COMPILER] soporte de declaracion de datos PRIVATE en los metodos built-in
-[COMPILER] metodo built-in SIGNALS, ahora recibe 3 parametros: el tipo de senal recibido, el TYPE y el ID de la instancia del proceso que ha enviado el senal
-ahora la función LET_ME_ALONE llama el metodo SIGNALS para todos los procesos que lo tienen definido
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby shao » Sat Mar 13, 2021 5:08 am

Lo único que no se lo que son es lo de las sub structs y los nuevos bucles, lo demás lo conozco.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby CicTec » Sat Mar 13, 2021 2:12 pm

Hokuto7 wrote:Hola cictec.

Si al final he podido resolver la mayoria de problemas,tenia que meter los dll de sonido en la carpeta del ejemplo,pero tambien en algunos ejemplos habia que meter otros dll y recursos al lado del prg.

Muchos eran por errores sintaxtico que puede ser por eso que comentas de descomentar,pero yo lo comento por si es un error,y asi salimos de dudas.

Pues con todo solo se me ha quedado un numero reducido de ejemplos con errores.

-GEMIX_methods error sintaxtico
-_GMX_scopes error sintaxtico
-_GMX_sizeof error sintaxtico
-_GMX_typedefs error sintaxtico
-_GMX_fnt_glyph_process_legacy fallo grafico
-Gemix_render_text fallo grafico
-Gemix_pathfinds error sintaxtico
-webservices_02_aes256 error sintaxtico
-webservices_05_sha256 crachea

Hola Hokuto7,

Algunos tienen errores de sintaxis y van actualizados, uno tiene un fallo del compilador nuevo, quizas tocando cosas se ha producido (estoy revisando).
Sobre el fallo grafico, funcionan bien, quizas es el efecto que produce que parece tener fallo, de los screenshots que has puesto no veo problemas, pero si es algo especifico, indicalo por favor para eliminarnos dudas.

Hokuto7 wrote:Hola cictec.

Podrias poner ejemplos sencillos de esto,cuando tu puedas.

-[COMPILER] soporte de cadenas temporales dinamicas sin limites de numero ni de caracteres
-[COMPILER] soporte de sequencias escape (\\, \", \', \t, \n) en las cadenas de texto
-[COMPILER] soporte de nuevos bucles UNTIL(condition)..END y REPEAT..WHILE(condition);
-[COMPILER] soporte de datos boolean por medio de la nueva palabra clave BOOL y nuevas palabras clave TRUE/FALSE
-[COMPILER] soporte para utilizar sub-struct como argumentos de funciones
-[COMPILER] soporte de inicialización de sub-struct's
-[COMPILER] soporte de declaracion de datos PRIVATE en los metodos built-in
-[COMPILER] metodo built-in SIGNALS, ahora recibe 3 parametros: el tipo de senal recibido, el TYPE y el ID de la instancia del proceso que ha enviado el senal
-ahora la función LET_ME_ALONE llama el metodo SIGNALS para todos los procesos que lo tienen definido

El ejemplo de LET_ME_ALONE es simple, define el metodo signals en los procesos interesados y la funcion lo llama, sobre el metodo SIGNALS en si, tengo que actualizar el ejemplo que esta en la seccion DOC del foro.

Sobre las sub-structs son faciles:
Source Code (Gemix) [ Download ] [ Hide ]
  • global
  •   struct color;
  •      int number;
  •      struct components;
  •         int r;
  •         int g;
  •         int b;
  •      end
  •   end
  •  

En el ejemplo, "components" es una sub-structs (o sea una struct dentro de otra struct) de "color".
Sobre el pasar substructs a funciones, hay por ejemplo QSORT que requiere un pasaje de STRUCT como parametro para ordenar, pues ahora se le puede pasar algo como "color.components" o sea la sub-struct da ordenar.
Sobre la inicializacion, la forma clasica en DIV seria:
Source Code (Gemix) [ Download ] [ Hide ]
  • global
  •   struct color;
  •      int number;
  •      struct components;
  •         int r;
  •         int g;
  •         int b;
  •      end
  •   end = 100, 255, 128, 255; // 100 = number, 255 = r, 128 = b, 255 = b
  •  

O sea inicializar todos los componentes de los fields desde la struct principal, ahora la nueva beta permite eso:
Source Code (Gemix) [ Download ] [ Hide ]
  • global
  •   struct color;
  •      int number = 100;
  •      struct components;
  •         int r;
  •         int g;
  •         int b;
  •      end = 255, 128, 255;
  •   end
  •  

Que resulta mas comodo a la vista, como ordenamiento y no necesita como en el primer caso de comentarios, que no tener todo inicializado en un lugar, aun asi recomiendo siempre usar TYPE y no STRUCT en los nuevos programas.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Hokuto7 » Sat Mar 13, 2021 5:38 pm

Gracias por los ejemplos Cictec. ;)

Cuando puedas tambien sobre estos que te han faltado,son los ultimos.

-[COMPILER] soporte de cadenas temporales dinamicas sin limites de numero ni de caracteres
-[COMPILER] soporte de sequencias escape (\\, \", \', \t, \n) en las cadenas de texto
-[COMPILER] soporte de nuevos bucles UNTIL(condition)..END y REPEAT..WHILE(condition);
-[COMPILER] soporte de datos boolean por medio de la nueva palabra clave BOOL y nuevas palabras clave TRUE/FALSE
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby CicTec » Sat Mar 13, 2021 7:38 pm

El primero no hay ejemplo, simplemente si usas cadenas largas y operaciones con cadenas del tipo "string_res = string1 + string2" no va a fallar mas porque internamente la operacion no ha limites (virtualmente).

Los escapes, excepto el \n que aun no esta implementando en rendering de textos, simplemente permiten dibujar los caracteres que indica el escape, por ejemplo una string "\"Hola\"" o usea usando el escape \" visualiza en pantalla el texto "Hola" quoteado (o sea con los " "), el \t simplemente anade un tabulador de espacios.

Bool es facil, creas un datos tipo BOOL en lugar que INT y le puedes asignar solo las palabras clave TRUE, FALSE o los valores constantes 0 y 1, cualquier otro valor dara error, aun asi esos datos se pueden usar en expresiones.

Los bucles, pues DIV soporta REPEAT..UNTIL y WHILE..END, REPEAT..UNTIL ejecuta almenos una vez el codigo y lo repite hasta que una condicion es false, si es true sale, WHILE..END en lugar funciona como en C, ejecuta el codigo, si, y hasta que la condicion es true, si es false sale o no ejecuta ni una vez, los nuevos bucles completan el set, UNTIL..END funciona como WHILE..END pero ejecuta si la condicion es false, si es true sale (como hace REPEAT), REPEAT..WHILE funciona como el DO..WHILE de C, ejecuta almenos una vez el codigo y repite hasta que la condicion es true, si es false sale.
Por ejemplo en si en un juego tenemos una variable "dead" (muerto) que esta false porque el player es vivo, en lugar de usar un bucle como WHILE(not dead)..END, se puede simplificar usando UNTIL(dead)..END, lo mismo para el REPEAT, etc...
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Hokuto7 » Sun Mar 14, 2021 10:31 am

Gracias por la ayuda. ;)

He probado el ejemplo de mode8 y es impresionante,se ve muy bien y se mueve aun mejor,increible lo que has conseguido. :claphands: :claphands: :claphands:

Pero tengo una duda,como has creado el mapa y que programa has utilizado para ello.
Tambien me fije que en el codigo no hay nada de programacion de colisiones y el personaje detecta las paredes,esto como puede ser.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby CicTec » Sun Mar 14, 2021 11:06 am

Hokuto7 wrote:Gracias por la ayuda. ;)

He probado el ejemplo de mode8 y es impresionante,se ve muy bien y se mueve aun mejor,increible lo que has conseguido. :claphands: :claphands: :claphands:

De nada.

Gracias :), yo todavia he reactivado el mode8 original de DIV2 y portado a Gemix, aunque actualmente es solo de retrocompatibilidad (no hay nuevas features).

Hokuto7 wrote:Pero tengo una duda,como has creado el mapa y que programa has utilizado para ello.
Tambien me fije que en el codigo no hay nada de programacion de colisiones y el personaje detecta las paredes,esto como puede ser.

El mapa es el que viene del help de DIV2 que habia sido creado con el WLD Editor presente en DIV2, o el mismo editor presente en DIVDX, con lo cual se pueden crear mapas o modificar existentes, un editor para Gemix esta en plan, pero aun no lo he podido implementar.
Tambien hay un editor web disponible (no se si se puede editar realmente o es un visor, porque no lo he explorado mucho) hecho por un antiguo usuario DIV de nombre AzazelN28, aqui el link si te interesa probarlo:
https://codepen.io/AzazelN28/full/dyMroyg

Sobre las colisiones, es el motor interno que se encarga de eso automaticamente porque es un motor tipo DOOM, aunque hay parametros configurables con la struct m8 para modificar la precision de colision, para detectar algo manualmente creo recordar se usaba FGET_DIST, aun asi otras funciones en la API estarian bien.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Hokuto7 » Sun Mar 14, 2021 9:07 pm

Hola Cictec.

He leido que la nueva beta no saldra oficialmente hasta que se haya introducido todo lo de la lista que tienes y se haya testeado bien.

Podrias decirme que es lo que falta por introducir hasta completar esa misteriosa lista.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby CicTec » Sun Mar 14, 2021 9:49 pm

Hola Hokuto7,

Lo he escrito en el thread oficial de avances lo que faltaria, pero bueno, primariamente:
- Finalizar porting Android
- Portar el modulo de la lib audio externa OpenAL Soft a oficial
- Arreglar todos o almenos los bugs mas importantes que quedan
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Hokuto7 » Wed Mar 17, 2021 9:21 pm

Hola Cictec.

Me he encontrado en github una libreria para c que le añade vectores como en c++,como te pregunte si habia listas o vectores en gemix y me dijistes que tenias algo a medias ,a lo mejor te interesa ver esto y tal vez te sirva para gemix.

Si lo quieres ver te paso el enlace y si no pues me lo quedo pa mi.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

PreviousNext

Return to General

Who is online

Users browsing this forum: No registered users and 2 guests