aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cge/cge.cpp13
-rw-r--r--engines/cge/cge_main.cpp2
-rw-r--r--engines/cge/cge_main.h1
-rw-r--r--engines/cge/vga13h.cpp12
-rw-r--r--engines/cge/vga13h.h5
5 files changed, 18 insertions, 15 deletions
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp
index 1df0165e5d..2957ba87f1 100644
--- a/engines/cge/cge.cpp
+++ b/engines/cge/cge.cpp
@@ -68,19 +68,12 @@ void CGEEngine::setup() {
Bitmap::init();
Talk::init();
- // Initialise sprite arrays used by game objects
- LI[0] = new Bitmap("LITE0", true);
- LI[1] = new Bitmap("LITE1", true);
- LI[2] = new Bitmap("LITE2", true);
- LI[3] = new Bitmap("LITE3", true);
- LI[4] = NULL;
-
// Initialise engine objects
_text = new Text(this, progName(), 128);
_vga = new Vga(M13H);
_heart = new Heart;
_sys = new System(this);
- _pocLight = new Sprite(this, LI);
+ _pocLight = new PocLight(this);
for (int i = 0; i < POCKET_NX; i++)
_pocket[i] = new Sprite(this, NULL);
_sprite = new Sprite(this, NULL);
@@ -150,10 +143,6 @@ CGEEngine::~CGEEngine() {
delete _infoLine;
delete _cavLight;
delete _debugLine;
- delete LI[0];
- delete LI[1];
- delete LI[2];
- delete LI[3];
delete _text;
delete _heart;
delete _pocLight;
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index 452791b99e..33a85ae8ac 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -75,8 +75,6 @@ InfoLine *_infoLine;
Sprite *_cavLight;
InfoLine *_debugLine;
-BMP_PTR LI[5];
-
Snail *_snail;
Snail *_snail_;
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h
index 9706e4c0ec..8495ef8786 100644
--- a/engines/cge/cge_main.h
+++ b/engines/cge/cge_main.h
@@ -180,7 +180,6 @@ extern InfoLine *_infoLine;
extern Sprite *_cavLight;
extern InfoLine *_debugLine;
extern BMP_PTR MC[3];
-extern BMP_PTR LI[5];
extern Snail *_snail;
extern Snail *_snail_;
diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp
index ce4465a416..ed87da1c82 100644
--- a/engines/cge/vga13h.cpp
+++ b/engines/cge/vga13h.cpp
@@ -1390,4 +1390,16 @@ Spike::Spike(CGEEngine *vm): Sprite(vm, NULL) {
setShapeList(SP);
}
+PocLight::PocLight(CGEEngine *vm): Sprite(vm, NULL) {
+ // Set the sprite list
+ BMP_PTR *LI = new BMP_PTR[5];
+ LI[0] = new Bitmap("LITE0", true);
+ LI[1] = new Bitmap("LITE1", true);
+ LI[2] = new Bitmap("LITE2", true);
+ LI[3] = new Bitmap("LITE3", true);
+ LI[4] = NULL;
+
+ setShapeList(LI);
+}
+
} // End of namespace CGE
diff --git a/engines/cge/vga13h.h b/engines/cge/vga13h.h
index ec8b81fe0b..003be7c800 100644
--- a/engines/cge/vga13h.h
+++ b/engines/cge/vga13h.h
@@ -321,6 +321,11 @@ public:
Spike(CGEEngine *vm);
};
+class PocLight: public Sprite {
+public:
+ PocLight(CGEEngine *vm);
+};
+
Dac mkDac(uint8 r, uint8 g, uint8 b);
Rgb mkRgb(uint8 r, uint8 g, uint8 b);