From 8f7f936edaeae6bbcd1a1cd6ab49cb9a76a5acf3 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 28 Mar 2019 17:25:50 +0100 Subject: [PATCH] GetObjectStr almost bin exact --- Source/control.cpp | 2 +- Source/control.h | 2 +- Source/objects.cpp | 68 ++++++++++++++++++++++------------------------ 3 files changed, 35 insertions(+), 37 deletions(-) diff --git a/Source/control.cpp b/Source/control.cpp index 25fc99a72..0f2401cd0 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -30,7 +30,7 @@ BOOL pinfoflag; int talkbtndown[3]; int pSpell; // weak BYTE *pManaBuff; -int infoclr; // weak +char infoclr; // weak int sgbPlrTalkTbl; // weak // should be char [4] void *pGBoxBuff; void *pSBkBtnCel; diff --git a/Source/control.h b/Source/control.h index d388d6c80..3bc5c1006 100644 --- a/Source/control.h +++ b/Source/control.h @@ -26,7 +26,7 @@ extern BOOL pinfoflag; extern int talkbtndown[3]; extern int pSpell; // weak extern BYTE *pManaBuff; -extern int infoclr; // weak +extern char infoclr; // weak extern void *pGBoxBuff; extern void *pSBkBtnCel; extern char tempstr[256]; diff --git a/Source/objects.cpp b/Source/objects.cpp index e400561bb..8b6153ec9 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -5531,31 +5531,44 @@ void __fastcall SyncObjectAnim(int o) void __fastcall GetObjectStr(int i) { - int v1; // edi - - v1 = i; switch (object[i]._otype) { + case OBJ_LEVER: + case OBJ_FLAMELVR: + strcpy(infostr, "Lever"); + break; + case OBJ_CHEST1: + case OBJ_TCHEST1: + strcpy(infostr, "Small Chest"); + break; case OBJ_L1LDOOR: case OBJ_L1RDOOR: case OBJ_L2LDOOR: case OBJ_L2RDOOR: case OBJ_L3LDOOR: case OBJ_L3RDOOR: - if (object[v1]._oVar4 == 1) + if (object[i]._oVar4 == 1) strcpy(infostr, "Open Door"); - if (!object[v1]._oVar4) + if (object[i]._oVar4 == 0) strcpy(infostr, "Closed Door"); - if (object[v1]._oVar4 == 2) + if (object[i]._oVar4 == 2) strcpy(infostr, "Blocked Door"); break; - case OBJ_LEVER: - case OBJ_FLAMELVR: - strcpy(infostr, "Lever"); + case OBJ_BOOK2L: + if (setlevel) { + if (setlvlnum == SL_BONECHAMB) { + strcpy(infostr, "Ancient Tome"); + } else if (setlvlnum == SL_VILEBETRAYER) { + strcpy(infostr, "Book of Vileness"); + } + } break; - case OBJ_CHEST1: - case OBJ_TCHEST1: - strcpy(infostr, "Small Chest"); + case OBJ_SWITCHSKL: + strcpy(infostr, "Skull Lever"); + break; + case OBJ_BOOK2R: + strcpy(infostr, "Mythical Book"); break; + case OBJ_CHEST2: case OBJ_TCHEST2: strcpy(infostr, "Chest"); @@ -5570,21 +5583,6 @@ void __fastcall GetObjectStr(int i) case OBJ_CRUX3: strcpy(infostr, "Crucified Skeleton"); break; - case OBJ_BOOK2L: - if (setlevel) { - if (setlvlnum == SL_BONECHAMB) { - strcpy(infostr, "Ancient Tome"); - } else if (setlvlnum == SL_VILEBETRAYER) { - strcpy(infostr, "Book of Vileness"); - } - } - break; - case OBJ_SWITCHSKL: - strcpy(infostr, "Skull Lever"); - break; - case OBJ_BOOK2R: - strcpy(infostr, "Mythical Book"); - break; case OBJ_SARC: strcpy(infostr, "Sarcophagus"); break; @@ -5595,14 +5593,14 @@ void __fastcall GetObjectStr(int i) case OBJ_BARRELEX: strcpy(infostr, "Barrel"); break; + case OBJ_SKELBOOK: + strcpy(infostr, "Skeleton Tome"); + break; case OBJ_SHRINEL: case OBJ_SHRINER: - sprintf(tempstr, "%s Shrine", shrinestrs[object[v1]._oVar1]); + sprintf(tempstr, "%s Shrine", shrinestrs[object[i]._oVar1]); strcpy(infostr, tempstr); break; - case OBJ_SKELBOOK: - strcpy(infostr, "Skeleton Tome"); - break; case OBJ_BOOKCASEL: case OBJ_BOOKCASER: strcpy(infostr, "Bookcase"); @@ -5644,12 +5642,12 @@ void __fastcall GetObjectStr(int i) case OBJ_TEARFTN: strcpy(infostr, "Fountain of Tears"); break; - case OBJ_STORYBOOK: - strcpy(infostr, StoryBookName[object[v1]._oVar3]); - break; case OBJ_STEELTOME: strcpy(infostr, "Steel Tome"); break; + case OBJ_STORYBOOK: + strcpy(infostr, StoryBookName[object[i]._oVar3]); + break; case OBJ_WARWEAP: case OBJ_WEAPONRACK: strcpy(infostr, "Weapon Rack"); @@ -5667,7 +5665,7 @@ void __fastcall GetObjectStr(int i) break; } if (plr[myplr]._pClass == PC_ROGUE) { - if (object[v1]._oTrapFlag) { + if (object[i]._oTrapFlag) { sprintf(tempstr, "Trapped %s", infostr); strcpy(infostr, tempstr); infoclr = COL_RED;