KYRA: (EOB) - fix invalid string access in EOB 1

(when entering the memorize/pray menu without having a mage/cleric)
This commit is contained in:
athrxx 2011-12-27 21:50:07 +01:00
parent e6b6099d54
commit a35550d200
2 changed files with 7 additions and 4 deletions

View File

@ -1059,6 +1059,9 @@ int EoBCoreEngine::countCharactersWithSpecificItems(int16 itemType, int16 itemVa
}
int EoBCoreEngine::checkInventoryForItem(int character, int16 itemType, int16 itemValue) {
if (character < 0 )
return -1;
for (int i = 0; i < 27; i++) {
uint16 inv = _characters[character].inventory[i];
if (!inv)

View File

@ -3543,7 +3543,7 @@ int GUI_EoB::selectCharacterDialogue(int id) {
_vm->removeInputTop();
_charSelectRedraw = false;
bool abort = false;
bool starvedUnconscious = false;
int count = 0;
int result = -1;
int found[6];
@ -3558,7 +3558,7 @@ int GUI_EoB::selectCharacterDialogue(int id) {
continue;
if (id != 53 && (!_vm->_characters[i].food || !_vm->testCharacter(i, 4))) {
abort = true;
starvedUnconscious = true;
} else {
found[i] = 0;
result = i;
@ -3569,9 +3569,9 @@ int GUI_EoB::selectCharacterDialogue(int id) {
if (!count) {
int eid = 0;
if (id == 23)
eid = abort ? 28 : 72;
eid = (starvedUnconscious || _vm->game() == GI_EOB1) ? 28 : 72;
else if (id == 26)
eid = abort ? 27 : 73;
eid = (starvedUnconscious || _vm->game() == GI_EOB1) ? 27 : 73;
else if (id == 49)
eid = 52;