From b23788a7b5aecbf1c66725256401c2f823c9490a Mon Sep 17 00:00:00 2001 From: M-itch Date: Fri, 16 Jan 2015 22:59:03 +0100 Subject: [PATCH] fix vector stack push --- libcod_win/libcod_win.depend | 2 +- libcod_win/src/gsc.cpp | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/libcod_win/libcod_win.depend b/libcod_win/libcod_win.depend index 998ddc0..2146cfd 100644 --- a/libcod_win/libcod_win.depend +++ b/libcod_win/libcod_win.depend @@ -37,7 +37,7 @@ 1391122798 c:\users\mitch\documents\github\libcod_win\libcod_win\include\cracking.h -1420840387 source:c:\users\mitch\documents\github\libcod_win\libcod_win\src\gsc.cpp +1421445076 source:c:\users\mitch\documents\github\libcod_win\libcod_win\src\gsc.cpp "../include/gsc.h" "../include/functions.h" diff --git a/libcod_win/src/gsc.cpp b/libcod_win/src/gsc.cpp index 0611da3..1b209db 100644 --- a/libcod_win/src/gsc.cpp +++ b/libcod_win/src/gsc.cpp @@ -513,15 +513,9 @@ int stackReturnVector(float *ret) // obsolete int stackPushVector(float *ret) // as in vectornormalize { aStackElement * scriptStack = stackPush(STACK_VECTOR); + scriptStack->offsetData = (void*)ret; - int tmp[3]; - tmp[0] = (int)&ret[0]; - tmp[1] = (int)&ret[1]; - tmp[2] = (int)&ret[2]; - - scriptStack->offsetData = (void *)tmp; - - return 123; + return 1; /*int (*signature)(float *); #if COD_VERSION == COD2_1_3 @@ -565,7 +559,7 @@ int stackPushString(char *toPush) // as in getcvar() signature_t signature = (signature_t)NULL; #endif - unsigned short int result = signature(toPush, 0, strlen(toPush)+1); + int result = signature(toPush, 0, strlen(toPush)+1); scriptStack->offsetData = (void *)result; return result; } @@ -583,9 +577,9 @@ int stackPushEntity(int arg) // as in getent() // todo: find out how to represen int address = (int)NULL; #endif - int v4 = 16 * arg; - ++*(int *)(int *)((char *)(int *)address + v4); - return (int)(((int *)address) + v4); + int v4 = 4 * arg; + ++*(int *)((int *)address + v4); + return (int)((int *)address + v4); } // as in bullettrace