aboutsummaryrefslogtreecommitdiff
path: root/src/core/vmrunner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/vmrunner.cpp')
-rw-r--r--src/core/vmrunner.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/vmrunner.cpp b/src/core/vmrunner.cpp
index 7cad11a..fb4c5e6 100644
--- a/src/core/vmrunner.cpp
+++ b/src/core/vmrunner.cpp
@@ -2,6 +2,7 @@
#include "coreshared.hpp"
#include "fncwrapper.hpp"
#include <cstdlib>
+#include <cstdio>
blrScriptVM *vm;
callStack<Idata> callStk;
unsigned getHash(const char *s)
@@ -42,7 +43,7 @@ Idata& blrScriptVM::fetchData(SPara para,bool forcerw)
int blrScriptVM::mgetc()
{
if(cbyte-sbyte<fsize)
- {++cbyte;return (int)*(cbyte-1);}
+ {++cbyte;return (int)(*(cbyte-1));}
else return -1;
}
void blrScriptVM::readPara(SPara *para)
@@ -52,20 +53,20 @@ void blrScriptVM::readPara(SPara *para)
int l=0;
switch(para->type)
{
- case 1: l=8;break;
- case 0: case 4: case 5: l=4;break;
+ case 0: case 1: case 4: case 5: l=4;break;
case 2: case 3: case 6: case 7: l=1;break;
default: break;
}
for(int i=0;i<l;++i)
{
para->data.d<<=8LL;
- para->data.d|=(unsigned long long)mgetc();
+ int a=mgetc();
+ para->data.d|=(unsigned long long)a;
}
}
int blrScriptVM::loadLSBFromMemory(const char *ptr,DWORD size)
{
- cbyte=sbyte=ptr;fsize=size;
+ cbyte=sbyte=(const unsigned char*)ptr;fsize=size;
int ibyt=0,infunc=0;
while(~(ibyt=mgetc()))
{