Fixed AllowLargeTiles option (broken in 3.8.18)

(due to commit f7fa62a)
This commit is contained in:
NovaRain
2019-09-10 10:09:15 +08:00
parent d26097e9ae
commit 8f4fd1dec8
+10 -9
View File
@@ -64,7 +64,7 @@ struct sArt {
} }
}; };
struct tilestruct { struct TilesData {
short tile[2]; short tile[2];
}; };
@@ -94,7 +94,7 @@ static DWORD db_fopen(const char* path, const char* mode) {
return result; return result;
} }
static char* db_fgets(char* buf, int max_count, DWORD file) { static char* db_fgets(char* buf, long max_count, DWORD file) {
char* result; char* result;
__asm { __asm {
mov eax, buf; mov eax, buf;
@@ -113,8 +113,8 @@ static void db_fclose(DWORD file) {
} }
} }
static short db_freadShort(DWORD file) { static long db_freadShort(DWORD file) {
short rout=0; WORD rout = 0;
__asm { __asm {
mov eax, file; mov eax, file;
lea edx, rout; lea edx, rout;
@@ -123,7 +123,7 @@ static short db_freadShort(DWORD file) {
return rout; return rout;
} }
static void db_freadByteCount(DWORD file, void* cptr, int count) { static void db_freadByteCount(DWORD file, void* cptr, long count) {
__asm { __asm {
mov eax, file; mov eax, file;
mov edx, cptr; mov edx, cptr;
@@ -132,7 +132,7 @@ static void db_freadByteCount(DWORD file, void* cptr, int count) {
} }
} }
static void db_fwriteByteCount(DWORD file, void* cptr, int count) { static void db_fwriteByteCount(DWORD file, void* cptr, long count) {
__asm { __asm {
mov eax, file; mov eax, file;
mov edx, cptr; mov edx, cptr;
@@ -141,7 +141,7 @@ static void db_fwriteByteCount(DWORD file, void* cptr, int count) {
} }
} }
static void db_fseek(DWORD file, long pos/*, int origin*/) { static void db_fseek(DWORD file, long pos/*, long origin*/) {
__asm { __asm {
mov eax, file; mov eax, file;
mov edx, pos; mov edx, pos;
@@ -283,7 +283,7 @@ static void __declspec(naked) iso_init_hook() {
} }
} }
static void __fastcall SquareLoadCheck(tilestruct* data) { static long __fastcall SquareLoadCheck(TilesData* data) {
for (DWORD y = 0; y < 100; y++) { for (DWORD y = 0; y < 100; y++) {
for (DWORD x = 0; x < 100; x++) { for (DWORD x = 0; x < 100; x++) {
for (DWORD z = 0; z < 2; z++) { for (DWORD z = 0; z < 2; z++) {
@@ -301,6 +301,7 @@ static void __fastcall SquareLoadCheck(tilestruct* data) {
} }
} }
} }
return 0; // don't delete
} }
static void __declspec(naked) square_load_hook() { static void __declspec(naked) square_load_hook() {
@@ -309,7 +310,7 @@ static void __declspec(naked) square_load_hook() {
call db_freadIntCount_; call db_freadIntCount_;
test eax, eax; test eax, eax;
jnz end; jnz end;
jmp SquareLoadCheck; jmp SquareLoadCheck; // ecx - data
end: end:
retn; retn;
} }