aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authoruruk2014-05-13 07:46:13 +0200
committeruruk2014-05-13 07:46:13 +0200
commit18182d5d2b75a42ff453aaa9ad6f60eb54bc898c (patch)
tree36b5a7f06ba84a0faf7019a1bad56fcaa6e36f6b /engines
parent49d78527922f65c400056f0b4f98c26ee9d3a9c5 (diff)
downloadscummvm-rg350-18182d5d2b75a42ff453aaa9ad6f60eb54bc898c.tar.gz
scummvm-rg350-18182d5d2b75a42ff453aaa9ad6f60eb54bc898c.tar.bz2
scummvm-rg350-18182d5d2b75a42ff453aaa9ad6f60eb54bc898c.zip
CGE2: Spare: store pointers instead of objects.
Diffstat (limited to 'engines')
-rw-r--r--engines/cge2/spare.cpp12
-rw-r--r--engines/cge2/spare.h2
2 files changed, 7 insertions, 7 deletions
diff --git a/engines/cge2/spare.cpp b/engines/cge2/spare.cpp
index c1e536ac01..9a50f51900 100644
--- a/engines/cge2/spare.cpp
+++ b/engines/cge2/spare.cpp
@@ -41,8 +41,8 @@ Spare::Spare(CGE2Engine *vm) : _vm(vm) {}
Sprite *Spare::take(int ref) {
for (int i = 0; i < _container.size(); i++) {
- if (_container[i]._ref == ref) {
- return &_container[i];
+ if (_container[i]->_ref == ref) {
+ return _container[i];
}
}
return nullptr;
@@ -55,7 +55,7 @@ void Spare::takeCave(int cav) {
}
void Spare::make(Sprite *spr) {
- _container.insert_at(_container.size(), *spr);
+ _container.insert_at(_container.size(), spr);
}
void Spare::dispose(Sprite *spr) {
@@ -65,7 +65,7 @@ void Spare::dispose(Sprite *spr) {
_vm->_vga->_showQ->remove(spr);
for (int i = 0; i < _container.size(); i++) {
- if (spr == &_container[i]) {
+ if (spr == _container[i]) {
_container.remove_at(i);
}
}
@@ -78,8 +78,8 @@ void Spare::dispose(int ref) {
void Spare::dispose() {
for (int i = 0; i < _container.size(); i++) {
- if (_container[i]._ref > 255) {
- dispose(&_container[i]);
+ if (_container[i]->_ref > 255) {
+ dispose(_container[i]);
}
}
}
diff --git a/engines/cge2/spare.h b/engines/cge2/spare.h
index 8cfb65b905..3fc7ecfc94 100644
--- a/engines/cge2/spare.h
+++ b/engines/cge2/spare.h
@@ -34,7 +34,7 @@ namespace CGE2 {
class Spare {
CGE2Engine *_vm;
- Common::Array<Sprite> _container;
+ Common::Array<Sprite*> _container;
public:
void make(Sprite *spr);
Spare(CGE2Engine *vm);