|
|
|
|
@ -448,10 +448,10 @@ void __fastcall DrawAutomapType(int screen_x, int screen_y, short automap_type)
|
|
|
|
|
} |
|
|
|
|
if ( automap_type < 0 ) |
|
|
|
|
{ |
|
|
|
|
engine_draw_automap_pixels(v4 - AMPlayerX, v5 - AMPlayerX - AMPlayerY, v4 + AMPlayerX + AutoMapYPos, AMPlayerY + v5, 144); |
|
|
|
|
engine_draw_automap_pixels(v4 - AutoMapYPos, v5 - AMPlayerX, AutoMapYPos + v4, AMPlayerX + v5, 144); |
|
|
|
|
engine_draw_automap_pixels(v4 - AutoMapYPos - AMPlayerX, v5 - AMPlayerY, AMPlayerX + v4, v5 + AMPlayerX + AMPlayerY, 144); |
|
|
|
|
engine_draw_automap_pixels(v4 - AutoMapXPos, v5, v4, v5 + AutoMapYPos, 144); |
|
|
|
|
DrawLine(v4 - AMPlayerX, v5 - AMPlayerX - AMPlayerY, v4 + AMPlayerX + AutoMapYPos, AMPlayerY + v5, 144); |
|
|
|
|
DrawLine(v4 - AutoMapYPos, v5 - AMPlayerX, AutoMapYPos + v4, AMPlayerX + v5, 144); |
|
|
|
|
DrawLine(v4 - AutoMapYPos - AMPlayerX, v5 - AMPlayerY, AMPlayerX + v4, v5 + AMPlayerX + AMPlayerY, 144); |
|
|
|
|
DrawLine(v4 - AutoMapXPos, v5, v4, v5 + AutoMapYPos, 144); |
|
|
|
|
v3 = automap_type; |
|
|
|
|
} |
|
|
|
|
v31 = 0; |
|
|
|
|
@ -464,9 +464,9 @@ void __fastcall DrawAutomapType(int screen_x, int screen_y, short automap_type)
|
|
|
|
|
a1 = v4 - AutoMapYPos; |
|
|
|
|
a2 = v5 - AutoMapYPos; |
|
|
|
|
automap_typea = v5 - AMPlayerX; |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, a2, a3, automap_typea, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v5, a1, automap_typea, 200); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
DrawLine(v4, a2, a3, automap_typea, 200); |
|
|
|
|
DrawLine(v4, v5, a1, automap_typea, 200); |
|
|
|
|
v9 = v5; |
|
|
|
|
v29 = automap_typea; |
|
|
|
|
v28 = a3; |
|
|
|
|
@ -491,16 +491,16 @@ LABEL_8:
|
|
|
|
|
v11 = v4 - AutoMapYPos; |
|
|
|
|
v12 = v5 - AutoMapYPos; |
|
|
|
|
automap_typeb = v5 - AMPlayerX; |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 - AMPlayerX, v5 - AutoMapYPos + AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v10, v5, v10 + AMPlayerX, v5 - AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v11, v12, v10, automap_typeb, 144); |
|
|
|
|
engine_draw_automap_pixels(v11, v12, v4, automap_typeb, 144); |
|
|
|
|
engine_draw_automap_pixels(v11, v5, v10, automap_typeb, 144); |
|
|
|
|
engine_draw_automap_pixels(v11, v5, v4, automap_typeb, 144); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 - AMPlayerX, v5 - AutoMapYPos + AMPlayerY, 200); |
|
|
|
|
DrawLine(v10, v5, v10 + AMPlayerX, v5 - AMPlayerY, 200); |
|
|
|
|
DrawLine(v11, v12, v10, automap_typeb, 144); |
|
|
|
|
DrawLine(v11, v12, v4, automap_typeb, 144); |
|
|
|
|
DrawLine(v11, v5, v10, automap_typeb, 144); |
|
|
|
|
DrawLine(v11, v5, v4, automap_typeb, 144); |
|
|
|
|
} |
|
|
|
|
if ( v33 & 0x10 ) |
|
|
|
|
{ |
|
|
|
|
engine_draw_automap_pixels(v4 - AutoMapYPos, v5 - AMPlayerX, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
DrawLine(v4 - AutoMapYPos, v5 - AMPlayerX, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
v33 |= 4u; |
|
|
|
|
} |
|
|
|
|
if ( v33 & 4 ) |
|
|
|
|
@ -509,13 +509,13 @@ LABEL_8:
|
|
|
|
|
v14 = v4 - AutoMapYPos; |
|
|
|
|
v15 = v5 - AutoMapYPos; |
|
|
|
|
automap_typec = v5 - AMPlayerX; |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v15, v13, automap_typec, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v5, v14, automap_typec, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v5, v13, automap_typec, 200); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
DrawLine(v4, v15, v13, automap_typec, 200); |
|
|
|
|
DrawLine(v4, v5, v14, automap_typec, 200); |
|
|
|
|
DrawLine(v4, v5, v13, automap_typec, 200); |
|
|
|
|
} |
|
|
|
|
if ( !(v33 & 0x15) ) |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
if ( v31 ) |
|
|
|
|
goto LABEL_17; |
|
|
|
|
goto LABEL_25; |
|
|
|
|
@ -528,16 +528,16 @@ LABEL_17:
|
|
|
|
|
v17 = v5 - AutoMapYPos; |
|
|
|
|
v18 = v4 + AutoMapXPos; |
|
|
|
|
automap_typed = v5 - AMPlayerX; |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 + AMPlayerX, v5 - AutoMapYPos + AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v18, v5, v18 - AMPlayerX, v5 - AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v16, v17, v4, automap_typed, 144); |
|
|
|
|
engine_draw_automap_pixels(v16, v17, v18, automap_typed, 144); |
|
|
|
|
engine_draw_automap_pixels(v16, v5, v4, automap_typed, 144); |
|
|
|
|
engine_draw_automap_pixels(v16, v5, v18, automap_typed, 144); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 + AMPlayerX, v5 - AutoMapYPos + AMPlayerY, 200); |
|
|
|
|
DrawLine(v18, v5, v18 - AMPlayerX, v5 - AMPlayerY, 200); |
|
|
|
|
DrawLine(v16, v17, v4, automap_typed, 144); |
|
|
|
|
DrawLine(v16, v17, v18, automap_typed, 144); |
|
|
|
|
DrawLine(v16, v5, v4, automap_typed, 144); |
|
|
|
|
DrawLine(v16, v5, v18, automap_typed, 144); |
|
|
|
|
} |
|
|
|
|
if ( v33 & 0x20 ) |
|
|
|
|
{ |
|
|
|
|
engine_draw_automap_pixels(AutoMapYPos + v4, v5 - AMPlayerX, v4 + AutoMapXPos, v5, 200); |
|
|
|
|
DrawLine(AutoMapYPos + v4, v5 - AMPlayerX, v4 + AutoMapXPos, v5, 200); |
|
|
|
|
v33 |= 8u; |
|
|
|
|
} |
|
|
|
|
if ( v33 & 8 ) |
|
|
|
|
@ -546,13 +546,13 @@ LABEL_17:
|
|
|
|
|
v20 = v4 - AutoMapYPos; |
|
|
|
|
v21 = v5 - AutoMapYPos; |
|
|
|
|
automap_typee = v5 - AMPlayerX; |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v21, v19, automap_typee, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v5, v20, automap_typee, 200); |
|
|
|
|
engine_draw_automap_pixels(v4, v5, v19, automap_typee, 200); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 - AutoMapYPos, v5 - AMPlayerX, 200); |
|
|
|
|
DrawLine(v4, v21, v19, automap_typee, 200); |
|
|
|
|
DrawLine(v4, v5, v20, automap_typee, 200); |
|
|
|
|
DrawLine(v4, v5, v19, automap_typee, 200); |
|
|
|
|
} |
|
|
|
|
if ( !(v33 & 0x2A) ) |
|
|
|
|
engine_draw_automap_pixels(v4, v5 - AutoMapYPos, v4 + AutoMapXPos, v5, 200); |
|
|
|
|
DrawLine(v4, v5 - AutoMapYPos, v4 + AutoMapXPos, v5, 200); |
|
|
|
|
LABEL_25: |
|
|
|
|
if ( v30 ) |
|
|
|
|
goto LABEL_26; |
|
|
|
|
@ -570,16 +570,16 @@ LABEL_26:
|
|
|
|
|
v23 = v4 - AutoMapYPos; |
|
|
|
|
v24 = AutoMapYPos + v5; |
|
|
|
|
automap_typef = AMPlayerX + v5; |
|
|
|
|
engine_draw_automap_pixels(v4, AutoMapYPos + v5, v4 - AMPlayerX, AutoMapYPos + v5 - AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v22, v5, v22 + AMPlayerX, v5 + AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v23, v24, v22, automap_typef, 144); |
|
|
|
|
engine_draw_automap_pixels(v23, v24, v4, automap_typef, 144); |
|
|
|
|
engine_draw_automap_pixels(v23, v5, v22, automap_typef, 144); |
|
|
|
|
engine_draw_automap_pixels(v23, v5, v4, automap_typef, 144); |
|
|
|
|
DrawLine(v4, AutoMapYPos + v5, v4 - AMPlayerX, AutoMapYPos + v5 - AMPlayerY, 200); |
|
|
|
|
DrawLine(v22, v5, v22 + AMPlayerX, v5 + AMPlayerY, 200); |
|
|
|
|
DrawLine(v23, v24, v22, automap_typef, 144); |
|
|
|
|
DrawLine(v23, v24, v4, automap_typef, 144); |
|
|
|
|
DrawLine(v23, v5, v22, automap_typef, 144); |
|
|
|
|
DrawLine(v23, v5, v4, automap_typef, 144); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
engine_draw_automap_pixels(v4, AutoMapYPos + v5, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
DrawLine(v4, AutoMapYPos + v5, v4 - AutoMapXPos, v5, 200); |
|
|
|
|
} |
|
|
|
|
LABEL_32: |
|
|
|
|
if ( v32 ) |
|
|
|
|
@ -591,12 +591,12 @@ LABEL_33:
|
|
|
|
|
v26 = AutoMapYPos + v5; |
|
|
|
|
v27 = v4 + AutoMapXPos; |
|
|
|
|
automap_typeg = AMPlayerX + v5; |
|
|
|
|
engine_draw_automap_pixels(v4, AutoMapYPos + v5, v4 + AMPlayerX, AutoMapYPos + v5 - AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v27, v5, v27 - AMPlayerX, v5 + AMPlayerY, 200); |
|
|
|
|
engine_draw_automap_pixels(v25, v26, v4, automap_typeg, 144); |
|
|
|
|
engine_draw_automap_pixels(v25, v26, v27, automap_typeg, 144); |
|
|
|
|
engine_draw_automap_pixels(v25, v5, v4, automap_typeg, 144); |
|
|
|
|
engine_draw_automap_pixels(v25, v5, v27, automap_typeg, 144); |
|
|
|
|
DrawLine(v4, AutoMapYPos + v5, v4 + AMPlayerX, AutoMapYPos + v5 - AMPlayerY, 200); |
|
|
|
|
DrawLine(v27, v5, v27 - AMPlayerX, v5 + AMPlayerY, 200); |
|
|
|
|
DrawLine(v25, v26, v4, automap_typeg, 144); |
|
|
|
|
DrawLine(v25, v26, v27, automap_typeg, 144); |
|
|
|
|
DrawLine(v25, v5, v4, automap_typeg, 144); |
|
|
|
|
DrawLine(v25, v5, v27, automap_typeg, 144); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
@ -604,7 +604,7 @@ LABEL_33:
|
|
|
|
|
v28 = v4 + AutoMapXPos; |
|
|
|
|
v9 = AutoMapYPos + v5; |
|
|
|
|
LABEL_36: |
|
|
|
|
engine_draw_automap_pixels(v4, v9, v28, v29, 200); |
|
|
|
|
DrawLine(v4, v9, v28, v29, 200); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
@ -669,14 +669,14 @@ void __cdecl DrawAutomapPlr()
|
|
|
|
|
switch ( plr[v0]._pdir ) |
|
|
|
|
{ |
|
|
|
|
case DIR_S: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3, v4 + AutoMapYPos, 153); |
|
|
|
|
engine_draw_automap_pixels(v3, AutoMapYPos + v4, v3 + AMPlayerY, v4 + AMPlayerX, 153); |
|
|
|
|
DrawLine(v3, v4, v3, v4 + AutoMapYPos, 153); |
|
|
|
|
DrawLine(v3, AutoMapYPos + v4, v3 + AMPlayerY, v4 + AMPlayerX, 153); |
|
|
|
|
v10 = v4 + AMPlayerX; |
|
|
|
|
v9 = v3 - AMPlayerY; |
|
|
|
|
v5 = AutoMapYPos + v4; |
|
|
|
|
goto LABEL_19; |
|
|
|
|
case DIR_SW: |
|
|
|
|
engine_draw_automap_pixels( |
|
|
|
|
DrawLine( |
|
|
|
|
v3, |
|
|
|
|
AMPlayerX * (v12 + v11) |
|
|
|
|
+ (AutoMapScale * ScrollInfo._syoff / 100 >> 1) |
|
|
|
|
@ -689,22 +689,22 @@ void __cdecl DrawAutomapPlr()
|
|
|
|
|
+ (AutoMapScale * plr[v0]._pyoff / 100 >> 1) |
|
|
|
|
+ 336, |
|
|
|
|
153); |
|
|
|
|
engine_draw_automap_pixels(v3 - AutoMapYPos, AMPlayerX + v4, v3 - AMPlayerY - AMPlayerX, v4, 153); |
|
|
|
|
DrawLine(v3 - AutoMapYPos, AMPlayerX + v4, v3 - AMPlayerY - AMPlayerX, v4, 153); |
|
|
|
|
v7 = AMPlayerX; |
|
|
|
|
v8 = v3; |
|
|
|
|
v5 = AMPlayerX + v4; |
|
|
|
|
v10 = AMPlayerX + v4; |
|
|
|
|
goto LABEL_23; |
|
|
|
|
case DIR_W: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3 - AutoMapYPos, v4, 153); |
|
|
|
|
engine_draw_automap_pixels(v3 - AutoMapYPos, v4, v3 - AMPlayerX, v4 - AMPlayerY, 153); |
|
|
|
|
DrawLine(v3, v4, v3 - AutoMapYPos, v4, 153); |
|
|
|
|
DrawLine(v3 - AutoMapYPos, v4, v3 - AMPlayerX, v4 - AMPlayerY, 153); |
|
|
|
|
v5 = v4; |
|
|
|
|
v10 = v4 + AMPlayerY; |
|
|
|
|
v9 = v3 - AMPlayerX; |
|
|
|
|
goto LABEL_24; |
|
|
|
|
case DIR_NW: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3 - AutoMapYPos, v4 - AMPlayerX, 153); |
|
|
|
|
engine_draw_automap_pixels(v3 - AutoMapYPos, v4 - AMPlayerX, v3 - AMPlayerX, v4 - AMPlayerX, 153); |
|
|
|
|
DrawLine(v3, v4, v3 - AutoMapYPos, v4 - AMPlayerX, 153); |
|
|
|
|
DrawLine(v3 - AutoMapYPos, v4 - AMPlayerX, v3 - AMPlayerX, v4 - AMPlayerX, 153); |
|
|
|
|
v7 = AMPlayerX; |
|
|
|
|
v8 = v3 - AMPlayerY; |
|
|
|
|
v10 = v4; |
|
|
|
|
@ -715,8 +715,8 @@ LABEL_24:
|
|
|
|
|
v6 = v3 - AutoMapYPos; |
|
|
|
|
goto LABEL_25; |
|
|
|
|
case DIR_N: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3, v4 - AutoMapYPos, 153); |
|
|
|
|
engine_draw_automap_pixels(v3, v4 - AutoMapYPos, v3 - AMPlayerY, v4 - AMPlayerX, 153); |
|
|
|
|
DrawLine(v3, v4, v3, v4 - AutoMapYPos, 153); |
|
|
|
|
DrawLine(v3, v4 - AutoMapYPos, v3 - AMPlayerY, v4 - AMPlayerX, 153); |
|
|
|
|
v10 = v4 - AMPlayerX; |
|
|
|
|
v5 = v4 - AutoMapYPos; |
|
|
|
|
v9 = v3 + AMPlayerY; |
|
|
|
|
@ -724,19 +724,19 @@ LABEL_19:
|
|
|
|
|
v6 = v3; |
|
|
|
|
goto LABEL_25; |
|
|
|
|
case DIR_NE: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3 + AutoMapYPos, v4 - AMPlayerX, 153); |
|
|
|
|
engine_draw_automap_pixels(AutoMapYPos + v3, v4 - AMPlayerX, v3 + AMPlayerX, v4 - AMPlayerX, 153); |
|
|
|
|
DrawLine(v3, v4, v3 + AutoMapYPos, v4 - AMPlayerX, 153); |
|
|
|
|
DrawLine(AutoMapYPos + v3, v4 - AMPlayerX, v3 + AMPlayerX, v4 - AMPlayerX, 153); |
|
|
|
|
v10 = v4; |
|
|
|
|
v9 = v3 + AMPlayerX + AMPlayerY; |
|
|
|
|
v5 = v4 - AMPlayerX; |
|
|
|
|
goto LABEL_17; |
|
|
|
|
case DIR_E: |
|
|
|
|
engine_draw_automap_pixels(v3, v4, v3 + AutoMapYPos, v4, 153); |
|
|
|
|
engine_draw_automap_pixels(AutoMapYPos + v3, v4, v3 + AMPlayerX, v4 - AMPlayerY, 153); |
|
|
|
|
engine_draw_automap_pixels(AutoMapYPos + v3, v4, v3 + AMPlayerX, v4 + AMPlayerY, 153); |
|
|
|
|
DrawLine(v3, v4, v3 + AutoMapYPos, v4, 153); |
|
|
|
|
DrawLine(AutoMapYPos + v3, v4, v3 + AMPlayerX, v4 - AMPlayerY, 153); |
|
|
|
|
DrawLine(AutoMapYPos + v3, v4, v3 + AMPlayerX, v4 + AMPlayerY, 153); |
|
|
|
|
break; |
|
|
|
|
case DIR_SE: |
|
|
|
|
engine_draw_automap_pixels( |
|
|
|
|
DrawLine( |
|
|
|
|
v3, |
|
|
|
|
AMPlayerX * (v12 + v11) |
|
|
|
|
+ (AutoMapScale * ScrollInfo._syoff / 100 >> 1) |
|
|
|
|
@ -749,14 +749,14 @@ LABEL_19:
|
|
|
|
|
+ (AutoMapScale * plr[v0]._pyoff / 100 >> 1) |
|
|
|
|
+ 336, |
|
|
|
|
153); |
|
|
|
|
engine_draw_automap_pixels(AutoMapYPos + v3, AMPlayerX + v4, v3 + AMPlayerX + AMPlayerY, v4, 153); |
|
|
|
|
DrawLine(AutoMapYPos + v3, AMPlayerX + v4, v3 + AMPlayerX + AMPlayerY, v4, 153); |
|
|
|
|
v5 = AMPlayerX + v4; |
|
|
|
|
v10 = AMPlayerX + v4; |
|
|
|
|
v9 = v3 + AMPlayerX; |
|
|
|
|
LABEL_17: |
|
|
|
|
v6 = AutoMapYPos + v3; |
|
|
|
|
LABEL_25: |
|
|
|
|
engine_draw_automap_pixels(v6, v5, v9, v10, 153); |
|
|
|
|
DrawLine(v6, v5, v9, v10, 153); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
return; |
|
|
|
|
@ -770,46 +770,46 @@ LABEL_25:
|
|
|
|
|
// 4B8968: using guessed type int sbookflag;
|
|
|
|
|
// 69BD04: using guessed type int questlog;
|
|
|
|
|
|
|
|
|
|
short __fastcall GetAutomapType(int tx, int ty, bool view) |
|
|
|
|
short __fastcall GetAutomapType(int x, int y, bool view) |
|
|
|
|
{ |
|
|
|
|
int v3; // edi
|
|
|
|
|
int v4; // esi
|
|
|
|
|
int v6; // eax
|
|
|
|
|
short v7; // bp
|
|
|
|
|
|
|
|
|
|
v3 = ty; |
|
|
|
|
v4 = tx; |
|
|
|
|
v3 = y; |
|
|
|
|
v4 = x; |
|
|
|
|
if ( view ) |
|
|
|
|
{ |
|
|
|
|
if ( tx == -1 && ty >= 0 && ty < 40 && automapview[0][ty] ) |
|
|
|
|
if ( x == -1 && y >= 0 && y < 40 && automapview[0][y] ) |
|
|
|
|
{ |
|
|
|
|
tx = 0; |
|
|
|
|
return ~GetAutomapType(tx, ty, 0) & 0x4000; |
|
|
|
|
x = 0; |
|
|
|
|
return ~GetAutomapType(x, y, 0) & 0x4000; |
|
|
|
|
} |
|
|
|
|
if ( ty == -1 ) |
|
|
|
|
if ( y == -1 ) |
|
|
|
|
{ |
|
|
|
|
if ( tx < 0 ) |
|
|
|
|
if ( x < 0 ) |
|
|
|
|
return 0; |
|
|
|
|
if ( tx < 40 && automapview[tx][0] ) |
|
|
|
|
if ( x < 40 && automapview[x][0] ) |
|
|
|
|
{ |
|
|
|
|
ty = 0; |
|
|
|
|
return ~GetAutomapType(tx, ty, 0) & 0x4000; |
|
|
|
|
y = 0; |
|
|
|
|
return ~GetAutomapType(x, y, 0) & 0x4000; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ( tx < 0 ) |
|
|
|
|
if ( x < 0 ) |
|
|
|
|
return 0; |
|
|
|
|
if ( tx >= 40 ) |
|
|
|
|
if ( x >= 40 ) |
|
|
|
|
return 0; |
|
|
|
|
if ( ty < 0 ) |
|
|
|
|
if ( y < 0 ) |
|
|
|
|
return 0; |
|
|
|
|
if ( ty >= 40 ) |
|
|
|
|
if ( y >= 40 ) |
|
|
|
|
return 0; |
|
|
|
|
v6 = ty + 40 * tx; |
|
|
|
|
v6 = y + 40 * x; |
|
|
|
|
if ( !automapview[0][v6] && view ) |
|
|
|
|
return 0; |
|
|
|
|
v7 = automaptype[(unsigned char)dungeon[0][v6]]; |
|
|
|
|
if ( v7 == 7 && ((unsigned short)GetAutomapType(tx - 1, ty, 0) >> 8) & 8 ) |
|
|
|
|
if ( v7 == 7 && ((unsigned short)GetAutomapType(x - 1, y, 0) >> 8) & 8 ) |
|
|
|
|
{ |
|
|
|
|
if ( ((unsigned short)GetAutomapType(v4, v3 - 1, 0) >> 8) & 4 ) |
|
|
|
|
v7 = 1; |
|
|
|
|
|