arreglado bug askeroso!!!
This commit is contained in:
parent
f5932a64d8
commit
985e38755e
|
@ -1,3 +1,19 @@
|
|||
29/10/2002
|
||||
----------
|
||||
* Bug arreglado: el programa se bloqueaba al llegar a cierta cantidad de
|
||||
procesos. El problema estaba en que los procesos no desechaban los parámetros
|
||||
de la pila después de leerlos. He cuidado que funcione bien tanto con
|
||||
optimización como sin ella :D (Er_Makina)
|
||||
* Para evitar cosas como esta (desbordamientos de pila) he puesto un "PANIC!"
|
||||
en modo _DEBUG cuando se termina de ejecutar un frame y quedan cosas en la
|
||||
pila. (Er_Makina)
|
||||
* Bug arreglado: los procesos no devolvían el id. La causa del bug era la misma
|
||||
que el de más arriba :) (Er_Makina)
|
||||
* Ahora se dibujan todos los blits con la Z correcta. He quitado el sistema
|
||||
que había antes (orden[]) y lo he reemplazado por un qsort justo antes de
|
||||
dibujarlo todo, además supongo que es más rápido que ir insertando cosas
|
||||
cada vez que se llamaba a Dibuja(). (Er_Makina)
|
||||
|
||||
28/10/2002
|
||||
----------
|
||||
* Añadida la variable SIZE.
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
Version="7.00"
|
||||
Name="b2f"
|
||||
ProjectGUID="{892F2A1D-847C-45C1-B7D9-3F421D749FA5}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
|
|
Binary file not shown.
|
@ -169,6 +169,7 @@ int proceso( int num, int padre )
|
|||
int no_devuelve = 0 ;
|
||||
int (*externa)(struct _fun_params*);
|
||||
int temp ;
|
||||
int cpas=0;
|
||||
#ifdef DBG
|
||||
int actual_lin;
|
||||
#endif
|
||||
|
@ -324,8 +325,12 @@ int proceso( int num, int padre )
|
|||
reserved("param_offset",procs_s[num_proc].id)=sp-reserved("parameters",procs_s[num_proc].id)+1;
|
||||
/**/procs_s[num_proc].num_params = mem[ imem-1 ] ;
|
||||
break;
|
||||
case lcpa://31 POR HACER?
|
||||
mem[pila[sp--]]=pila[reserved("param_offset",procs_s[num_proc].id)++];
|
||||
case lcpa://31
|
||||
mem[pila[sp]]=pila[reserved("param_offset",procs_s[num_proc].id)++];
|
||||
sp--;
|
||||
cpas++;
|
||||
if(cpas==reserved("parameters",procs_s[num_proc].id))
|
||||
sp-=cpas;
|
||||
break;
|
||||
case ltyp://32
|
||||
if ( procs_s[num_proc].tipo != 0 )
|
||||
|
@ -498,6 +503,7 @@ int proceso( int num, int padre )
|
|||
break;
|
||||
case lcaraidcpa://68
|
||||
mem[mem[imem++]+procs_s[num_proc].id]=pila[reserved("param_offset",procs_s[num_proc].id)++];
|
||||
sp--;
|
||||
break;
|
||||
case laddptr://69
|
||||
pila[sp-1]=mem[pila[sp-1]+pila[sp]];
|
||||
|
|
|
@ -272,7 +272,7 @@ char* translate_runtime_error(int num)
|
|||
/* 114 */ "Non è stato possibile caricare la fonte, archivio non trovato.",
|
||||
/* 115 */ "Si è tentato di caricare un archivio di fonte non valido.",
|
||||
/* 116 */ "Codice identificatore fonte di lettere non valido.",
|
||||
/* 117 */ "Codice di centrato di testo non valido.",
|
||||
/* 117 */ "Codice di allineamento testo non valido.",
|
||||
/* 118 */ "Hai troppi testi attivi nel programma.",
|
||||
/* 119 */ "Identificatore di testo non valido.",
|
||||
/* 120 */ "Regione di schermo definita incorrettamente.",
|
||||
|
|
|
@ -291,12 +291,12 @@ int main(int argc, char* argv[])
|
|||
|
||||
if ( screen == NULL )
|
||||
k_error(K_ERR_SDL_SET_VIDEO_MODE);
|
||||
*/
|
||||
*/
|
||||
//assert(0);
|
||||
ini_interprete();
|
||||
/*if ( !ini_interprete() )
|
||||
k_error(K_ERR_INI_INTERPRETE) ;*/
|
||||
|
||||
|
||||
while (1) {
|
||||
char noevent;
|
||||
/*
|
||||
|
@ -338,6 +338,10 @@ int main(int argc, char* argv[])
|
|||
stub_quit(0);
|
||||
|
||||
interprete();
|
||||
|
||||
#ifdef _DEBUG
|
||||
if(sp!=0) printf("PANIC! Quedan restos en la pila!! (sp=%d)\n",sp);
|
||||
#endif
|
||||
/*if (!interprete())
|
||||
k_error(K_ERR_INTERPRETE);*/
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue