Browse Source

Annotated and fixed World.cpp (#129)

pull/4/head
galaxyhaxz 8 years ago committed by GitHub
parent
commit
472de22f81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 120
      Source/scrollrt.cpp
  2. 52
      Source/town.cpp
  3. 12768
      Source/world.cpp
  4. 34
      Source/world.h

120
Source/scrollrt.cpp

@ -681,10 +681,10 @@ void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int so
char *v13; // edx
int v14; // edi
int v15; // eax
char *v16; // edi
char *v17; // edi
char *v18; // edi
char *v19; // edi
unsigned char *v16; // edi
unsigned char *v17; // edi
unsigned char *v18; // edi
unsigned char *v19; // edi
int v20; // eax
int v21; // edi
int v22; // ecx
@ -694,7 +694,7 @@ void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int so
int v26; // ecx
int v27; // eax
int v28; // edi
char *v29; // edi
unsigned char *v29; // edi
int v30; // eax
int v31; // eax
int v32; // eax
@ -704,12 +704,12 @@ void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int so
int v36; // ecx
int v37; // eax
char *v38; // edi
char *v39; // edi
unsigned char *v39; // edi
int v40; // eax
char *v41; // edi
char *v42; // edi
char *v43; // edi
char *v44; // edi
unsigned char *v41; // edi
unsigned char *v42; // edi
unsigned char *v43; // edi
unsigned char *v44; // edi
int v45; // eax
int v46; // [esp+Ch] [ebp-10h]
int v47; // [esp+10h] [ebp-Ch]
@ -741,10 +741,10 @@ void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int so
level_cel_block = v8[1];
v14 = (int)&v13[sx + 32];
if ( level_cel_block )
drawLowerScreen(&v13[sx + 32]);
drawLowerScreen((unsigned char *)&v13[sx + 32]);
v15 = v8[3];
arch_draw_type = 0;
v16 = (char *)(v14 - 24576);
v16 = (unsigned char *)(v14 - 24576);
level_cel_block = v15;
if ( v15 )
drawLowerScreen(v16);
@ -768,7 +768,7 @@ void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int so
scrollrt_draw_clipped_dungeon((char *)gpBuffer + screen_y_times_768[sy] + sx, sxa, sya, sx, sy, 0);
goto LABEL_21;
}
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[sy] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[sy] + sx);
}
v21 = sy;
LABEL_21:
@ -806,7 +806,7 @@ LABEL_23:
cel_transparency_active = v26;
arch_draw_type = 1;
level_cel_block = v27;
v29 = (char *)gpBuffer + v28 + sx;
v29 = (unsigned char *)gpBuffer + v28 + sx;
if ( v27 )
drawLowerScreen(v29);
v30 = v8[1];
@ -833,7 +833,7 @@ LABEL_23:
}
else
{
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[v21] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[v21] + sx);
}
v22 = v47;
}
@ -862,7 +862,7 @@ LABEL_23:
cel_transparency_active = v36;
arch_draw_type = 1;
level_cel_block = v37;
v39 = &v38[sx];
v39 = (unsigned char *)&v38[sx];
if ( v37 )
drawLowerScreen(v39);
v40 = v8[2];
@ -894,7 +894,7 @@ LABEL_23:
}
else
{
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[v21] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[v21] + sx);
}
}
}
@ -1311,13 +1311,13 @@ void __fastcall scrollrt_draw_clipped_e_flag(char *buffer, int x, int y, int a4,
int v18; // [esp+Ch] [ebp-14h]
int xa; // [esp+10h] [ebp-10h]
int i; // [esp+14h] [ebp-Ch]
char *a1; // [esp+18h] [ebp-8h]
char *v22; // [esp+1Ch] [ebp-4h]
unsigned char *a1; // [esp+18h] [ebp-8h]
unsigned char *pbDst; // [esp+1Ch] [ebp-4h]
xa = x;
v18 = level_piece_id;
v5 = y + 112 * x;
a1 = buffer;
a1 = (unsigned char *)buffer;
v6 = cel_transparency_active;
v7 = dPiece[0][v5];
v8 = dTransVal[0][v5];
@ -1340,21 +1340,21 @@ void __fastcall scrollrt_draw_clipped_e_flag(char *buffer, int x, int y, int a4,
if ( v15 )
drawLowerScreen(a1 + 32);
arch_draw_type = 0;
v22 = a1;
pbDst = a1;
v16 = 2;
for ( i = 2; i < dword_5A5594; i += 2 )
{
v22 -= 24576;
pbDst -= 24576;
level_cel_block = v13[v16];
if ( level_cel_block )
drawLowerScreen(v22);
drawLowerScreen(pbDst);
v17 = v13[i + 1];
level_cel_block = v13[i + 1];
if ( v17 )
drawLowerScreen(v22 + 32);
drawLowerScreen(pbDst + 32);
v16 = i + 2;
}
scrollrt_draw_clipped_dungeon(a1, xa, y, a4, a5, 0);
scrollrt_draw_clipped_dungeon((char *)a1, xa, y, a4, a5, 0);
light_table_index = v10;
cel_transparency_active = v6;
level_piece_id = v18;
@ -1376,7 +1376,7 @@ void __fastcall scrollrt_draw_lower_2(int x, int y, int sx, int sy, int a5, int
int v13; // ecx
int v14; // ecx
int v15; // eax
char *v16; // ebx
unsigned char *v16; // ebx
int v17; // eax
int v18; // eax
int v19; // ecx
@ -1387,8 +1387,8 @@ void __fastcall scrollrt_draw_lower_2(int x, int y, int sx, int sy, int a5, int
unsigned short *v24; // [esp+10h] [ebp-10h]
int v25; // [esp+10h] [ebp-10h]
int a1; // [esp+14h] [ebp-Ch]
char *a1a; // [esp+14h] [ebp-Ch]
char *a1b; // [esp+14h] [ebp-Ch]
unsigned char *a1a; // [esp+14h] [ebp-Ch]
unsigned char *a1b; // [esp+14h] [ebp-Ch]
char *v29; // [esp+18h] [ebp-8h]
signed int xa; // [esp+1Ch] [ebp-4h]
int a6a; // [esp+28h] [ebp+8h]
@ -1414,7 +1414,7 @@ void __fastcall scrollrt_draw_lower_2(int x, int y, int sx, int sy, int a5, int
{
a6a = 0;
cel_transparency_active = (unsigned char)(nTransTable[v10] & TransList[dung_map[0][v9]]);
a1a = (char *)gpBuffer + screen_y_times_768[sy] + v8 - 24544;
a1a = (unsigned char *)gpBuffer + screen_y_times_768[sy] + v8 - 24544;
if ( (dword_5A5594 >> 1) - 1 > 0 )
{
v24 = (unsigned short *)(v29 + 6);
@ -1473,7 +1473,7 @@ void __fastcall scrollrt_draw_lower_2(int x, int y, int sx, int sy, int a5, int
{
a6b = 0;
cel_transparency_active = (unsigned char)(nTransTable[v15] & TransList[dung_map[0][v14]]);
v16 = (char *)gpBuffer + screen_y_times_768[sy] + v8 - 24576;
v16 = (unsigned char *)gpBuffer + screen_y_times_768[sy] + v8 - 24576;
if ( (dword_5A5594 >> 1) - 1 > 0 )
{
a5a = (unsigned short *)(v29 + 6);
@ -1531,7 +1531,7 @@ void __fastcall scrollrt_draw_lower_2(int x, int y, int sx, int sy, int a5, int
{
a6c = 0;
cel_transparency_active = (unsigned char)(nTransTable[v20] & TransList[dung_map[0][v19]]);
a1b = (char *)gpBuffer + screen_y_times_768[sy] + v8 - 24576;
a1b = (unsigned char *)gpBuffer + screen_y_times_768[sy] + v8 - 24576;
if ( (dword_5A5594 >> 1) - 1 > 0 )
{
a5b = (unsigned short *)(v29 + 4);
@ -1855,14 +1855,14 @@ void __fastcall scrollrt_draw_clipped_e_flag_2(char *buffer, int x, int y, int a
int v8; // ecx
int v9; // esi
int v10; // eax
int v11; // edi
unsigned char *v11; // edi
int v12; // eax
unsigned short *v13; // esi
int v14; // eax
int v15; // eax
int v16; // eax
int v17; // eax
int v18; // edi
unsigned char *v18; // edi
int v19; // eax
int v20; // [esp+Ch] [ebp-14h]
int v21; // [esp+10h] [ebp-10h]
@ -1880,7 +1880,7 @@ void __fastcall scrollrt_draw_clipped_e_flag_2(char *buffer, int x, int y, int a
v9 = dTransVal[0][v7];
v10 = dung_map[0][v7];
level_piece_id = v8;
v11 = (int)&a1[24576 * a4];
v11 = (unsigned char *)&a1[24576 * a4];
v12 = (unsigned char)(nTransTable[v8] & TransList[v10]);
light_table_index = v9;
cel_transparency_active = v12;
@ -1890,11 +1890,11 @@ void __fastcall scrollrt_draw_clipped_e_flag_2(char *buffer, int x, int y, int a
v14 = v13[2];
level_cel_block = v13[2];
if ( v14 )
drawLowerScreen((void *)v11);
drawLowerScreen(v11);
v15 = v13[3];
level_cel_block = v13[3];
if ( v15 )
drawLowerScreen((void *)(v11 + 32));
drawLowerScreen(v11 + 32);
goto LABEL_10;
}
if ( a4 == 1 )
@ -1903,11 +1903,11 @@ LABEL_10:
v11 -= 24576;
level_cel_block = v13[4];
if ( level_cel_block )
drawLowerScreen((void *)v11);
drawLowerScreen(v11);
v16 = v13[5];
level_cel_block = v13[5];
if ( v16 )
drawLowerScreen((void *)(v11 + 32));
drawLowerScreen(v11 + 32);
goto LABEL_14;
}
if ( a4 != 2 )
@ -1920,20 +1920,20 @@ LABEL_14:
v11 -= 24576;
level_cel_block = v13[6];
if ( level_cel_block )
drawLowerScreen((void *)v11);
drawLowerScreen(v11);
v17 = v13[7];
level_cel_block = v13[7];
if ( v17 )
drawLowerScreen((void *)(v11 + 32));
drawLowerScreen(v11 + 32);
LABEL_18:
v18 = v11 - 24576;
level_cel_block = v13[8];
if ( level_cel_block )
drawLowerScreen((void *)v18);
drawLowerScreen(v18);
v19 = v13[9];
level_cel_block = v13[9];
if ( v19 )
drawLowerScreen((void *)(v18 + 32));
drawLowerScreen(v18 + 32);
LABEL_22:
if ( a5 < 8 )
scrollrt_draw_clipped_dungeon_2(a1, xa, y, a4, a5, sx, sy, 0);
@ -1956,9 +1956,9 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
char *v12; // edx
int v13; // edi
int v14; // eax
char *v15; // edi
unsigned char *v15; // edi
int v16; // eax
char *v17; // edi
unsigned char *v17; // edi
int v18; // eax
int v19; // eax
int v20; // esi
@ -1967,18 +1967,18 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
int v23; // ecx
int v24; // eax
int v25; // esi
char *v26; // esi
unsigned char *v26; // esi
int v27; // eax
int v28; // eax
int v29; // eax
bool v30; // zf
int v31; // ecx
int v32; // eax
char *v33; // esi
unsigned char *v33; // esi
int v34; // eax
char *v35; // esi
unsigned char *v35; // esi
int v36; // eax
char *v37; // esi
unsigned char *v37; // esi
int v38; // eax
int v39; // eax
int v40; // [esp+Ch] [ebp-14h]
@ -2016,11 +2016,11 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
if ( v14 )
{
arch_draw_type = 2;
drawUpperScreen(&v12[sx + 32]);
drawUpperScreen((unsigned char *)&v12[sx + 32]);
arch_draw_type = 0;
}
}
v15 = (char *)(v13 - 24576);
v15 = (unsigned char *)(v13 - 24576);
if ( a6 >= 1 )
{
v16 = v9[3];
@ -2048,7 +2048,7 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
}
else
{
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[sy] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[sy] + sx);
}
}
sx += 64;
@ -2080,7 +2080,7 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
v25 = screen_y_times_768[sy];
cel_transparency_active = v23;
level_cel_block = v24;
v26 = (char *)gpBuffer + v25 + sx;
v26 = (unsigned char *)gpBuffer + v25 + sx;
if ( v24 )
drawUpperScreen(v26);
v27 = v9[1];
@ -2110,7 +2110,7 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
}
else
{
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[sy] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[sy] + sx);
}
}
++xa;
@ -2134,7 +2134,7 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
{
arch_draw_type = 1;
cel_transparency_active = (unsigned char)(nTransTable[v32] & TransList[dung_map[0][v31]]);
v33 = (char *)gpBuffer + screen_y_times_768[sy] + sx;
v33 = (unsigned char *)gpBuffer + screen_y_times_768[sy] + sx;
if ( a6 >= 0 )
{
v34 = *v9;
@ -2170,7 +2170,7 @@ void __fastcall scrollrt_draw_upper(int x, int y, int sx, int sy, int a5, int a6
}
else
{
world_draw_black_tile((char *)gpBuffer + screen_y_times_768[sy] + sx);
world_draw_black_tile((unsigned char *)gpBuffer + screen_y_times_768[sy] + sx);
}
}
}
@ -2595,8 +2595,8 @@ void __fastcall scrollrt_draw_e_flag(char *buffer, int x, int y, int a4, int a5,
int v21; // eax
int v22; // [esp+Ch] [ebp-14h]
int xa; // [esp+10h] [ebp-10h]
int *a1; // [esp+14h] [ebp-Ch]
char *v25; // [esp+18h] [ebp-8h]
unsigned char *a1; // [esp+14h] [ebp-Ch]
unsigned char *v25; // [esp+18h] [ebp-8h]
int i; // [esp+1Ch] [ebp-4h]
xa = x;
@ -2612,8 +2612,8 @@ void __fastcall scrollrt_draw_e_flag(char *buffer, int x, int y, int a4, int a5,
v14 = (unsigned char)nTransTable[v9];
v15 = light_table_index;
light_table_index = v11;
a1 = (int *)v8;
v25 = v8;
a1 = (unsigned char *)v8;
v25 = (unsigned char *)v8;
cel_transparency_active = v14 & v13;
v16 = gendung_get_dpiece_num_from_coord(xa, y);
arch_draw_type = 1;
@ -2626,7 +2626,7 @@ void __fastcall scrollrt_draw_e_flag(char *buffer, int x, int y, int a4, int a5,
arch_draw_type = 2;
level_cel_block = v19;
if ( v19 )
drawUpperScreen(a1 + 8);
drawUpperScreen(a1 + 32);
arch_draw_type = 0;
for ( i = 1; i < (dword_5A5594 >> 1) - 1; ++i )
{

52
Source/town.cpp

@ -103,11 +103,11 @@ void __fastcall town_draw_clipped_e_flag(void *buffer, int x, int y, int sx, int
int v8; // eax
int v9; // eax
void *unused; // [esp+Ch] [ebp-8h]
char *a1; // [esp+10h] [ebp-4h]
unsigned char *a1; // [esp+10h] [ebp-4h]
v5 = x;
unused = buffer;
a1 = (char *)buffer;
a1 = (unsigned char *)buffer;
v6 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(x, y);
v7 = 0;
do
@ -256,16 +256,16 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
int v10; // eax
int *v11; // ebx
int v12; // esi
char *v13; // esi
unsigned char *v13; // esi
char *v14; // edi
int v15; // eax
int v16; // eax
bool v17; // zf
int *v18; // ebx
char *v19; // esi
unsigned char *v19; // esi
char *v20; // edi
int v21; // eax
char *a1; // [esp+Ch] [ebp-10h]
unsigned char *a1; // [esp+Ch] [ebp-10h]
int a1a; // [esp+Ch] [ebp-10h]
int ya; // [esp+10h] [ebp-Ch]
signed int v25; // [esp+14h] [ebp-8h]
@ -282,7 +282,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
{
v6 = sy;
v7 = &screen_y_times_768[sy];
a1 = &gpBuffer->row_unused_1[0].col_unused_1[*v7 + 32 + sx];
a1 = (unsigned char *)&gpBuffer->row_unused_1[0].col_unused_1[*v7 + 32 + sx];
v25 = 1;
v8 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(x, y);
do
@ -322,7 +322,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
{
if ( y >= 0 && y < 112 && v12 >= 0 && v12 < 12544 && (level_cel_block = dPiece[0][v12 + y]) != 0 )
{
v13 = (char *)gpBuffer + *v11 + sx;
v13 = (unsigned char *)gpBuffer + *v11 + sx;
v14 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(xa, ya);
v26 = 0;
do
@ -362,7 +362,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
if ( y >= 0 && y < 112 && xa >= 0 && xa < 112 && (level_cel_block = dPiece[0][y + 112 * xa]) != 0 )
{
v18 = &screen_y_times_768[v6];
v19 = (char *)gpBuffer + *v18 + sx;
v19 = (unsigned char *)gpBuffer + *v18 + sx;
v20 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(xa, ya);
v27 = 0;
do
@ -388,7 +388,7 @@ void __fastcall town_draw_lower(int x, int y, int sx, int sy, int a5, int some_f
void __fastcall town_draw_clipped_e_flag_2(void *buffer, int x, int y, int a4, int a5, int sx, int sy)
{
int v7; // ebx
char *v8; // edi
unsigned char *v8; // edi
short *v9; // esi
int v10; // eax
int v11; // eax
@ -400,9 +400,9 @@ void __fastcall town_draw_clipped_e_flag_2(void *buffer, int x, int y, int a4, i
xa = x;
v12 = buffer;
if ( a4 )
v8 = (char *)buffer + 24576 * a4;
v8 = (unsigned char *)buffer + 24576 * a4;
else
v8 = (char *)buffer;
v8 = (unsigned char *)buffer;
a4a = 0;
v9 = &dpiece_defs_map_1[0][0][16 * gendung_get_dpiece_num_from_coord(x, y) + 3];
do
@ -567,9 +567,9 @@ void __fastcall town_draw_lower_2(int x, int y, int sx, int sy, int a5, int a6,
int v22; // eax
short *v23; // [esp+Ch] [ebp-10h]
int v24; // [esp+Ch] [ebp-10h]
char *a1; // [esp+10h] [ebp-Ch]
char *a1a; // [esp+10h] [ebp-Ch]
char *a1b; // [esp+10h] [ebp-Ch]
unsigned char *a1; // [esp+10h] [ebp-Ch]
unsigned char *a1a; // [esp+10h] [ebp-Ch]
unsigned char *a1b; // [esp+10h] [ebp-Ch]
signed int ya; // [esp+14h] [ebp-8h]
signed int xa; // [esp+18h] [ebp-4h]
signed int sxa; // [esp+24h] [ebp+8h]
@ -593,7 +593,7 @@ void __fastcall town_draw_lower_2(int x, int y, int sx, int sy, int a5, int a6,
{
v8 = sy;
v9 = &screen_y_times_768[sy];
a1 = (char *)gpBuffer + *v9 + sx - 24544;
a1 = (unsigned char *)gpBuffer + *v9 + sx - 24544;
sxa = 0;
v10 = &dpiece_defs_map_1[0][0][16 * gendung_get_dpiece_num_from_coord(x, y) + 3];
v23 = v10;
@ -638,7 +638,7 @@ LABEL_18:
{
if ( ya >= 0 && ya < 112 && v14 >= 0 && v14 < 12544 && (level_cel_block = dPiece[0][v14 + ya]) != 0 )
{
a1a = (char *)gpBuffer + *v13 + v11 - 24576;
a1a = (unsigned char *)gpBuffer + *v13 + v11 - 24576;
sxb = 0;
v15 = &dpiece_defs_map_1[0][0][16 * gendung_get_dpiece_num_from_coord(xa, ya) + 3];
do
@ -683,7 +683,7 @@ LABEL_18:
if ( ya >= 0 && ya < 112 && xa >= 0 && xa < 112 && (level_cel_block = dPiece[0][ya + 112 * xa]) != 0 )
{
v20 = &screen_y_times_768[v8];
a1b = (char *)gpBuffer + *v20 + v11 - 24576;
a1b = (unsigned char *)gpBuffer + *v20 + v11 - 24576;
sxc = 0;
v21 = &dpiece_defs_map_1[0][0][16 * gendung_get_dpiece_num_from_coord(xa, ya) + 2];
do
@ -719,11 +719,11 @@ void __fastcall town_draw_e_flag(void *buffer, int x, int y, int a4, int dir, in
int v10; // eax
int v11; // eax
void *buffera; // [esp+Ch] [ebp-8h]
int *a1; // [esp+10h] [ebp-4h]
unsigned char *a1; // [esp+10h] [ebp-4h]
v7 = x;
buffera = buffer;
a1 = (int *)buffer;
a1 = (unsigned char *)buffer;
v8 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(x, y);
v9 = 0;
do
@ -737,9 +737,9 @@ void __fastcall town_draw_e_flag(void *buffer, int x, int y, int a4, int dir, in
v11 = *(unsigned short *)&v8[4 * v9 + 2];
level_cel_block = *(unsigned short *)&v8[4 * v9 + 2];
if ( v11 )
drawUpperScreen(a1 + 8);
drawUpperScreen(a1 + 32);
}
a1 -= 6144;
a1 -= 24576;
++v9;
}
while ( v9 < 7 );
@ -822,13 +822,13 @@ void __fastcall town_draw_upper(int x, int y, int sx, int sy, int a5, int a6, in
int v15; // edi
int v16; // eax
Screen *v17; // eax
char *v18; // ebx
unsigned char *v18; // ebx
char *v19; // edi
int v20; // eax
int v21; // eax
int v22; // eax
int v23; // eax
char *v24; // edi
unsigned char *v24; // edi
char *v25; // ebx
int v26; // eax
int *a1; // [esp+Ch] [ebp-10h]
@ -873,7 +873,7 @@ void __fastcall town_draw_upper(int x, int y, int sx, int sy, int a5, int a6, in
v13 = (unsigned short)*v12;
level_cel_block = (unsigned short)*v12;
if ( v13 )
drawUpperScreen(a1);
drawUpperScreen((unsigned char *)a1);
}
a1 -= 6144;
++sxa;
@ -913,7 +913,7 @@ LABEL_19:
v17 = gpBuffer;
if ( !v10 )
{
v18 = (char *)gpBuffer + v14 + screen_y_times_768[sy];
v18 = (unsigned char *)gpBuffer + v14 + screen_y_times_768[sy];
v19 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(xa, ya);
sxb = 0;
do
@ -966,7 +966,7 @@ LABEL_36:
v23 = sy;
if ( !v10 )
{
v24 = (char *)gpBuffer + v14 + screen_y_times_768[sy];
v24 = (unsigned char *)gpBuffer + v14 + screen_y_times_768[sy];
v25 = (char *)dpiece_defs_map_1 + 32 * gendung_get_dpiece_num_from_coord(xa, v7);
sxc = 0;
do

12768
Source/world.cpp

File diff suppressed because it is too large Load Diff

34
Source/world.h

@ -2,23 +2,27 @@
#ifndef __WORLD_H__
#define __WORLD_H__
void __fastcall drawTopArchesUpperScreen(void *a1);
void __fastcall drawBottomArchesUpperScreen(void *a1, int a2);
void __fastcall drawUpperScreen(void *a1);
void __fastcall drawTopArchesLowerScreen(void *a1);
void __fastcall drawBottomArchesLowerScreen(void *a1, int a2);
void __fastcall drawLowerScreen(void *a1);
void __fastcall world_draw_black_tile(char *dst_buf);
void __fastcall drawTopArchesUpperScreen(unsigned char *pbDst);
void __fastcall drawBottomArchesUpperScreen(unsigned char *pbDst, unsigned int *pMask);
void __fastcall drawUpperScreen(unsigned char *pbDst);
void __fastcall drawTopArchesLowerScreen(unsigned char *pbDst);
void __fastcall drawBottomArchesLowerScreen(unsigned char *pbDst, unsigned int *pMask);
void __fastcall drawLowerScreen(unsigned char *pbDst);
void __fastcall world_draw_black_tile(unsigned char *pbDst);
/* rdata */
extern int world_4B325C;
extern unsigned char world_4B3260[5];
extern int world_4B3265;
extern int world_4B3269[5];
extern unsigned int tile_draw_masks[3][32];
extern int world_4B33FD[48];
extern int world_4B34BD[17];
extern int world_4B3501[17];
extern int WorldBoolFlag;
extern unsigned int gdwCurrentMask;
// extern char world_4B3264;
extern unsigned char *gpCelFrame;
extern unsigned int *gpDrawMask;
// extern char world_4B326D[16];
extern unsigned int RightMask[32];
extern unsigned int LeftMask[32];
extern unsigned int WallMask[32];
extern int WorldTbl3x16[48];
extern int WorldTbl17_1[17];
extern int WorldTbl17_2[17];
#endif /* __WORLD_H__ */

Loading…
Cancel
Save