From 7df1576544f7314658770338049fd31d63163a66 Mon Sep 17 00:00:00 2001 From: David Eriksson Date: Thu, 2 Oct 2003 06:38:58 +0000 Subject: [PATCH] Must be able to access some data here. svn-id: r10531 --- queen/logic.cpp | 20 ++++++++++++++++++-- queen/logic.h | 8 +++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/queen/logic.cpp b/queen/logic.cpp index 574dd58a4b5..1ff4cbee17d 100644 --- a/queen/logic.cpp +++ b/queen/logic.cpp @@ -49,7 +49,7 @@ void QueenLogic::initialise() { //Object data - _objectData = new uint16[_numObjects + 1][8]; + _objectData = new int16[_numObjects + 1][8]; //clear first object for (uint16 j = 0; j < 8; j++) @@ -57,7 +57,7 @@ void QueenLogic::initialise() { for (i = 1; i < (_numObjects + 1); i++) for (uint16 j = 0; j < 8; j++) { - _objectData[i][j] = READ_BE_UINT16(ptr); + _objectData[i][j] = (int16)READ_BE_UINT16(ptr); ptr += 2; } @@ -139,3 +139,19 @@ uint16 QueenLogic::currentRoom() { return _currentRoom; } +void QueenLogic::currentRoom(uint16 room) { + _currentRoom = room; +} + +int16* QueenLogic::objectData(int index) { + return _objectData[index]; +} + +uint16 QueenLogic::roomData(int room) { + return _roomData[room]; +} + +uint16 QueenLogic::objMax(int room) { + return _objMax[room]; +} + diff --git a/queen/logic.h b/queen/logic.h index 31efc727efa..d8536da5662 100644 --- a/queen/logic.h +++ b/queen/logic.h @@ -29,7 +29,13 @@ class QueenLogic { public: QueenLogic(QueenResource *resource); ~QueenLogic(); + uint16 currentRoom(); + void currentRoom(uint16 room); + + int16* objectData(int index); + uint16 roomData(int room); + uint16 objMax(int room); protected: uint8 *_jas; @@ -50,7 +56,7 @@ protected: uint16 (*_objectBox)[4]; uint16 (*_itemData)[5]; uint16 (*_graphicData)[5]; - uint16 (*_objectData)[8]; + int16 (*_objectData)[8]; uint16 (*_actorData)[12]; uint16 (*_area)[11][8];