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

Discusión en general sobre Gemix.
Post Reply
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

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

Post by CicTec »

Vale, lo revisare, gracias por el report. :)
Zardoz
Posts: 15
Joined: Sun Oct 17, 2021 12:02 am

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

Post by Zardoz »

El bug (no estoy seguro al 100%) que tengo con un casting de punteros.

Tengo este código :

[Codebox=gemix file=Untitled.gemix]
COMPILER_OPTIONS _case_sensitive, _extended_conditions, _use_cstyle;

program test;

global
struct level
int32 tileMapColumns;
int32 tileMapRows;
end

begin

loop
if (keydown(_q))
let_me_alone();
break;
end

frame;
end
end

function loadLevelData(string levelName)
private
int ret;
begin
ret = loadData("lvl/" + levelName + "/level", (int32*)&level, sizeof(level)); // ERROR EN ESTA LINEA!
return(ret);
end

function int loadData(string dataFile, int32* data, int sizeOfArray)
begin
data[0] = 123;
return(0);
end

[/Codebox]

Me dá este error :

Code: Select all

 ./gmxc-linux-x86 /home/luis/repos/mata/test.prg test
 **** GEMIX Compiler 0.8.0.0 (BETA) ****
Copyright (C) 2005-2020 Skygem Software. All rights reserved

Precompiling...
module used: ID: 17   , NAME: GMX_mod_stdmain          
module used: ID: 8    , NAME: GMX_mod_math             
module used: ID: 16   , NAME: GMX_mod_graphics2Dlgy    
module used: ID: 4    , NAME: GMX_mod_inputlgy         
Compiling...
Compiling: test.prg
test.prg:27:51: ERROR 81: Invalid type ( SIGNED/UNSIGNED )
function: 
Break (0 warnings)
Exit with errors
User avatar
Vortigano
Posts: 255
Joined: Sun May 07, 2017 6:04 am

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

Post by Vortigano »

Zardoz wrote:El bug (no estoy seguro al 100%) que tengo con un casting de punteros...
Es un bug. Si tal vez te sirve, yo como alternativa uso typedefs entonces puedo recibir estructuras (ahora Typedefs) como argumento.

Por ejemplo:

Reemplaza tu struct por typedef y obtiene una nueva instancia en lugar de struct level.

Code: Select all

type Tlevel
  int32 tileMapColumns;
  int32 tileMapRows;
end

Tlevel level;

function loadLevelData(string levelName)
private
  int ret;
begin
  ret = loadData("lvl/" + levelName + "/level", &level, sizeof(level)); 
  return(ret);
end

function int loadData(string dataFile, Tlevel* data, int sizeOfArray)
begin
  data.tileMapColumns = 123;
  return(0);
end

User avatar
Hokuto7
Posts: 1408
Joined: Mon Aug 28, 2017 10:14 am

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

Post by Hokuto7 »

Hola de nuevo.
He estado probando unos juegos que tenia por hay de la version 7.5 y creia que los habia probado con la 8.0 pero parece que no por los resultados,no se si hay una version mas actualizada de la 8 pero te comento.

Son tres juegos,dos me han dado error al compilar en el bucle repeat until,lo he solucionado poniendo punto y coma al fiinal del untiil,pero que yo sepa estoy no habia que hacerlo entonces no se si es un error de la beta o lo has cambiado.

El tercer juego tambiien en el repeat until y luego hay otro error que no consiigo ver asi que no he conseguido solucionarlo.

He probado en la version de 32 bit,en la version de 64 bit los que me funcionaban en la de 32 bit se quedan bloqueados.Si hay alguna version de la beta mas actual pasamela y la pruebo a ver,sino pues esto es lo que hay.

Tengo pongo los ultimos procesos del juego donde me da error,el error es en el ultimo proceso donde me marca pero te pongo los tres ultimos a ver si ves algo,si no te paso el juegos y ya.
Me marca en los block.target

Code: Select all

--------------------------
process pausa()
private
	int pausado = 0;
	int id_texto = 0;
end 
begin
	loop
		if(key(_p))
			pausado ^= 1;
			if(pausado)
				id_texto = write(fuente_pequeña,320,240,4,"PAUSA");
				signal(all_process,s_freeze);
			else
				delete_text(id_texto);
				signal(all_process,s_wakeup);
			end 
			while(key(_p))
				frame;
			end 
		end 
		frame;
	end 
end 
//explosion------------------------------------------------
process explosion(x,y)
begin
	sound_play(sonido_explosion,64,256);
	from graph = 16 to 22;
		frame(200);
	end 
end 
//barra de vida para los jefes-----------------------------
process barra_vida_jefe()
begin
	file = graficos;
	graph = 13;
	block.target.x = 320;
	block.target.y = 30;
	block.used = 1;
	block.height = 20;
	loop
		block.width = vida_jefe;
		if(vida_jefe <= 0)
			break;
		end 
		frame;
	end 
end 
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

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

Post by CicTec »

Hokuto7 wrote:Hola de nuevo.
He estado probando unos juegos que tenia por hay de la version 7.5 y creia que los habia probado con la 8.0 pero parece que no por los resultados,no se si hay una version mas actualizada de la 8 pero te comento.

Son tres juegos,dos me han dado error al compilar en el bucle repeat until,lo he solucionado poniendo punto y coma al fiinal del untiil,pero que yo sepa estoy no habia que hacerlo entonces no se si es un error de la beta o lo has cambiado.

El tercer juego tambiien en el repeat until y luego hay otro error que no consiigo ver asi que no he conseguido solucionarlo.

He probado en la version de 32 bit,en la version de 64 bit los que me funcionaban en la de 32 bit se quedan bloqueados.Si hay alguna version de la beta mas actual pasamela y la pruebo a ver,sino pues esto es lo que hay.

Tengo pongo los ultimos procesos del juego donde me da error,el error es en el ultimo proceso donde me marca pero te pongo los tres ultimos a ver si ves algo,si no te paso el juegos y ya.
Me marca en los block.target

Code: Select all

--------------------------
process pausa()
private
	int pausado = 0;
	int id_texto = 0;
end 
begin
	loop
		if(key(_p))
			pausado ^= 1;
			if(pausado)
				id_texto = write(fuente_pequeña,320,240,4,"PAUSA");
				signal(all_process,s_freeze);
			else
				delete_text(id_texto);
				signal(all_process,s_wakeup);
			end 
			while(key(_p))
				frame;
			end 
		end 
		frame;
	end 
end 
//explosion------------------------------------------------
process explosion(x,y)
begin
	sound_play(sonido_explosion,64,256);
	from graph = 16 to 22;
		frame(200);
	end 
end 
//barra de vida para los jefes-----------------------------
process barra_vida_jefe()
begin
	file = graficos;
	graph = 13;
	block.target.x = 320;
	block.target.y = 30;
	block.used = 1;
	block.height = 20;
	loop
		block.width = vida_jefe;
		if(vida_jefe <= 0)
			break;
		end 
		frame;
	end 
end 
Hola Hokuto7,

Gracias por los tests...

El problema de repeat...until, esta escrito tambien en el worklog de la pre-launch, se han anadido nuevos bucles que usan las mismas palabras repeat, while, etc... por ende para diferenciar si la palabra es la que cierra el loop o no hay que poner un ";", como en C por ejemplo hay while(...) { } y do { }while(...); para indicar que el while es el que cierra se pone el ";"

El tercero problema sobre los 64bits, no se a que podria ser debito, al momento no hay una version publica mas recien de esa, la nueva la estoy implementando, pero tiene muy fuerte cambios internos al render 2D para mejorar la velocidad y solo tengo finalizada la version Legacy aun, en cuanto tenga version nueva la publicare.
User avatar
Hokuto7
Posts: 1408
Joined: Mon Aug 28, 2017 10:14 am

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

Post by Hokuto7 »

Ok.
User avatar
Hokuto7
Posts: 1408
Joined: Mon Aug 28, 2017 10:14 am

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

Post by Hokuto7 »

Ha salido alguna nueva prelaunch,la que tengo es del 2020.
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

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

Post by CicTec »

Hola Hokuto7,

Aun no, espero en 2-3 meses hacerla salir, tengo la nueva casi lista, faltan unas cosas.
Post Reply

Return to “General”