Browse Source

Fix type of screen_buf_end (#184)

pull/4/head
galaxyhaxz 8 years ago committed by GitHub
parent
commit
d991f63b16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      Source/automap.cpp
  2. 8
      Source/dx.cpp
  3. 54
      Source/engine.cpp
  4. 468
      Source/render.cpp
  5. 18
      Source/scrollrt.cpp
  6. 2
      Source/scrollrt.h
  7. 78
      Source/town.cpp
  8. 4
      Source/town.h

4
Source/automap.cpp

@ -231,7 +231,7 @@ void __cdecl DrawAutomap()
if ( leveltype != DTYPE_TOWN )
{
screen_buf_end = (int)gpBuffer->row[352].col_unused_1;
gpBufEnd = (unsigned char *)&gpBuffer->row[352];
v0 = AutoMapXOfs;
v1 = (ViewX - 16) >> 1;
v2 = AutoMapXOfs + v1;
@ -379,7 +379,7 @@ void __cdecl DrawAutomap()
// 4B8968: using guessed type int sbookflag;
// 5BB1ED: using guessed type char leveltype;
// 69BD04: using guessed type int questlog;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall DrawAutomapType(int screen_x, int screen_y, short automap_type)
{

8
Source/dx.cpp

@ -203,7 +203,7 @@ void __cdecl lock_buf_priv()
if ( v1 )
DDErrMsg(v1, 235, "C:\\Src\\Diablo\\Source\\dx.cpp");
v0 = (Screen *)v2.lpSurface;
screen_buf_end += (int)v2.lpSurface;
gpBufEnd += (unsigned int)v2.lpSurface;
LABEL_8:
gpBuffer = v0;
goto LABEL_9;
@ -213,7 +213,7 @@ LABEL_8:
LABEL_9:
++sgdwLockCount;
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __cdecl unlock_buf_priv()
{
@ -228,7 +228,7 @@ void __cdecl unlock_buf_priv()
{
v0 = gpBuffer;
gpBuffer = 0;
screen_buf_end -= (signed int)v0;
gpBufEnd -= (signed int)v0;
if ( !sgpBackBuf )
{
v1 = lpDDSBackBuf->Unlock(NULL);
@ -238,7 +238,7 @@ void __cdecl unlock_buf_priv()
}
LeaveCriticalSection(&sgMemCrit);
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __cdecl dx_cleanup()
{

54
Source/engine.cpp

@ -654,7 +654,7 @@ void __fastcall Cel2DecDatOnly(char *pDecodeTo, char *pRLEBytes, int frame_conte
goto LABEL_17;
}
v6 -= v7;
if ( (unsigned int)v5 < screen_buf_end )
if ( v5 < (char *)gpBufEnd )
{
v8 = v7 >> 1;
if ( !(v7 & 1) || (*v5 = *v4, ++v4, ++v5, v8) )
@ -682,7 +682,7 @@ LABEL_17:
while ( &v11[frame_content_size] != v4 );
}
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cel2DrawHdrOnly(int screen_x, int screen_y, char *pCelBuff, int frame, int frame_width, int a6, int direction)
{
@ -783,7 +783,7 @@ void __fastcall Cel2DecDatLightOnly(char *pDecodeTo, char *pRLEBytes, int frame_
goto LABEL_13;
}
v7 -= v8;
if ( (unsigned int)v5 < screen_buf_end )
if ( v5 < (char *)gpBufEnd )
{
v9 = v7;
Cel2DecDatLightEntry(v8, a3, v5, v4);
@ -803,7 +803,7 @@ LABEL_13:
}
}
// 69BEF8: using guessed type int light_table_index;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cel2DecDatLightEntry(unsigned char shift, char *LightIndex, char *&pDecodeTo, char *&pRLEBytes)
{
@ -898,7 +898,7 @@ void __fastcall Cel2DecDatLightTrans(char *pDecodeTo, char *pRLEBytes, int frame
v26 = v6;
_EBX = v27;
v7 -= v8;
if ( v5 < screen_buf_end )
if ( v5 < (unsigned int)gpBufEnd )
{
if ( (v5 & 1) == v28 )
{
@ -1009,7 +1009,7 @@ LABEL_26:
}
}
// 69BEF8: using guessed type int light_table_index;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cel2DecodeHdrLight(int screen_x, int screen_y, char *pCelBuff, int frame, int frame_width, int a6, int direction)
{
@ -1175,7 +1175,7 @@ void __fastcall Cel2DrawHdrLightRed(int screen_x, int screen_y, char *pCelBuff,
goto LABEL_21;
}
v18 -= v20;
if ( (unsigned int)v16 < screen_buf_end )
if ( v16 < gpBufEnd )
{
do
{
@ -1203,7 +1203,7 @@ LABEL_21:
}
}
// 525728: using guessed type int light4flag;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall CelDecodeRect(char *pBuff, int always_0, int dst_height, int dst_width, char *pCelBuff, int frame, int frame_width)
{
@ -1403,9 +1403,9 @@ void __fastcall CelDrawHdrClrHL(char colour, int screen_x, int screen_y, char *p
goto LABEL_28;
}
v12 -= v13;
if ( (unsigned int)v11 < screen_buf_end )
if ( v11 < (char *)gpBufEnd )
{
if ( (unsigned int)v11 >= screen_buf_end - 768 )
if ( v11 >= (char *)gpBufEnd - 768 )
{
v16 = v13;
do
@ -1456,7 +1456,7 @@ LABEL_28:
}
}
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall ENG_set_pixel(int screen_x, int screen_y, char pixel)
{
@ -1465,11 +1465,11 @@ void __fastcall ENG_set_pixel(int screen_x, int screen_y, char pixel)
if ( screen_y >= 0 && screen_y < 640 && screen_x >= 64 && screen_x < 704 )
{
v3 = (char *)gpBuffer + screen_y_times_768[screen_y] + screen_x;
if ( (unsigned int)v3 < screen_buf_end )
if ( v3 < (char *)gpBufEnd )
*v3 = pixel;
}
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall engine_draw_pixel(int x, int y)
{
@ -1487,7 +1487,7 @@ void __fastcall engine_draw_pixel(int x, int y)
{
v2 = (unsigned char *)gpBuffer + screen_y_times_768[y] + x;
LABEL_14:
if ( (unsigned int)v2 < screen_buf_end )
if ( v2 < gpBufEnd )
*v2 = gbPixelCol;
return;
}
@ -1495,7 +1495,7 @@ LABEL_14:
// 52B96C: using guessed type char gbPixelCol;
// 52B970: using guessed type int dword_52B970;
// 52B99C: using guessed type int dword_52B99C;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall DrawLine(int x0, int y0, int x1, int y1, char col)
{
@ -2497,7 +2497,7 @@ void __fastcall Cl2DecDatFrm4(char *buffer, char *a2, int a3, int frame_width)
if ( (char)v6 <= 65 )
{
v8 -= v6;
if ( (signed int)v5 < screen_buf_end )
if ( v5 < (char *)gpBufEnd )
{
v7 -= v6;
do
@ -2517,7 +2517,7 @@ void __fastcall Cl2DecDatFrm4(char *buffer, char *a2, int a3, int frame_width)
_LOBYTE(v6) = v6 - 65;
--v8;
v9 = *v4++;
if ( (signed int)v5 < screen_buf_end )
if ( v5 < (char *)gpBufEnd )
{
v7 -= v6;
do
@ -2562,7 +2562,7 @@ LABEL_12:
}
while ( v8 );
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cl2DecodeClrHL(char colour, int screen_x, int screen_y, char *pCelBuff, int nCel, int frame_width, int a7, int a8)
{
@ -2588,20 +2588,20 @@ void __fastcall Cl2DecodeClrHL(char colour, int screen_x, int screen_y, char *pC
{
if ( a8 == 8 || (v11 = *(unsigned short *)&v9[a8], !*(_WORD *)&v9[a8]) )
v11 = *(_DWORD *)&pCelBuff[4 * nCel + 4] - v8;
screen_buf_end -= 768;
gpBufEnd -= 768;
Cl2DecDatClrHL(
(char *)gpBuffer + screen_y_times_768[screen_y - 16 * a7] + v12,
&v9[v10],
v11 - v10,
frame_width,
a5);
screen_buf_end += 768;
gpBufEnd += 768;
}
}
}
}
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cl2DecDatClrHL(char *dst_buf, char *frame_content, int a3, int frame_width, char colour)
{
@ -2631,7 +2631,7 @@ void __fastcall Cl2DecDatClrHL(char *dst_buf, char *frame_content, int a3, int f
if ( (char)v7 <= 65 )
{
v9 -= v7;
if ( (signed int)v6 < screen_buf_end )
if ( v6 < (char *)gpBufEnd )
{
v8 -= v7;
do
@ -2657,7 +2657,7 @@ void __fastcall Cl2DecDatClrHL(char *dst_buf, char *frame_content, int a3, int f
_LOBYTE(v7) = v7 - 65;
--v9;
v11 = *v5++;
if ( v11 && (signed int)v6 < screen_buf_end )
if ( v11 && v6 < (char *)gpBufEnd )
{
*(v6 - 1) = v10;
v8 -= v7;
@ -2706,7 +2706,7 @@ LABEL_15:
}
while ( v9 );
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cl2DecodeFrm5(int screen_x, int screen_y, char *pCelBuff, int nCel, int frame_width, int a6, int a7, char a8)
{
@ -2785,7 +2785,7 @@ void __fastcall Cl2DecDatLightTbl2(char *dst_buf, char *a2, int a3, int frame_wi
if ( (char)v9 <= 65 )
{
v8 -= v9;
if ( (signed int)v6 < screen_buf_end )
if ( v6 < (char *)gpBufEnd )
{
v7 -= v9;
do
@ -2806,7 +2806,7 @@ void __fastcall Cl2DecDatLightTbl2(char *dst_buf, char *a2, int a3, int frame_wi
--v8;
_LOBYTE(v10) = *v5++;
v11 = a5[v10];
if ( (signed int)v6 < screen_buf_end )
if ( v6 < (char *)gpBufEnd )
{
v7 -= v9;
do
@ -2852,7 +2852,7 @@ LABEL_12:
while ( v8 );
}
// 52B978: using guessed type int sgnWidth;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall Cl2DecodeFrm6(int screen_x, int screen_y, char *pCelBuff, int nCel, int frame_width, int a6, int a7)
{

468
Source/render.cpp

File diff suppressed because it is too large Load Diff

18
Source/scrollrt.cpp

@ -8,7 +8,7 @@ int scrollrt_cpp_init_value; // weak
unsigned int sgdwCursWdtOld; // idb
int sgdwCursX; // idb
int sgdwCursY; // idb
int screen_buf_end; // weak
unsigned char *gpBufEnd; // weak
int sgdwCursHgt;
int level_cel_block; // weak
int sgdwCursXOld; // idb
@ -619,7 +619,7 @@ LABEL_15:
break;
}
a6 = 0;
screen_buf_end = (int)gpBuffer + screen_y_times_768[160];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[160];
do
{
scrollrt_draw_upper(v3, ya++, v2, v4, a5, a6, 0);
@ -631,7 +631,7 @@ LABEL_15:
++a6;
}
while ( a6 < 4 );
screen_buf_end = (int)gpBuffer + screen_y_times_768[512];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[512];
if ( v11 > 0 )
{
do
@ -666,7 +666,7 @@ LABEL_15:
// 5C3000: using guessed type int scr_pix_width;
// 5C3004: using guessed type int scr_pix_height;
// 69BD04: using guessed type int questlog;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
// 69CF20: using guessed type char arch_draw_type;
void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int some_flag)
@ -2732,7 +2732,7 @@ LABEL_9:
break;
}
a6 = 0;
screen_buf_end = (int)gpBuffer + screen_y_times_768[143];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[143];
do
{
scrollrt_draw_upper(v3, ya++, v2, v4, a5, a6, 0);
@ -2744,7 +2744,7 @@ LABEL_9:
++a6;
}
while ( a6 < 4 );
screen_buf_end = (int)gpBuffer + screen_y_times_768[320];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[320];
if ( v18 > 0 )
{
do
@ -2821,7 +2821,7 @@ LABEL_24:
// 5C3000: using guessed type int scr_pix_width;
// 5C3004: using guessed type int scr_pix_height;
// 69BD04: using guessed type int questlog;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
// 69CF20: using guessed type char arch_draw_type;
void __cdecl ClearScreenBuffer()
@ -3102,7 +3102,7 @@ void __cdecl scrollrt_draw_cursor_item()
}
v9 = v2 + 1;
v10 = v3 + 1;
screen_buf_end = (int)gpBuffer + screen_y_times_768[640] - v0 - 2;
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[640] - v0 - 2;
if ( pcurs < 12 )
{
Cel2DrawHdrOnly(v9 + 64, v1 + v10 + 159, (char *)pCursCels, pcurs, v0, 0, 8);
@ -3127,7 +3127,7 @@ void __cdecl scrollrt_draw_cursor_item()
}
}
// 4B8C9C: using guessed type int cursH;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall DrawMain(int dwHgt, int draw_desc, int draw_hp, int draw_mana, int draw_sbar, int draw_btn)
{

2
Source/scrollrt.h

@ -8,7 +8,7 @@ extern int scrollrt_cpp_init_value; // weak
extern unsigned int sgdwCursWdtOld; // idb
extern int sgdwCursX; // idb
extern int sgdwCursY; // idb
extern int screen_buf_end; // weak
extern unsigned char *gpBufEnd; // weak
extern int sgdwCursHgt;
extern int level_cel_block; // weak
extern int sgdwCursXOld; // idb

78
Source/town.cpp

@ -2,35 +2,35 @@
#include "../types.h"
void __fastcall town_clear_upper_buf(int a1)
void __fastcall town_clear_upper_buf(unsigned char *a1)
{
unsigned int v1; // edi
unsigned char *v1; // edi
signed int v2; // edx
signed int v3; // ebx
char *v4; // edi
unsigned char *v4; // edi
signed int v5; // edx
signed int v6; // ebx
char *v7; // edi
unsigned char *v7; // edi
v1 = a1;
v2 = 30;
v3 = 1;
while ( v1 >= screen_buf_end )
while ( v1 >= gpBufEnd )
{
v4 = (char *)(v2 + v1);
v4 = &v1[v2];
memset(v4, 0, 4 * v3);
v1 = (unsigned int)&v4[4 * v3 - 832 + v2];
v1 = &v4[4 * v3 - 832 + v2];
if ( !v2 )
{
v5 = 2;
v6 = 15;
do
{
if ( v1 < screen_buf_end )
if ( v1 < gpBufEnd )
break;
v7 = (char *)(v5 + v1);
v7 = &v1[v5];
memset(v7, 0, 4 * v6);
v1 = (unsigned int)&v7[4 * v6-- - 832 + v5];
v1 = &v7[4 * v6-- - 832 + v5];
v5 += 2;
}
while ( v5 != 32 );
@ -40,29 +40,29 @@ void __fastcall town_clear_upper_buf(int a1)
++v3;
}
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall town_clear_low_buf(int y_related)
void __fastcall town_clear_low_buf(unsigned char *y_related)
{
unsigned int v1; // edi
unsigned char *v1; // edi
signed int v2; // edx
signed int i; // ebx
int v4; // edi
char *v5; // edi
unsigned char *v4; // edi
unsigned char *v5; // edi
signed int v6; // edx
signed int v7; // ebx
int v8; // edi
char *v9; // edi
unsigned char *v8; // edi
unsigned char *v9; // edi
v1 = y_related;
v2 = 30;
for ( i = 1; ; ++i )
{
if ( v1 < screen_buf_end )
if ( v1 < gpBufEnd )
{
v5 = (char *)(v2 + v1);
v5 = &v1[v2];
memset(v5, 0, 4 * i);
v4 = (int)&v5[4 * i + v2];
v4 = &v5[4 * i + v2];
}
else
{
@ -77,11 +77,11 @@ void __fastcall town_clear_low_buf(int y_related)
v7 = 15;
do
{
if ( v1 < screen_buf_end )
if ( v1 < gpBufEnd )
{
v9 = (char *)(v6 + v1);
v9 = &v1[v6];
memset(v9, 0, 4 * v7);
v8 = (int)&v9[4 * v7 + v6];
v8 = &v9[4 * v7 + v6];
}
else
{
@ -93,7 +93,7 @@ void __fastcall town_clear_low_buf(int y_related)
}
while ( v6 != 32 );
}
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall town_draw_clipped_e_flag(void *buffer, int x, int y, int sx, int sy)
{
@ -299,7 +299,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
}
else
{
town_clear_low_buf((int)gpBuffer + screen_y_times_768[sy] + sx);
town_clear_low_buf((unsigned char *)gpBuffer + screen_y_times_768[sy] + sx);
v6 = sy;
}
++xa;
@ -344,7 +344,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
}
else
{
town_clear_low_buf((int)gpBuffer + *v11 + sx);
town_clear_low_buf((unsigned char *)gpBuffer + *v11 + sx);
}
++xa;
sx += 64;
@ -379,7 +379,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
}
else
{
town_clear_low_buf((int)gpBuffer + screen_y_times_768[v6] + sx);
town_clear_low_buf((unsigned char *)gpBuffer + screen_y_times_768[v6] + sx);
}
}
}
@ -616,7 +616,7 @@ void __fastcall town_draw_lower_2(int x, int y, int sx, int sy, int a5, int a6,
goto LABEL_16;
}
}
town_clear_low_buf((int)gpBuffer + screen_y_times_768[sy] + v7);
town_clear_low_buf((unsigned char *)gpBuffer + screen_y_times_768[sy] + v7);
v8 = sy;
LABEL_16:
++xa;
@ -666,7 +666,7 @@ LABEL_18:
}
else
{
town_clear_low_buf((int)gpBuffer + *v13 + v11);
town_clear_low_buf((unsigned char *)gpBuffer + *v13 + v11);
}
++xa;
v14 += 112;
@ -705,7 +705,7 @@ LABEL_18:
}
else
{
town_clear_low_buf((int)gpBuffer + screen_y_times_768[v8] + v11);
town_clear_low_buf((unsigned char *)gpBuffer + screen_y_times_768[v8] + v11);
}
}
}
@ -885,7 +885,7 @@ void __fastcall town_draw_upper(int x, int y, int sx, int sy, int a5, int a6, in
goto LABEL_17;
}
}
town_clear_upper_buf((int)gpBuffer + screen_y_times_768[v11] + v8);
town_clear_upper_buf((unsigned char *)gpBuffer + screen_y_times_768[v11] + v8);
LABEL_17:
++xa;
ya = --v7;
@ -939,7 +939,7 @@ LABEL_19:
goto LABEL_36;
}
}
town_clear_upper_buf((int)v17 + v14 + screen_y_times_768[sy]);
town_clear_upper_buf((unsigned char *)v17 + v14 + screen_y_times_768[sy]);
LABEL_36:
++xa;
v15 += 112;
@ -986,7 +986,7 @@ LABEL_36:
return;
}
}
town_clear_upper_buf((int)gpBuffer + screen_y_times_768[v23] + v14);
town_clear_upper_buf((unsigned char *)gpBuffer + screen_y_times_768[v23] + v14);
}
}
// 69CF14: using guessed type int level_cel_block;
@ -1075,7 +1075,7 @@ LABEL_15:
break;
}
a6 = 0;
screen_buf_end = (int)gpBuffer + screen_y_times_768[160];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[160];
do
{
town_draw_upper(v3, ya++, v2, v4, a5, a6, 0);
@ -1087,7 +1087,7 @@ LABEL_15:
++a6;
}
while ( a6 < 7 );
screen_buf_end = (int)gpBuffer + screen_y_times_768[512];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[512];
if ( v11 > 0 )
{
do
@ -1121,7 +1121,7 @@ LABEL_15:
// 5C3000: using guessed type int scr_pix_width;
// 5C3004: using guessed type int scr_pix_height;
// 69BD04: using guessed type int questlog;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall T_DrawZoom(int x, int y)
{
@ -1203,7 +1203,7 @@ LABEL_9:
break;
}
a6 = 0;
screen_buf_end = (int)gpBuffer + screen_y_times_768[143];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[143];
do
{
town_draw_upper(v3, ya++, v2, v4, a5, a6, 0);
@ -1215,7 +1215,7 @@ LABEL_9:
++a6;
}
while ( a6 < 7 );
screen_buf_end = (int)gpBuffer + screen_y_times_768[320];
gpBufEnd = (unsigned char *)gpBuffer + screen_y_times_768[320];
if ( v18 > 0 )
{
do
@ -1291,7 +1291,7 @@ LABEL_24:
// 5C3000: using guessed type int scr_pix_width;
// 5C3004: using guessed type int scr_pix_height;
// 69BD04: using guessed type int questlog;
// 69CF0C: using guessed type int screen_buf_end;
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall T_DrawView(int StartX, int StartY)
{

4
Source/town.h

@ -2,8 +2,8 @@
#ifndef __TOWN_H__
#define __TOWN_H__
void __fastcall town_clear_upper_buf(int a1);
void __fastcall town_clear_low_buf(int y_related);
void __fastcall town_clear_upper_buf(unsigned char *a1);
void __fastcall town_clear_low_buf(unsigned char *y_related);
void __fastcall town_draw_clipped_e_flag(void *buffer, int x, int y, int sx, int sy);
void __fastcall town_draw_clipped_town(void *unused, int x, int y, int sx, int sy, int some_flag);
void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_flag);

Loading…
Cancel
Save