diff --git a/Source/objects.cpp b/Source/objects.cpp index 20c5aed5a..62d920110 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -2963,7 +2963,7 @@ void OperateSChambBk(int pnum, int i) } } -void OperateChest(int pnum, int i, unsigned char sendmsg) +void OperateChest(int pnum, int i, BOOL sendmsg) { int j, mdir, mtype; @@ -3069,7 +3069,7 @@ void OperateInnSignChest(int pnum, int i) } // 676190: using guessed type int deltaload; -void OperateSlainHero(int pnum, int i, unsigned char sendmsg) +void OperateSlainHero(int pnum, int i, BOOL sendmsg) { if (object[i]._oSelFlag) { object[i]._oSelFlag = 0; @@ -3123,7 +3123,7 @@ void OperateTrapLvr(int i) } } -void OperateSarc(int pnum, int i, unsigned char sendmsg) +void OperateSarc(int pnum, int i, BOOL sendmsg) { if (object[i]._oSelFlag) { if (!deltaload) @@ -3828,7 +3828,7 @@ void OperateBookCase(int pnum, int i, BOOL sendmsg) } // 676190: using guessed type int deltaload; -void OperateDecap(int pnum, int i, unsigned char sendmsg) +void OperateDecap(int pnum, int i, BOOL sendmsg) { if (object[i]._oSelFlag) { object[i]._oSelFlag = 0; @@ -4105,32 +4105,55 @@ void OperateLazStand(int pnum, int i) void OperateObject(int pnum, int i, BOOL TeleFlag) { - int v3; // esi - int v4; // edi - ObjectStruct *v5; // ebx - int v6; // ecx - BOOLEAN sendmsg; // [esp+Ch] [ebp-4h] + BOOL sendmsg; - v3 = pnum; - v4 = i; - sendmsg = pnum == myplr; - v5 = &object[i]; - v6 = v5->_otype; - switch (v5->_otype) { + sendmsg = (pnum == myplr); + switch (object[i]._otype) { case OBJ_L1LDOOR: case OBJ_L1RDOOR: if (TeleFlag) { - if (v6 == OBJ_L1LDOOR) - OperateL1LDoor(v3, i, OBJ_L1LDOOR); - if (v5->_otype == OBJ_L1RDOOR) - OperateL1RDoor(v3, v4, 1u); - } else if (v3 == myplr) { - OperateL1Door(v3, i, 1u); + if (object[i]._otype == OBJ_L1LDOOR) + OperateL1LDoor(pnum, i, 1); + if (object[i]._otype == OBJ_L1RDOOR) + OperateL1RDoor(pnum, i, 1); + break; + } + if (pnum == myplr) + OperateL1Door(pnum, i, 1); + break; + case OBJ_L2LDOOR: + case OBJ_L2RDOOR: + if (TeleFlag) { + if (object[i]._otype == OBJ_L2LDOOR) + OperateL2LDoor(pnum, i, 1); + if (object[i]._otype == OBJ_L2RDOOR) + OperateL2RDoor(pnum, i, 1); + break; + } + if (pnum == myplr) + OperateL2Door(pnum, i, 1); + break; + case OBJ_L3LDOOR: + case OBJ_L3RDOOR: + if (TeleFlag) { + if (object[i]._otype == OBJ_L3LDOOR) + OperateL3LDoor(pnum, i, 1); + if (object[i]._otype == OBJ_L3RDOOR) + OperateL3RDoor(pnum, i, 1); + break; } + if (pnum == myplr) + OperateL3Door(pnum, i, 1); break; case OBJ_LEVER: case OBJ_SWITCHSKL: - OperateLever(v3, i); + OperateLever(pnum, i); + break; + case OBJ_BOOK2L: + OperateBook(pnum, i); + break; + case OBJ_BOOK2R: + OperateSChambBk(pnum, i); break; case OBJ_CHEST1: case OBJ_CHEST2: @@ -4138,99 +4161,71 @@ void OperateObject(int pnum, int i, BOOL TeleFlag) case OBJ_TCHEST1: case OBJ_TCHEST2: case OBJ_TCHEST3: - OperateChest(v3, i, sendmsg); - break; - case OBJ_BOOK2L: - OperateBook(v3, i); - break; - case OBJ_BOOK2R: - OperateSChambBk(v3, i); - break; - case OBJ_L2LDOOR: - case OBJ_L2RDOOR: - if (TeleFlag) { - if (v6 == OBJ_L2LDOOR) - OperateL2LDoor(v3, i, 1u); - if (v5->_otype == OBJ_L2RDOOR) - OperateL2RDoor(v3, v4, 1u); - } else if (v3 == myplr) { - OperateL2Door(v3, i, 1u); - } + OperateChest(pnum, i, sendmsg); break; case OBJ_SARC: - OperateSarc(v3, i, sendmsg); + OperateSarc(pnum, i, sendmsg); break; case OBJ_FLAMELVR: OperateTrapLvr(i); break; + case OBJ_BLINDBOOK: + case OBJ_BLOODBOOK: + case OBJ_STEELTOME: + OperateBookLever(pnum, i); + break; case OBJ_SHRINEL: case OBJ_SHRINER: - OperateShrine(v3, i, IS_MAGIC); + OperateShrine(pnum, i, IS_MAGIC); break; case OBJ_SKELBOOK: case OBJ_BOOKSTAND: - OperateSkelBook(v3, i, sendmsg); + OperateSkelBook(pnum, i, sendmsg); break; case OBJ_BOOKCASEL: case OBJ_BOOKCASER: - OperateBookCase(v3, i, sendmsg); - break; - case OBJ_BLOODFTN: - case OBJ_PURIFYINGFTN: - case OBJ_MURKYFTN: - case OBJ_TEARFTN: - OperateFountains(v3, i); + OperateBookCase(pnum, i, sendmsg); break; case OBJ_DECAP: - OperateDecap(v3, i, sendmsg); - break; - case OBJ_BLINDBOOK: - case OBJ_BLOODBOOK: - case OBJ_STEELTOME: - OperateBookLever(v3, i); - break; - case OBJ_PEDISTAL: - OperatePedistal(v3, i); - break; - case OBJ_L3LDOOR: - case OBJ_L3RDOOR: - if (TeleFlag) { - if (v6 == OBJ_L3LDOOR) - OperateL3LDoor(v3, i, 1u); - if (v5->_otype == OBJ_L3RDOOR) - OperateL3RDoor(v3, v4, 1u); - } else if (v3 == myplr) { - OperateL3Door(v3, i, 1u); - } + OperateDecap(pnum, i, sendmsg); break; case OBJ_ARMORSTAND: case OBJ_WARARMOR: - OperateArmorStand(v3, i, sendmsg); + OperateArmorStand(pnum, i, sendmsg); break; case OBJ_GOATSHRINE: - OperateGoatShrine(v3, i, LS_GSHRINE); + OperateGoatShrine(pnum, i, LS_GSHRINE); break; case OBJ_CAULDRON: - OperateCauldron(v3, i, LS_CALDRON); + OperateCauldron(pnum, i, LS_CALDRON); + break; + case OBJ_BLOODFTN: + case OBJ_PURIFYINGFTN: + case OBJ_MURKYFTN: + case OBJ_TEARFTN: + OperateFountains(pnum, i); break; case OBJ_STORYBOOK: - OperateStoryBook(v3, i); + OperateStoryBook(pnum, i); + break; + case OBJ_PEDISTAL: + OperatePedistal(pnum, i); break; case OBJ_WARWEAP: case OBJ_WEAPONRACK: - OperateWeaponRack(v3, i, sendmsg); + OperateWeaponRack(pnum, i, sendmsg); break; case OBJ_MUSHPATCH: - OperateMushPatch(v3, i); + OperateMushPatch(pnum, i); break; case OBJ_LAZSTAND: - OperateLazStand(v3, i); + OperateLazStand(pnum, i); break; case OBJ_SLAINHERO: - OperateSlainHero(v3, i, sendmsg); + OperateSlainHero(pnum, i, sendmsg); break; case OBJ_SIGNCHEST: - OperateInnSignChest(v3, i); + OperateInnSignChest(pnum, i); break; } } diff --git a/Source/objects.h b/Source/objects.h index ad84693ae..5ca062bd7 100644 --- a/Source/objects.h +++ b/Source/objects.h @@ -104,12 +104,12 @@ void OperateLever(int pnum, int i); void OperateBook(int pnum, int i); void OperateBookLever(int pnum, int i); void OperateSChambBk(int pnum, int i); -void OperateChest(int pnum, int i, unsigned char sendmsg); +void OperateChest(int pnum, int i, BOOL sendmsg); void OperateMushPatch(int pnum, int i); void OperateInnSignChest(int pnum, int i); -void OperateSlainHero(int pnum, int i, unsigned char sendmsg); +void OperateSlainHero(int pnum, int i, BOOL sendmsg); void OperateTrapLvr(int i); -void OperateSarc(int pnum, int i, unsigned char sendmsg); +void OperateSarc(int pnum, int i, BOOL sendmsg); void OperateL2Door(int pnum, int i, unsigned char sendflag); void OperateL3Door(int pnum, int i, unsigned char sendflag); void OperatePedistal(int pnum, int i); @@ -118,7 +118,7 @@ int ItemMiscIdIdx(int imiscid); void OperateShrine(int pnum, int i, int sType); void OperateSkelBook(int pnum, int i, BOOL sendmsg); void OperateBookCase(int pnum, int i, BOOL sendmsg); -void OperateDecap(int pnum, int i, unsigned char sendmsg); +void OperateDecap(int pnum, int i, BOOL sendmsg); void OperateArmorStand(int pnum, int i, BOOL sendmsg); int FindValidShrine(int i); void OperateGoatShrine(int pnum, int i, int sType);