From 985e38755e5e9897c0a119e9609d2eed37b51a2dd4a7cd972aa7f91ad536eb97 Mon Sep 17 00:00:00 2001 From: Gabriel Lorenzo Date: Tue, 29 Oct 2002 19:31:36 +0000 Subject: [PATCH] arreglado bug askeroso!!! --- ediv/CHANGE_LOG.txt | 16 ++++++++++++++++ ediv/src/bmp2fnt/b2f.vcproj | 3 +-- ediv/src/dlls/dlls.suo | Bin 23552 -> 23552 bytes ediv/src/stub/inte.c | 10 ++++++++-- ediv/src/stub/language.c | 2 +- ediv/src/stub/stub.c | 8 ++++++-- ediv/src/visual c/ediv_ws.suo | Bin 22528 -> 17920 bytes 7 files changed, 32 insertions(+), 7 deletions(-) diff --git a/ediv/CHANGE_LOG.txt b/ediv/CHANGE_LOG.txt index 114ed4d..4f8fd28 100644 --- a/ediv/CHANGE_LOG.txt +++ b/ediv/CHANGE_LOG.txt @@ -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. diff --git a/ediv/src/bmp2fnt/b2f.vcproj b/ediv/src/bmp2fnt/b2f.vcproj index 7b98202..32bceed 100644 --- a/ediv/src/bmp2fnt/b2f.vcproj +++ b/ediv/src/bmp2fnt/b2f.vcproj @@ -4,8 +4,7 @@ Version="7.00" Name="b2f" ProjectGUID="{892F2A1D-847C-45C1-B7D9-3F421D749FA5}" - SccProjectName="" - SccLocalPath=""> + > diff --git a/ediv/src/dlls/dlls.suo b/ediv/src/dlls/dlls.suo index 64503230ebe046ce4e663da502b878a0c0c2a16b982ae4cec4d5b90415224dbb..07b12b880760740e667472821ef8fcf7d6f0bba4c5a3218021b9ef60a5b89323 100644 GIT binary patch delta 898 zcmZ9K%TE(g6vodjQ;KwEXrV>aCQ3UkU^HnFHAVt$hzU$J)W<@XMDPhnU^IkPZG};Nat?&w%ZOd&qL_KFu2Dq=o?RAnMA&45BL1XSE?UfC^Vp zRjH1oQ}Bpxs^xiJ_`I_MU=RP+M;%Xf9;q-@|9=k7RiyZwr;cYreolMtxMWXZtaU6L z;%P&*K5eT?5sm?@!e^?LFuIG)IbTYx0jMg5mOrI# z&x68x?VSIv#+iY0f?SR#}J)I*)^bEWVfWl z!t5~aL=%HcW}@N#mE@!M564ceXC8k8Bod9BHLBQ?RM<2Pd)m0|)`aYG7bXkcvK3w9 zId{~yVrPYzUuv~>a+@<|=UP?QRC`?TcsRhTsQ^DnseI4a zyA`j6BldH1TyUf58UO$Q delta 906 zcmYk4OH30{6o$_orj*A_TiPN*F$QgXo7nO&#s-Q!go3sxCM-3AuYj5|8d6QD(L}|B zh{uIXO*9 z=~Q)5fv{+;D5C~Vqd2IDt^A|4vXaOvu23!Qqgn?kBm~hG2T>RhXY@f$&g8Te=ey9k zu5ii~(@;$Xww%L_PK1BEhLxb3Q|_4NgP_$*EZ5_6O%Wo-91Pc4TGZ=}+QD z&kjy|MtJnlCLRy^&1gxU&_y{ab$hkpja$3TuC}J(Q-!jNIOUI73oW&qv;Kr7mf1z4 zG@-47P+}9!Z0V@Zv*r048YxVz)Ixiy2LBN4rUO=7jVN?49vDWIYpSCEPvPeH-Q3OP zxyi>Zq7b46&eD0hNSDY!yd*EGk9r|qra?%(=(88U)0CtW@SQ>GBvM2H>6M~Wx_pi;M{RBRPFW@Wq1{S~~_|9WW+1T-0<26l1tBa^lXvIj#ZLBSVv-PVNZZyPo z;YVh@Eo){QG$$L~9lW#W#rVOf@Q15wh{|Y5nGx7}E?1>c9(#_K`;`CBoa80f;V7bA aef%g9Fr#hF3O9E~%ygTom^Thz)&Bw&M+-;* diff --git a/ediv/src/stub/inte.c b/ediv/src/stub/inte.c index 19645c7..0d5c637 100644 --- a/ediv/src/stub/inte.c +++ b/ediv/src/stub/inte.c @@ -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]]; diff --git a/ediv/src/stub/language.c b/ediv/src/stub/language.c index 7254a66..ee234fd 100644 --- a/ediv/src/stub/language.c +++ b/ediv/src/stub/language.c @@ -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.", diff --git a/ediv/src/stub/stub.c b/ediv/src/stub/stub.c index 5ec63a7..66c4a92 100644 --- a/ediv/src/stub/stub.c +++ b/ediv/src/stub/stub.c @@ -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);*/ diff --git a/ediv/src/visual c/ediv_ws.suo b/ediv/src/visual c/ediv_ws.suo index 6dbc14d193741a40dda93e35b6aa4ad98fbb70b091e8e01ddf79a502d8b74566..e253866d223e85e437190b360bd9d6fe852dee3bd7c3b3b4bf871f52ae916866 100644 GIT binary patch literal 17920 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 SxKR`5`LZZpx${_-&h>vs9MWb0