From 36ed0b1d3c662743f638fc7c9275f6952542c23d Mon Sep 17 00:00:00 2001 From: Joost Peters Date: Sun, 5 Oct 2003 16:07:07 +0000 Subject: renamed classes (we have our own namespace now) + fixed segfault in logic svn-id: r10618 --- queen/cutaway.cpp | 128 ++++++++++++++++++++++++++-------------------------- queen/cutaway.h | 26 +++++------ queen/graphics.cpp | 39 ++++++++-------- queen/graphics.h | 8 ++-- queen/logic.cpp | 62 ++++++++++++------------- queen/logic.h | 12 ++--- queen/module.mk | 2 +- queen/queen.cpp | 10 ++-- queen/queen.h | 6 +-- queen/resource.cpp | 19 ++++---- queen/resource.h | 6 +-- queen/restables.cpp | 8 ++-- queen/version.cpp | 8 ++-- 13 files changed, 167 insertions(+), 167 deletions(-) (limited to 'queen') diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp index a79e0c74b2..319b2e4f76 100644 --- a/queen/cutaway.cpp +++ b/queen/cutaway.cpp @@ -54,37 +54,37 @@ namespace Queen { */ -void QueenCutaway::run( +void Cutaway::run( const char *filename, char *nextFilename, - QueenLogic *queenLogic, - QueenResource *queenResource) { - QueenCutaway *cutaway = new QueenCutaway(filename, queenLogic, queenResource); + Logic *logic, + Resource *resource) { + Cutaway *cutaway = new Cutaway(filename, logic, resource); cutaway->run(nextFilename); delete cutaway; } -QueenCutaway::QueenCutaway( +Cutaway::Cutaway( const char *filename, - QueenLogic *queenLogic, - QueenResource *queenResource) -: _queenLogic(queenLogic), _quit(false), _lastSong(0), _songBeforeComic(0) { + Logic *logic, + Resource *resource) +: _logic(logic), _quit(false), _lastSong(0), _songBeforeComic(0) { // XXX should not create this object ourselves - _queenGraphics = new QueenGraphics(queenResource); + _graphics = new Graphics(resource); memset(&_bankNames, 0, sizeof(_bankNames)); - load(filename, queenResource); + load(filename, resource); } -QueenCutaway::~QueenCutaway() { +Cutaway::~Cutaway() { // XXX only delete this if we created it - delete _queenGraphics; + delete _graphics; delete[] _fileData; } -void QueenCutaway::load(const char *filename, QueenResource *queenResource) { +void Cutaway::load(const char *filename, Resource *resource) { byte *ptr; - ptr = _fileData = queenResource->loadFile(filename, 20); + ptr = _fileData = resource->loadFile(filename, 20); if (!_fileData) { error("Failed to load resource data file '%s'", filename); _quit = true; @@ -145,7 +145,7 @@ void QueenCutaway::load(const char *filename, QueenResource *queenResource) { if (_bankNames[0][0]) { debug(0, "Loading bank '%s'", _bankNames[0]); - _queenGraphics->bankLoad(_bankNames[0], CUTAWAY_BANK); + _graphics->bankLoad(_bankNames[0], CUTAWAY_BANK); } char entryString[MAX_STRING_SIZE]; @@ -173,7 +173,7 @@ void QueenCutaway::load(const char *filename, QueenResource *queenResource) { } -byte *QueenCutaway::getString(byte *ptr, char *str, int maxLength) { +byte *Cutaway::getString(byte *ptr, char *str, int maxLength) { int length = *ptr; ptr++; @@ -194,7 +194,7 @@ byte *QueenCutaway::getString(byte *ptr, char *str, int maxLength) { return ptr; } -void QueenCutaway::loadStrings(byte *ptr) { +void Cutaway::loadStrings(byte *ptr) { int i,j; int bankNameCount = READ_BE_UINT16(ptr); @@ -225,7 +225,7 @@ void QueenCutaway::loadStrings(byte *ptr) { debug(0, "TALKTO = %i", TALKTO); } -byte *QueenCutaway::getCutawayObject(byte *ptr, CutawayObject &object) +byte *Cutaway::getCutawayObject(byte *ptr, CutawayObject &object) { byte *oldPtr = ptr; @@ -259,7 +259,7 @@ byte *QueenCutaway::getCutawayObject(byte *ptr, CutawayObject &object) return ptr; } -void QueenCutaway::dumpCutawayObject(int index, CutawayObject &object) +void Cutaway::dumpCutawayObject(int index, CutawayObject &object) { debug(0, "----- CutawayObject[%i] -----", index); @@ -293,7 +293,7 @@ void QueenCutaway::dumpCutawayObject(int index, CutawayObject &object) } -void QueenCutaway::actionSpecialMove(int index) { +void Cutaway::actionSpecialMove(int index) { // switch (index) { // default: @@ -302,13 +302,13 @@ void QueenCutaway::actionSpecialMove(int index) { // } } -byte *QueenCutaway::turnOnPeople(byte *ptr, CutawayObject &object) { +byte *Cutaway::turnOnPeople(byte *ptr, CutawayObject &object) { // Lines 1248-1259 in cutaway.c object.personCount = (int16)READ_BE_UINT16(ptr); ptr += 2; if (object.personCount > MAX_PERSON_COUNT) - error("[QueenCutaway::turnOnPeople] object.personCount > MAX_PERSON_COUNT"); + error("[Cutaway::turnOnPeople] object.personCount > MAX_PERSON_COUNT"); for (int i = 0; i < object.personCount; i++) { object.person[i] = (int16)READ_BE_UINT16(ptr); @@ -319,7 +319,7 @@ byte *QueenCutaway::turnOnPeople(byte *ptr, CutawayObject &object) { return ptr; } -void QueenCutaway::limitBob(CutawayObject &object) { +void Cutaway::limitBob(CutawayObject &object) { if (object.limitBobX1) { if (object.objectNumber < 0) { @@ -328,7 +328,7 @@ void QueenCutaway::limitBob(CutawayObject &object) { } BobSlot *bob = - _queenGraphics->bob( _queenLogic->findBob(object.objectNumber) ); + _graphics->bob( _logic->findBob(object.objectNumber) ); if (!bob) { warning("Failed to find bob"); @@ -342,27 +342,27 @@ void QueenCutaway::limitBob(CutawayObject &object) { } } -void QueenCutaway::restorePersonData() { +void Cutaway::restorePersonData() { for (int i = 0; i < _personDataCount; i++) { int index = _personData[i].index; - ObjectData *objectData = _queenLogic->objectData(index); + ObjectData *objectData = _logic->objectData(index); objectData->name = _personData[i].name; objectData->image = _personData[i].image; } } -void QueenCutaway::changeRooms(CutawayObject &object) { +void Cutaway::changeRooms(CutawayObject &object) { // Lines 1291-1385 in cutaway.c restorePersonData(); _personDataCount = 0; if (_finalRoom != object.room) { - int firstObjectInRoom = _queenLogic->roomData(object.room) + 1; - int lastObjectInRoom = _queenLogic->roomData(object.room) + 0; // XXX _queenLogic->objMax(object.room); + int firstObjectInRoom = _logic->roomData(object.room) + 1; + int lastObjectInRoom = _logic->roomData(object.room) + 0; // XXX _logic->objMax(object.room); for (int i = firstObjectInRoom; i <= lastObjectInRoom; i++) { - ObjectData *objectData = _queenLogic->objectData(i); + ObjectData *objectData = _logic->objectData(i); if (objectData->image == -3 || objectData->image == -4) { @@ -435,7 +435,7 @@ void QueenCutaway::changeRooms(CutawayObject &object) { } -QueenCutaway::ObjectType QueenCutaway::getObjectType(CutawayObject &object) { +Cutaway::ObjectType Cutaway::getObjectType(CutawayObject &object) { // Lines 1387-1449 in cutaway.c ObjectType objectType = OBJECT_TYPE_ANIMATION; @@ -443,7 +443,7 @@ QueenCutaway::ObjectType QueenCutaway::getObjectType(CutawayObject &object) { if (object.objectNumber > 0) { if (!object.animList) { // No anim frames, so treat as a PERSON, ie. allow to speak/walk - ObjectData *objectData = _queenLogic->objectData(object.objectNumber); + ObjectData *objectData = _logic->objectData(object.objectNumber); if (objectData->image == -3 || objectData->image == -4) objectType = OBJECT_TYPE_PERSON; } @@ -464,7 +464,7 @@ QueenCutaway::ObjectType QueenCutaway::getObjectType(CutawayObject &object) { } else { // Same object, so just turn it on! - ObjectData *objectData = _queenLogic->objectData(object.objectNumber); + ObjectData *objectData = _logic->objectData(object.objectNumber); objectData->name = abs(objectData->name); } // XXX REDISP_OBJECT(OBJECT); @@ -496,7 +496,7 @@ QueenCutaway::ObjectType QueenCutaway::getObjectType(CutawayObject &object) { return objectType; } -byte *QueenCutaway::getCutawayAnim(byte *ptr, int header, CutawayAnim &anim) { +byte *Cutaway::getCutawayAnim(byte *ptr, int header, CutawayAnim &anim) { anim.currentFrame = 0; anim.originalFrame = 0; @@ -514,16 +514,16 @@ byte *QueenCutaway::getCutawayAnim(byte *ptr, int header, CutawayAnim &anim) { #endif } else { - warning("Stuff not yet implemented in QueenCutaway::handleAnimation()"); + warning("Stuff not yet implemented in Cutaway::handleAnimation()"); - anim.object = _queenLogic->findBob(header); + anim.object = _logic->findBob(header); // If fullscreen cutaway then clip to 199 down // 21/9/94, Make sure that bobs are clipped on 150 screens // XXX if(COMPANEL==2 && OBJ_CUT[6]<=0 && BDyres==200) bobs[Param].y2=199; - anim.originalFrame = _queenLogic->findFrame(header); + anim.originalFrame = _logic->findFrame(header); } anim.unpackFrame = (int16)READ_BE_UINT16(ptr); @@ -560,7 +560,7 @@ byte *QueenCutaway::getCutawayAnim(byte *ptr, int header, CutawayAnim &anim) { return ptr; } -void QueenCutaway::dumpCutawayAnim(CutawayAnim &anim) { +void Cutaway::dumpCutawayAnim(CutawayAnim &anim) { debug(0, "----- CutawayAnim -----"); if (anim.object) debug(0, "object = %i", anim.object); if (anim.unpackFrame) debug(0, "unpackFrame = %i", anim.unpackFrame); @@ -576,7 +576,7 @@ void QueenCutaway::dumpCutawayAnim(CutawayAnim &anim) { if (anim.song) debug(0, "song = %i", anim.song); } -byte *QueenCutaway::handleAnimation(byte *ptr, CutawayObject &object) { +byte *Cutaway::handleAnimation(byte *ptr, CutawayObject &object) { int frameCount = 0; int header = 0; @@ -621,7 +621,7 @@ byte *QueenCutaway::handleAnimation(byte *ptr, CutawayObject &object) { return ptr; } -void QueenCutaway::handlePersonRecord( +void Cutaway::handlePersonRecord( int index, CutawayObject &object, const char *sentence) { @@ -693,12 +693,12 @@ void QueenCutaway::handlePersonRecord( return; } -void QueenCutaway::run(char *nextFilename) { +void Cutaway::run(char *nextFilename) { nextFilename[0] = '\0'; byte *ptr = _objectData; - _initialRoom = _temporaryRoom = _queenLogic->currentRoom(); + _initialRoom = _temporaryRoom = _logic->currentRoom(); // XXX if(COMPANEL==0 || COMPANEL==2) SCENE_START(0); @@ -719,11 +719,11 @@ void QueenCutaway::run(char *nextFilename) { if (CURRENT_ROOM == object.room) { // Get current room - object.room = _queenLogic->currentRoom(); + object.room = _logic->currentRoom(); } else { // Change current room - _queenLogic->currentRoom(object.room); + _logic->currentRoom(object.room); } ptr = turnOnPeople(ptr, object); @@ -794,7 +794,7 @@ void QueenCutaway::run(char *nextFilename) { updateGameState(); - _queenGraphics->bankErase(CUTAWAY_BANK); + _graphics->bankErase(CUTAWAY_BANK); talk(nextFilename); @@ -821,14 +821,14 @@ void QueenCutaway::run(char *nextFilename) { /* XXX playsong(_lastSong) */ ; } -void QueenCutaway::objectCopy(int dummyObjectIndex, int realObjectIndex) { +void Cutaway::objectCopy(int dummyObjectIndex, int realObjectIndex) { // P3_COPY_FROM function in cutaway.c /* Copy data from Dummy (D) object to object (K) If COPY_FROM Object images are greater than COPY_TO Object images then swap the objects around. */ - ObjectData *dummyObject = _queenLogic->objectData(dummyObjectIndex); - ObjectData *realObject = _queenLogic->objectData(realObjectIndex); + ObjectData *dummyObject = _logic->objectData(dummyObjectIndex); + ObjectData *realObject = _logic->objectData(realObjectIndex); int fromState = (dummyObject->name < 0) ? -1 : 0; @@ -867,8 +867,8 @@ void QueenCutaway::objectCopy(int dummyObjectIndex, int realObjectIndex) { // Make sure that WALK_OFF_DATA is copied too! - for (int i = 1; i <= _queenLogic->walkOffCount(); i++) { - uint16* walkOffData = _queenLogic->walkOffData(i); + for (int i = 1; i <= _logic->walkOffCount(); i++) { + uint16* walkOffData = _logic->walkOffData(i); if (walkOffData[0] == dummyObjectIndex) { walkOffData[0] = realObjectIndex; break; @@ -877,7 +877,7 @@ void QueenCutaway::objectCopy(int dummyObjectIndex, int realObjectIndex) { } -void QueenCutaway::goToFinalRoom() { +void Cutaway::goToFinalRoom() { // Lines 1901-2032 in cutaway.c byte *ptr = _gameStatePtr; @@ -900,8 +900,8 @@ void QueenCutaway::goToFinalRoom() { // JX = joeX; // JY = joeY; - _queenLogic->currentRoom(joeRoom); - _queenLogic->oldRoom(_initialRoom); + _logic->currentRoom(joeRoom); + _logic->oldRoom(_initialRoom); // XXX DISP_ROOM(ROOM_NAMEstr[ROOM],3,0); } @@ -926,13 +926,13 @@ void QueenCutaway::goToFinalRoom() { int16 room = (int16)READ_BE_UINT16(ptr); ptr += 2; /*int16 frame = (int16)READ_BE_UINT16(ptr);*/ ptr += 2; - // XXX int bob = _queenLogic->findBob(objectIndex); + // XXX int bob = _logic->findBob(objectIndex); if (from > 0) { // XXX } - ObjectData *objectData = _queenLogic->objectData(objectIndex); + ObjectData *objectData = _logic->objectData(objectIndex); if (objectData->room == room) { // XXX @@ -958,7 +958,7 @@ void QueenCutaway::goToFinalRoom() { } } -void QueenCutaway::updateGameState() { +void Cutaway::updateGameState() { // Lines 2047-2115 in cutaway.c byte *ptr = _gameStatePtr; @@ -975,11 +975,11 @@ void QueenCutaway::updateGameState() { bool update = false; if (stateIndex > 0) { - if(_queenLogic->gameState(stateIndex) == stateValue) + if(_logic->gameState(stateIndex) == stateValue) update = true; } else { - _queenLogic->gameState(abs(stateIndex), stateValue); + _logic->gameState(abs(stateIndex), stateValue); update = true; } @@ -988,7 +988,7 @@ void QueenCutaway::updateGameState() { // Show or hide an object if (objectIndex > 0) { // Show the object - ObjectData *objectData = _queenLogic->objectData(objectIndex); + ObjectData *objectData = _logic->objectData(objectIndex); objectData->name = abs(objectData->name); if (fromObject > 0) objectCopy(fromObject, objectIndex); @@ -996,7 +996,7 @@ void QueenCutaway::updateGameState() { } else if (objectIndex < 0) { // Hide the object objectIndex = -objectIndex; - ObjectData *objectData = _queenLogic->objectData(objectIndex); + ObjectData *objectData = _logic->objectData(objectIndex); objectData->name = -abs(objectData->name); // XXX REDISP_OBJECT(objectIndex); } @@ -1006,11 +1006,11 @@ void QueenCutaway::updateGameState() { // Turn area on or off if (areaSubIndex > 0) { - int16* area = _queenLogic->area(areaIndex, areaSubIndex); + int16* area = _logic->area(areaIndex, areaSubIndex); area[0] = abs(area[0]); } else { - int16* area = _queenLogic->area(areaIndex, abs(areaSubIndex)); + int16* area = _logic->area(areaIndex, abs(areaSubIndex)); area[0] = -abs(area[0]); } } @@ -1029,11 +1029,11 @@ static char *right(char *str, int count) { return str + length - count; } -void QueenCutaway::talk(char *nextFilename) { +void Cutaway::talk(char *nextFilename) { // Lines 2119-2131 in cutaway.c if (0 == scumm_stricmp(right(_talkFile, 4), ".dog")) { - warning("QueenCutaway::talk() needed but not yet implemented"); + warning("Cutaway::talk() needed but not yet implemented"); nextFilename[0] = '\0'; } } diff --git a/queen/cutaway.h b/queen/cutaway.h index 38473e8589..94e3dd4c5e 100644 --- a/queen/cutaway.h +++ b/queen/cutaway.h @@ -26,18 +26,18 @@ namespace Queen { -class QueenResource; -class QueenLogic; -class QueenGraphics; +class Resource; +class Logic; +class Graphics; -class QueenCutaway { +class Cutaway { public: //! Public interface to run a cutaway from a file static void run( const char *filename, char *nextFilename, - QueenLogic *queenLogic, - QueenResource *queenResource); + Logic *logic, + Resource *resource); private: //! Collection of constants used by QueenCutaway enum { @@ -120,8 +120,8 @@ class QueenCutaway { int16 image; }; - QueenLogic *_queenLogic; - QueenGraphics *_queenGraphics; + Logic *_logic; + Graphics *_graphics; //! Raw .cut file data (without 20 byte header) byte *_fileData; @@ -178,17 +178,17 @@ class QueenCutaway { int16 _songBeforeComic; - QueenCutaway( + Cutaway( const char *filename, - QueenLogic *queenLogic, - QueenResource *queenResource); - ~QueenCutaway(); + Logic *logic, + Resource *resource); + ~Cutaway(); //! Run this cutaway object void run(char *nextFilename); //! Load cutaway data from file - void load(const char *filename, QueenResource *queenResource); + void load(const char *filename, Resource *resource); //! Used by load to read string data void loadStrings(byte *ptr); diff --git a/queen/graphics.cpp b/queen/graphics.cpp index bd185cadc2..4ca20fb05d 100644 --- a/queen/graphics.cpp +++ b/queen/graphics.cpp @@ -23,7 +23,7 @@ namespace Queen { -QueenGraphics::QueenGraphics(QueenResource *resource) +Graphics::Graphics(Resource *resource) :_resource(resource) { memset(_frames, 0, sizeof(_frames)); @@ -34,7 +34,7 @@ QueenGraphics::QueenGraphics(QueenResource *resource) } -QueenGraphics::~QueenGraphics() { +Graphics::~Graphics() { uint32 i; for(i = 0; i < ARRAYSIZE(_banks); ++i) { delete _banks[i].data; @@ -44,7 +44,7 @@ QueenGraphics::~QueenGraphics() { } -void QueenGraphics::bankLoad(const char *bankname, uint32 bankslot) { +void Graphics::bankLoad(const char *bankname, uint32 bankslot) { int16 i; @@ -72,7 +72,7 @@ void QueenGraphics::bankLoad(const char *bankname, uint32 bankslot) { } -void QueenGraphics::bankUnpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) { +void Graphics::bankUnpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) { uint8 *p = _banks[bankslot].data + _banks[bankslot].indexes[srcframe]; @@ -92,7 +92,7 @@ void QueenGraphics::bankUnpack(uint32 srcframe, uint32 dstframe, uint32 bankslot } -void QueenGraphics::bankOverpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) { +void Graphics::bankOverpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) { uint8 *p = _banks[bankslot].data + _banks[bankslot].indexes[srcframe]; uint16 src_w = READ_LE_UINT16(p + 0); @@ -111,7 +111,7 @@ void QueenGraphics::bankOverpack(uint32 srcframe, uint32 dstframe, uint32 banksl } -void QueenGraphics::bankErase(uint32 bankslot) { +void Graphics::bankErase(uint32 bankslot) { delete[] _banks[bankslot].data; _banks[bankslot].data = 0; @@ -120,7 +120,7 @@ void QueenGraphics::bankErase(uint32 bankslot) { } -void QueenGraphics::bobAnimString(uint32 bobnum, uint8* animBuf) { +void Graphics::bobAnimString(uint32 bobnum, uint8* animBuf) { BobSlot *pbs = &_bobs[bobnum]; pbs->active = true; @@ -132,7 +132,7 @@ void QueenGraphics::bobAnimString(uint32 bobnum, uint8* animBuf) { } -void QueenGraphics::bobAnimNormal(uint32 bobnum, uint16 firstFrame, uint16 lastFrame, uint16 speed, bool rebound, bool xflip) { +void Graphics::bobAnimNormal(uint32 bobnum, uint16 firstFrame, uint16 lastFrame, uint16 speed, bool rebound, bool xflip) { BobSlot *pbs = &_bobs[bobnum]; pbs->active = true; @@ -149,7 +149,7 @@ void QueenGraphics::bobAnimNormal(uint32 bobnum, uint16 firstFrame, uint16 lastF } -void QueenGraphics::bobMove(uint32 bobnum, uint16 endx, uint16 endy, int16 speed) { +void Graphics::bobMove(uint32 bobnum, uint16 endx, uint16 endy, int16 speed) { BobSlot *pbs = &_bobs[bobnum]; @@ -273,7 +273,7 @@ void BobSlot::animOneStep() { } -void QueenGraphics::bobDraw(uint32 bobnum, uint16 x, uint16 y, uint16 scale, bool xflip, const Box& box) { +void Graphics::bobDraw(uint32 bobnum, uint16 x, uint16 y, uint16 scale, bool xflip, const Box& box) { uint16 w, h; uint8 *src; @@ -333,7 +333,7 @@ void QueenGraphics::bobDraw(uint32 bobnum, uint16 x, uint16 y, uint16 scale, boo } -void QueenGraphics::bobDrawInventoryItem(uint32 bobnum, uint16 x, uint16 y) { +void Graphics::bobDrawInventoryItem(uint32 bobnum, uint16 x, uint16 y) { if (bobnum == 0) { // clear panel area // _display->clear(panel, x, y, 32, 32, INK_BG_PANEL); @@ -345,7 +345,7 @@ void QueenGraphics::bobDrawInventoryItem(uint32 bobnum, uint16 x, uint16 y) { } -void QueenGraphics::bobPaste(uint32 bobnum, uint16 x, uint16 y) { +void Graphics::bobPaste(uint32 bobnum, uint16 x, uint16 y) { // BobFrame *pbf = &_frames[bobnum]; // _display->blit(backdrop, x, y, 640, pbf->data, pbf->width, pbf->height, pbf->width, false, true); @@ -353,7 +353,7 @@ void QueenGraphics::bobPaste(uint32 bobnum, uint16 x, uint16 y) { } -void QueenGraphics::bobShrink(const BobFrame* pbf, uint16 percentage) { +void Graphics::bobShrink(const BobFrame* pbf, uint16 percentage) { // computing new size, rounding to upper value uint16 new_w = (pbf->width * percentage + 50) / 100; @@ -398,7 +398,7 @@ void QueenGraphics::bobShrink(const BobFrame* pbf, uint16 percentage) { } -void QueenGraphics::bobClear(uint32 bobnum) { +void Graphics::bobClear(uint32 bobnum) { BobSlot *pbs = &_bobs[bobnum]; @@ -414,7 +414,7 @@ void QueenGraphics::bobClear(uint32 bobnum) { } -void QueenGraphics::bobSortAll() { +void Graphics::bobSortAll() { int32 _sorted = 0; @@ -455,7 +455,7 @@ void QueenGraphics::bobSortAll() { } -void QueenGraphics::bobDrawAll() { +void Graphics::bobDrawAll() { for (BobSlot *pbs = _sortedBobs[0]; pbs; ++pbs) { if (pbs->active) { @@ -486,14 +486,14 @@ void QueenGraphics::bobDrawAll() { } -void QueenGraphics::bobClearAll() { +void Graphics::bobClearAll() { for(int32 i = 0; i < ARRAYSIZE(_bobs); ++i) { bobClear(i); } } -BobSlot *QueenGraphics::bob(int index) { +BobSlot *Graphics::bob(int index) { if (index < MAX_BOBS_NUMBER) return _bobs + index; else { @@ -502,7 +502,7 @@ BobSlot *QueenGraphics::bob(int index) { } } -void QueenGraphics::frameErase(uint32 fslot) { +void Graphics::frameErase(uint32 fslot) { BobFrame *pbf = &_frames[fslot]; pbf->width = 0; @@ -512,3 +512,4 @@ void QueenGraphics::frameErase(uint32 fslot) { } } // End of namespace Queen + diff --git a/queen/graphics.h b/queen/graphics.h index 7cb84659e4..a76a9ed45d 100644 --- a/queen/graphics.h +++ b/queen/graphics.h @@ -83,11 +83,11 @@ struct BobSlot { }; -class QueenGraphics { +class Graphics { public: - QueenGraphics(QueenResource *resource); - ~QueenGraphics(); + Graphics(Resource *resource); + ~Graphics(); void bankLoad(const char *bankname, uint32 bankslot); // loadbank() void bankUnpack(uint32 srcframe, uint32 dstframe, uint32 bankslot); // unpackbank() @@ -123,7 +123,7 @@ private: BobSlot *_sortedBobs[MAX_BOBS_NUMBER + 1]; //! bobs displayed BobFrame _shrinkBuffer; - QueenResource *_resource; + Resource *_resource; }; diff --git a/queen/logic.cpp b/queen/logic.cpp index e0c25af80d..c21a1f8fe1 100644 --- a/queen/logic.cpp +++ b/queen/logic.cpp @@ -23,20 +23,20 @@ namespace Queen { -QueenLogic::QueenLogic(QueenResource *resource) +Logic::Logic(Resource *resource) : _maxAnimatedFrame(0), _maxStaticFrame(0), _resource(resource) { _jas = _resource->loadFile("QUEEN.JAS", 20); initialise(); } -QueenLogic::~QueenLogic() { +Logic::~Logic() { delete[] _jas; //free(_graphicData); } -void QueenLogic::initialise() { - uint16 i; +void Logic::initialise() { + int16 i, j, k; uint8 *ptr = _jas; //_display->loadFont(); @@ -113,7 +113,7 @@ void QueenLogic::initialise() { for (i = 1; i < (_numItems + 1); i++) { _itemData[i][0] = READ_BE_UINT16(ptr); ptr += 2; - for (uint16 j = 1; j < 5; j++) { + for (j = 1; j < 5; j++) { _itemData[i][j] = READ_BE_UINT16(ptr); ptr += 2; } @@ -139,18 +139,18 @@ void QueenLogic::initialise() { ptr += 2; } - _objMax = new uint16[_numRooms + 1]; - _areaMax = new uint16[_numRooms + 1]; + _objMax = new int16[_numRooms + 1]; + _areaMax = new int16[_numRooms + 1]; _area = new int16[_numRooms + 1][11][8]; -/* - for (uint16 i = 1; i < (_numRooms + 1); i++) { - _objMax[i] = READ_BE_UINT16(ptr); + + for (i = 1; i < (_numRooms + 1); i++) { + _objMax[i] = (int16)READ_BE_UINT16(ptr); ptr += 2; - _areaMax[i] = READ_BE_UINT16(ptr); + _areaMax[i] = (int16)READ_BE_UINT16(ptr); ptr += 2; - for (uint16 j = 1; j < (_areaMax[i] + 1); j++) - for (uint16 k = 0; k < 8; k++) { + for (j = 1; j < (_areaMax[i] + 1); j++) + for (k = 0; k < 8; k++) { _area[i][j][k] = READ_BE_UINT16(ptr); ptr += 2; } @@ -158,59 +158,56 @@ void QueenLogic::initialise() { } _objectBox = new uint16[_numObjects + 1][4]; - for (uint16 i = 1; i < (_numObjects + 1); i++) - for (uint16 j = 0; j < 4; j++) { + for (i = 1; i < (_numObjects + 1); i++) + for (j = 0; j < 4; j++) { _objectBox[i][j] = READ_BE_UINT16(ptr); ptr += 2; } - - -*/ _numWalkOffs = 0; } -uint16 QueenLogic::currentRoom() { +uint16 Logic::currentRoom() { return _currentRoom; } -void QueenLogic::currentRoom(uint16 room) { +void Logic::currentRoom(uint16 room) { _currentRoom = room; } -void QueenLogic::oldRoom(uint16 room) { +void Logic::oldRoom(uint16 room) { _oldRoom = room; } -ObjectData* QueenLogic::objectData(int index) { +ObjectData* Logic::objectData(int index) { return &_objectData[index]; } -uint16 QueenLogic::roomData(int room) { +uint16 Logic::roomData(int room) { return _roomData[room]; } -uint16 QueenLogic::objMax(int room) { +uint16 Logic::objMax(int room) { return _objMax[room]; } -int16 *QueenLogic::area(int index, int subIndex) { +int16 *Logic::area(int index, int subIndex) { return _area[index][subIndex]; } -uint16 QueenLogic::walkOffCount() { +uint16 Logic::walkOffCount() { return _numWalkOffs; } -uint16 *QueenLogic::walkOffData(int index) { +uint16 *Logic::walkOffData(int index) { return _walkOffData[index]; } -GraphicData* QueenLogic::findGraphic(int index) { +GraphicData *Logic::findGraphic(int index) { return &_graphicData[index]; } -uint16 QueenLogic::findBob(uint16 obj) { +uint16 Logic::findBob(uint16 obj) { uint16 i; uint16 bobnum = 0; @@ -306,7 +303,7 @@ uint16 QueenLogic::findBob(uint16 obj) { } -uint16 QueenLogic::findFrame(uint16 obj) { +uint16 Logic::findFrame(uint16 obj) { uint16 i; uint16 framenum = 0; @@ -382,14 +379,14 @@ uint16 QueenLogic::findFrame(uint16 obj) { return framenum; } -int16 QueenLogic::gameState(int index) { +int16 Logic::gameState(int index) { if (index >= 0 && index < GAME_STATE_COUNT) return _gameState[index]; else error("[QueenLogic::gameState] invalid index: %i", index); } -void QueenLogic::gameState(int index, int16 newValue) { +void Logic::gameState(int index, int16 newValue) { if (index >= 0 && index < GAME_STATE_COUNT) _gameState[index] = newValue; else @@ -398,3 +395,4 @@ void QueenLogic::gameState(int index, int16 newValue) { } // End of namespace Queen + diff --git a/queen/logic.h b/queen/logic.h index cda7413507..1aff8c58a5 100644 --- a/queen/logic.h +++ b/queen/logic.h @@ -32,11 +32,11 @@ enum { FRAME_XTRA = 2 }; -class QueenLogic { +class Logic { public: - QueenLogic(QueenResource *resource); - ~QueenLogic(); + Logic(Resource *resource); + ~Logic(); uint16 currentRoom(); void currentRoom(uint16 room); @@ -73,8 +73,8 @@ protected: uint16 *_roomData; uint16 *_sfxName; - uint16 *_objMax; - uint16 *_areaMax; + int16 *_objMax; + int16 *_areaMax; uint16 (*_objectBox)[4]; // FIXME: Box *_objectBox; uint16 (*_itemData)[5]; // FIXME: ItemData *_itemData; GraphicData *_graphicData; @@ -91,7 +91,7 @@ protected: uint16 _maxAnimatedFrame, _maxStaticFrame, _maxAnimatedFrameLen; // FMAXA, FMAX, FMAXALEN - QueenResource *_resource; + Resource *_resource; void initialise(); }; diff --git a/queen/module.mk b/queen/module.mk index e2b250e22d..56ba7b5134 100644 --- a/queen/module.mk +++ b/queen/module.mk @@ -4,9 +4,9 @@ MODULE_OBJS = \ queen/cutaway.o \ queen/graphics.o \ queen/logic.o \ + queen/queen.o \ queen/resource.o \ queen/restables.o \ - queen/queen.o \ queen/version.o \ # This module can be built as a plugin diff --git a/queen/queen.cpp b/queen/queen.cpp index 001021fa15..59dd9c8df4 100644 --- a/queen/queen.cpp +++ b/queen/queen.cpp @@ -72,8 +72,8 @@ QueenEngine::QueenEngine(GameDetector *detector, OSystem *syst) } QueenEngine::~QueenEngine() { - delete _queenLogic; - delete _queenResource; + delete _logic; + delete _resource; //delete _queenDisplay; } @@ -94,9 +94,9 @@ void QueenEngine::go() { } void QueenEngine::initialise(void) { - _queenResource = new QueenResource(_gameDataPath); - _queenLogic = new QueenLogic(_queenResource); - //_queenSound = new QueenSound(_mixer, _detector->_sfx_volume); + _resource = new Resource(_gameDataPath); + _logic = new Logic(_resource); + //_sound = new Sound(_mixer, _detector->_sfx_volume); } void QueenEngine::delay(uint amount) { diff --git a/queen/queen.h b/queen/queen.h index c7e9ab7ed5..9eff963f79 100644 --- a/queen/queen.h +++ b/queen/queen.h @@ -33,7 +33,7 @@ namespace Queen { -class QueenLogic; +class Logic; class QueenEngine : public Engine { void errorString(const char *buf_input, char *buf_output); @@ -50,8 +50,8 @@ protected: FILE *_dump_file; - QueenResource *_queenResource; - QueenLogic *_queenLogic; + Resource *_resource; + Logic *_logic; GameDetector *_detector; // necessary for music diff --git a/queen/resource.cpp b/queen/resource.cpp index 93adca08c2..e17736f9a3 100644 --- a/queen/resource.cpp +++ b/queen/resource.cpp @@ -29,7 +29,7 @@ namespace Queen { static const char *dataFilename = "queen.1"; -QueenResource::QueenResource(char *datafilePath) { +Resource::Resource(char *datafilePath) { _datafilePath = datafilePath; _resourceFile = new File(); @@ -64,11 +64,11 @@ QueenResource::QueenResource(char *datafilePath) { } -QueenResource::~QueenResource() { +Resource::~Resource() { _resourceFile->close(); } -int32 QueenResource::resourceIndex(const char *filename) { +int32 Resource::resourceIndex(const char *filename) { char entryName[14]; char *ptr = entryName; @@ -109,15 +109,15 @@ int32 QueenResource::resourceIndex(const char *filename) { return -1; } -uint32 QueenResource::fileSize(const char *filename) { +uint32 Resource::fileSize(const char *filename) { return _gameVersion->resourceTable[resourceIndex(filename)].size; } -uint32 QueenResource::fileOffset(const char *filename) { +uint32 Resource::fileOffset(const char *filename) { return _gameVersion->resourceTable[resourceIndex(filename)].offset; } -uint8 *QueenResource::loadFile(const char *filename, uint32 skipBytes) { +uint8 *Resource::loadFile(const char *filename, uint32 skipBytes) { uint32 size = fileSize(filename); byte *mem = new byte[size]; // skip 'skipBytes' bytes (useful for headers) @@ -126,11 +126,11 @@ uint8 *QueenResource::loadFile(const char *filename, uint32 skipBytes) { return mem; } -bool QueenResource::exists(const char *filename) { +bool Resource::exists(const char *filename) { return resourceIndex(filename) >= 0; } -const char *QueenResource::JASVersion() { +const char *Resource::JASVersion() { static char versionStr[6]; if (_gameVersion->isDemo) _resourceFile->seek(fileOffset("QUEEN.JAS") + DEMO_JAS_VERSION_OFFSET, SEEK_SET ); @@ -140,8 +140,9 @@ const char *QueenResource::JASVersion() { return versionStr; } -bool QueenResource::isDemo() { +bool Resource::isDemo() { return _gameVersion->isDemo; } } // End of namespace Queen + diff --git a/queen/resource.h b/queen/resource.h index c0bc655fb4..c0667b0ee0 100644 --- a/queen/resource.h +++ b/queen/resource.h @@ -42,11 +42,11 @@ struct GameVersion { }; -class QueenResource { +class Resource { public: - QueenResource(char *datafilePath); - ~QueenResource(void); + Resource(char *datafilePath); + ~Resource(void); uint8 *loadFile(const char *filename, uint32 skipBytes = 0); bool exists(const char *filename); bool isDemo(); diff --git a/queen/restables.cpp b/queen/restables.cpp index db23226025..1f373307b7 100644 --- a/queen/restables.cpp +++ b/queen/restables.cpp @@ -24,7 +24,7 @@ namespace Queen { //English Floppy Demo v1 -const ResourceEntry QueenResource::_resourceTablePE100v1[] = { +const ResourceEntry Resource::_resourceTablePE100v1[] = { { "ANDERSON.ACT", 1, 0x00000000, 0x00007c0a }, { "AQ8.RL", 1, 0x00007c0a, 0x000167f8 }, { "AQBANK.MUS", 1, 0x0001e402, 0x0002db36 }, @@ -183,7 +183,7 @@ const ResourceEntry QueenResource::_resourceTablePE100v1[] = { }; //English Floppy Demo v2 -const ResourceEntry QueenResource::_resourceTablePE100v2[] = { +const ResourceEntry Resource::_resourceTablePE100v2[] = { { "ANDERSON.ACT", 1, 0x00000000, 0x00007c0a }, { "AQ8.RL", 1, 0x00007c0a, 0x000167f8 }, { "AQBANK.MUS", 1, 0x0001e402, 0x0002db36 }, @@ -342,7 +342,7 @@ const ResourceEntry QueenResource::_resourceTablePE100v2[] = { }; //English Floppy Version -const ResourceEntry QueenResource::_resourceTablePEM10[] = { +const ResourceEntry Resource::_resourceTablePEM10[] = { { "1000SSSS.SB", 1, 0x00000000, 0x000027fe }, { "1001SSSS.SB", 1, 0x000027fe, 0x00007af8 }, { "1002SSSS.SB", 1, 0x0000a2f6, 0x000049e2 }, @@ -1422,7 +1422,7 @@ const ResourceEntry QueenResource::_resourceTablePEM10[] = { }; //English CD Talkie -const ResourceEntry QueenResource::_resourceTableCEM10[] = { +const ResourceEntry Resource::_resourceTableCEM10[] = { { "020001P2.SB", 1, 0x00000000, 0x00008ed9 }, { "020006J1.SB", 1, 0x00008ed9, 0x000078c2 }, { "020006P1.SB", 1, 0x0001079b, 0x0000543a }, diff --git a/queen/version.cpp b/queen/version.cpp index 3e68b4bcca..6911b97607 100644 --- a/queen/version.cpp +++ b/queen/version.cpp @@ -24,7 +24,7 @@ namespace Queen { //English Floppy Demo v1 -const GameVersion QueenResource::_gameVersionPE100v1 = { +const GameVersion Resource::_gameVersionPE100v1 = { "PE100", 155, true, @@ -33,7 +33,7 @@ const GameVersion QueenResource::_gameVersionPE100v1 = { }; //English Floppy Demo v2 -const GameVersion QueenResource::_gameVersionPE100v2 = { +const GameVersion Resource::_gameVersionPE100v2 = { "PE100", 155, true, @@ -42,7 +42,7 @@ const GameVersion QueenResource::_gameVersionPE100v2 = { }; //English Floppy -const GameVersion QueenResource::_gameVersionPEM10 = { +const GameVersion Resource::_gameVersionPEM10 = { "PEM10", 1076, true, @@ -51,7 +51,7 @@ const GameVersion QueenResource::_gameVersionPEM10 = { }; //English CD Talkie -const GameVersion QueenResource::_gameVersionCEM10 = { +const GameVersion Resource::_gameVersionCEM10 = { "CEM10", 7671, false, -- cgit v1.2.3