[GAME]: COLUMS (Juego de MegaDrive)
- Dluk
- Posts: 2423
- Joined: Sun Jan 04, 2009 3:51 pm
- Location: En el campo de batalla
- Contact:
Re: [GAME]: COLUMS (Juego de MegaDrive)
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 

"El destino es como un juego... ¿No? Y ahora, esperas mi último movimiento"
Kain - Legacy of Kain: Soul Reaver
- evilpeibol
- Posts: 593
- Joined: Wed May 20, 2009 10:50 am
- Location: España
Re: [GAME]: COLUMS (Juego de MegaDrive)
A mi me pasó lo mismo
- evilpeibol
- Posts: 593
- Joined: Wed May 20, 2009 10:50 am
- Location: España
Re: [GAME]: COLUMS (Juego de MegaDrive)
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
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
- evilpeibol
- Posts: 593
- Joined: Wed May 20, 2009 10:50 am
- Location: España
Re: [GAME]: COLUMS (Juego de MegaDrive)
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);
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);
- SimulatorOne
- Posts: 6626
- Joined: Tue Nov 17, 2009 2:52 pm
- Location: Barcelona
- Contact:
Re: [GAME]: COLUMS (Juego de MegaDrive)
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
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
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.
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("..");
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("..");
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.
You do not have the required permissions to view the files attached to this post.
Last edited by SimulatorOne on Sat Jun 19, 2010 8:29 pm, edited 1 time in total.
- SimulatorOne
- Posts: 6626
- Joined: Tue Nov 17, 2009 2:52 pm
- Location: Barcelona
- Contact:
Re: [GAME]: COLUMS (Juego de MegaDrive)
Esta en GEmix modules.txt???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
Aqui tienes, veras que no se queda la cadena vacia(visualmente)....deberia desaparecer de la pantalla si no quedan mas cadenas.CicTec wrote: Puedes por favor hacer un pequeño PRG que simule el problema para probar ?
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
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: [GAME]: COLUMS (Juego de MegaDrive)
Sisimulatorone wrote:Esta en GEmix modules.txt???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
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 reportsimulatorone 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
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: [GAME]: COLUMS (Juego de MegaDrive)
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).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:796Debo volver a llamar el comando de busqueda de archivos, por que? no deberia estar en memoria, o son solo datos locales,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("..");
Yo creia que eran globales DIRINFO.
Ademas que ya lo llamo yo ese comando para buscar los diamantes que queremos jugar...
Linea:445Por que, despues a la hora de jugar.... se estropea la estrucura de DIRINFO. y me devuelve una cadena erronea :SCode: 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("..");
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.
- SimulatorOne
- Posts: 6626
- Joined: Tue Nov 17, 2009 2:52 pm
- Location: Barcelona
- Contact:
Re: [GAME]: COLUMS (Juego de MegaDrive)
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!
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.
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!
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.
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: [GAME]: COLUMS (Juego de MegaDrive)
Si, tu codigo funciona bien, el fallo es de Gemix (bueno era, ya esta corregido).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!![]()
Es global, deberia funcionar bien, pero quizas escapo algo, en cuanto tengas el test, lo mirare a ver que pasa.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.
Gracias por ayudar a corregir y mejorar Gemix.
![[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal [RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal](../space/silver_medal.png)