diff --git a/dlls/src/dinmem/win32/dinmem.vcproj b/dlls/src/dinmem/win32/dinmem.vcproj index 3c688d8..e60b04c 100644 --- a/dlls/src/dinmem/win32/dinmem.vcproj +++ b/dlls/src/dinmem/win32/dinmem.vcproj @@ -60,7 +60,7 @@ diff --git a/dlls/src/edivstd/win32/edivstd.vcproj b/dlls/src/edivstd/win32/edivstd.vcproj index 0c5a15e..5ab827a 100644 --- a/dlls/src/edivstd/win32/edivstd.vcproj +++ b/dlls/src/edivstd/win32/edivstd.vcproj @@ -60,7 +60,7 @@ diff --git a/dlls/src/file/file.c b/dlls/src/file/file.c index 5e9c142..c50f073 100644 --- a/dlls/src/file/file.c +++ b/dlls/src/file/file.c @@ -22,6 +22,10 @@ int ExportaFuncs(EXPORTAFUNCS_PARAMS) FUNCTION("fseek",3,eDiv_Fseek) ; FUNCTION("flush",0,eDiv_Flush) ; FUNCTION("fclose",1,eDiv_Fclose) ; + +// FUNCTION("load",2,eDIV_Load); +// FUNCTION("save",3,eDIV_Save); + return TRUE ; } diff --git a/dlls/src/file/win32/file.vcproj b/dlls/src/file/win32/file.vcproj index ad9fa86..0622ed6 100644 --- a/dlls/src/file/win32/file.vcproj +++ b/dlls/src/file/win32/file.vcproj @@ -59,7 +59,7 @@ diff --git a/dlls/src/graphics/win32/graphics.vcproj b/dlls/src/graphics/win32/graphics.vcproj index 9f9d2d6..7b52c6a 100644 --- a/dlls/src/graphics/win32/graphics.vcproj +++ b/dlls/src/graphics/win32/graphics.vcproj @@ -60,7 +60,7 @@ diff --git a/dlls/src/input/win32/input.vcproj b/dlls/src/input/win32/input.vcproj index 9664d64..c0a33fc 100644 --- a/dlls/src/input/win32/input.vcproj +++ b/dlls/src/input/win32/input.vcproj @@ -60,7 +60,7 @@ diff --git a/dlls/src/math/win32/math.vcproj b/dlls/src/math/win32/math.vcproj index f5b18a5..0c6067e 100644 --- a/dlls/src/math/win32/math.vcproj +++ b/dlls/src/math/win32/math.vcproj @@ -59,7 +59,7 @@ diff --git a/dlls/src/text/win32/text.vcproj b/dlls/src/text/win32/text.vcproj index c51408c..fbdf673 100644 --- a/dlls/src/text/win32/text.vcproj +++ b/dlls/src/text/win32/text.vcproj @@ -59,7 +59,7 @@ >=(word)pila[sp]); + sp-=2; + break; + case lslawor: + pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]<<=(word)pila[sp]); + sp-=2; + break; + case lcpawor: + _param_offset=reservedptr("param_offset"); + if ((unsigned)pila[mem[procs_s[num_proc].id+_param_offset]]<256) { + memw[pila[sp-1]*2+pila[sp]]=(word)pila[mem[procs_s[num_proc].id+_param_offset]]; + } else { + if (pila[mem[procs_s[num_proc].id+_param_offset]]255) if ((mem[pila[sp-1]-1]&0xFFFFF)+1255) strcpy((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]); + else sprintf((char*)&mem[pila[sp-1]],"%c\0",pila[sp]); + sp--; + break; + + case lstrfix: + if (pila[sp-1]>=(oo=strlen(&memb[pila[sp-2]*4]))) { + for (;oo255) oo=strlen((char*)&mem[pila[sp]]); else oo=1; + if ((mem[pila[sp-1]-1]&0xFFFFF)+1255) strcat((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]); + else sprintf((char*)&mem[pila[sp-1]],"%s%c\0",(char*)&mem[pila[sp-1]],pila[sp]); + sp--; + break; + + case lstradd: /* Strcat "en el aire" (ojo, el aire tiene tambien 0xDAD00402) */ +/* #ifdef DEBUG + if ((unsigned)pila[sp-1]>255) oo=strlen((char*)&mem[pila[sp-1]]); else oo=1; + if ((unsigned)pila[sp]>255) oo+=strlen((char*)&mem[pila[sp]]); else oo+=1; + if (oo>=1028) { + sp--; v_function=-2; e(140); + if (call_to_debug) { process_stoped=id; return; } + break; + } + #endif*/ + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + sprintf((char*)&mem[nullstring[nstring]],"%s%s\0",(char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]); + } else { + sprintf((char*)&mem[nullstring[nstring]],"%s%c\0",(char*)&mem[pila[sp-1]],pila[sp]); + } + } else { + if ((unsigned)pila[sp]>255) { + sprintf((char*)&mem[nullstring[nstring]],"%c%s\0",pila[sp-1],(char*)&mem[pila[sp]]); + } else { + sprintf((char*)&mem[nullstring[nstring]],"%c%c\0",pila[sp-1],pila[sp]); + } + } + pila[--sp]=nullstring[nstring]; + nstring=((nstring+1)&3); + break; + + case lstrdec: /* cambio de tamaño "en el aire" (no da error, hace lo que puede) */ + oo=strlen((char*)&mem[pila[sp-1]]); + if (oo<1028) { + strcpy((char*)&mem[nullstring[nstring]],(char*)&mem[pila[sp-1]]); + if (pila[sp]>0) { // Quitar caracteres + if (pila[sp]>=oo) memb[nullstring[nstring]*4]=0; + else memb[nullstring[nstring]*4+oo-pila[sp]]=0; + } else if (pila[sp]<0) { // A¤adir (?) caracteres (por homogeneidad) + pila[sp]=oo-pila[sp]; // Nueva longitud + if (pila[sp]>1025) pila[sp]=1025; + for (;oo0) { // Quitar caracteres + if (pila[sp]>=oo) memb[pila[sp-1]*4]=0; + else memb[pila[sp-1]*4+oo-pila[sp]]=0; + } else if (pila[sp]<0) { // A¤adir (?) caracteres (por homogeneidad) + pila[sp]=oo-pila[sp]; // Nueva longitud + for (;oo255) pila[sp]=strlen((char*)&mem[pila[sp]]); else pila[sp]=1; + break; + + case lstrigu: + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])) pila[sp-1]=0; else pila[sp-1]=1; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])) pila[sp-1]=0; else pila[sp-1]=1; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])) pila[sp-1]=0; else pila[sp-1]=1; + } else { + pila[sp-1]=(pila[sp-1]==pila[sp]); + } + } sp--; break; + + case lstrdis: + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])) pila[sp-1]=1; else pila[sp-1]=0; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])) pila[sp-1]=1; else pila[sp-1]=0; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])) pila[sp-1]=1; else pila[sp-1]=0; + } else { + pila[sp-1]=(pila[sp-1]!=pila[sp]); + } + } sp--; break; + break; + + case lstrmay: + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])>0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])>0) pila[sp-1]=1; else pila[sp-1]=0; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])>0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + pila[sp-1]=(pila[sp-1]>pila[sp]); + } + } sp--; break; + break; + + case lstrmen: + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])<0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])<0) pila[sp-1]=1; else pila[sp-1]=0; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])<0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + pila[sp-1]=(pila[sp-1]255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])<=0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])<=0) pila[sp-1]=1; else pila[sp-1]=0; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])<=0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + pila[sp-1]=(pila[sp-1]<=pila[sp]); + } + } sp--; break; + break; + + case lstrmai: + if ((unsigned)pila[sp-1]>255) { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])>=0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])>=0) pila[sp-1]=1; else pila[sp-1]=0; + } + } else { + if ((unsigned)pila[sp]>255) { + if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])>=0) pila[sp-1]=1; else pila[sp-1]=0; + } else { + pila[sp-1]=(pila[sp-1]>=pila[sp]); + } + } sp--; break; + break; + + case lcpastr: +/* #ifdef DEBUG + if ((mem[pila[sp]-1]&0xFFF00000)!=0xDAD00000) { + sp--; mem[id+_Param]++; v_function=-2; e(164); + if (call_to_debug) { process_stoped=id; return; } + break; + } + if ((unsigned)pila[mem[id+_Param]]>255) { + if ((mem[pila[sp]-1]&0xFFFFF)+1255) + strcpy((char*)&mem[pila[sp]],(char*)&mem[pila[mem[id+_Param]]]); + else sprintf((char*)&mem[pila[sp]],"%c\0",pila[mem[id+_Param]]); + sp--; mem[id+_Param]++; + break; +#endif + + /* Comprobación de punteros nulos */ + case lnul: +/* #ifdef DEBUG + if (!pila[sp]) { + v_function=-2; e(165); + if (call_to_debug) { process_stoped=id; return; } + } + #endif*/ + break; } #ifdef DBG diff --git a/ediv/src/stub/language.c b/ediv/src/stub/language.c index ee234fd..c617188 100644 --- a/ediv/src/stub/language.c +++ b/ediv/src/stub/language.c @@ -1,6 +1,6 @@ /* * eDiv Compiler - * Copyleft (C) 2000-2002 Sion Entertainment + * Copyleft (C) 2000-2003 Sion Entertainment * http://www.sion-e.com * * This program is free software; you can redistribute it and/or modify diff --git a/ediv/src/visual c/ediv/ediv.vcproj b/ediv/src/visual c/ediv/ediv.vcproj index 25c65ca..2ca813f 100644 --- a/ediv/src/visual c/ediv/ediv.vcproj +++ b/ediv/src/visual c/ediv/ediv.vcproj @@ -58,7 +58,7 @@ diff --git a/ediv/src/visual c/ediv_ws.suo b/ediv/src/visual c/ediv_ws.suo index 375ab06..2d5685f 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/src/visual c/encrypt/encrypt.vcproj b/ediv/src/visual c/encrypt/encrypt.vcproj index 66ff6b8..33c9df2 100644 --- a/ediv/src/visual c/encrypt/encrypt.vcproj +++ b/ediv/src/visual c/encrypt/encrypt.vcproj @@ -60,7 +60,7 @@ @@ -72,7 +72,10 @@ AdditionalIncludeDirectories="../../shared" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" StringPooling="TRUE" - RuntimeLibrary="4" + MinimalRebuild="FALSE" + BasicRuntimeChecks="0" + RuntimeLibrary="2" + BufferSecurityCheck="TRUE" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="0" WarningLevel="3" diff --git a/ediv/src/visual c/stub/stub.vcproj b/ediv/src/visual c/stub/stub.vcproj index 1380dee..e8f306b 100644 --- a/ediv/src/visual c/stub/stub.vcproj +++ b/ediv/src/visual c/stub/stub.vcproj @@ -67,7 +67,7 @@ makelib.bat win32.rel @@ -161,7 +161,7 @@ makelib.bat win32.dbg diff --git a/util/src/bmp2fnt/win32/bmp2fnt.vcproj b/util/src/bmp2fnt/win32/bmp2fnt.vcproj index 33768d8..f343d73 100644 --- a/util/src/bmp2fnt/win32/bmp2fnt.vcproj +++ b/util/src/bmp2fnt/win32/bmp2fnt.vcproj @@ -56,7 +56,7 @@ @@ -67,7 +67,7 @@ OmitFramePointers="TRUE" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" StringPooling="TRUE" - RuntimeLibrary="4" + RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="0" WarningLevel="3" diff --git a/util/src/doku/win32/doku.vcproj b/util/src/doku/win32/doku.vcproj index af768f0..c9f7dcd 100644 --- a/util/src/doku/win32/doku.vcproj +++ b/util/src/doku/win32/doku.vcproj @@ -54,7 +54,7 @@ diff --git a/util/src/iconchanger/iconchanger.c b/util/src/iconchanger/iconchanger.c index bd36c9b..c92f01f 100644 --- a/util/src/iconchanger/iconchanger.c +++ b/util/src/iconchanger/iconchanger.c @@ -56,7 +56,7 @@ int main(int argc, char* argv[]) int i,j; int ok=0; - printf("eDIV IconChanger - Copyright (c) Sion Ltd. 2002\n\n"); + printf("eDIV IconChanger - Copyright (c) Sion Ltd. 2002-2003\n\n"); if(argc!=3) { printf("Modo de uso:\n\n %s \n\n",argv[0]); exit(2); diff --git a/util/src/iconchanger/win32/iconchanger.vcproj b/util/src/iconchanger/win32/iconchanger.vcproj index 8acf9f1..1ba69e2 100644 --- a/util/src/iconchanger/win32/iconchanger.vcproj +++ b/util/src/iconchanger/win32/iconchanger.vcproj @@ -54,7 +54,7 @@