Update to 0.9.1-3
This commit is contained in:
parent
0b4c458041
commit
5a7596f4d2
|
@ -5,11 +5,11 @@
|
|||
#include "Process.h"
|
||||
#include "crc.h"
|
||||
|
||||
#define CUBE_VERSION "0.9.1-2"
|
||||
#define CUBE_PACKED_CRC 0xBB798CFC
|
||||
#define CUBE_UNPACKED_CRC 0x0EED2125
|
||||
#define CUBE_VERSION "0.9.1-3"
|
||||
#define CUBE_PACKED_CRC 0x63C289B0
|
||||
#define CUBE_UNPACKED_CRC 0x55E44BE4
|
||||
|
||||
#define MODLOADER_CRC 0xEC586C83
|
||||
#define MODLOADER_CRC 0x2345B6B7
|
||||
|
||||
#define CUBE_EXECUTABLE "cubeworld.exe"
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ void* ASMChatHandler_bail;
|
|||
void no_optimize ASMChatHandler() {
|
||||
asm(PUSH_ALL
|
||||
|
||||
"mov rcx, rdi \n" // The message
|
||||
"mov rcx, rbx \n" // The message
|
||||
|
||||
PREPARE_STACK
|
||||
|
||||
|
@ -32,6 +32,7 @@ void no_optimize ASMChatHandler() {
|
|||
// original code
|
||||
"mov qword ptr [rbp+0x78], 7 \n"
|
||||
"mov [rbp+0x70], r12 \n"
|
||||
"mov [rbp+0x60], r12w \n"
|
||||
"jmp [ASMChatHandler_jmpback] \n"
|
||||
|
||||
|
||||
|
@ -41,7 +42,7 @@ void no_optimize ASMChatHandler() {
|
|||
);
|
||||
}
|
||||
void SetupChatHandler() {
|
||||
WriteFarJMP(base+0x95F88, (void*)&ASMChatHandler);
|
||||
ASMChatHandler_jmpback = (void*)base+0x95F95;
|
||||
ASMChatHandler_bail = (void*)base+0x966D3;
|
||||
WriteFarJMP(base+0x95FE8, (void*)&ASMChatHandler);
|
||||
ASMChatHandler_jmpback = (void*)base+0x95FFA;
|
||||
ASMChatHandler_bail = (void*)base+0x96733;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include <vector>
|
||||
#include "DLL.h"
|
||||
|
||||
#define MOD_MAJOR_VERSION 1
|
||||
#define MOD_MAJOR_VERSION 2
|
||||
#define MOD_MINOR_VERSION 1
|
||||
|
||||
|
||||
|
@ -12,7 +12,9 @@
|
|||
#define MUST_IMPORT(dllname, name)\
|
||||
dllname->name = GetProcAddress(dllname->handle, #name);\
|
||||
if (!dllname->name) {\
|
||||
Popup("Error", "%s does not export " #name ".\n", dllname->fileName.c_str());\
|
||||
char ERROR_MESSAGE_POPUP[512] = {0};\
|
||||
sprintf(ERROR_MESSAGE_POPUP, "%s does not export " #name ".\n", dllname->fileName.c_str());\
|
||||
Popup("Error", ERROR_MESSAGE_POPUP);\
|
||||
exit(1);\
|
||||
}
|
||||
|
||||
|
@ -53,9 +55,7 @@ void SetupHandlers() {
|
|||
SetupChatHandler();
|
||||
}
|
||||
|
||||
void Popup(char* title, char* format, ... ){
|
||||
char msg[512] = {0};
|
||||
sprintf(msg, format);
|
||||
void Popup(char* title, char* msg ){
|
||||
MessageBoxA(0, msg, title, MB_OK | MB_ICONINFORMATION);
|
||||
}
|
||||
|
||||
|
@ -93,16 +93,19 @@ extern "C" __declspec(dllexport) BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD
|
|||
}
|
||||
|
||||
// Ensure version compatibility
|
||||
char msg[512] = {0};
|
||||
for (DLL* dll: modDLLs) {
|
||||
int majorVersion = ((int(*)())dll->ModMajorVersion)();
|
||||
int minorVersion = ((int(*)())dll->ModMinorVersion)();
|
||||
if (majorVersion != MOD_MAJOR_VERSION) {
|
||||
Popup("Error", "%s has major version %d but requires %d.\n", dll->fileName.c_str(), majorVersion, MOD_MAJOR_VERSION);
|
||||
sprintf(msg, "%s has major version %d but requires %d.\n", dll->fileName.c_str(), majorVersion, MOD_MAJOR_VERSION);
|
||||
Popup("Error", msg);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (minorVersion > MOD_MINOR_VERSION) {
|
||||
Popup("Error", "%s has minor version %d but requires %d or lower.\n", dll->fileName.c_str(), minorVersion, MOD_MINOR_VERSION);
|
||||
sprintf(msg, "%s has minor version %d but requires %d or lower.\n", dll->fileName.c_str(), minorVersion, MOD_MINOR_VERSION);
|
||||
Popup("Error", msg);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue