22#ifndef MUTATIONOFJB_GAMEDATA_H
23#define MUTATIONOFJB_GAMEDATA_H
25#include "mutationofjb/inventory.h"
27#include "common/serializer.h"
28#include "common/scummsys.h"
34namespace MutationOfJB {
37 MAX_ENTITY_NAME_LENGTH = 0x14
60 char _name[MAX_ENTITY_NAME_LENGTH + 1];
230 char _name[MAX_ENTITY_NAME_LENGTH + 1];
323 uint8 getContext()
const {
326 uint8 getConvItemIndex()
const {
329 uint8 getConvGroupIndex()
const {
334 ExhaustedConvItem(uint8 context, uint8 convItemIndex, uint8 convGroupIndex) :
335 _encodedData(((context & 0x1) << 7) | ((convItemIndex & 0x7) << 4) | (convGroupIndex & 0xF)) {}
339 Door *getDoor(uint8 objectId);
340 Object *getObject(uint8 objectId,
bool ignoreNo =
false);
341 Static *getStatic(uint8 staticId,
bool ignoreNo =
false);
342 Bitmap *getBitmap(uint8 bitmapId);
344 uint8 getNoDoors(
bool ignoreNo =
false)
const;
345 uint8 getNoObjects(
bool ignoreNo =
false)
const;
346 uint8 getNoStatics(
bool ignoreNo =
false)
const;
347 uint8 getNoBitmaps()
const;
358 Door *
findDoor(int16 x, int16 y,
bool activeOnly =
true,
int *index =
nullptr);
369 Bitmap *findBitmap(int16 x, int16 y,
int *index =
nullptr);
371 void addExhaustedConvItem(uint8 context, uint8 convItemIndex, uint8 convGroupIndex);
372 bool isConvItemExhausted(uint8 context, uint8 convItemIndex, uint8 convGroupIndex)
const;
432 uint8 _nextGroupIndex;
446 Scene *getScene(uint8 sceneId);
447 Scene *getCurrentScene();
Definition: serializer.h:352
Definition: serializer.h:80
Definition: inventory.h:40
Definition: algorithm.h:29
Definition: gamedata.h:282
void saveLoadWithSerializer(Common::Serializer &sz) override
uint8 _y1
Definition: gamedata.h:290
uint8 _isVisible
Definition: gamedata.h:286
uint8 _y2
Definition: gamedata.h:294
bool loadInitialState(Common::ReadStream &stream)
uint16 _x1
Definition: gamedata.h:288
uint8 _roomFrame
Definition: gamedata.h:284
uint16 _x2
Definition: gamedata.h:292
Definition: gamedata.h:429
Definition: gamedata.h:428
Definition: gamedata.h:51
uint16 _x
Definition: gamedata.h:71
uint16 _width
Definition: gamedata.h:75
uint16 _walkToX
Definition: gamedata.h:79
uint8 _height
Definition: gamedata.h:77
uint16 _destY
Definition: gamedata.h:69
bool loadInitialState(Common::ReadStream &stream)
uint8 _SP
Definition: gamedata.h:87
uint16 _destX
Definition: gamedata.h:67
char _name[MAX_ENTITY_NAME_LENGTH+1]
Definition: gamedata.h:60
uint8 _y
Definition: gamedata.h:73
void saveLoadWithSerializer(Common::Serializer &sz) override
uint8 _walkToY
Definition: gamedata.h:81
bool allowsImplicitSceneChange() const
uint8 _destSceneId
Definition: gamedata.h:65
Definition: gamedata.h:315
uint8 _encodedData
Definition: gamedata.h:321
Definition: gamedata.h:443
uint8 _color
Definition: gamedata.h:472
bool loadInitialState(Common::ReadStream &stream)
void saveLoadWithSerializer(Common::Serializer &sz) override
Definition: gamedata.h:131
uint8 _randomFrame
Definition: gamedata.h:152
uint8 _numFrames
Definition: gamedata.h:154
uint8 _SP
Definition: gamedata.h:192
uint16 _x
Definition: gamedata.h:175
uint16 _width
Definition: gamedata.h:179
uint8 _y
Definition: gamedata.h:177
uint8 _currentFrame
Definition: gamedata.h:173
uint8 _roomFrameMSB
Definition: gamedata.h:190
uint16 _WX
Definition: gamedata.h:183
uint8 _jumpChance
Definition: gamedata.h:167
uint8 _roomFrameLSB
Definition: gamedata.h:161
void saveLoadWithSerializer(Common::Serializer &sz) override
uint8 _active
Definition: gamedata.h:133
uint8 _firstFrame
Definition: gamedata.h:143
uint8 _height
Definition: gamedata.h:181
bool loadInitialState(Common::ReadStream &stream)
Definition: gamedata.h:338
Bitmap _bitmaps[10]
Definition: gamedata.h:394
uint8 _unknown001
Definition: gamedata.h:380
uint8 _noObjects
Definition: gamedata.h:388
uint16 _obstacleY1
Definition: gamedata.h:396
void saveLoadWithSerializer(Common::Serializer &sz) override
Door _doors[5]
Definition: gamedata.h:386
uint8 _palRotLast
Definition: gamedata.h:401
uint8 _palRotFirst
Definition: gamedata.h:399
Object _objects[9]
Definition: gamedata.h:389
uint8 _startup
Definition: gamedata.h:375
uint8 _exhaustedConvItemNext
Definition: gamedata.h:409
uint8 _noStatics
Definition: gamedata.h:391
uint8 _noDoors
Definition: gamedata.h:385
Static * findStatic(int16 x, int16 y, bool activeOnly=true, int *index=nullptr)
bool loadInitialState(Common::ReadStream &stream)
uint8 _delay
Definition: gamedata.h:383
Static _statics[15]
Definition: gamedata.h:392
uint8 _palRotDelay
Definition: gamedata.h:403
Door * findDoor(int16 x, int16 y, bool activeOnly=true, int *index=nullptr)
Definition: gamedata.h:213
uint8 _active
Definition: gamedata.h:215
uint8 _walkToY
Definition: gamedata.h:242
void saveLoadWithSerializer(Common::Serializer &sz) override
bool isCombinable() const
uint16 _walkToX
Definition: gamedata.h:240
uint8 _walkToFrame
Definition: gamedata.h:244
uint8 _height
Definition: gamedata.h:238
bool allowsImplicitPickup() const
uint8 _y
Definition: gamedata.h:234
char _name[MAX_ENTITY_NAME_LENGTH+1]
Definition: gamedata.h:230
uint16 _width
Definition: gamedata.h:236
uint16 _x
Definition: gamedata.h:232
bool loadInitialState(Common::ReadStream &stream)