Browse Source

Changed _oBreak and _oSelFlag to char (#95)

* Changed _oBreak and _oSelFlag to char
pull/4/head
Adam Heinermann 8 years ago committed by galaxyhaxz
parent
commit
87ca6557c3
  1. 6
      Source/cursor.cpp
  2. 5
      Source/diablo.cpp
  3. 6
      Source/inv.cpp
  4. 6
      Source/items.cpp
  5. 2
      Source/missiles.cpp
  6. 134
      Source/objects.cpp
  7. 8
      Source/player.cpp
  8. 2
      Source/themes.cpp
  9. 4
      structs.h

6
Source/cursor.cpp

@ -933,7 +933,7 @@ LABEL_306:
if ( !v62 )
goto LABEL_272;
v61 = v62 <= 0 ? -1 - v62 : v62 - 1;
if ( SLOBYTE(object[v61]._oSelFlag) < 2 )
if ( object[v61]._oSelFlag < 2 )
goto LABEL_272;
cursmx = v6;
cursmy = v8 + 1;
@ -944,7 +944,7 @@ LABEL_306:
if ( !v60 )
goto LABEL_272;
v61 = v60 <= 0 ? -1 - v60 : v60 - 1;
if ( SLOBYTE(object[v61]._oSelFlag) < 2 )
if ( object[v61]._oSelFlag < 2 )
goto LABEL_272;
cursmy = v8;
cursmx = v6 + 1;
@ -964,7 +964,7 @@ LABEL_272:
}
}
v66 = dObject[1][v27 + 1 + v8];
if ( !v66 || (v66 <= 0 ? (v67 = -1 - v66) : (v67 = v66 - 1), SLOBYTE(object[v67]._oSelFlag) < 2) )
if ( !v66 || (v66 <= 0 ? (v67 = -1 - v66) : (v67 = v66 - 1), object[v67]._oSelFlag < 2) )
{
LABEL_286:
if ( pcursobj != -1 || pcursmonst != -1 )

5
Source/diablo.cpp

@ -948,10 +948,9 @@ LABEL_96:
}
if ( pcursobj != -1 )
{
if ( v1 != 5 || v7 && (v7 = 120 * pcursobj, *((_BYTE *)&object[0]._oBreak + v7) == 1) )
if ( v1 != 5 || v7 && object[pcursobj]._oBreak == 1 )
{
_LOWORD(v7) = pcursobj;
NetSendCmdLocParam1(1u, (pcurs == 5) + CMD_OPOBJXY, cursmx, cursmy, v7);
NetSendCmdLocParam1(1u, (pcurs == 5) + CMD_OPOBJXY, cursmx, cursmy, pcursobj);
goto LABEL_95;
}
}

6
Source/inv.cpp

@ -2505,17 +2505,17 @@ int __fastcall CanPut(int i, int j)
v7 = v6 < 0;
if ( v6 > 0 )
{
if ( _LOBYTE(object[v6-1]._oSelFlag) ) /* check */
if ( object[v6-1]._oSelFlag ) /* check */
return 0;
v7 = v6 < 0;
}
if ( v7 && _LOBYTE(object[-(v6 + 1)]._oSelFlag) )
if ( v7 && object[-(v6 + 1)]._oSelFlag )
return 0;
v8 = dObject[v2 + 1][j];
if ( v8 > 0 )
{
v9 = dObject[v2][j + 1];
if ( v9 > 0 && _LOBYTE(object[v8-1]._oSelFlag) && _LOBYTE(object[v9-1]._oSelFlag) )
if ( v9 > 0 && object[v8-1]._oSelFlag && object[v9-1]._oSelFlag )
return 0;
}
if ( !currlevel && (dMonster[0][v3] || dMonster[1][v3 + 1]) )

6
Source/items.cpp

@ -1608,17 +1608,17 @@ bool __fastcall ItemSpaceOk(int i, int j)
v7 = v6 < 0;
if ( v6 > 0 )
{
if ( _LOBYTE(object[v6-1]._oSelFlag) ) /* check */
if ( object[v6-1]._oSelFlag ) /* check */
return 0;
v7 = v6 < 0;
}
if ( !v7 || !_LOBYTE(object[-(v6 + 1)]._oSelFlag) )
if ( !v7 || !object[-(v6 + 1)]._oSelFlag )
{
v8 = dObject[v2 + 1][j];
if ( v8 <= 0 )
return nSolidTable[dPiece[0][v3]] == 0;
v9 = dObject[v2][j + 1];
if ( v9 <= 0 || !_LOBYTE(object[v8-1]._oSelFlag) || !_LOBYTE(object[v9-1]._oSelFlag) )
if ( v9 <= 0 || !object[v8-1]._oSelFlag || !object[v9-1]._oSelFlag )
return nSolidTable[dPiece[0][v3]] == 0;
}
return 0;

2
Source/missiles.cpp

@ -2070,7 +2070,7 @@ LABEL_39:
v25 = v24 <= 0 ? -1 - v24 : v24 - 1;
if ( !object[v25]._oMissFlag )
{
if ( _LOBYTE(object[v25]._oBreak) == 1 )
if ( object[v25]._oBreak == 1 )
BreakObject(-1, v25);
if ( !(_BYTE)nodel )
missile[v8]._mirange = 0;

134
Source/objects.cpp

@ -1795,7 +1795,6 @@ void __fastcall SetupObject(int i, int x, int y, int ot)
int v12; // ecx
int v13; // eax
int v14; // eax
unsigned char v15; // al
v4 = i;
object[v4]._otype = ot;
@ -1834,10 +1833,9 @@ void __fastcall SetupObject(int i, int x, int y, int ot)
object[v4]._oSolidFlag = AllObjects[v5].oSolidFlag;
object[v4]._oMissFlag = AllObjects[v5].oMissFlag;
object[v4]._oLight = AllObjects[v5].oLightFlag;
_LOBYTE(object[v4]._oBreak) = AllObjects[v5].oBreak;
v15 = AllObjects[v5].oSelFlag;
object[v4]._oBreak = AllObjects[v5].oBreak;
object[v4]._oDelFlag = 0;
_LOBYTE(object[v4]._oSelFlag) = v15;
object[v4]._oSelFlag = AllObjects[v5].oSelFlag;
object[v4]._oPreFlag = 0;
object[v4]._oTrapFlag = 0;
object[v4]._oDoorFlag = 0;
@ -2156,7 +2154,7 @@ void __fastcall AddArmorStand(int i)
if ( !armorFlag )
{
v1 = i;
_LOBYTE(object[v1]._oSelFlag) = 0;
object[v1]._oSelFlag = 0;
object[v1]._oAnimFlag = 2;
}
object[i]._oRndSeed = GetRndSeed();
@ -2642,7 +2640,7 @@ void __fastcall Obj_Door(int i)
{
dy = object[i]._oy;
dx = object[i]._ox;
_LOBYTE(object[i]._oSelFlag) = 2;
object[i]._oSelFlag = 2;
object[i]._oMissFlag = 1;
object[i]._oVar4 = ((dItem[dx][dy] == 0
&& dDead[dx][dy] == 0
@ -2653,7 +2651,7 @@ void __fastcall Obj_Door(int i)
else
{
object[i]._oMissFlag = 0;
_LOBYTE(object[i]._oSelFlag) = 3;
object[i]._oSelFlag = 3;
}
}
@ -2828,7 +2826,7 @@ LABEL_17:
goto LABEL_17;
}
LABEL_9:
if ( _LOBYTE(object[v2]._oSelFlag) )
if ( object[v2]._oSelFlag )
return;
LABEL_10:
v4 = object[edi1]._ox;
@ -3407,7 +3405,7 @@ void __fastcall OperateL1RDoor(int pnum, int oi, unsigned char sendflag)
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
v7 = object[v3]._oVar1;
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v5, v6, v7);
if ( object[v3]._oVar2 == 50 )
{
@ -3436,7 +3434,7 @@ void __fastcall OperateL1RDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oPreFlag = 1;
DoorSet(param1, v5 - 1, v6);
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -3479,7 +3477,7 @@ void __fastcall OperateL1LDoor(int pnum, int oi, unsigned char sendflag)
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
v7 = object[v3]._oVar1;
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v5, v6, v7);
if ( object[v3]._oVar2 == 50 )
{
@ -3511,7 +3509,7 @@ void __fastcall OperateL1LDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oPreFlag = 1;
DoorSet(param1, v5, v6 - 1);
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -3550,7 +3548,7 @@ void __fastcall OperateL2RDoor(int pnum, int oi, unsigned char sendflag)
if ( v7 == myplr && sendflag )
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v8, v5, 540);
object[v3]._oAnimFrame -= 2;
object[v3]._oPreFlag = 0;
@ -3565,7 +3563,7 @@ void __fastcall OperateL2RDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oAnimFrame += 2;
object[v3]._oPreFlag = 1;
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -3604,7 +3602,7 @@ void __fastcall OperateL2LDoor(int pnum, int oi, unsigned char sendflag)
if ( v7 == myplr && sendflag )
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v8, v5, 538);
object[v3]._oAnimFrame -= 2;
object[v3]._oPreFlag = 0;
@ -3619,7 +3617,7 @@ void __fastcall OperateL2LDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oAnimFrame += 2;
object[v3]._oPreFlag = 1;
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -3658,7 +3656,7 @@ void __fastcall OperateL3RDoor(int pnum, int oi, unsigned char sendflag)
if ( v7 == myplr && sendflag )
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v8, v5, 534);
object[v3]._oAnimFrame -= 2;
object[v3]._oPreFlag = 0;
@ -3673,7 +3671,7 @@ void __fastcall OperateL3RDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oAnimFrame += 2;
object[v3]._oPreFlag = 1;
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -3712,7 +3710,7 @@ void __fastcall OperateL3LDoor(int pnum, int oi, unsigned char sendflag)
if ( v7 == myplr && sendflag )
NetSendCmdParam1(1u, CMD_CLOSEDOOR, param1);
object[v3]._oVar4 = 0;
_LOBYTE(object[v3]._oSelFlag) = 3;
object[v3]._oSelFlag = 3;
ObjSetMicro(v8, v5, 531);
object[v3]._oAnimFrame -= 2;
object[v3]._oPreFlag = 0;
@ -3727,7 +3725,7 @@ void __fastcall OperateL3LDoor(int pnum, int oi, unsigned char sendflag)
object[v3]._oAnimFrame += 2;
object[v3]._oPreFlag = 1;
object[v3]._oVar4 = 1;
_LOBYTE(object[v3]._oSelFlag) = 2;
object[v3]._oSelFlag = 2;
}
RedoPlayerVision();
return;
@ -4022,7 +4020,7 @@ void __fastcall OperateLever(int pnum, int i)
param1 = i;
v2 = i;
v3 = &object[i]._oSelFlag;
v3 = (int*)&object[i]._oSelFlag;
v8 = pnum;
if ( *(_BYTE *)v3 )
{
@ -4041,7 +4039,7 @@ void __fastcall OperateLever(int pnum, int i)
v6 = objectactive[v5];
if ( object[v6]._otype == OBJ_SWITCHSKL
&& object[v2]._oVar8 == object[v6]._oVar8
&& _LOBYTE(object[v6]._oSelFlag) )
&& object[v6]._oSelFlag )
{
v4 = 0;
}
@ -4076,7 +4074,7 @@ void __fastcall OperateBook(int pnum, int i)
esi1 = i;
v3 = pnum;
v10 = pnum;
if ( !_LOBYTE(object[esi1]._oSelFlag) )
if ( !object[esi1]._oSelFlag )
return;
if ( !setlevel || setlvlnum != SL_VILEBETRAYER )
goto LABEL_17;
@ -4122,7 +4120,7 @@ void __fastcall OperateBook(int pnum, int i)
LABEL_17:
++object[esi1]._oAnimFrame;
v6 = setlevel == 0;
_LOBYTE(object[esi1]._oSelFlag) = 0;
object[esi1]._oSelFlag = 0;
if ( !v6 )
{
if ( setlvlnum == SL_BONECHAMB )
@ -4193,7 +4191,7 @@ void __fastcall OperateBookLever(int pnum, int i)
v13 = pnum;
v3 = 2 * setpc_x + 16;
v4 = 2 * setpc_y + 16;
if ( _LOBYTE(object[i]._oSelFlag) && !qtextflag )
if ( object[i]._oSelFlag && !qtextflag )
{
v5 = object[v2]._otype;
if ( v5 == OBJ_BLINDBOOK && !quests[8]._qvar1 )
@ -4254,7 +4252,7 @@ void __fastcall OperateSChambBk(int pnum, int i)
//int speech_id; // [esp+4h] [ebp-4h]
v2 = i;
if ( _LOBYTE(object[i]._oSelFlag) && !qtextflag )
if ( object[i]._oSelFlag && !qtextflag )
{
if ( object[v2]._oAnimFrame != object[v2]._oVar6 )
{
@ -4309,13 +4307,13 @@ void __fastcall OperateChest(int pnum, int i, unsigned char sendmsg)
param2 = i;
v3 = i;
param1 = pnum;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_CHEST, object[v3]._ox, object[v3]._oy);
object[v3]._oAnimFrame += 2;
v4 = deltaload == 0;
_LOBYTE(object[v3]._oSelFlag) = 0;
object[v3]._oSelFlag = 0;
if ( v4 )
{
SetRndSeed(object[v3]._oRndSeed);
@ -4423,13 +4421,13 @@ void __fastcall OperateMushPatch(int pnum, int i)
else
{
v2 = i;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_CHEST, object[v2]._ox, object[v2]._oy);
++object[v2]._oAnimFrame;
v3 = deltaload == 0;
_LOBYTE(object[v2]._oSelFlag) = 0;
object[v2]._oSelFlag = 0;
if ( v3 )
{
GetSuperItemLoc(object[v2]._ox, object[v2]._oy, &xx, &yy);
@ -4453,13 +4451,13 @@ void __fastcall OperateInnSignChest(int pnum, int i)
if ( quests[7]._qvar1 == 2 )
{
v4 = i;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_CHEST, object[v4]._ox, object[v4]._oy);
object[v4]._oAnimFrame += 2;
v5 = deltaload == 0;
_LOBYTE(object[v4]._oSelFlag) = 0;
object[v4]._oSelFlag = 0;
if ( v5 )
{
GetSuperItemLoc(object[v4]._ox, object[v4]._oy, &xx, &yy);
@ -4500,10 +4498,10 @@ void __fastcall OperateSlainHero(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = pnum;
v5 = i;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
v6 = deltaload == 0;
_LOBYTE(object[v5]._oSelFlag) = 0;
object[v5]._oSelFlag = 0;
if ( v6 )
{
v7 = plr[pnum]._pClass;
@ -4600,12 +4598,12 @@ void __fastcall OperateSarc(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = i;
v7 = pnum;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_SARC, object[v4]._ox, object[v4]._oy);
v5 = deltaload == 0;
_LOBYTE(object[v4]._oSelFlag) = 0;
object[v4]._oSelFlag = 0;
if ( v5 )
{
v6 = object[v4]._oRndSeed;
@ -4751,7 +4749,7 @@ void __fastcall OperatePedistal(int pnum, int i)
LoadMapObjs(v4, 2 * setpc_x, 2 * setpc_y);
mem_free_dbg(v4);
CreateItem(7, 2 * setpc_x + 25, 2 * setpc_y + 19);
_LOBYTE(object[v2]._oSelFlag) = 0;
object[v2]._oSelFlag = 0;
}
}
}
@ -4976,8 +4974,8 @@ void __fastcall OperateShrine(int pnum, int i, int sType)
dropGoldValue = 0;
}
v3 = i;
v4 = &object[i]._oSelFlag;
if ( _LOBYTE(object[i]._oSelFlag) )
v4 = (int*)&object[i]._oSelFlag;
if ( object[i]._oSelFlag )
{
SetRndSeed(object[v3]._oRndSeed);
v5 = deltaload;
@ -5359,13 +5357,13 @@ LABEL_47:
{
v63 = objectactive[j];
v7 = object[v63]._otype;
if ( (v7 == OBJ_CHEST1 || v7 == OBJ_CHEST2 || v7 == OBJ_CHEST3) && !_LOBYTE(object[v63]._oSelFlag) )
if ( (v7 == OBJ_CHEST1 || v7 == OBJ_CHEST2 || v7 == OBJ_CHEST3) && !object[v63]._oSelFlag )
{
v64 = GetRndSeed();
object[v63]._oAnimFrame -= 2;
object[v63]._oRndSeed = v64;
v5 = deltaload;
_LOBYTE(object[v63]._oSelFlag) = 1;
object[v63]._oSelFlag = 1;
}
}
if ( v5 )
@ -5866,13 +5864,13 @@ void __fastcall OperateSkelBook(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = i;
v10 = pnum;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_ISCROL, object[v4]._ox, object[v4]._oy);
object[v4]._oAnimFrame += 2;
v5 = deltaload == 0;
_LOBYTE(object[v4]._oSelFlag) = 0;
object[v4]._oSelFlag = 0;
if ( v5 )
{
SetRndSeed(object[v4]._oRndSeed);
@ -5902,13 +5900,13 @@ void __fastcall OperateBookCase(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = pnum;
v5 = i;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(IS_ISCROL, object[v5]._ox, object[v5]._oy);
object[v5]._oAnimFrame -= 2;
v6 = deltaload == 0;
_LOBYTE(object[v5]._oSelFlag) = 0;
object[v5]._oSelFlag = 0;
if ( v6 )
{
SetRndSeed(object[v5]._oRndSeed);
@ -5942,7 +5940,7 @@ void __fastcall OperateDecap(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = i;
v5 = pnum;
v6 = &object[i]._oSelFlag;
v6 = (int*)&object[i]._oSelFlag;
if ( *(_BYTE *)v6 )
{
v7 = deltaload == 0;
@ -5973,7 +5971,7 @@ void __fastcall OperateArmorStand(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = i;
v11 = pnum;
v5 = &object[i]._oSelFlag;
v5 = (int*)&object[i]._oSelFlag;
if ( *(_BYTE *)v5 )
{
++object[v4]._oAnimFrame;
@ -6167,11 +6165,11 @@ LABEL_38:
}
return 0;
case OBJ_MURKYFTN:
if ( _LOBYTE(object[v3]._oSelFlag) )
if ( object[v3]._oSelFlag )
{
if ( !deltaload )
PlaySfxLoc(LS_FOUNTAIN, object[v3]._ox, object[v3]._oy);
_LOBYTE(object[v3]._oSelFlag) = 0;
object[v3]._oSelFlag = 0;
if ( deltaload )
return 0;
AddMissile(
@ -6191,7 +6189,7 @@ LABEL_38:
}
break;
default:
if ( object[v3]._otype == OBJ_TEARFTN && _LOBYTE(object[v3]._oSelFlag) )
if ( object[v3]._otype == OBJ_TEARFTN && object[v3]._oSelFlag )
{
v7 = -1;
v8 = -1;
@ -6199,7 +6197,7 @@ LABEL_38:
v24 = 0;
if ( !deltaload )
PlaySfxLoc(LS_FOUNTAIN, object[v3]._ox, object[v3]._oy);
_LOBYTE(object[v3]._oSelFlag) = 0;
object[v3]._oSelFlag = 0;
if ( deltaload || v4 != myplr )
return 0;
do
@ -6274,7 +6272,7 @@ void __fastcall OperateWeaponRack(int pnum, int i, unsigned char sendmsg)
v3 = i;
v4 = i;
v14 = pnum;
if ( !_LOBYTE(object[i]._oSelFlag) )
if ( !object[i]._oSelFlag )
return;
SetRndSeed(object[v4]._oRndSeed);
_LOBYTE(v5) = 0;
@ -6309,7 +6307,7 @@ LABEL_7:
LABEL_12:
++object[v4]._oAnimFrame;
v10 = deltaload == 0;
_LOBYTE(object[v4]._oSelFlag) = 0;
object[v4]._oSelFlag = 0;
if ( v10 )
{
v11 = object[v4]._ox;
@ -6334,7 +6332,7 @@ void __fastcall OperateStoryBook(int pnum, int i)
v2 = i;
v3 = i;
if ( _LOBYTE(object[i]._oSelFlag) && !deltaload && !qtextflag && pnum == myplr )
if ( object[i]._oSelFlag && !deltaload && !qtextflag && pnum == myplr )
{
v4 = object[v3]._oy;
v5 = object[v3]._ox;
@ -6355,11 +6353,11 @@ void __fastcall OperateLazStand(int pnum, int i)
int yy; // [esp+8h] [ebp-4h]
v2 = i;
if ( _LOBYTE(object[i]._oSelFlag) && !deltaload && !qtextflag && pnum == myplr )
if ( object[i]._oSelFlag && !deltaload && !qtextflag && pnum == myplr )
{
v3 = object[v2]._oy;
++object[v2]._oAnimFrame;
_LOBYTE(object[v2]._oSelFlag) = 0;
object[v2]._oSelFlag = 0;
GetSuperItemLoc(object[v2]._ox, v3, &xx, &yy);
SpawnQuestItem(33, xx, yy, 0, 0);
}
@ -6692,8 +6690,8 @@ void __fastcall BreakCrux(int i)
v1 = i;
v2 = nobjects;
_LOBYTE(object[v1]._oBreak) = -1;
_LOBYTE(object[v1]._oSelFlag) = 0;
object[v1]._oBreak = -1;
object[v1]._oSelFlag = 0;
v3 = 0;
v4 = 1;
object[v1]._oAnimFlag = 1;
@ -6709,7 +6707,7 @@ void __fastcall BreakCrux(int i)
v6 = object[v5]._otype;
if ( (v6 == OBJ_CRUX1 || v6 == OBJ_CRUX2 || v6 == OBJ_CRUX3)
&& object[v1]._oVar8 == object[v5]._oVar8
&& _LOBYTE(object[v5]._oBreak) != -1 )
&& object[v5]._oBreak != -1 )
{
v4 = 0;
}
@ -6749,7 +6747,7 @@ void __fastcall BreakBarrel(int pnum, int i, int dam, unsigned char forcebreak,
param2 = i;
v5 = i;
param1 = pnum;
if ( _LOBYTE(object[i]._oSelFlag) )
if ( object[i]._oSelFlag )
{
if ( forcebreak )
{
@ -6763,7 +6761,7 @@ void __fastcall BreakBarrel(int pnum, int i, int dam, unsigned char forcebreak,
}
if ( object[v5]._oVar1 <= 0 )
{
_LOBYTE(object[v5]._oBreak) = -1;
object[v5]._oBreak = -1;
v6 = deltaload == 0;
object[v5]._oVar1 = 0;
object[v5]._oAnimFlag = 1;
@ -6771,7 +6769,7 @@ void __fastcall BreakBarrel(int pnum, int i, int dam, unsigned char forcebreak,
object[v5]._oAnimDelay = 1;
object[v5]._oSolidFlag = 0;
object[v5]._oMissFlag = 1;
_LOBYTE(object[v5]._oSelFlag) = 0;
object[v5]._oSelFlag = 0;
object[v5]._oPreFlag = 1;
if ( v6 )
{
@ -6804,7 +6802,7 @@ void __fastcall BreakBarrel(int pnum, int i, int dam, unsigned char forcebreak,
if ( v13 > 0 )
{
v14 = v13 - 1;
if ( object[v14]._otype == OBJ_BARRELEX && _LOBYTE(object[v14]._oBreak) != -1 )
if ( object[v14]._otype == OBJ_BARRELEX && object[v14]._oBreak != -1 )
BreakBarrel(param1, v14, dam, 1u, sendmsg);
}
++v18;
@ -6914,7 +6912,7 @@ void __fastcall SyncL1Doors(int i)
v4 = object[v2]._ox;
v5 = object[v2]._otype == 1;
object[v2]._oMissFlag = 1;
_LOBYTE(object[v2]._oSelFlag) = 2;
object[v2]._oSelFlag = 2;
if ( v5 )
{
if ( object[v2]._oVar1 == 214 )
@ -6955,7 +6953,7 @@ void __fastcall SyncCrux(int i)
v4 = object[v3]._otype;
if ( (v4 == OBJ_CRUX1 || v4 == OBJ_CRUX2 || v4 == OBJ_CRUX3)
&& object[i]._oVar8 == object[v3]._oVar8
&& _LOBYTE(object[v3]._oBreak) != -1 )
&& object[v3]._oBreak != -1 )
{
v1 = 0;
}
@ -6972,7 +6970,7 @@ void __fastcall SyncLever(int i)
int v1; // ecx
v1 = i;
if ( !_LOBYTE(object[v1]._oSelFlag) )
if ( !object[v1]._oSelFlag )
ObjChangeMap(object[v1]._oVar1, object[v1]._oVar2, object[v1]._oVar3, object[v1]._oVar4);
}
@ -7043,7 +7041,7 @@ void __fastcall SyncL2Doors(int i)
object[v1]._oMissFlag = 0;
v3 = object[v1]._ox;
v4 = object[v1]._oy;
_LOBYTE(object[v1]._oSelFlag) = 2;
object[v1]._oSelFlag = 2;
v5 = object[v1]._otype;
if ( v5 != OBJ_L2LDOOR )
goto LABEL_18;
@ -7088,7 +7086,7 @@ void __fastcall SyncL3Doors(int i)
v3 = object[i]._ox;
v4 = object[v1]._oy;
object[v1]._oMissFlag = 1;
_LOBYTE(object[v1]._oSelFlag) = 2;
object[v1]._oSelFlag = 2;
if ( v2 != OBJ_L3LDOOR )
goto LABEL_15;
if ( !object[v1]._oVar4 )

8
Source/player.cpp

@ -4182,7 +4182,7 @@ void __fastcall CheckNewPath(int pnum)
}
if ( v102 > 1 || v48 > 1 )
break;
if ( _LOBYTE(object[v47]._oBreak) != 1 )
if ( object[v47]._oBreak != 1 )
goto LABEL_73;
goto LABEL_80;
case 14:
@ -4199,7 +4199,7 @@ void __fastcall CheckNewPath(int pnum)
}
if ( v103 > 1 || v51 > 1 )
break;
if ( _LOBYTE(object[v47]._oBreak) == 1 )
if ( object[v47]._oBreak == 1 )
{
LABEL_80:
v20 = GetDirection(plr[v2].WorldX, plr[v2].WorldY, object[v47]._ox, object[v47]._oy);
@ -4245,7 +4245,7 @@ LABEL_73:
TalkToTowner(v1, plr[v2].destParam1);
break;
case 18:
if ( _LOBYTE(object[plr[v2].destParam1]._oBreak) != 1 )
if ( object[plr[v2].destParam1]._oBreak != 1 )
OperateObject(v1, plr[v2].destParam1, 1u);
break;
case 20:
@ -4362,7 +4362,7 @@ LABEL_107:
}
if ( v104 <= 1 && v71 <= 1 )
{
if ( _LOBYTE(object[v70]._oBreak) == 1 )
if ( object[v70]._oBreak == 1 )
{
v73 = GetDirection(plr[v2].WorldX, plr[v2].WorldY, object[v70]._ox, object[v70]._oy);
StartAttack(p, v73);

2
Source/themes.cpp

@ -1007,7 +1007,7 @@ void __fastcall Theme_Library(int t)
if ( random(v6, 2 * librnd[leveltype]) )
{
v7 = *v3 - 1;
_LOBYTE(object[v7]._oSelFlag) = 0;
object[v7]._oSelFlag = 0;
object[v7]._oAnimFrame += 2;
}
}

4
structs.h

@ -733,10 +733,10 @@ struct ObjectStruct
int _oAnimWidth;
int _oAnimWidth2;
int _oDelFlag;
int _oBreak;
char _oBreak; // check
int _oSolidFlag;
int _oMissFlag;
int _oSelFlag;
char _oSelFlag; // check
int _oPreFlag;
int _oTrapFlag;
int _oDoorFlag;

Loading…
Cancel
Save