Browse Source

Clean up InitControlPan (#1001)

pull/287/head^2
Anders Jenbo 7 years ago committed by GitHub
parent
commit
0a2b767b28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 88
      Source/control.cpp
  2. 8
      Source/control.h

88
Source/control.cpp

@ -6,8 +6,8 @@ void *pDurIcons;
void *pChrButtons;
BOOL drawhpflag; // idb
BOOL dropGoldFlag;
int panbtn[8];
BOOL chrbtn[4];
WORD panbtn[8];
WORD chrbtn[4];
void *pMultiBtns;
void *pPanelButtons;
void *pChrPanel;
@ -18,14 +18,14 @@ BOOL drawmanaflag; // idb
BOOL chrbtnactive;
char sgszTalkMsg[MAX_SEND_STR_LEN];
BYTE *pPanelText;
int frame_4B8800; // idb
int nGoldFrame;
BYTE *pLifeBuff;
BYTE *pBtmBuff;
void *pTalkBtns;
int pstrjust[4];
int pnumlines; // idb
BOOL pinfoflag;
int talkbtndown[3];
WORD talkbtndown[3];
int pSpell; // weak
BYTE *pManaBuff;
char infoclr; // weak
@ -1176,64 +1176,58 @@ void UpdateManaFlask()
void InitControlPan()
{
size_t v0; // esi
void *v1; // ecx
void *v2; // ecx
void *v3; // ecx
unsigned char *v5; // eax
v0 = 144 * 640;
if (gbMaxPlayers != 1)
v0 = 288 * 640;
pBtmBuff = DiabloAllocPtr(v0);
memset(pBtmBuff, 0, v0);
pManaBuff = DiabloAllocPtr(0x1E40);
memset(pManaBuff, 0, 0x1E40);
pLifeBuff = DiabloAllocPtr(0x1E40);
memset(pLifeBuff, 0, 0x1E40);
int i;
if (gbMaxPlayers == 1) {
pBtmBuff = DiabloAllocPtr(144 * 640);
memset(pBtmBuff, 0, 144 * 640);
} else {
pBtmBuff = DiabloAllocPtr(288 * 640);
memset(pBtmBuff, 0, 288 * 640);
}
pManaBuff = DiabloAllocPtr(88 * 88);
memset(pManaBuff, 0, 88 * 88);
pLifeBuff = DiabloAllocPtr(88 * 88);
memset(pLifeBuff, 0, 88 * 88);
pPanelText = LoadFileInMem("CtrlPan\\SmalText.CEL", 0);
pChrPanel = LoadFileInMem("Data\\Char.CEL", 0);
pSpellCels = LoadFileInMem("CtrlPan\\SpelIcon.CEL", 0);
SetSpellTrans(RSPLTYPE_SKILL);
pStatusPanel = LoadFileInMem("CtrlPan\\Panel8.CEL", 0);
CelDecodeRect((BYTE *)pBtmBuff, 0, 143, 640, (BYTE *)pStatusPanel, 1, 640);
v1 = pStatusPanel;
pStatusPanel = 0;
mem_free_dbg(v1);
MemFreeDbg(pStatusPanel);
pStatusPanel = LoadFileInMem("CtrlPan\\P8Bulbs.CEL", 0);
CelDecodeRect((BYTE *)pLifeBuff, 0, 87, 88, (BYTE *)pStatusPanel, 1, 88);
CelDecodeRect((BYTE *)pManaBuff, 0, 87, 88, (BYTE *)pStatusPanel, 2, 88);
v2 = pStatusPanel;
pStatusPanel = 0;
mem_free_dbg(v2);
MemFreeDbg(pStatusPanel);
talkflag = 0;
if (gbMaxPlayers != 1) {
pTalkPanel = LoadFileInMem("CtrlPan\\TalkPanl.CEL", 0);
CelDecodeRect((BYTE *)pBtmBuff, 0, 287, 640, (BYTE *)pTalkPanel, 1, 640);
v3 = pTalkPanel;
pTalkPanel = 0;
mem_free_dbg(v3);
MemFreeDbg(pTalkPanel);
pMultiBtns = LoadFileInMem("CtrlPan\\P8But2.CEL", 0);
pTalkBtns = LoadFileInMem("CtrlPan\\TalkButt.CEL", 0);
sgbPlrTalkTbl = 0;
*(_DWORD *)byte_4B894C = 0x1010101;
talkbtndown[0] = 0;
talkbtndown[1] = 0;
sgszTalkMsg[0] = 0;
talkbtndown[2] = 0;
for (i = 0; i < sizeof(byte_4B894C); i++)
byte_4B894C[i] = 1;
for (i = 0; i < sizeof(talkbtndown); i++)
talkbtndown[i] = 0;
}
panelflag = 0;
lvlbtndown = 0;
pPanelButtons = LoadFileInMem("CtrlPan\\Panel8bu.CEL", 0);
memset(panbtn, 0, sizeof(panbtn));
for (i = 0; i < sizeof(panbtn); i++)
panbtn[i] = 0;
panbtndown = 0;
numpanbtns = 2 * (gbMaxPlayers != 1) + 6;
if (gbMaxPlayers == 1)
numpanbtns = 6;
else
numpanbtns = 8;
pChrButtons = LoadFileInMem("Data\\CharBut.CEL", 0);
chrbtn[0] = 0;
chrbtn[1] = 0;
chrbtn[2] = 0;
for (i = 0; i < sizeof(chrbtn); i++)
chrbtn[i] = 0;
chrbtnactive = FALSE;
chrbtn[3] = 0;
pDurIcons = LoadFileInMem("Items\\DurIcons.CEL", 0);
strcpy(infostr, "");
ClearPanel();
@ -1254,23 +1248,13 @@ void InitControlPan()
SpellPages[0][0] = SPL_RECHARGE;
}
pQLogCel = LoadFileInMem("Data\\Quest.CEL", 0);
v5 = LoadFileInMem("CtrlPan\\Golddrop.cel", 0);
frame_4B8800 = 1;
pGBoxBuff = LoadFileInMem("CtrlPan\\Golddrop.cel", 0);
dropGoldFlag = FALSE;
dropGoldValue = 0;
initialDropGoldValue = 0;
initialDropGoldIndex = 0;
pGBoxBuff = v5;
nGoldFrame = 1;
}
// 4B851C: using guessed type int lvlbtndown;
// 4B8840: using guessed type int sgbPlrTalkTbl;
// 4B8950: using guessed type int sbooktab;
// 4B8960: using guessed type int talkflag;
// 4B8968: using guessed type int sbookflag;
// 4B8A7C: using guessed type int numpanbtns;
// 4B8B84: using guessed type int panelflag;
// 4B8C98: using guessed type int spselflag;
// 679660: using guessed type char gbMaxPlayers;
void ClearCtrlPan()
{
@ -2580,8 +2564,8 @@ void DrawGoldSplit(int amount)
}
screen_xa = screen_x + 452;
}
CelDecodeOnly(screen_xa, 300, (BYTE *)pCelBuff, frame_4B8800, 12);
frame_4B8800 = (frame_4B8800 & 7) + 1;
CelDecodeOnly(screen_xa, 300, (BYTE *)pCelBuff, nGoldFrame, 12);
nGoldFrame = (nGoldFrame & 7) + 1;
}
void control_drop_gold(char vkey)

8
Source/control.h

@ -6,8 +6,8 @@ extern void *pDurIcons;
extern void *pChrButtons;
extern BOOL drawhpflag; // idb
extern BOOL dropGoldFlag;
extern int panbtn[8];
extern BOOL chrbtn[4];
extern WORD panbtn[8];
extern WORD chrbtn[4];
extern void *pMultiBtns;
extern void *pPanelButtons;
extern void *pChrPanel;
@ -16,14 +16,14 @@ extern int dropGoldValue; // idb
extern BOOL drawmanaflag; // idb
extern BOOL chrbtnactive;
extern BYTE *pPanelText;
extern int frame_4B8800; // idb
extern int nGoldFrame;
extern BYTE *pLifeBuff;
extern BYTE *pBtmBuff;
extern void *pTalkBtns;
extern int pstrjust[4];
extern int pnumlines; // idb
extern BOOL pinfoflag;
extern int talkbtndown[3];
extern WORD talkbtndown[3];
extern int pSpell; // weak
extern BYTE *pManaBuff;
extern char infoclr; // weak

Loading…
Cancel
Save