correcciones, sobrecarga, y cosillas
This commit is contained in:
parent
f1f803404d
commit
99f81e7621
|
@ -8,6 +8,12 @@
|
||||||
* Añadidos los opcodes optimizados al stub. He puesto no_optimization a 0 en
|
* Añadidos los opcodes optimizados al stub. He puesto no_optimization a 0 en
|
||||||
el ediv.cfg. He compilado los test y parece que rulan perfectamente.
|
el ediv.cfg. He compilado los test y parece que rulan perfectamente.
|
||||||
(Er_Makina)
|
(Er_Makina)
|
||||||
|
* Corregido un pequeño fallo en el opcode ljpf. (Er_Makina)
|
||||||
|
* Se permite sobrecarga de funciones en las DLLs. Se pueden declarar varias
|
||||||
|
funciones con el mismo nombre siempre que tengan distinto número de pará-
|
||||||
|
metros. Dentro de la función se puede saber cuántos parámetros se han re-
|
||||||
|
cibido con fp->num_params. Ver doc/ExportaFuncs.txt para más detalles
|
||||||
|
(ya lo pasaré a .dok :P) (Er_Makina)
|
||||||
|
|
||||||
24/9/2002
|
24/9/2002
|
||||||
---------
|
---------
|
||||||
|
|
|
@ -49,6 +49,39 @@ nombre_interno es el nombre que tiene la funci
|
||||||
|
|
||||||
Ejemplo: FUNCTION ("load_map",1,DIV_Load_Map);
|
Ejemplo: FUNCTION ("load_map",1,DIV_Load_Map);
|
||||||
|
|
||||||
|
(020926): Se puede sobrecargar una función declarándola varias veces con distinto
|
||||||
|
número de parámetros (da igual si se indica un puntero a una función de C distinta o
|
||||||
|
no). A cada declaración se le asignará un id distinto, como si fueran funciones dis-
|
||||||
|
tintas. Dentro de la función se puede saber cuántos parámetros se han recibido con
|
||||||
|
fp->num_params.
|
||||||
|
|
||||||
|
Ejemplo:
|
||||||
|
FUNCTION ("set_mode",1,DIV_Set_Mode);
|
||||||
|
FUNCTION ("set_mode",3,DIV_Set_Mode);
|
||||||
|
FUNCTION ("set_mode",4,DIV_Set_Mode);
|
||||||
|
...
|
||||||
|
int DIV_Set_Mode(FUNCTION_PARAMS)
|
||||||
|
{
|
||||||
|
int modo,ancho,alto,bpp,flags;
|
||||||
|
switch(fp->num_params) {
|
||||||
|
case 1:
|
||||||
|
modo=getparm();
|
||||||
|
...
|
||||||
|
case 3:
|
||||||
|
bpp=getparm();
|
||||||
|
alto=getparm();
|
||||||
|
ancho=getparm();
|
||||||
|
...
|
||||||
|
case 4:
|
||||||
|
flags=getparm();
|
||||||
|
bpp=getparm();
|
||||||
|
alto=getparm();
|
||||||
|
ancho=getparm();
|
||||||
|
...
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARACIÓN DE CONSTANTES
|
DECLARACIÓN DE CONSTANTES
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
|
:: Usa este script para limpiar el directorio de *.html y dejar sólo los *.dok
|
||||||
|
:: Por esa razón que todos conocemos, windows sólo tiene en cuenta las tres
|
||||||
|
:: primeras letras de la extensión.
|
||||||
|
|
||||||
del *.htm
|
del *.htm
|
|
@ -1,7 +1,24 @@
|
||||||
|
'
|
||||||
|
' Este script debe ser usado en windows 95, 98 y Me para compilar la documentación.
|
||||||
|
' MakedokNT.bat no funcionará porque el MSDOS de win9x no usa nombres largos por
|
||||||
|
' defecto :P y Doku requiere nombres largos.
|
||||||
|
' Primero hay que ejecutar este script, que rastreará los .dok que haya en el
|
||||||
|
' directorio actual y creará un makedok95.bat que llama a Sion Doku usando nombres
|
||||||
|
' largos. Entonces ejecutamos makedok95.bat y Doku entrará en acción.
|
||||||
|
' Me hubiera gustado simplificar un poco más el proceso, pero no puedo llamar a
|
||||||
|
' Doku desde el windows scripting host (menuda mierda, dicho sea de paso. Es en
|
||||||
|
' estos momentos cuando más echo de menos al Bash o al AppleScript).
|
||||||
|
'
|
||||||
|
' Er_Makina
|
||||||
|
'
|
||||||
|
|
||||||
dim fs,f,bat,fil,c
|
dim fs,f,bat,fil,c
|
||||||
Set fs=CreateObject("Scripting.FileSystemObject")
|
Set fs=CreateObject("Scripting.FileSystemObject")
|
||||||
Set f=fs.getfolder(".").files
|
Set f=fs.getfolder(".").files
|
||||||
set bat=fs.opentextfile("makedok95.bat",2,true)
|
set bat=fs.opentextfile("makedok95.bat",2,true)
|
||||||
|
bat.write ":: makedok95.bat generado por makebat95.vbs" & vbcrlf
|
||||||
|
bat.write ":: Ejecuta este script para compilar la documentación." & vbcrlf
|
||||||
|
bat.write ":: Si añades o quitas un documento, ejecuta makebat95.vbs para actualizar el bat." & vbcrlf & vbcrlf
|
||||||
c=0
|
c=0
|
||||||
for each fil in f
|
for each fil in f
|
||||||
if lcase(fs.getextensionname(fil.path))="dok" or lcase(fs.getextensionname(fil.path))="doku" then
|
if lcase(fs.getextensionname(fil.path))="dok" or lcase(fs.getextensionname(fil.path))="doku" then
|
||||||
|
@ -10,4 +27,4 @@ c=c+1
|
||||||
end if
|
end if
|
||||||
next
|
next
|
||||||
bat.close
|
bat.close
|
||||||
msgbox "Encontrados " & c & " fichero(s)"
|
msgbox "Encontrados " & c & " fichero(s)." & vbcrlf & "Ahora ejecuta makedok95.bat y la magia de Doku hará el resto... ;)"
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
|
:: Ejecuta este script para compilar la documentación
|
||||||
|
:: Sólo válido para windows NT/2000/XP. Si usas 95, 98 o Me, utiliza makebat95.vbs
|
||||||
|
|
||||||
for %%i in (*.dok) do ..\doku %%i
|
for %%i in (*.dok) do ..\doku %%i
|
||||||
|
|
|
@ -8,8 +8,8 @@ Dreamweaver).
|
||||||
Para obtener los HTML a partir de los .dok hay que usar el programa DOKU
|
Para obtener los HTML a partir de los .dok hay que usar el programa DOKU
|
||||||
aquí incluido. En vez de ir ejecutando Doku una vez para cada archivo,
|
aquí incluido. En vez de ir ejecutando Doku una vez para cada archivo,
|
||||||
puedes usar los scripts que hay en el directorio html.
|
puedes usar los scripts que hay en el directorio html.
|
||||||
-> Para Windows Me/NT/2000/XP: ejecuta makedokNT.bat
|
-> Para Windows NT/2000/XP: ejecuta makedokNT.bat
|
||||||
-> Para Windows 95/98: ejecuta primero makebat95.vbs y luego makedok95.bat
|
-> Para Windows 95/98/Me: ejecuta primero makebat95.vbs y luego makedok95.bat
|
||||||
-> Para Linux: ejecuta makedok.sh
|
-> Para Linux: ejecuta makedok.sh
|
||||||
|
|
||||||
Si usais antivirus, es posible que os avise de que hay riesgo de virus al
|
Si usais antivirus, es posible que os avise de que hay riesgo de virus al
|
||||||
|
|
Binary file not shown.
|
@ -246,7 +246,8 @@ struct _fun_params{
|
||||||
int *pila ;
|
int *pila ;
|
||||||
int *sp ;
|
int *sp ;
|
||||||
int *mem ;
|
int *mem ;
|
||||||
int *varindex ;
|
int num_params;
|
||||||
|
varindex_t *varindex ;
|
||||||
struct _procs_s *procs_s ;
|
struct _procs_s *procs_s ;
|
||||||
int *num_procs ;
|
int *num_procs ;
|
||||||
int *proc_orden ;
|
int *proc_orden ;
|
||||||
|
|
|
@ -70,7 +70,7 @@ int EDIV_Export(char* cadena, int nparam, void* hfuncion)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,nparam);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_function:\t-- ID FUNCION: %d\n"
|
printf("export_function:\t-- ID FUNCION: %d\n"
|
||||||
|
@ -139,7 +139,7 @@ int EDIV_Export_Const(char* cadena, int valor)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_const:\t-- ID OBJETO: %d\n"
|
printf("export_const:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -175,7 +175,7 @@ int EDIV_Export_Global(char* cadena, int valor)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_global:\t-- ID OBJETO: %d\n"
|
printf("export_global:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -213,7 +213,7 @@ int EDIV_Export_Global_Tab(char* cadena, int numregs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_global_tab:\t-- ID OBJETO: %d\n"
|
printf("export_global_tab:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -259,7 +259,7 @@ int EDIV_Export_Global_Struct(char* cadena, int numregs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_global_struct:\t-- ID OBJETO: %d\n"
|
printf("export_global_struct:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -304,7 +304,7 @@ int EDIV_Export_Member_Int(char* cadena, int valor)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_member_int:\t-- ID OBJETO: %d\n"
|
printf("export_member_int:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -351,7 +351,7 @@ int EDIV_Export_Member_Str(char* cadena, int tamano)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_member_str:\t-- ID OBJETO: %d\n"
|
printf("export_member_str:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -426,7 +426,7 @@ int EDIV_Export_Member_Tab(char* cadena, int numregs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_member_tab:\t-- ID OBJETO: %d\n"
|
printf("export_member_tab:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -535,7 +535,7 @@ int EDIV_Export_Local(char* cadena, int valor)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_local:\t-- ID OBJETO: %d\n"
|
printf("export_local:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -573,7 +573,7 @@ int EDIV_Export_Local_Tab(char* cadena, int numregs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_local_tab:\t-- ID OBJETO: %d\n"
|
printf("export_local_tab:\t-- ID OBJETO: %d\n"
|
||||||
|
@ -619,7 +619,7 @@ int EDIV_Export_Local_Struct(char* cadena, int numregs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
creaobj=crea_objeto((byte*)cadena);
|
creaobj=crea_objeto((byte*)cadena,-1);
|
||||||
|
|
||||||
#ifdef DEBUG_DLL
|
#ifdef DEBUG_DLL
|
||||||
printf("export_local_struct:\t-- ID OBJETO: %d\n"
|
printf("export_local_struct:\t-- ID OBJETO: %d\n"
|
||||||
|
|
|
@ -1280,7 +1280,15 @@ void factor(void) {
|
||||||
if (pieza!=p_coma) error(3,35); // se esperaba una coma
|
if (pieza!=p_coma) error(3,35); // se esperaba una coma
|
||||||
else { lexico(); if (pieza==p_cerrar) error(3,36); } // se esperaba otro parametro
|
else { lexico(); if (pieza==p_cerrar) error(3,36); } // se esperaba otro parametro
|
||||||
}
|
}
|
||||||
} if (p!=(*ob).fext.num_par) error(1,38); // numero de parametros incorrecto
|
}
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
if(ob==NULL) break;
|
||||||
|
if((*ob).tipo==tfext && (*ob).fext.num_par==p) break;
|
||||||
|
ob=(*ob).anterior;
|
||||||
|
}
|
||||||
|
if(ob==NULL) error(1,38); // numero de parametros incorrecto
|
||||||
|
//if (p!=(*ob).fext.num_par) error(1,38); // numero de parametros incorrecto
|
||||||
(*_exp).tipo=efext; (*_exp++).objeto=ob; lexico(); break;
|
(*_exp).tipo=efext; (*_exp++).objeto=ob; lexico(); break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#pragma warning(disable:4018) // Signed/Unsigned Mismatch :)
|
#pragma warning(disable:4018) // Signed/Unsigned Mismatch :)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int crea_objeto(byte * nombre)
|
int crea_objeto(byte * nombre, int nparam)
|
||||||
{
|
{
|
||||||
struct objeto * * ptr_o;
|
struct objeto * * ptr_o;
|
||||||
byte ** ptr, * _ivnom, h;
|
byte ** ptr, * _ivnom, h;
|
||||||
|
@ -50,16 +50,36 @@ int crea_objeto(byte * nombre)
|
||||||
|
|
||||||
// TODO: TESTEAR!!!
|
// TODO: TESTEAR!!!
|
||||||
|
|
||||||
// busca si el id encontrado se encuentra en la misma struct
|
if(nparam==-1) {
|
||||||
while(o!=NULL && ((*o).member!=member)) o=(*o).anterior;
|
// busca si el id encontrado se encuentra en la misma struct
|
||||||
if(o==NULL) { // ok, no hay problema
|
while(o!=NULL && ((*o).member!=member)) o=(*o).anterior;
|
||||||
o=iobj++; (*o).anterior=*ptr_o; *ptr_o=o;
|
if(o==NULL) { // ok, no hay problema
|
||||||
(*o).name=(byte*)(ptr_o+1);
|
o=iobj++; (*o).anterior=*ptr_o; *ptr_o=o;
|
||||||
(*o).member=member;
|
(*o).name=(byte*)(ptr_o+1);
|
||||||
(*o).param=0;
|
(*o).member=member;
|
||||||
if (num_obj++==max_obj) return 3; // error "demasiados objetos"
|
(*o).param=0;
|
||||||
} else {
|
if (num_obj++==max_obj) return 3; // error "demasiados objetos"
|
||||||
return 2; // dos nombres iguales en el mismo nivel de struct -> "el nombre no es nuevo"
|
} else {
|
||||||
|
return 2; // dos nombres iguales en el mismo nivel de struct -> "el nombre no es nuevo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// se trata de una funcion externa. buscamos si es posible la sobrecarga
|
||||||
|
while(1) {
|
||||||
|
if(o==NULL) break;
|
||||||
|
if((*o).tipo==tfext && (*o).fext.num_par==nparam) break;
|
||||||
|
o=(*o).anterior;
|
||||||
|
}
|
||||||
|
//while(o!=NULL && (((*o).tipo==tfext) ^^ ((*o).fext.num_par!=nparam))) o=(*o).anterior;
|
||||||
|
if(o==NULL) { // ok, lo añadimos a la lista
|
||||||
|
o=iobj++; (*o).anterior=*ptr_o; *ptr_o=o;
|
||||||
|
(*o).name=(byte*)(ptr_o+1);
|
||||||
|
(*o).member=member;
|
||||||
|
(*o).param=0;
|
||||||
|
if (num_obj++==max_obj) return 3; // error "demasiados objetos"
|
||||||
|
} else {
|
||||||
|
return 2; // dos funciones iguales con el mismo numero de parametros -> "el nombre no es nuevo"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -261,7 +281,7 @@ lex_scan:
|
||||||
|
|
||||||
if (pieza==p_ultima) {
|
if (pieza==p_ultima) {
|
||||||
if (coment) error(0,1); // llegó el final dentro de un comentario
|
if (coment) error(0,1); // llegó el final dentro de un comentario
|
||||||
else error(0,4); // símbolo no reconocido (¡¡creo!!)
|
else error(0,4); // símbolo no reconocido (¡¡creo!!) TODO: comprobar
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -385,7 +405,7 @@ void sintactico(void)
|
||||||
} else {
|
} else {
|
||||||
if (!free_sintax) {
|
if (!free_sintax) {
|
||||||
if (pieza==p_program) {
|
if (pieza==p_program) {
|
||||||
error(3,9); // se esperaba ';' (¡creo!)
|
error(3,9); // se esperaba ';' (¡creo!) TODO: comprobar
|
||||||
//lexico();
|
//lexico();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -446,7 +446,7 @@ int acceso_remoto; // Para no permitir id.private
|
||||||
// PROTOTIPOS
|
// PROTOTIPOS
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
int crea_objeto(byte * nombre);
|
int crea_objeto(byte * nombre, int nparam);
|
||||||
void psintactico(void);
|
void psintactico(void);
|
||||||
void plexico(void);
|
void plexico(void);
|
||||||
void sintactico(void);
|
void sintactico(void);
|
||||||
|
|
|
@ -245,6 +245,7 @@ struct _fun_params{
|
||||||
int *pila ;
|
int *pila ;
|
||||||
int *sp ;
|
int *sp ;
|
||||||
int *mem ;
|
int *mem ;
|
||||||
|
int num_params;
|
||||||
varindex_t *varindex ;
|
varindex_t *varindex ;
|
||||||
struct _procs_s (*procs_s)[4096] ;
|
struct _procs_s (*procs_s)[4096] ;
|
||||||
int *num_procs ;
|
int *num_procs ;
|
||||||
|
|
|
@ -139,6 +139,7 @@ int EDIV_Export(char* cadena, int nparam, void* hfuncion)
|
||||||
(*ob).fext.num_par=nparam; // es necesario?*/
|
(*ob).fext.num_par=nparam; // es necesario?*/
|
||||||
|
|
||||||
extfuncs[n_externs]=hfuncion;
|
extfuncs[n_externs]=hfuncion;
|
||||||
|
extparms[n_externs]=nparam;
|
||||||
|
|
||||||
/* for(i=0;i<numdlls;i++)
|
/* for(i=0;i<numdlls;i++)
|
||||||
for(j=0;j<dlls[i].nfuncs;j++)
|
for(j=0;j<dlls[i].nfuncs;j++)
|
||||||
|
|
|
@ -163,9 +163,10 @@ int proceso( int num )
|
||||||
num_proc = num ;
|
num_proc = num ;
|
||||||
imem = procs_s[num_proc].imem ;
|
imem = procs_s[num_proc].imem ;
|
||||||
|
|
||||||
|
//printf("num_proc: %d\n",num);
|
||||||
|
|
||||||
|
|
||||||
//assert(0);
|
if(num==972) assert(0);
|
||||||
|
|
||||||
while( retcode == 0 )
|
while( retcode == 0 )
|
||||||
{
|
{
|
||||||
|
@ -266,6 +267,8 @@ int proceso( int num )
|
||||||
case ljpf://24
|
case ljpf://24
|
||||||
if (!(pila[sp]&1))
|
if (!(pila[sp]&1))
|
||||||
imem = mem[ imem ] ;
|
imem = mem[ imem ] ;
|
||||||
|
else
|
||||||
|
imem++;
|
||||||
sp--;
|
sp--;
|
||||||
break ;
|
break ;
|
||||||
case lfun://25 NO USADO
|
case lfun://25 NO USADO
|
||||||
|
@ -420,9 +423,10 @@ int proceso( int num )
|
||||||
break ;
|
break ;
|
||||||
case lext://57
|
case lext://57
|
||||||
//assert(0);
|
//assert(0);
|
||||||
externa=extfuncs[mem[imem++]];
|
externa=extfuncs[mem[imem]];
|
||||||
// corresponder con FUNCTION_PARAMS
|
// corresponder con FUNCTION_PARAMS
|
||||||
//temp = externa(pila,&sp,mem,varindex,&procs_s,Call_Entrypoint);
|
//temp = externa(pila,&sp,mem,varindex,&procs_s,Call_Entrypoint);
|
||||||
|
fp.num_params=extparms[mem[imem++]];
|
||||||
temp = externa(&fp) ;
|
temp = externa(&fp) ;
|
||||||
pila[++sp]= temp ;
|
pila[++sp]= temp ;
|
||||||
break ;
|
break ;
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -56,7 +58,7 @@ int main(int argc, char* argv[])
|
||||||
byte * ptr;
|
byte * ptr;
|
||||||
unsigned long len,len_descomp;
|
unsigned long len,len_descomp;
|
||||||
byte* vartemp;
|
byte* vartemp;
|
||||||
const SDL_version* sdl_version;
|
//const SDL_version* sdl_version;
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
int start_lin;
|
int start_lin;
|
||||||
int linsize;
|
int linsize;
|
||||||
|
@ -69,7 +71,7 @@ int main(int argc, char* argv[])
|
||||||
|
|
||||||
eDIV_InstallParachute();
|
eDIV_InstallParachute();
|
||||||
|
|
||||||
sdl_version=SDL_Linked_Version();
|
/*sdl_version=SDL_Linked_Version();
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
printf("Versión SDL del exe: %d.%d.%d\n",SDL_MAJOR_VERSION,SDL_MINOR_VERSION,SDL_PATCHLEVEL);
|
printf("Versión SDL del exe: %d.%d.%d\n",SDL_MAJOR_VERSION,SDL_MINOR_VERSION,SDL_PATCHLEVEL);
|
||||||
printf("Versión de SDL instalada: %d.%d.%d\n",sdl_version->major,sdl_version->minor,sdl_version->patch);
|
printf("Versión de SDL instalada: %d.%d.%d\n",sdl_version->major,sdl_version->minor,sdl_version->patch);
|
||||||
|
@ -83,7 +85,7 @@ int main(int argc, char* argv[])
|
||||||
critical_error(9,SDL_MAJOR_VERSION,SDL_MINOR_VERSION,SDL_PATCHLEVEL,
|
critical_error(9,SDL_MAJOR_VERSION,SDL_MINOR_VERSION,SDL_PATCHLEVEL,
|
||||||
sdl_version->major,sdl_version->minor,sdl_version->patch);
|
sdl_version->major,sdl_version->minor,sdl_version->patch);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
for ( i = 0 ; i < 100 ; i++ )
|
for ( i = 0 ; i < 100 ; i++ )
|
||||||
tiempo[ i ] = 0 ;
|
tiempo[ i ] = 0 ;
|
||||||
tiempo_i = 0 ;
|
tiempo_i = 0 ;
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue