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 { enum ObjectID {
NULLOBJECT, INVALIDOBJECT = -1,
NULLOBJECT = 0,
KEYCARD,KNIFE,WATCH, KEYCARD,KNIFE,WATCH,
SOCKET, SOCKET,
BUTTON,HATCH1, BUTTON,HATCH1,
@ -463,7 +464,7 @@ struct Object {
Object() Object()
: _name("") : _name("")
, _description(Object::defaultDescription) , _description(Object::defaultDescription)
, _id(NULLOBJECT) , _id(INVALIDOBJECT)
, _type(NULLTYPE) , _type(NULLTYPE)
, _click(0) , _click(0)
, _click2(0) , _click2(0)

View file

@ -458,7 +458,8 @@ void GameManager::processInput() {
} }
/* normal item */ /* normal item */
else { 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; click = _currentRoom->getObject(i)->_click;
if (click != 255) { if (click != 255) {
MSNImageDecoder::ClickField *clickField = _vm->_currentImage->_clickField; MSNImageDecoder::ClickField *clickField = _vm->_currentImage->_clickField;