ScummVM API documentation
Queen::Logic Class Referenceabstract
Inheritance diagram for Queen::Logic:
Queen::LogicDemo Queen::LogicGame Queen::LogicInterview

Public Types

enum  { JOE_RESPONSE_MAX = 40, DEFAULT_TALK_SPEED = 7 * 3, GAME_STATE_COUNT = 211, TALK_SELECTED_COUNT = 86 }
 
typedef void(Logic::* SpecialMoveProc) ()
 

Public Member Functions

 Logic (QueenEngine *vm)
 
uint16 currentRoom () const
 
void currentRoom (uint16 room)
 
uint16 oldRoom () const
 
void oldRoom (uint16 room)
 
uint16 newRoom () const
 
void newRoom (uint16 room)
 
ObjectDataobjectData (int index) const
 
uint16 roomData (int room) const
 
GraphicDatagraphicData (int index) const
 
ItemDataitemData (int index) const
 
uint16 itemDataCount () const
 
uint16 findBob (uint16 obj) const
 
uint16 findFrame (uint16 obj) const
 
uint16 objectForPerson (uint16 bobnum) const
 
WalkOffDatawalkOffPointForObject (int16 obj) const
 
uint16 walkOffCount () const
 
WalkOffDatawalkOffData (int index) const
 
uint16 currentRoomData () const
 
GraphicAnimgraphicAnim (int index) const
 
uint16 graphicAnimCount () const
 
ObjectDescriptionobjectDescription (uint16 objNum) const
 
uint16 objectDescriptionCount () const
 
uint16 currentRoomSfx () const
 
uint16 joeFacing () const
 
uint16 joeX () const
 
uint16 joeY () const
 
JoeWalkMode joeWalk () const
 
uint16 joeScale () const
 
uint16 joeCutFacing () const
 
uint16 joePrevFacing () const
 
void joeFacing (uint16 dir)
 
void joePos (uint16 x, uint16 y)
 
void joeWalk (JoeWalkMode walking)
 
void joeScale (uint16 scale)
 
void joeCutFacing (uint16 dir)
 
void joePrevFacing (uint16 dir)
 
int16 gameState (int index) const
 
void gameState (int index, int16 newValue)
 
TalkSelectedtalkSelected (int index)
 
const char * roomName (uint16 roomNum) const
 
const char * objectName (uint16 objNum) const
 
const char * objectTextualDescription (uint16 objNum) const
 
const char * joeResponse (int i) const
 
const char * verbName (Verb v) const
 
const char * actorAnim (int num) const
 
const char * actorName (int num) const
 
const char * actorFile (int num) const
 
void eraseRoom ()
 
void setupRoom (const char *room, int comPanel, bool inCutaway)
 
void displayRoom (uint16 room, RoomDisplayMode mode, uint16 joeScale, int comPanel, bool inCutaway)
 
int16 entryObj () const
 
void entryObj (int16 obj)
 
ActorDatafindActor (uint16 noun, const char *name=NULL) const
 
bool initPerson (uint16 noun, const char *actorName, bool loadBank, Person *pp)
 
uint16 findPersonNumber (uint16 obj, uint16 room) const
 
void loadJoeBanks (const char *animBank, const char *standBank)
 load banks used for Joe animation
 
void setupJoe ()
 load the various bobs needed to animate Joe
 
void setupJoeInRoom (bool autoPosition, uint16 scale)
 setup Joe at the right place when entering a room
 
uint16 joeFace ()
 
void joeGrab (int16 grabState)
 
void joeUseDress (bool showCut)
 change Joe clothes to dress
 
void joeUseClothes (bool showCut)
 restore Joe clothes
 
void joeUseUnderwear ()
 change Joe clothes to underwear
 
void makeJoeSpeak (uint16 descNum, bool objectType=false)
 
void makePersonSpeak (const char *sentence, Person *person, const char *voiceFilePrefix)
 
void startDialogue (const char *dlgFile, int personInRoom, char *cutaway)
 start the specified dialogue
 
void playCutaway (const char *cutFile, char *next=NULL)
 play the specified cutaway
 
void inventorySetup ()
 initialize the inventory
 
uint16 findInventoryItem (int invSlot) const
 get the inventory item for the specified inventory slot
 
void inventoryRefresh ()
 refresh inventory contents
 
int16 previousInventoryItem (int16 first) const
 
int16 nextInventoryItem (int16 first) const
 
void removeDuplicateItems ()
 
uint16 numItemsInventory () const
 
void inventoryInsertItem (uint16 itemNum, bool refresh=true)
 
void inventoryDeleteItem (uint16 itemNum, bool refresh=true)
 
void inventoryScroll (uint16 count, bool up)
 
void removeHotelItemsFromInventory ()
 
void objectCopy (int dummyObjectIndex, int objectIndex)
 copy data from dummy object to object
 
void handleSpecialArea (Direction facing, uint16 areaNum, uint16 walkDataNum)
 handle a particular event when Joe walks on this area
 
void handlePinnacleRoom ()
 handle the pinnacle room (== room chooser in the jungle)
 
void update ()
 
void saveState (byte *&ptr)
 
void loadState (uint32 ver, byte *&ptr)
 
void setupRestoredGame ()
 called after a save state has been loaded
 
void sceneReset ()
 ugly hack from original code
 
void sceneStart ()
 make a scene
 
void sceneStop ()
 stop making a scene
 
void changeRoom ()
 
virtual void useJournal ()=0
 enter the Journal (save/load, configuration)
 
void executeSpecialMove (uint16 sm)
 execute a special move
 
void startCredits (const char *filename)
 
void stopCredits ()
 
void start ()
 

Protected Member Functions

void readQueenJas ()
 
void asmMakeJoeUseDress ()
 
void asmMakeJoeUseNormalClothes ()
 
void asmMakeJoeUseUnderwear ()
 
void asmSwitchToDressPalette ()
 
void asmSwitchToNormalPalette ()
 
void asmStartCarAnimation ()
 
void asmStopCarAnimation ()
 
void asmStartFightAnimation ()
 
void asmWaitForFrankPosition ()
 
void asmMakeFrankGrowing ()
 
void asmMakeRobotGrowing ()
 
void asmShrinkRobot ()
 
void asmEndGame ()
 
void asmPutCameraOnDino ()
 
void asmPutCameraOnJoe ()
 
void asmAltIntroPanRight ()
 
void asmAltIntroPanLeft ()
 
void asmSetAzuraInLove ()
 
void asmPanRightFromJoe ()
 
void asmSetLightsOff ()
 
void asmSetLightsOn ()
 
void asmSetManequinAreaOn ()
 
void asmPanToJoe ()
 
void asmTurnGuardOn ()
 
void asmPanLeft320To144 ()
 
void asmSmooch ()
 
void asmSmoochNoScroll ()
 
void asmMakeLightningHitPlane ()
 
void asmScaleBlimp ()
 
void asmScaleEnding ()
 
void asmWaitForCarPosition ()
 
void asmShakeScreen ()
 
void asmAttemptPuzzle ()
 
void asmScaleTitle ()
 
void asmScrollTitle ()
 
void asmPanRightToHugh ()
 
void asmMakeWhiteFlash ()
 
void asmPanRightToJoeAndRita ()
 
void asmPanLeftToBomb ()
 
void asmEndDemo ()
 
void asmInterviewIntro ()
 
void asmEndInterview ()
 
virtual bool changeToSpecialRoom ()=0
 
virtual void setupSpecialMoveTable ()=0
 

Protected Attributes

uint16 _currentRoom
 
uint16 _oldRoom
 
uint16 _newRoom
 
uint16 _numRooms
 total number of room in game
 
uint16 * _roomData
 first object number in room
 
uint16 * _sfxName
 background music to play in room
 
Box_objectBox
 bounding box of object
 
ItemData_itemData
 inventory items
 
uint16 _numItems
 
GraphicData_graphicData
 
uint16 _numGraphics
 
ObjectData_objectData
 
uint16 _numObjects
 
ObjectDescription_objectDescription
 
uint16 _numObjDesc
 
ActorData_actorData
 
uint16 _numActors
 
WalkOffData_walkOffData
 walk off point for an object
 
uint16 _numWalkOffs
 
FurnitureData_furnitureData
 
uint16 _numFurniture
 
GraphicAnim_graphicAnim
 
uint16 _numGraphicAnim
 
int16 _entryObj
 actor initial position in room is _walkOffData[_entryObj]
 
Common::StringArray _jasStringList
 
int _jasStringOffset [JSO_COUNT]
 
uint16 _numDescriptions
 
uint16 _numNames
 
uint16 _numAAnim
 
uint16 _numAName
 
uint16 _numAFile
 
struct {
   uint16   x
 
   uint16   y
 
   uint16   facing
 
   uint16   cutFacing
 
   uint16   prevFacing
 
   JoeWalkMode   walk
 
   uint16   scale
 
_joe
 
int16 _gameState [GAME_STATE_COUNT]
 
TalkSelected _talkSelected [TALK_SELECTED_COUNT]
 
int16 _inventoryItem [4]
 inventory items
 
uint8 _puzzleAttemptCount
 puzzle counter for room T7
 
int _scene
 cutscene counter
 
SpecialMoveProc _specialMoves [40]
 
Credits_credits
 
Journal_journal
 
QueenEngine_vm
 

The documentation for this class was generated from the following file: