[GAME]: COLUMS (Juego de MegaDrive)

Proyectos Completados.

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

Postby Dluk » Sat Jun 19, 2010 3:19 am

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
Image
"El destino es como un juego... ¿No? Y ahora, esperas mi último movimiento"

Kain - Legacy of Kain: Soul Reaver
User avatar
Dluk
 
Posts: 2423
Joined: Sun Jan 04, 2009 3:51 pm
Location: En el campo de batalla

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

Postby evilpeibol » Sat Jun 19, 2010 12:15 pm

A mi me pasó lo mismo
User avatar
evilpeibol
 
Posts: 593
Joined: Wed May 20, 2009 10:50 am
Location: España

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

Postby evilpeibol » Sat Jun 19, 2010 12:35 pm

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/viewtopic.php?f=103&t=1133
User avatar
evilpeibol
 
Posts: 593
Joined: Wed May 20, 2009 10:50 am
Location: España

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

Postby evilpeibol » Sat Jun 19, 2010 1:56 pm

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);
User avatar
evilpeibol
 
Posts: 593
Joined: Wed May 20, 2009 10:50 am
Location: España

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

Postby SimulatorOne » Sat Jun 19, 2010 8:17 pm

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.
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.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

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

Postby SimulatorOne » Sat Jun 19, 2010 8:26 pm

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
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

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

Postby CicTec » Sat Jun 19, 2010 10:31 pm

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 :)
User avatar
CicTec
 
Posts: 16576
Joined: Thu Jul 31, 2008 10:18 pm

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

Postby CicTec » Sat Jun 19, 2010 10:32 pm

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).
User avatar
CicTec
 
Posts: 16576
Joined: Thu Jul 31, 2008 10:18 pm

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

Postby SimulatorOne » Sun Jun 20, 2010 2:45 pm

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.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

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

Postby CicTec » Sun Jun 20, 2010 3:07 pm

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. :)
User avatar
CicTec
 
Posts: 16576
Joined: Thu Jul 31, 2008 10:18 pm

PreviousNext

Return to Proyectos Full

Who is online

Users browsing this forum: No registered users and 1 guest