PHP Code:
Index: doit.sh
===================================================================
--- doit.sh (revision 7)
+++ doit.sh (working copy)
@@ -49,7 +49,7 @@
echo "##### COMPILE GSC_ASTAR.CPP #####"
$cc $options -c gsc_astar.cpp -o objects_normal/gsc_astar.opp
echo "##### COMPILE GSC_MYSQL.CPP #####"
- $cc $options -c gsc_mysql.cpp -o objects_normal/gsc_mysql.opp -lmysqlclient -L/usr/lib/mysql
+ $cc $options -c gsc_mysql.cpp -o objects_normal/gsc_mysql.opp -lmysqlclient -L./vendors/lib
echo "##### COMPILE SERVER.CPP #####"
$cc $options -c server.c -o objects_normal/server.opp -D SERVER_PORT=8000
echo "##### COMPILE GSC_MEMORY.CPP #####"
@@ -122,13 +122,13 @@
mkdir -p objects_$1
echo "##### COMPILE $1 LIBCOD.CPP #####"
- #$cc $options $constants -o objects_$1/libcod.opp -c libcod.cpp
+ $cc $options $constants -o objects_$1/libcod.opp -c libcod.cpp
echo "##### COMPILE $1 GSC.CPP #####"
$cc $options $constants -o objects_$1/gsc.opp -c gsc.cpp
echo "##### COMPILE $1 GSC_PLAYER.CPP #####"
- #$cc $options $constants -o objects_$1/gsc_player.opp -c gsc_player.cpp
+ $cc $options $constants -o objects_$1/gsc_player.opp -c gsc_player.cpp
echo "##### COMPILE $1 GSC_UTILS.CPP #####"
- #$cc $options $constants -o objects_$1/gsc_utils.opp -c gsc_utils.cpp
+ $cc $options $constants -o objects_$1/gsc_utils.opp -c gsc_utils.cpp
echo "##### LINK lib$1.so #####"
objects="$(ls objects_normal/*.opp) $(ls objects_$1/*.opp)"
Index: functions.hpp
===================================================================
--- functions.hpp (revision 7)
+++ functions.hpp (working copy)
@@ -6,7 +6,9 @@
// CoD2 1.2 = 80601F2
static int trap_Argc()
{
- #if COD2_VERSION == COD2_VERSION_1_2
+ #if COD2_VERSION == COD2_VERSION_1_0
+ return *(int *)0x0819BE80;
+ #elif COD2_VERSION == COD2_VERSION_1_2
return *(int *)0x0819E080;
#elif COD2_VERSION == COD2_VERSION_1_3
return *(int *)0x0819F100;
@@ -17,7 +19,9 @@
}
typedef int (*trap_Argv_t)(unsigned int param, char *buf, int bufLen);
-#if COD2_VERSION == COD2_VERSION_1_2
+#if COD2_VERSION == COD2_VERSION_1_0
+ static trap_Argv_t trap_Argv = (trap_Argv_t)0x08060074;
+#elif COD2_VERSION == COD2_VERSION_1_2
static trap_Argv_t trap_Argv = (trap_Argv_t)0x08060280;
#elif COD2_VERSION == COD2_VERSION_1_3
static trap_Argv_t trap_Argv = (trap_Argv_t)0x08060278;
@@ -28,7 +32,10 @@
typedef int (*ClientCommand_t)(int clientNum);
-#if COD2_VERSION == COD2_VERSION_1_2
+#if COD2_VERSION == COD2_VERSION_1_0
+ static ClientCommand_t ClientCommand = (ClientCommand_t)0x080FE998; // search 'say_team' and see code xref function
+ static int hook_ClientCommand_call = 0x0808F281;
+#elif COD2_VERSION == COD2_VERSION_1_2
static ClientCommand_t ClientCommand = (ClientCommand_t)0x08100D1E;
static int hook_ClientCommand_call = 0x08090B0C;
#elif COD2_VERSION == COD2_VERSION_1_3
@@ -42,7 +49,10 @@
#endif
typedef short (*codscript_call_callback_entity_t)(int self, int callback, int params);
-#if COD2_VERSION == COD2_VERSION_1_2
+#if COD2_VERSION == COD2_VERSION_1_0
+ static codscript_call_callback_entity_t codscript_call_callback_entity = (codscript_call_callback_entity_t)0x08118DF4; // search 'badMOD'
+
+#elif COD2_VERSION == COD2_VERSION_1_2
static codscript_call_callback_entity_t codscript_call_callback_entity = (codscript_call_callback_entity_t)0x0811B128;
#elif COD2_VERSION == COD2_VERSION_1_3
static codscript_call_callback_entity_t codscript_call_callback_entity = (codscript_call_callback_entity_t)0x0811B284;
@@ -52,7 +62,9 @@
#endif
typedef int (*codscript_callback_finish_t)(short callback_handle);
-#if COD2_VERSION == COD2_VERSION_1_2
+#if COD2_VERSION == COD2_VERSION_1_0
+ static codscript_callback_finish_t codscript_callback_finish = (codscript_callback_finish_t)0x08083B8E;
+#elif COD2_VERSION == COD2_VERSION_1_2
static codscript_callback_finish_t codscript_callback_finish = (codscript_callback_finish_t)0x0808410A;
#elif COD2_VERSION == COD2_VERSION_1_3
static codscript_callback_finish_t codscript_callback_finish = (codscript_callback_finish_t)0x080841D6;
@@ -61,4 +73,4 @@
static codscript_callback_finish_t codscript_callback_finish = (codscript_callback_finish_t)NULL;
#endif
-#endif
\ No newline at end of file
+#endif
Index: gsc_player.cpp
===================================================================
--- gsc_player.cpp (revision 7)
+++ gsc_player.cpp (working copy)
@@ -2,7 +2,10 @@
#if COMPILE_PLAYER == 1
-#if COD2_VERSION == COD2_VERSION_1_2
+#if COD2_VERSION == COD2_VERSION_1_0
+ int playerStates = 0x086F1480; // search 'winner'
+ int sizeOfPlayer = 0x28A4;
+#elif COD2_VERSION == COD2_VERSION_1_2
int playerStates = 0x08705480; // as in game initialisation "------- Game Initializati"
int sizeOfPlayer = 0x28A4;
// memset(&playerStates_8705480, 0, 0xA2900u);
@@ -202,7 +205,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26FD);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FA7);
@@ -227,7 +230,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26FD);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FA7);
@@ -253,7 +256,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26FC);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FA6);
@@ -279,7 +282,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26FC);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FA6);
@@ -305,7 +308,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26E8);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FB4);
@@ -332,7 +335,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26E8);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FB4);
@@ -358,7 +361,7 @@
return stackReturnInt(0);
}
- #if COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
+ #if COD2_VERSION == COD2_VERSION_1_0 || COD2_VERSION == COD2_VERSION_1_2 || COD2_VERSION == COD2_VERSION_1_3
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x26E9);
#elif COD_VERSION == COD4_1_7
unsigned char *aim_address = (unsigned char *)(PLAYERSTATE(playerid) + 0x2FB5);
@@ -546,4 +549,4 @@
int ping = *(unsigned int *)(info_player + info_port_offset);
return stackPushInt(ping);
}
-#endif
\ No newline at end of file
+#endif
Index: libcod.cpp
===================================================================
--- libcod.cpp (revision 7)
+++ libcod.cpp (working copy)
@@ -552,7 +552,9 @@
typedef void (*gametype_scripts_t)();
-#if COD_VERSION == COD2_1_2
+#if COD_VERSION == COD2_1_0
+ gametype_scripts_t gametype_scripts = (gametype_scripts_t)0x0810DDEE;
+#elif COD_VERSION == COD2_1_2
gametype_scripts_t gametype_scripts = (gametype_scripts_t)0x0811012A;
#elif COD_VERSION == COD2_1_3
gametype_scripts_t gametype_scripts = (gametype_scripts_t)0x08110286;
@@ -562,7 +564,9 @@
#endif
typedef int (*codscript_load_function_t)(char *file, char *function, int isNeeded);
-#if COD_VERSION == COD2_1_2
+#if COD_VERSION == COD2_1_0
+ codscript_load_function_t codscript_load_function = (codscript_load_function_t)0x0810DD70;
+#elif COD_VERSION == COD2_1_2
codscript_load_function_t codscript_load_function = (codscript_load_function_t)0x081100AC;
#elif COD_VERSION == COD2_1_3
codscript_load_function_t codscript_load_function = (codscript_load_function_t)0x08110208;
@@ -1447,7 +1451,9 @@
setbuf(stdout, NULL); // otherwise the printf()'s are printed at crash/end
- #if COD_VERSION == COD2_1_2
+ #if COD_VERSION == COD2_1_0
+ printf("> [INFO] Compiled for: CoD2 1.0\n");
+ #elif COD_VERSION == COD2_1_2
printf("> [INFO] Compiled for: CoD2 1.2\n");
#elif COD_VERSION == COD2_1_3
printf("> [INFO] Compiled for: CoD2 1.3\n");
@@ -2008,8 +2014,6 @@
return rf;
}
-
-
#pragma GCC visibility pop
-#endif
\ No newline at end of file
+#endif
io println, AWSD (left, forward, back, right), lean left/right, mysql and space works.