aboutsummaryrefslogtreecommitdiff
path: root/queen/graphics.h
diff options
context:
space:
mode:
Diffstat (limited to 'queen/graphics.h')
-rw-r--r--queen/graphics.h39
1 files changed, 23 insertions, 16 deletions
diff --git a/queen/graphics.h b/queen/graphics.h
index 12fcae44c8..53a6aab638 100644
--- a/queen/graphics.h
+++ b/queen/graphics.h
@@ -101,26 +101,31 @@ struct TextSlot {
};
-struct CarBamData {
- struct Obj {
- int16 x, y;
- uint16 frame;
- };
- Obj truck;
- Obj rico;
- Obj fx;
- int16 sfx;
+struct BamDataObj {
+ int16 x, y;
+ int16 frame;
};
+struct BamDataBlock {
+ BamDataObj obj1; // truck / Frank
+ BamDataObj obj2; // Rico / robot
+ BamDataObj fx;
+ int16 sfx;
+};
struct BamData {
- bool enable;
+
+ BamData() : flag(0), index(0) {}
+
+ int16 flag;
int16 index;
- int16 sfx;
- BamData()
- : enable(false), index(0), sfx(0) {
- }
+ bool _screenShaked;
+ const BamDataBlock *_fightData;
+ static const BamDataBlock _carData[];
+ static const BamDataBlock _fight1Data[];
+ static const BamDataBlock _fight2Data[];
+ static const BamDataBlock _fight3Data[];
};
@@ -180,10 +185,14 @@ public:
int cameraBob() const { return _cameraBob; }
BamData *bamData() { return &_bam; }
+
void initCarBamScene();
void updateCarBamScene();
void cleanupCarBamScene(uint16 i);
+ void initFightBamScene();
+ void updateFightBamScene();
+
void update(uint16 room);
enum {
@@ -232,8 +241,6 @@ private:
Input *_input;
Resource *_resource;
- static const CarBamData _carBamData[];
-
};
} // End of namespace Queen