From b3d35e643d0df584c362f30273d13c104503f104 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 15 Oct 2018 22:14:49 +0200 Subject: [PATCH] Clean up InitDiabloMsg --- Source/error.cpp | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/Source/error.cpp b/Source/error.cpp index aab56c54b..467d62ae5 100644 --- a/Source/error.cpp +++ b/Source/error.cpp @@ -9,7 +9,7 @@ char msgcnt; // weak char *MsgStrings[44] = { - &empty_string, + "", "No automap available in town", "No multiplayer functions in demo", "Direct Sound Creation Failed", @@ -57,30 +57,17 @@ char *MsgStrings[44] = void __fastcall InitDiabloMsg(char e) { - int i; // edx - bool v2; // sf - unsigned char v3; // of - - i = 0; - if ( msgcnt <= 0 ) - { -LABEL_4: - v3 = __OFSUB__(msgcnt, 80); - v2 = (char)(msgcnt - 80) < 0; - msgtable[msgcnt] = e; - if ( v2 ^ v3 ) - ++msgcnt; - msgdelay = 70; - msgflag = msgtable[0]; - } - else - { - while ( msgtable[i] != e ) - { - if ( ++i >= msgcnt ) - goto LABEL_4; - } + for ( int i = 0; i < msgcnt; i++ ) { + if ( msgtable[i] == e ) + return; } + + msgtable[msgcnt] = e; + if ( msgcnt < (BYTE)sizeof(msgtable) ) + msgcnt++; + + msgflag = msgtable[0]; + msgdelay = 70; } // 52B9F0: using guessed type char msgdelay; // 52B9F1: using guessed type char msgflag;