Page 2 of 3

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 3:19 am
by Dluk
Lo quise jugar, elegí las cuatro gemas, le dí al Enter y al toque me tiro un error de LOAD_PCX. Toda la mala suerte yo con este juego :P

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 12:15 pm
by evilpeibol
A mi me pasó lo mismo

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 12:35 pm
by evilpeibol
Por cierto hay una seccion en recursos donde se pueden dejar archivos FNT
para que otros usuarios las usen. Solo recordarlo, he visto las fuentes, estan
muy bien.

Enlace:

http://www.gemixstudio.com/forums/viewt ... 103&t=1133

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 1:56 pm
by evilpeibol
He estado mirando el codigo de Colums, he solucionado el problema de error Load PCX,
habia dos cosas que estaban mal solamente.


En este proceso

PROCESS JUEGO(MODO_JUEGO2);

...

UNTIL(X=>(31*6)+(31/2));
UNTIL(Y=>(31*13)+(31/2));
END

CHDIR("JOYAS");

BO=-1;

GET_DIRINFO("*.PCX",_NORMAL); // Faltaba esto



REPEAT

BO++;

dir2=DIRINFO.NAME[FILE_JOYAS[BO]]; // Esto antes era "dir2=DIRINFO.NAME[JOYAS[BO]]; " por eso daba error

FILE_JOYAS[BO]=LOAD_PCX(dir2);

UNTIL(BO==DIAMANTES_JUGARAN-1);

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 8:17 pm
by SimulatorOne
Se ve que la ultima vez, no lo probe de jugar...y peta a la primera...

Pues considero un bug interno de Gemix,
YA que todos los datos de
DIRINFO.NAME
Se pierden o hace cora rara...

por eso
Linea:796

Code: Select all

CHDIR("JOYAS");
GET_DIRINFO("*.PCX",_NORMAL);//con solo poner esto, se arregla, Actualiza la lista U_U Si es cierto,
BO=-1;
REPEAT
BO++;
dir2=DIRINFO.NAME[JOYAS[BO]];//esto no hay que cambiarlo,ya esta bien
FILE_JOYAS[BO]=LOAD_PCX(dir2);
UNTIL(BO==DIAMANTES_JUGARAN-1);
CHDIR("..");
Debo volver a llamar el comando de busqueda de archivos, por que? no deberia estar en memoria, o son solo datos locales,
Yo creia que eran globales DIRINFO.

Ademas que ya lo llamo yo ese comando para buscar los diamantes que queremos jugar...
Linea:445

Code: Select all

GET_DIRINFO("*.PCX",_NORMAL);
REPEAT
BO++;
X+=31;
IF(X=>31*20);
X=BO[1];
Y+=31;
END
dir2=DIRINFO.NAME[BO];
graph=LOAD_PCX(dir2);
IDJ[BO]=GRAPH_N(graph,X,Y,Z-75);
DIR="JOYAS ENCONTRADAS:"+ITOA(BO)+" SELECIONE LAS JOYAS QUE VA A UTILIZAR: JOYAS:0/"+ITOA(DIAMANTES_JUGARAN);
FRAME;
UNTIL(BO==DIRINFO.FILES-1 OR BO==279);
CHDIR("..");
Por que, despues a la hora de jugar.... se estropea la estrucura de DIRINFO. y me devuelve una cadena erronea :S
y no puede cargar ese fichero, por que esa cadena erronea no existe.
no lo entiendo.



El codigo de Colums es muyyy antiguo, y tiene muchos bugs, y el codigo no esta simplificado y compacto.
Se programo en los años 2002-2003

Y es un lio seguirlo y arreglar algo...


Aun no me fio al 100% del DIRINFO.
Cuando se pierde o se actualiza esos datos?
Siempre que llamamos al comando de busqueda de archivos, debe actualizarse.
Y mantener esos datos hasta otra consula o al salir del juego.

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 8:26 pm
by SimulatorOne
CicTec wrote: En 16/32bits no hay paleta, de todas formas es sencillo, tienes que convertir el color inicial de la paleta a 16 o 32bits y luego usar la funcion MAP_SET_COLOR/MAP_SET_PIXEL
Esta en GEmix modules.txt???
CicTec wrote: Puedes por favor hacer un pequeño PRG que simule el problema para probar ?
Aqui tienes, veras que no se queda la cadena vacia(visualmente)....deberia desaparecer de la pantalla si no quedan mas cadenas.

Code: Select all

program cadena;
global
string DIR2;
BYTE BO=1;
begin
DIR2="NOMBRE";
write(0,160,120,4,DIR2);
BO=1;
REPEAT
IF(ASCII>64 AND ASCII<91 AND BO==0 AND strlen(DIR2)<16);BO=1;
DIR2+=ASCII;
END
IF(KEY(14)AND BO==0 AND strlen(DIR2)>0);BO=1;
DIR2--;
END
IF(BO==1 AND NOT KEY(_ENTER)AND NOT KEY(14) AND ASCII==0);
BO=0;
END
FRAME;
UNTIL(KEY(_ENTER)AND BO==0);

IF(strlen(DIR2)==0);
EXIT("CADENA VACIA:"+DIR2,0);
ELSE
EXIT("CADENA LLENA:"+DIR2,0);
END
END

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 10:31 pm
by CicTec
simulatorone wrote:
CicTec wrote: En 16/32bits no hay paleta, de todas formas es sencillo, tienes que convertir el color inicial de la paleta a 16 o 32bits y luego usar la funcion MAP_SET_COLOR/MAP_SET_PIXEL
Esta en GEmix modules.txt???
Si
simulatorone wrote: Aqui tienes, veras que no se queda la cadena vacia(visualmente)....deberia desaparecer de la pantalla si no quedan mas cadenas.

Code: Select all

program cadena;
global
string DIR2;
BYTE BO=1;
begin
DIR2="NOMBRE";
write(0,160,120,4,DIR2);
BO=1;
REPEAT
IF(ASCII>64 AND ASCII<91 AND BO==0 AND strlen(DIR2)<16);BO=1;
DIR2+=ASCII;
END
IF(KEY(14)AND BO==0 AND strlen(DIR2)>0);BO=1;
DIR2--;
END
IF(BO==1 AND NOT KEY(_ENTER)AND NOT KEY(14) AND ASCII==0);
BO=0;
END
FRAME;
UNTIL(KEY(_ENTER)AND BO==0);

IF(strlen(DIR2)==0);
EXIT("CADENA VACIA:"+DIR2,0);
ELSE
EXIT("CADENA LLENA:"+DIR2,0);
END
END
Ya veo, pues no es un bug de las cadenas sino de WRITE con la 5.6 funciona bien, en la 5.7 para hacer optimizaciones se genero este bug, ya lo he corregido, gracias por el report :)

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sat Jun 19, 2010 10:32 pm
by CicTec
simulatorone wrote:Se ve que la ultima vez, no lo probe de jugar...y peta a la primera...

Pues considero un bug interno de Gemix,
YA que todos los datos de
DIRINFO.NAME
Se pierden o hace cora rara...

por eso
Linea:796

Code: Select all

CHDIR("JOYAS");
GET_DIRINFO("*.PCX",_NORMAL);//con solo poner esto, se arregla, Actualiza la lista U_U Si es cierto,
BO=-1;
REPEAT
BO++;
dir2=DIRINFO.NAME[JOYAS[BO]];//esto no hay que cambiarlo,ya esta bien
FILE_JOYAS[BO]=LOAD_PCX(dir2);
UNTIL(BO==DIAMANTES_JUGARAN-1);
CHDIR("..");
Debo volver a llamar el comando de busqueda de archivos, por que? no deberia estar en memoria, o son solo datos locales,
Yo creia que eran globales DIRINFO.

Ademas que ya lo llamo yo ese comando para buscar los diamantes que queremos jugar...
Linea:445

Code: Select all

GET_DIRINFO("*.PCX",_NORMAL);
REPEAT
BO++;
X+=31;
IF(X=>31*20);
X=BO[1];
Y+=31;
END
dir2=DIRINFO.NAME[BO];
graph=LOAD_PCX(dir2);
IDJ[BO]=GRAPH_N(graph,X,Y,Z-75);
DIR="JOYAS ENCONTRADAS:"+ITOA(BO)+" SELECIONE LAS JOYAS QUE VA A UTILIZAR: JOYAS:0/"+ITOA(DIAMANTES_JUGARAN);
FRAME;
UNTIL(BO==DIRINFO.FILES-1 OR BO==279);
CHDIR("..");
Por que, despues a la hora de jugar.... se estropea la estrucura de DIRINFO. y me devuelve una cadena erronea :S
y no puede cargar ese fichero, por que esa cadena erronea no existe.
no lo entiendo.



El codigo de Colums es muyyy antiguo, y tiene muchos bugs, y el codigo no esta simplificado y compacto.
Se programo en los años 2002-2003

Y es un lio seguirlo y arreglar algo...


Aun no me fio al 100% del DIRINFO.
Cuando se pierde o se actualiza esos datos?
Siempre que llamamos al comando de busqueda de archivos, debe actualizarse.
Y mantener esos datos hasta otra consula o al salir del juego.
Monta un ejemplo como el anterior para las cadenas por favor, asi puedo testarlo rapido si pasa algo mal, en todo caso, los datos de DIRINFO son globales y se mantienen (o almenos deberia).

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sun Jun 20, 2010 2:45 pm
by SimulatorOne
OK, lo mirare ahora mismo ese par de comandos en Gemix modules.txt


Sobre el fallo de Write:
Entonces no es fallo de programacion de mi codigo? de alguna manera me alegro que no lo sea, pero al jugador puede causar confusiones.creeiendo que no se puede borrar la ultima letra...Hasta que se arregle ese bug de Write.

Aun que encontremos fallos de Gemix...
Todo esto es por mejorar y perfecionar Gemix! :D


Del dirinfo. creare un mini .prg simulando esa supuesta perdida de la tabla de Dirinfo.
Nunca pense que era Local la tabla de datos de dirinfo.
PD:Adoro ese comando!^^ si no, mis proyectos no serian realidad!

Yo es que tengo la costumbre de Guardar/copiar la tabla de Dirinfo a una tabla mia.

Top_mi_tabla=dirinfo("*.map",_normal);
repeat
Mi_tabla[v].name=dirinfo.name[v];
v++;
until(v=>Top_mi_tabla);

Entonces tengo confianza siempre de tener mi tabla segura... de momento lo hago así y nunca e tenido problemas.

Re: [GAME]: COLUMS (Juego de MegaDrive)

Posted: Sun Jun 20, 2010 3:07 pm
by CicTec
simulatorone wrote: Sobre el fallo de Write:
Entonces no es fallo de programacion de mi codigo? de alguna manera me alegro que no lo sea, pero al jugador puede causar confusiones.creeiendo que no se puede borrar la ultima letra...Hasta que se arregle ese bug de Write.

Aun que encontremos fallos de Gemix...
Todo esto es por mejorar y perfecionar Gemix! :D
Si, tu codigo funciona bien, el fallo es de Gemix (bueno era, ya esta corregido).
simulatorone wrote: Del dirinfo. creare un mini .prg simulando esa supuesta perdida de la tabla de Dirinfo.
Nunca pense que era Local la tabla de datos de dirinfo.
Es global, deberia funcionar bien, pero quizas escapo algo, en cuanto tengas el test, lo mirare a ver que pasa.

Gracias por ayudar a corregir y mejorar Gemix. :)