SUPERNOVA: Adds explicitly invalid state for Objects

This commit is contained in:
Joseph-Eugene Winzer 2017-08-26 06:51:46 +02:00 committed by Thierry Crozat
parent b948a53f2f
commit 63c62d25e1
2 changed files with 5 additions and 3 deletions

View file

@ -382,7 +382,8 @@ enum RoomID {
};
enum ObjectID {
NULLOBJECT,
INVALIDOBJECT = -1,
NULLOBJECT = 0,
KEYCARD,KNIFE,WATCH,
SOCKET,
BUTTON,HATCH1,
@ -463,7 +464,7 @@ struct Object {
Object()
: _name("")
, _description(Object::defaultDescription)
, _id(NULLOBJECT)
, _id(INVALIDOBJECT)
, _type(NULLTYPE)
, _click(0)
, _click2(0)

View file

@ -458,7 +458,8 @@ void GameManager::processInput() {
}
/* normal item */
else {
for (int i = 0; (_currentRoom->getObject(i)->_name.c_str()[0] != '\0') && (field == -1) && i < kMaxObject; i++) {
for (int i = 0; (_currentRoom->getObject(i)->_id != INVALIDOBJECT) &&
(field == -1) && i < kMaxObject; i++) {
click = _currentRoom->getObject(i)->_click;
if (click != 255) {
MSNImageDecoder::ClickField *clickField = _vm->_currentImage->_clickField;