diff --git a/ediv/CHANGE_LOG.txt b/ediv/CHANGE_LOG.txt index 51267da..e4a37f0 100644 --- a/ediv/CHANGE_LOG.txt +++ b/ediv/CHANGE_LOG.txt @@ -1,3 +1,21 @@ +26/9/2002 +--------- + * Algunos bugfixes y cambios menores. CicTec y yo andamos tras la pista de + algunos bugs: + - En Windows 98, ediv peta cuando compila algunos programas que no tienen + compiler_options y no tienen una línea en blanco (o de comentarios) + antes del program. Al parecer el fallo está en inicio_sentencia(). + - Al pasar de 512 procesos y cerrar el juego, se produce un error. Aparen- + temente salta al llegar a SDL_Quit, así que he deducido que puede ser + porque no se liberan los recursos (surfaces, etc) antes de salir. Para + permitir esto, añadiré un entrypoint "quit" que será llamado desde + stub_quit (lo dejo para mañana). Aunque, curiosamente, este fallo no se + produce si no usamos procesos con más de un parámetro. + - Al llegar a x procesos (600, 900...) el programa se queda bloqueado. + (Er_Makina) + * Para mañana, haré que el título por defecto de la ventana sea el nombre + del programa indicado en program. (Er_Makina) + 25/9/2002 --------- * Añadido un control para evitar que haya más de "max_process" procesos. Si diff --git a/ediv/authors.txt b/ediv/authors.txt index 294fa40..a512de8 100644 --- a/ediv/authors.txt +++ b/ediv/authors.txt @@ -5,12 +5,13 @@ Programadores - Riseven (riseven@hotmail.com) - |RooT| (alfaher@terra.es) - Daijo (daijo@softhome.net) +- CicTec (francescoamato5@tin.it) Traductores ----------- -- CicTec (italiano) (francesco.amato4@tin.it) +- CicTec (italiano) (francescoamato5@tin.it) - tareko (português) (miauz@clix.pt) - Er_Makina (inglés) (ermakina@ya.com) - BenKo (català) (benkojedi@hotmail.com) @@ -20,6 +21,7 @@ Traductores Betatesters ----------- +- CicTec (francescoamato5@tin.it) - Matías Iacono (gmakers@yahoo.com) - EHSN (EHSN@softhome.net) - chinodiv (zacsoft@hotmail.com) @@ -32,7 +34,6 @@ Betatesters - BenKo (benkojedi@hotmail.com) - Ferminho - Bb_LaRiOs (daniel@danielesteban.com) -- CicTec (francesco.amato@tin.it) - Satv - Joyal - SHeLe diff --git a/ediv/bin/bum.prg b/ediv/bin/bum.prg index aacf7ea..5411ef5 100644 --- a/ediv/bin/bum.prg +++ b/ediv/bin/bum.prg @@ -1,11 +1,14 @@ +compiler_options _max_process=2000; program bum; private numprocs; begin rand_seed(343); - load_bmp("hola.bmp"); +// load_bmp("hola.bmp"); + load_fpg("test.fpg"); load_fnt("system.fnt"); + put_screen(0,1); write_int(1,0,0,0,&numprocs); define_region(1,0,10,320,190); loop @@ -17,7 +20,7 @@ end process cosa() begin - graph=1000; + graph=100; x=rand(0,319); y=rand(0,199); diff --git a/ediv/bin/ediv.cfg b/ediv/bin/ediv.cfg index 3e568f5..550248d 100644 --- a/ediv/bin/ediv.cfg +++ b/ediv/bin/ediv.cfg @@ -3,14 +3,14 @@ motd_host=divsite.net ; Hostname de donde coger el motd [default_compiler_options] -max_process=1024 ; Por poner algo xD +max_process=1024 ; Por poner algo xD free_sintax=0 ; No hay sintaxis libre extended_conditions=0 ; No hay condiciones extendidas case_sensitive=0 ; Sin case sensitive ignore_errors=0 ; No ignorar errores no_strfix=0 ; no_id_check=0 ; -no_optimization=0 ; Para las pruebas de momento ;) +no_optimization=0 ; no_range_check=0 ; no_null_check=0 ; no_check=0 ; diff --git a/ediv/doc/html/aproximacion.dok b/ediv/doc/html/aproximacion.dok index 3f96695..a7fd54b 100644 --- a/ediv/doc/html/aproximacion.dok +++ b/ediv/doc/html/aproximacion.dok @@ -1,5 +1,5 @@ <%title%>Primera aproximación a eDIV<%/title%>

Primera aproximación a eDIV

-

Esta sección es muy importante para aquellos que nunca hayan tenido anteriormente ningún contacto con eDIV (o incluso con ningún compilador). Incluso si ya has utilizado otros compiladores de DIV, como DIV Games Studio o Fenix, puede que te resulte necesario saber estas cosas básicas para poder manejar eDIV (y aún más si quieres modificar eDIV o programar DLLs).

+

Esta sección es muy importante para aquellos que nunca hayan tenido anteriormente ningún contacto con eDIV (o incluso con ningún compilador). Incluso si ya has utilizado otros compiladores de DIV, como DIV Games Studio o Fenix, puede que te resulte necesario saber estas cosas básicas para poder manejar eDIV (y aún más si quieres modificar eDIV o programar DLLs).

<%subindex%> <%end%> \ No newline at end of file diff --git a/ediv/doc/html/template.txt b/ediv/doc/html/template.txt index 314a4f7..5796fa2 100644 --- a/ediv/doc/html/template.txt +++ b/ediv/doc/html/template.txt @@ -3,14 +3,14 @@ "\n\n\n" "\n" "" -<%end%> "

Ir arriba
\n" +<%end%> "

Ir arriba

\n" "Esta documentación ha sido escrita por el equipo de\n" - "Sion Entertainment y forma parte del proyecto eDIV. Las actualizaciones de esta\n" - "documentación pueden obtenerse en www.edivcentral.com.\nSi ve algún error o anomalía " + "Sion Ltd. y forma parte del proyecto eDIV. Las actualizaciones de esta\n" + "documentación pueden obtenerse en http://ediv.divsite.net.\nSi ve algún error o anomalía " "en cualquiera de los documentos que\nse incluyen en este proyecto, por favor " - "comuníquenoslo a bugs@edivcentral.com. " - "Gracias.
\n© Copyleft Sion Entertainment, 2000-2002
\n\n\n" + "comuníquenoslo a ediv@divsite.net. " + "Gracias.
\n© Copyleft Sion Ltd., 2000-2002\n\n\n" <%code%> "

"
 <%/code%> "

" diff --git a/ediv/propuestas.txt b/ediv/propuestas.txt index b3b16a6..857753c 100644 --- a/ediv/propuestas.txt +++ b/ediv/propuestas.txt @@ -270,4 +270,6 @@ rellena el fondo con un color Incluir Psycle (tracker musical) en el IDE: http://sourceforge.net/projects/psycle/ -punteros a estructuras genericos (que no haga falta indicarle a qué tipo de estructura apuntan) \ No newline at end of file +punteros a estructuras genericos (que no haga falta indicarle a qué tipo de estructura apuntan) + +poder cargar fuentes de letra directamente a partir de .map \ No newline at end of file diff --git a/ediv/src/dlls/dlls.suo b/ediv/src/dlls/dlls.suo index 2d1cfce..8611fe4 100644 Binary files a/ediv/src/dlls/dlls.suo and b/ediv/src/dlls/dlls.suo differ diff --git a/ediv/src/dlls/export.h b/ediv/src/dlls/export.h index 0b0ba12..7e25562 100644 --- a/ediv/src/dlls/export.h +++ b/ediv/src/dlls/export.h @@ -296,6 +296,7 @@ void frame(FUNCTION_PARAMS); void trace(int imem, char* nombreprg, int* lin, void* dbg); void debug(int imem, char* nombreprg, int* lin, void* dbg); void first_load(FUNCTION_PARAMS) ; +void quit(int dont_quit); ////////////////////////////// diff --git a/ediv/src/dlls/graphics/main.c b/ediv/src/dlls/graphics/main.c index 6f200fb..b37d6ab 100644 --- a/ediv/src/dlls/graphics/main.c +++ b/ediv/src/dlls/graphics/main.c @@ -7,7 +7,7 @@ #include #endif //#include -#include +//#include #include "export.h" #include #include "graphics.h" diff --git a/ediv/src/ediv/parser.c b/ediv/src/ediv/parser.c index 6c6fd8a..0d0b890 100644 --- a/ediv/src/ediv/parser.c +++ b/ediv/src/ediv/parser.c @@ -326,6 +326,7 @@ void sintactico(void) hacer_strfix=1; optimizar=1;*/ + printf("** CHECKPOINT 1\n"); if(case_sensitive) { memcpy(lower+129,"üéâäàåçêëèïîìäåéææôöòûùÿöü¢£¥áíóú",35); memcpy(lower+'A',"ABCDEFGHIJKLMNOPQRSTUVWXYZ",26); @@ -435,7 +436,7 @@ void sintactico(void) //if ((lins=fopen(cWork,"wb"))==NULL) c_error(0,0); // cWork="system\exec.ins" - inicio_sentencia(); lexico(); + /**/inicio_sentencia();/**/ lexico(); if (pieza!=p_id) error(1,45); // esperando el nombre del programa ob=o; @@ -444,6 +445,7 @@ void sintactico(void) (*ob).proc.bloque=bloque_actual=ob; (*ob).proc.offset=0; (*ob).proc.num_par=0; + nombre_program=(*ob).name; lexico(); if (!free_sintax) if (pieza!=p_ptocoma) error(3,9); // esperando ';' while (pieza==p_ptocoma || pieza==p_coma) lexico(); diff --git a/ediv/src/ediv/parser.h b/ediv/src/ediv/parser.h index 48bbdcb..2fc0f25 100644 --- a/ediv/src/ediv/parser.h +++ b/ediv/src/ediv/parser.h @@ -24,6 +24,8 @@ #include "main.h" +byte* nombre_program; // nombre del programa, para guardarlo en el exe + /* A continuacion viene el asunto de los objetos. Para el que no se haya estudiado a fondo * el DIVC.CPP (ejem) diré que un objeto es cada una de las variables, constantes, tipos * de proceso (declarados con PROCESS), tipos de funcion (declarados con FUNCTION), funciones diff --git a/ediv/src/stub/error.c b/ediv/src/stub/error.c index 8a6800f..5e85481 100644 --- a/ediv/src/stub/error.c +++ b/ediv/src/stub/error.c @@ -64,7 +64,7 @@ void error(int num, ...) printf("%s\n",mensaje); #endif - exit(num); + stub_quit(num); } @@ -79,8 +79,7 @@ void critical_error(int num, ...) { va_list opparam; char mensaje[256]; - - + va_start(opparam,num); sprintf(mensaje,translate(0), num); vsprintf(mensaje,translate_critical_error(num),opparam); @@ -91,6 +90,6 @@ void critical_error(int num, ...) printf("%s\n",mensaje); #endif - exit(num); + stub_quit(num); } diff --git a/ediv/src/stub/inte.c b/ediv/src/stub/inte.c index d9b6296..8599335 100644 --- a/ediv/src/stub/inte.c +++ b/ediv/src/stub/inte.c @@ -166,7 +166,7 @@ int proceso( int num ) //printf("num_proc: %d\n",num); - if(num==972) assert(0); + //if(num==972) assert(0); while( retcode == 0 ) { diff --git a/ediv/src/stub/stub.c b/ediv/src/stub/stub.c index e452f5e..9df946f 100644 --- a/ediv/src/stub/stub.c +++ b/ediv/src/stub/stub.c @@ -280,6 +280,7 @@ int main(int argc, char* argv[]) while (1) { + char noevent; /* for ( i = 0 ; i < 256 ; i ++ ) { @@ -297,13 +298,19 @@ int main(int argc, char* argv[]) } } */ - while ( SDL_PollEvent(&event[0] ) ) + //assert(0); + noevent=0; + while ( SDL_PollEvent(&event[0] ) && !noevent ) { switch( event[0].type ) { case SDL_QUIT: - exit(0) ; + assert(0); + stub_quit(0) ; break ; + case SDL_NOEVENT: + noevent=1; + break; } } @@ -341,7 +348,7 @@ int main(int argc, char* argv[]) //SDL_Flip(screen); } - exit(0); // fin del programa + stub_quit(0); // fin del programa } else { close(f); diff --git a/ediv/src/visual c/ediv_ws.suo b/ediv/src/visual c/ediv_ws.suo index 77b309a..a03e4d5 100644 Binary files a/ediv/src/visual c/ediv_ws.suo and b/ediv/src/visual c/ediv_ws.suo differ diff --git a/ediv/todo.txt b/ediv/todo.txt index 6879db0..d538b43 100644 --- a/ediv/todo.txt +++ b/ediv/todo.txt @@ -1,9 +1,9 @@ yo me lio con estos ficheros todo, asi k pongo mi propia seccion todo ( Riseven ) xDD -- cambiar el trasparency (255-0) a (0-255) -- valores por defecto de las variables locales -- indexado de estructuras -- variables privadas -- nuevo valor de flags ( +8 -> modo 50% / Trasparency ) +- cambiar el trasparency (255-0) a (0-255) <-- hecho +- valores por defecto de las variables locales <-- hecho +- indexado de estructuras <-- hecho +- variables privadas <-- ¿? hecho, no? +- nuevo valor de flags ( +8 -> modo 50% / Trasparency ) <-- hecho Cosas por hacer cuanto antes: