Browse Source

Clean up control_press_enter.

pull/124/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
4c5748a0c5
  1. 51
      Source/control.cpp

51
Source/control.cpp

@ -1,6 +1,6 @@
#include "diablo.h"
char sgbNextTalkSave; // weak
BYTE sgbNextTalkSave;
BYTE sgbTalkSavePos;
BYTE *pDurIcons;
BYTE *pChrButtons;
@ -2573,7 +2573,7 @@ void control_release_talk_btn()
}
}
void control_reset_talk_msg()
void control_reset_talk_msg(char* msg)
{
int i, pmask;
pmask = 0;
@ -2669,43 +2669,32 @@ BOOL control_presskeys(int vkey)
void control_press_enter()
{
signed int v0; // esi
char(*v1)[80]; // ebp
char v2; // al
int v3; // ecx
char *v4; // ebp
int i;
BYTE talk_save;
if (sgszTalkMsg[0]) {
control_reset_talk_msg();
v0 = 0;
v1 = sgszTalkSave;
do {
if (!strcmp((const char *)v1, sgszTalkMsg))
control_reset_talk_msg(sgszTalkMsg);
for (i = 0; i < 8; i++) {
if (!strcmp(sgszTalkSave[i], sgszTalkMsg))
break;
++v1;
++v0;
} while ((signed int)v1 < (signed int)&sgszTalkSave[8]);
if (v0 < 8) {
v2 = sgbNextTalkSave;
v3 = (sgbNextTalkSave - 1) & 7;
if (v0 != v3) {
v4 = sgszTalkSave[v3];
strcpy(sgszTalkSave[v0], sgszTalkSave[v3]);
strcpy(v4, sgszTalkMsg);
v2 = sgbNextTalkSave;
}
}
if (i >= 8) {
strcpy(sgszTalkSave[sgbNextTalkSave], sgszTalkMsg);
sgbNextTalkSave = sgbNextTalkSave + 1;
sgbNextTalkSave &= 7;
} else {
strcpy(sgszTalkSave[(unsigned char)sgbNextTalkSave], sgszTalkMsg);
v2 = (sgbNextTalkSave + 1) & 7;
sgbNextTalkSave = (sgbNextTalkSave + 1) & 7;
talk_save = sgbNextTalkSave - 1;
talk_save &= 7;
if (i != talk_save) {
strcpy(sgszTalkSave[i], sgszTalkSave[talk_save]);
strcpy(sgszTalkSave[talk_save], sgszTalkMsg);
}
}
sgszTalkMsg[0] = 0;
sgbTalkSavePos = v2;
sgszTalkMsg[0] = '\0';
sgbTalkSavePos = sgbNextTalkSave;
}
control_reset_talk();
}
// 4B84CC: using guessed type char sgbNextTalkSave;
// 4B84CD: using guessed type char sgbTalkSavePos;
void control_up_down(int v)
{

Loading…
Cancel
Save