
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("..");
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("..");
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
CicTec wrote:Puedes por favor hacer un pequeño PRG que simule el problema para probar ?
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
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???
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
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.
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!
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.
Users browsing this forum: No registered users and 1 guest