[Scummvm-git-logs] scummvm master -> 9720d2144744e13369d060ef68dbadb20d6a63fb
aquadran
noreply at scummvm.org
Sun Jul 13 16:06:08 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
9720d21447 WINTERMUTE: Restore original array code
Commit: 9720d2144744e13369d060ef68dbadb20d6a63fb
https://github.com/scummvm/scummvm/commit/9720d2144744e13369d060ef68dbadb20d6a63fb
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2025-07-13T18:06:03+02:00
Commit Message:
WINTERMUTE: Restore original array code
Changed paths:
engines/wintermute/ad/ad_actor.cpp
engines/wintermute/ad/ad_actor_3dx.cpp
engines/wintermute/ad/ad_entity.cpp
engines/wintermute/ad/ad_game.cpp
engines/wintermute/ad/ad_geom_ext.cpp
engines/wintermute/ad/ad_inventory.cpp
engines/wintermute/ad/ad_inventory_box.cpp
engines/wintermute/ad/ad_layer.cpp
engines/wintermute/ad/ad_object.cpp
engines/wintermute/ad/ad_object_3d.cpp
engines/wintermute/ad/ad_path.cpp
engines/wintermute/ad/ad_path3d.cpp
engines/wintermute/ad/ad_region.cpp
engines/wintermute/ad/ad_response_box.cpp
engines/wintermute/ad/ad_scene.cpp
engines/wintermute/ad/ad_scene_geometry.cpp
engines/wintermute/ad/ad_scene_state.cpp
engines/wintermute/ad/ad_sentence.cpp
engines/wintermute/ad/ad_talk_def.cpp
engines/wintermute/ad/ad_talk_holder.cpp
engines/wintermute/ad/ad_waypoint_group.cpp
engines/wintermute/ad/ad_waypoint_group3d.cpp
engines/wintermute/base/base_frame.cpp
engines/wintermute/base/base_game.cpp
engines/wintermute/base/base_region.cpp
engines/wintermute/base/base_script_holder.cpp
engines/wintermute/base/base_sprite.cpp
engines/wintermute/base/base_surface_storage.cpp
engines/wintermute/base/font/base_font_bitmap.cpp
engines/wintermute/base/font/base_font_storage.cpp
engines/wintermute/base/font/base_font_truetype.cpp
engines/wintermute/base/gfx/3deffect_params.cpp
engines/wintermute/base/gfx/3dloader_3ds.cpp
engines/wintermute/base/gfx/3dshadow_volume.cpp
engines/wintermute/base/gfx/base_renderer.cpp
engines/wintermute/base/gfx/base_renderer.h
engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
engines/wintermute/base/gfx/xanimation.cpp
engines/wintermute/base/gfx/xanimation_set.cpp
engines/wintermute/base/gfx/xframe_node.cpp
engines/wintermute/base/gfx/xmesh.cpp
engines/wintermute/base/gfx/xmodel.cpp
engines/wintermute/base/particles/part_emitter.cpp
engines/wintermute/base/particles/part_particle.cpp
engines/wintermute/base/scriptables/debuggable/debuggable_script.cpp
engines/wintermute/base/scriptables/script.cpp
engines/wintermute/base/scriptables/script_engine.cpp
engines/wintermute/base/scriptables/script_stack.cpp
engines/wintermute/base/sound/base_sound_manager.cpp
engines/wintermute/base/sound/base_sound_manager.h
engines/wintermute/coll_templ.h
engines/wintermute/debugger/debugger_controller.cpp
engines/wintermute/ext/wme_shadowmanager.cpp
engines/wintermute/ui/ui_button.cpp
engines/wintermute/ui/ui_edit.cpp
engines/wintermute/ui/ui_entity.cpp
engines/wintermute/ui/ui_object.cpp
engines/wintermute/ui/ui_text.cpp
engines/wintermute/ui/ui_window.cpp
diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 4879c233a4f..27fe37e4a49 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -98,22 +98,21 @@ AdActor::~AdActor() {
_animSprite2 = nullptr; // ref only
- for (uint32 i = 0; i < _talkSprites.size(); i++) {
+ for (uint32 i = 0; i < _talkSprites.getSize(); i++) {
delete _talkSprites[i];
}
- _talkSprites.clear();
+ _talkSprites.removeAll();
- for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
+ for (uint32 i = 0; i < _talkSpritesEx.getSize(); i++) {
delete _talkSpritesEx[i];
}
- _talkSpritesEx.clear();
+ _talkSpritesEx.removeAll();
- for (uint32 i = 0; i < _anims.size(); i++) {
+ for (uint32 i = 0; i < _anims.getSize(); i++) {
delete _anims[i];
_anims[i] = nullptr;
}
- _anims.clear();
-
+ _anims.removeAll();
}
@@ -1088,7 +1087,7 @@ bool AdActor::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
const char *animName = stack->pop()->getString();
bool found = false;
- for (uint32 i = 0; i < _anims.size(); i++) {
+ for (uint32 i = 0; i < _anims.getSize(); i++) {
if (scumm_stricmp(_anims[i]->getName(), animName) == 0) {
// invalidate sprites in use
if (_anims[i]->containsSprite(_tempSprite2)) {
@@ -1103,7 +1102,7 @@ bool AdActor::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
delete _anims[i];
_anims[i] = nullptr;
- _anims.remove_at(i);
+ _anims.removeAt(i);
i--;
found = true;
}
@@ -1291,7 +1290,7 @@ BaseSprite *AdActor::getTalkStance(const char *stance) {
}
// old way
- if (_talkSprites.size() > 0 || _talkSpritesEx.size() > 0) {
+ if (_talkSprites.getSize() > 0 || _talkSpritesEx.getSize() > 0) {
return getTalkStanceOld(stance);
}
@@ -1307,14 +1306,14 @@ BaseSprite *AdActor::getTalkStance(const char *stance) {
// not - get a random talk
if (!ret) {
BaseArray<AdSpriteSet *> talkAnims;
- for (uint32 i = 0; i < _anims.size(); i++) {
+ for (uint32 i = 0; i < _anims.getSize(); i++) {
if (_talkAnimName.compareToIgnoreCase(_anims[i]->getName()) == 0) {
talkAnims.add(_anims[i]);
}
}
- if (talkAnims.size() > 0) {
- int rnd = BaseEngine::instance().randInt(0, talkAnims.size() - 1);
+ if (talkAnims.getSize() > 0) {
+ int rnd = BaseEngine::instance().randInt(0, talkAnims.getSize() - 1);
ret = talkAnims[rnd]->getSprite(_dir);
} else {
if (_standSprite) {
@@ -1336,7 +1335,7 @@ BaseSprite *AdActor::getTalkStanceOld(const char *stance) {
if (stance != nullptr) {
// search special stances
- for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
+ for (uint32 i = 0; i < _talkSpritesEx.getSize(); i++) {
if (scumm_stricmp(_talkSpritesEx[i]->getName(), stance) == 0) {
ret = _talkSpritesEx[i]->getSprite(_dir);
break;
@@ -1344,7 +1343,7 @@ BaseSprite *AdActor::getTalkStanceOld(const char *stance) {
}
if (ret == nullptr) {
// search generic stances
- for (uint32 i = 0; i < _talkSprites.size(); i++) {
+ for (uint32 i = 0; i < _talkSprites.getSize(); i++) {
if (scumm_stricmp(_talkSprites[i]->getName(), stance) == 0) {
ret = _talkSprites[i]->getSprite(_dir);
break;
@@ -1355,11 +1354,11 @@ BaseSprite *AdActor::getTalkStanceOld(const char *stance) {
// not a valid stance? get a random one
if (ret == nullptr) {
- if (_talkSprites.size() < 1) {
+ if (_talkSprites.getSize() < 1) {
ret = _standSprite->getSprite(_dir);
} else {
// TODO: remember last
- int rnd = BaseEngine::instance().randInt(0, _talkSprites.size() - 1);
+ int rnd = BaseEngine::instance().randInt(0, _talkSprites.getSize() - 1);
ret = _talkSprites[rnd]->getSprite(_dir);
}
}
@@ -1447,7 +1446,7 @@ int32 AdActor::getHeight() {
//////////////////////////////////////////////////////////////////////////
AdSpriteSet *AdActor::getAnimByName(const Common::String &animName) {
- for (uint32 i = 0; i < _anims.size(); i++) {
+ for (uint32 i = 0; i < _anims.getSize(); i++) {
if (animName.compareToIgnoreCase(_anims[i]->getName()) == 0) {
return _anims[i];
}
diff --git a/engines/wintermute/ad/ad_actor_3dx.cpp b/engines/wintermute/ad/ad_actor_3dx.cpp
index b85a375588f..c0210a9aea5 100644
--- a/engines/wintermute/ad/ad_actor_3dx.cpp
+++ b/engines/wintermute/ad/ad_actor_3dx.cpp
@@ -104,16 +104,16 @@ AdActor3DX::AdActor3DX(BaseGame *inGame) : AdObject3D(inGame) {
//////////////////////////////////////////////////////////////////////////
AdActor3DX::~AdActor3DX() {
// delete attachments
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
delete _attachments[i];
}
- _attachments.clear();
+ _attachments.removeAll();
// delete transition times
- for (uint32 i = 0; i < _transitionTimes.size(); i++) {
+ for (uint32 i = 0; i < _transitionTimes.getSize(); i++) {
delete _transitionTimes[i];
}
- _transitionTimes.clear();
+ _transitionTimes.removeAll();
delete _path2D;
_path2D = nullptr;
@@ -499,7 +499,7 @@ bool AdActor3DX::displayShadowVolume() {
_gameRef->_renderer3D->getWorldTransform(&origWorld);
// handle the attachments
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
AdAttach3DX *at = _attachments[i];
if (!at->_active) {
@@ -557,7 +557,7 @@ bool AdActor3DX::displayFlatShadow() {
//////////////////////////////////////////////////////////////////////////
bool AdActor3DX::updateAttachments() {
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
if (_attachments[i]->_active) {
_attachments[i]->update();
}
@@ -571,14 +571,14 @@ bool AdActor3DX::displayAttachments(bool registerObjects) {
return false;
}
- if (_attachments.size() == 0) {
+ if (_attachments.getSize() == 0) {
return true;
}
DXMatrix origView;
_gameRef->_renderer3D->getWorldTransform(&origView);
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
AdAttach3DX *at = _attachments[i];
if (!at->_active) {
continue;
@@ -1454,7 +1454,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
stack->pushBool(false);
} else {
bool isSet = false;
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
if (scumm_stricmp(_attachments[i]->getName(), attachName) == 0) {
delete _attachments[i];
_attachments[i] = at;
@@ -1488,10 +1488,10 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
stack->pushBool(false);
} else {
bool isFound = false;
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
if (scumm_stricmp(_attachments[i]->getName(), attachmentName) == 0) {
delete _attachments[i];
- _attachments.remove_at(i);
+ _attachments.removeAt(i);
isFound = true;
break;
}
@@ -1512,7 +1512,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
stack->pushNULL();
} else {
bool isFound = false;
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
if (scumm_stricmp(_attachments[i]->getName(), attachmentName) == 0) {
stack->pushNative(_attachments[i], true);
isFound = true;
@@ -1978,13 +1978,13 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
int time = stack->pop()->getInt();
bool found = false;
- for (uint32 i = 0; i < _transitionTimes.size(); i++) {
+ for (uint32 i = 0; i < _transitionTimes.getSize(); i++) {
BaseAnimationTransitionTime *trans = _transitionTimes[i];
if (!trans->_animFrom.empty() && !trans->_animTo.empty() && trans->_animFrom.compareToIgnoreCase(animFrom) == 0 && trans->_animTo.compareToIgnoreCase(animTo) == 0) {
found = true;
if (time < 0) {
delete trans;
- _transitionTimes.remove_at(i);
+ _transitionTimes.removeAt(i);
} else
trans->_time = (uint32)time;
break;
@@ -2009,7 +2009,7 @@ bool AdActor3DX::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
const char *animTo = stack->pop()->getString();
int time = -1;
- for (uint32 i = 0; i < _transitionTimes.size(); i++) {
+ for (uint32 i = 0; i < _transitionTimes.getSize(); i++) {
BaseAnimationTransitionTime *trans = _transitionTimes[i];
if (!trans->_animFrom.empty() && !trans->_animTo.empty() && trans->_animFrom.compareToIgnoreCase(animFrom) == 0 && trans->_animTo.compareToIgnoreCase(animTo) == 0) {
@@ -2309,13 +2309,13 @@ bool AdActor3DX::persist(BasePersistenceManager *persistMgr) {
persistMgr->transferUint32(TMEMBER(_defaultStopTransTime));
if (persistMgr->getIsSaving()) {
- int32 numItems = _transitionTimes.size();
+ int32 numItems = _transitionTimes.getSize();
persistMgr->transferSint32(TMEMBER(numItems));
- for (uint32 i = 0; i < _transitionTimes.size(); i++) {
+ for (uint32 i = 0; i < _transitionTimes.getSize(); i++) {
_transitionTimes[i]->persist(persistMgr);
}
} else {
- int32 numItems = _transitionTimes.size();
+ int32 numItems = _transitionTimes.getSize();
persistMgr->transferSint32(TMEMBER(numItems));
for (int i = 0; i < numItems; i++) {
BaseAnimationTransitionTime *trans = new BaseAnimationTransitionTime();
@@ -2339,7 +2339,7 @@ bool AdActor3DX::invalidateDeviceObjects() {
if (_shadowModel)
_shadowModel->invalidateDeviceObjects();
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
_attachments[i]->invalidateDeviceObjects();
}
@@ -2356,7 +2356,7 @@ bool AdActor3DX::restoreDeviceObjects() {
_shadowModel->restoreDeviceObjects();
}
- for (uint32 i = 0; i < _attachments.size(); i++) {
+ for (uint32 i = 0; i < _attachments.getSize(); i++) {
_attachments[i]->restoreDeviceObjects();
}
@@ -2445,7 +2445,7 @@ bool AdActor3DX::isGoToNeeded(int x, int y) {
//////////////////////////////////////////////////////////////////////////
uint32 AdActor3DX::getAnimTransitionTime(char *from, char *to) {
- for (uint32 i = 0; i < _transitionTimes.size(); i++) {
+ for (uint32 i = 0; i < _transitionTimes.getSize(); i++) {
BaseAnimationTransitionTime *trans = _transitionTimes[i];
if (!trans->_animFrom.empty() && !trans->_animTo.empty() && trans->_animFrom.compareToIgnoreCase(from) == 0 && trans->_animTo.compareToIgnoreCase(to) == 0) {
return trans->_time;
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index 5d5a42e2cbd..1859f0b32f1 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -1168,7 +1168,7 @@ bool AdEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "HINT_Y=%d\n", _hintY);
#endif
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index a83296c5dd7..9b9a18b7e7b 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -129,42 +129,42 @@ AdGame::~AdGame() {
//////////////////////////////////////////////////////////////////////////
bool AdGame::cleanup() {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
unregisterObject(_objects[i]);
_objects[i] = nullptr;
}
- _objects.clear();
+ _objects.removeAll();
- for (uint32 i = 0; i < _dlgPendingBranches.size(); i++) {
+ for (uint32 i = 0; i < _dlgPendingBranches.getSize(); i++) {
delete[] _dlgPendingBranches[i];
}
- _dlgPendingBranches.clear();
+ _dlgPendingBranches.removeAll();
- for (uint32 i = 0; i < _speechDirs.size(); i++) {
+ for (uint32 i = 0; i < _speechDirs.getSize(); i++) {
delete[] _speechDirs[i];
}
- _speechDirs.clear();
+ _speechDirs.removeAll();
unregisterObject(_scene);
_scene = nullptr;
// remove items
- for (uint32 i = 0; i < _items.size(); i++) {
+ for (uint32 i = 0; i < _items.getSize(); i++) {
_gameRef->unregisterObject(_items[i]);
}
- _items.clear();
+ _items.removeAll();
// clear remaining inventories
delete _invObject;
_invObject = nullptr;
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
delete _inventories[i];
}
- _inventories.clear();
+ _inventories.removeAll();
if (_responseBox) {
@@ -192,20 +192,20 @@ bool AdGame::cleanup() {
delete _sceneViewport;
_sceneViewport = nullptr;
- for (uint32 i = 0; i < _sceneStates.size(); i++) {
+ for (uint32 i = 0; i < _sceneStates.getSize(); i++) {
delete _sceneStates[i];
}
- _sceneStates.clear();
+ _sceneStates.removeAll();
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ for (uint32 i = 0; i < _responsesBranch.getSize(); i++) {
delete _responsesBranch[i];
}
- _responsesBranch.clear();
+ _responsesBranch.removeAll();
- for (uint32 i = 0; i < _responsesGame.size(); i++) {
+ for (uint32 i = 0; i < _responsesGame.getSize(); i++) {
delete _responsesGame[i];
}
- _responsesGame.clear();
+ _responsesGame.removeAll();
return BaseGame::cleanup();
}
@@ -232,7 +232,7 @@ bool AdGame::initLoop() {
res = _scene->initLoop();
}
- _sentences.clear();
+ _sentences.removeAll();
return res;
}
@@ -255,9 +255,9 @@ bool AdGame::removeObject(AdObject *object) {
}
}
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i] == object) {
- _objects.remove_at(i);
+ _objects.removeAt(i);
break;
}
}
@@ -285,7 +285,7 @@ bool AdGame::changeScene(const char *filename, bool fadeIn) {
if (_scene) {
// reset objects
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
_objects[i]->reset();
}
@@ -305,7 +305,7 @@ bool AdGame::changeScene(const char *filename, bool fadeIn) {
if (DID_SUCCEED(ret)) {
// invalidate references to the original scene
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
_objects[i]->invalidateCurrRegions();
_objects[i]->_stickRegion = nullptr;
}
@@ -331,7 +331,7 @@ void AdGame::addSentence(AdSentence *sentence) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::displaySentences(bool frozen) {
- for (uint32 i = 0; i < _sentences.size(); i++) {
+ for (uint32 i = 0; i < _sentences.getSize(); i++) {
if (frozen && _sentences[i]->_freezable) {
continue;
} else {
@@ -344,7 +344,7 @@ bool AdGame::displaySentences(bool frozen) {
//////////////////////////////////////////////////////////////////////////
void AdGame::finishSentences() {
- for (uint32 i = 0; i < _sentences.size(); i++) {
+ for (uint32 i = 0; i < _sentences.getSize(); i++) {
if (_sentences[i]->canSkip()) {
_sentences[i]->_duration = 0;
if (_sentences[i]->_sound) {
@@ -535,7 +535,7 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
AdItem *item = nullptr;
if (val->isInt()) {
int index = val->getInt();
- if (index >= 0 && index < (int32)_items.size()) {
+ if (index >= 0 && index < (int32)_items.getSize()) {
item = _items[index];
}
} else {
@@ -721,8 +721,8 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
else if (strcmp(name, "GetCurrentDlgBranch") == 0) {
stack->correctParams(0);
- if (_dlgPendingBranches.size() > 0) {
- stack->pushString(_dlgPendingBranches[_dlgPendingBranches.size() - 1]);
+ if (_dlgPendingBranches.getSize() > 0) {
+ stack->pushString(_dlgPendingBranches[_dlgPendingBranches.getSize() - 1]);
} else {
stack->pushNULL();
}
@@ -766,10 +766,10 @@ bool AdGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
ScValue *val = stack->pop();
if (!val->isNULL()) {
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
AdInventory *inv = _inventories[i];
- for (uint32 j = 0; j < inv->_takenItems.size(); j++) {
+ for (uint32 j = 0; j < inv->_takenItems.getSize(); j++) {
if (val->getNative() == inv->_takenItems[j]) {
stack->pushBool(true);
return STATUS_OK;
@@ -1085,7 +1085,7 @@ ScValue *AdGame::scGetProperty(const Common::String &name) {
// TotalNumItems
//////////////////////////////////////////////////////////////////////////
else if (name == "TotalNumItems") {
- _scValue->setInt(_items.size());
+ _scValue->setInt(_items.getSize());
return _scValue;
}
@@ -1143,7 +1143,7 @@ bool AdGame::scSetProperty(const char *name, ScValue *value) {
} else {
if (value->isNative()) {
_selectedItem = nullptr;
- for (uint32 i = 0; i < _items.size(); i++) {
+ for (uint32 i = 0; i < _items.getSize(); i++) {
if (_items[i] == value->getNative()) {
_selectedItem = (AdItem *)value->getNative();
break;
@@ -1656,7 +1656,7 @@ bool AdGame::handleCustomActionStart(BaseGameCustomAction action) {
p.y = yCenter;
// Looking through all objects for entities near to the center
if (_scene && _scene->getSceneObjects(objects, true)) {
- for (uint32 i = 0; i < objects.size(); i++) {
+ for (uint32 i = 0; i < objects.getSize(); i++) {
BaseRegion *region;
if (objects[i]->getType() != OBJECT_ENTITY ||
!objects[i]->_active ||
@@ -1764,7 +1764,7 @@ bool AdGame::loadItemsBuffer(char *buffer, bool merge) {
BaseParser parser;
if (!merge) {
- while (_items.size() > 0) {
+ while (_items.getSize() > 0) {
deleteItem(_items[0]);
}
}
@@ -1819,7 +1819,7 @@ AdSceneState *AdGame::getSceneState(const char *filename, bool saving) {
}
}
- for (uint32 i = 0; i < _sceneStates.size(); i++) {
+ for (uint32 i = 0; i < _sceneStates.getSize(); i++) {
if (scumm_stricmp(_sceneStates[i]->getFilename(), filenameCor) == 0) {
delete[] filenameCor;
return _sceneStates[i];
@@ -1914,8 +1914,8 @@ bool AdGame::startDlgBranch(const char *branchName, const char *scriptName, cons
bool AdGame::endDlgBranch(const char *branchName, const char *scriptName, const char *eventName) {
char *name = nullptr;
bool deleteName = false;
- if (branchName == nullptr && _dlgPendingBranches.size() > 0) {
- name = _dlgPendingBranches[_dlgPendingBranches.size() - 1];
+ if (branchName == nullptr && _dlgPendingBranches.getSize() > 0) {
+ name = _dlgPendingBranches[_dlgPendingBranches.getSize() - 1];
} else {
if (branchName != nullptr) {
size_t sz = strlen(branchName) + 1 + strlen(scriptName) + 1 + strlen(eventName) + 1;
@@ -1931,27 +1931,27 @@ bool AdGame::endDlgBranch(const char *branchName, const char *scriptName, const
int startIndex = -1;
- for (int i = _dlgPendingBranches.size() - 1; i >= 0; i--) {
+ for (int i = _dlgPendingBranches.getSize() - 1; i >= 0; i--) {
if (scumm_stricmp(name, _dlgPendingBranches[i]) == 0) {
startIndex = i;
break;
}
}
if (startIndex >= 0) {
- for (uint32 i = startIndex; i < _dlgPendingBranches.size(); i++) {
+ for (uint32 i = startIndex; i < _dlgPendingBranches.getSize(); i++) {
//ClearBranchResponses(_dlgPendingBranches[i]);
delete[] _dlgPendingBranches[i];
_dlgPendingBranches[i] = nullptr;
}
- _dlgPendingBranches.remove_at(startIndex, _dlgPendingBranches.size() - startIndex);
+ _dlgPendingBranches.removeAt(startIndex, _dlgPendingBranches.getSize() - startIndex);
}
// dialogue is over, forget selected responses
- if (_dlgPendingBranches.size() == 0) {
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ if (_dlgPendingBranches.getSize() == 0) {
+ for (uint32 i = 0; i < _responsesBranch.getSize(); i++) {
delete _responsesBranch[i];
}
- _responsesBranch.clear();
+ _responsesBranch.removeAll();
}
if (deleteName) {
@@ -1964,10 +1964,10 @@ bool AdGame::endDlgBranch(const char *branchName, const char *scriptName, const
//////////////////////////////////////////////////////////////////////////
bool AdGame::clearBranchResponses(char *name) {
- for (int32 i = 0; i < (int32)_responsesBranch.size(); i++) {
+ for (int32 i = 0; i < (int32)_responsesBranch.getSize(); i++) {
if (scumm_stricmp(name, _responsesBranch[i]->getContext()) == 0) {
delete _responsesBranch[i];
- _responsesBranch.remove_at(i);
+ _responsesBranch.removeAt(i);
i--;
}
}
@@ -1982,7 +1982,7 @@ bool AdGame::addBranchResponse(int id) {
}
AdResponseContext *r = new AdResponseContext(_gameRef);
r->_id = id;
- r->setContext(_dlgPendingBranches.size() > 0 ? _dlgPendingBranches[_dlgPendingBranches.size() - 1] : nullptr);
+ r->setContext(_dlgPendingBranches.getSize() > 0 ? _dlgPendingBranches[_dlgPendingBranches.getSize() - 1] : nullptr);
_responsesBranch.add(r);
return STATUS_OK;
}
@@ -1990,8 +1990,8 @@ bool AdGame::addBranchResponse(int id) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::branchResponseUsed(int id) const {
- char *context = _dlgPendingBranches.size() > 0 ? _dlgPendingBranches[_dlgPendingBranches.size() - 1] : nullptr;
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ char *context = _dlgPendingBranches.getSize() > 0 ? _dlgPendingBranches[_dlgPendingBranches.getSize() - 1] : nullptr;
+ for (uint32 i = 0; i < _responsesBranch.getSize(); i++) {
if (_responsesBranch[i]->_id == id) {
if ((context == nullptr && _responsesBranch[i]->getContext() == nullptr) || (context != nullptr && scumm_stricmp(context, _responsesBranch[i]->getContext()) == 0)) {
return true;
@@ -2009,7 +2009,7 @@ bool AdGame::addGameResponse(int id) {
}
AdResponseContext *r = new AdResponseContext(_gameRef);
r->_id = id;
- r->setContext(_dlgPendingBranches.size() > 0 ? _dlgPendingBranches[_dlgPendingBranches.size() - 1] : nullptr);
+ r->setContext(_dlgPendingBranches.getSize() > 0 ? _dlgPendingBranches[_dlgPendingBranches.getSize() - 1] : nullptr);
_responsesGame.add(r);
return STATUS_OK;
}
@@ -2017,8 +2017,8 @@ bool AdGame::addGameResponse(int id) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::gameResponseUsed(int id) const {
- char *context = _dlgPendingBranches.size() > 0 ? _dlgPendingBranches[_dlgPendingBranches.size() - 1] : nullptr;
- for (uint32 i = 0; i < _responsesGame.size(); i++) {
+ char *context = _dlgPendingBranches.getSize() > 0 ? _dlgPendingBranches[_dlgPendingBranches.getSize() - 1] : nullptr;
+ for (uint32 i = 0; i < _responsesGame.getSize(); i++) {
const AdResponseContext *respContext = _responsesGame[i];
if (respContext->_id == id) {
if ((context == nullptr && respContext->getContext() == nullptr) || ((context != nullptr && respContext->getContext() != nullptr) && (context != nullptr && scumm_stricmp(context, respContext->getContext()) == 0))) {
@@ -2032,23 +2032,23 @@ bool AdGame::gameResponseUsed(int id) const {
//////////////////////////////////////////////////////////////////////////
bool AdGame::resetResponse(int id) {
- char *context = _dlgPendingBranches.size() > 0 ? _dlgPendingBranches[_dlgPendingBranches.size() - 1] : nullptr;
+ char *context = _dlgPendingBranches.getSize() > 0 ? _dlgPendingBranches[_dlgPendingBranches.getSize() - 1] : nullptr;
- for (uint32 i = 0; i < _responsesGame.size(); i++) {
+ for (uint32 i = 0; i < _responsesGame.getSize(); i++) {
if (_responsesGame[i]->_id == id) {
if ((context == nullptr && _responsesGame[i]->getContext() == nullptr) || (context != nullptr && scumm_stricmp(context, _responsesGame[i]->getContext()) == 0)) {
delete _responsesGame[i];
- _responsesGame.remove_at(i);
+ _responsesGame.removeAt(i);
break;
}
}
}
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ for (uint32 i = 0; i < _responsesBranch.getSize(); i++) {
if (_responsesBranch[i]->_id == id) {
if ((context == nullptr && _responsesBranch[i]->getContext() == nullptr) || (context != nullptr && scumm_stricmp(context, _responsesBranch[i]->getContext()) == 0)) {
delete _responsesBranch[i];
- _responsesBranch.remove_at(i);
+ _responsesBranch.removeAt(i);
break;
}
}
@@ -2149,7 +2149,7 @@ bool AdGame::displayContent(bool doUpdate, bool displayAll) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::registerInventory(AdInventory *inv) {
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
if (_inventories[i] == inv) {
return STATUS_OK;
}
@@ -2162,10 +2162,10 @@ bool AdGame::registerInventory(AdInventory *inv) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::unregisterInventory(AdInventory *inv) {
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
if (_inventories[i] == inv) {
unregisterObject(_inventories[i]);
- _inventories.remove_at(i);
+ _inventories.removeAt(i);
return STATUS_OK;
}
}
@@ -2174,10 +2174,10 @@ bool AdGame::unregisterInventory(AdInventory *inv) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::isItemTaken(char *itemName) {
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
AdInventory *inv = _inventories[i];
- for (uint32 j = 0; j < inv->_takenItems.size(); j++) {
+ for (uint32 j = 0; j < inv->_takenItems.getSize(); j++) {
if (scumm_stricmp(itemName, inv->_takenItems[j]->getName()) == 0) {
return true;
}
@@ -2188,7 +2188,7 @@ bool AdGame::isItemTaken(char *itemName) {
//////////////////////////////////////////////////////////////////////////
AdItem *AdGame::getItemByName(const char *name) const {
- for (uint32 i = 0; i < _items.size(); i++) {
+ for (uint32 i = 0; i < _items.getSize(); i++) {
if (scumm_stricmp(_items[i]->getName(), name) == 0) {
return _items[i];
}
@@ -2207,34 +2207,34 @@ bool AdGame::addItem(AdItem *item) {
//////////////////////////////////////////////////////////////////////////
bool AdGame::resetContent() {
// clear pending dialogs
- for (uint32 i = 0; i < _dlgPendingBranches.size(); i++) {
+ for (uint32 i = 0; i < _dlgPendingBranches.getSize(); i++) {
delete[] _dlgPendingBranches[i];
}
- _dlgPendingBranches.clear();
+ _dlgPendingBranches.removeAll();
// clear inventories
- for (uint32 i = 0; i < _inventories.size(); i++) {
- _inventories[i]->_takenItems.clear();
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
+ _inventories[i]->_takenItems.removeAll();
}
// clear scene states
- for (uint32 i = 0; i < _sceneStates.size(); i++) {
+ for (uint32 i = 0; i < _sceneStates.getSize(); i++) {
delete _sceneStates[i];
}
- _sceneStates.clear();
+ _sceneStates.removeAll();
// clear once responses
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ for (uint32 i = 0; i < _responsesBranch.getSize(); i++) {
delete _responsesBranch[i];
}
- _responsesBranch.clear();
+ _responsesBranch.removeAll();
// clear once game responses
- for (uint32 i = 0; i < _responsesGame.size(); i++) {
+ for (uint32 i = 0; i < _responsesGame.getSize(); i++) {
delete _responsesGame[i];
}
- _responsesGame.clear();
+ _responsesGame.removeAll();
// reload inventory items
if (_itemsFile) {
@@ -2259,15 +2259,15 @@ bool AdGame::deleteItem(AdItem *item) {
_scene->handleItemAssociations(item->getName(), false);
// remove from all inventories
- for (uint32 i = 0; i < _inventories.size(); i++) {
+ for (uint32 i = 0; i < _inventories.getSize(); i++) {
_inventories[i]->removeItem(item);
}
// remove object
- for (uint32 i = 0; i < _items.size(); i++) {
+ for (uint32 i = 0; i < _items.getSize(); i++) {
if (_items[i] == item) {
unregisterObject(_items[i]);
- _items.remove_at(i);
+ _items.removeAt(i);
break;
}
}
@@ -2289,7 +2289,7 @@ bool AdGame::addSpeechDir(const char *dir) {
Common::strcat_s(temp, dirSize, "\\");
}
- for (uint32 i = 0; i < _speechDirs.size(); i++) {
+ for (uint32 i = 0; i < _speechDirs.getSize(); i++) {
if (scumm_stricmp(_speechDirs[i], temp) == 0) {
delete[] temp;
return STATUS_OK;
@@ -2315,10 +2315,10 @@ bool AdGame::removeSpeechDir(const char *dir) {
}
bool found = false;
- for (uint32 i = 0; i < _speechDirs.size(); i++) {
+ for (uint32 i = 0; i < _speechDirs.getSize(); i++) {
if (scumm_stricmp(_speechDirs[i], temp) == 0) {
delete[] _speechDirs[i];
- _speechDirs.remove_at(i);
+ _speechDirs.removeAt(i);
found = true;
break;
}
@@ -2333,7 +2333,7 @@ bool AdGame::removeSpeechDir(const char *dir) {
char *AdGame::findSpeechFile(char *stringID) {
char *ret = new char[MAX_PATH_LENGTH];
- for (uint32 i = 0; i < _speechDirs.size(); i++) {
+ for (uint32 i = 0; i < _speechDirs.getSize(); i++) {
Common::sprintf_s(ret, MAX_PATH_LENGTH, "%s%s.ogg", _speechDirs[i], stringID);
if (BaseFileManager::getEngineInstance()->hasFile(ret)) {
return ret;
diff --git a/engines/wintermute/ad/ad_geom_ext.cpp b/engines/wintermute/ad/ad_geom_ext.cpp
index ff1af1f9476..e432aadd54f 100644
--- a/engines/wintermute/ad/ad_geom_ext.cpp
+++ b/engines/wintermute/ad/ad_geom_ext.cpp
@@ -41,10 +41,10 @@ AdGeomExt::AdGeomExt(BaseGame *in_gameRef) : BaseClass(in_gameRef) {
//////////////////////////////////////////////////////////////////////////
AdGeomExt::~AdGeomExt() {
- for (uint i = 0; i < _nodes.size(); i++) {
+ for (uint i = 0; i < _nodes.getSize(); i++) {
delete _nodes[i];
}
- _nodes.clear();
+ _nodes.removeAll();
}
//////////////////////////////////////////////////////////////////////////
@@ -144,7 +144,7 @@ AdGeomExtNode *AdGeomExt::matchName(const char *name) {
return nullptr;
}
- for (uint i = 0; i < _nodes.size(); i++) {
+ for (uint i = 0; i < _nodes.getSize(); i++) {
if (_nodes[i]->matchesName(name)) {
return _nodes[i];
}
diff --git a/engines/wintermute/ad/ad_inventory.cpp b/engines/wintermute/ad/ad_inventory.cpp
index d80372419b1..9dc0c9df1f7 100644
--- a/engines/wintermute/ad/ad_inventory.cpp
+++ b/engines/wintermute/ad/ad_inventory.cpp
@@ -43,7 +43,7 @@ AdInventory::AdInventory(BaseGame *inGame) : BaseObject(inGame) {
//////////////////////////////////////////////////////////////////////////
AdInventory::~AdInventory() {
- _takenItems.clear(); // ref only
+ _takenItems.removeAll(); // ref only
}
@@ -59,9 +59,9 @@ bool AdInventory::insertItem(const char *name, const char *insertAfter) {
}
int32 insertIndex = -1;
- for (int32 i = 0; i < (int32)_takenItems.size(); i++) {
+ for (int32 i = 0; i < (int32)_takenItems.getSize(); i++) {
if (scumm_stricmp(_takenItems[i]->getName(), name) == 0) {
- _takenItems.remove_at(i);
+ _takenItems.removeAt(i);
i--;
continue;
}
@@ -74,7 +74,7 @@ bool AdInventory::insertItem(const char *name, const char *insertAfter) {
if (insertIndex == -1) {
_takenItems.add(item);
} else {
- _takenItems.insert_at(insertIndex, item);
+ _takenItems.insertAt(insertIndex, item);
}
return STATUS_OK;
@@ -87,12 +87,12 @@ bool AdInventory::removeItem(const char *name) {
return STATUS_FAILED;
}
- for (uint32 i = 0; i < _takenItems.size(); i++) {
+ for (uint32 i = 0; i < _takenItems.getSize(); i++) {
if (scumm_stricmp(_takenItems[i]->getName(), name) == 0) {
if (((AdGame *)_gameRef)->_selectedItem == _takenItems[i]) {
((AdGame *)_gameRef)->_selectedItem = nullptr;
}
- _takenItems.remove_at(i);
+ _takenItems.removeAt(i);
return STATUS_OK;
}
}
@@ -108,12 +108,12 @@ bool AdInventory::removeItem(AdItem *item) {
return STATUS_FAILED;
}
- for (uint32 i = 0; i < _takenItems.size(); i++) {
+ for (uint32 i = 0; i < _takenItems.getSize(); i++) {
if (_takenItems[i] == item) {
if (((AdGame *)_gameRef)->_selectedItem == _takenItems[i]) {
((AdGame *)_gameRef)->_selectedItem = nullptr;
}
- _takenItems.remove_at(i);
+ _takenItems.removeAt(i);
return STATUS_OK;
}
}
diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 8041565b734..235ecd091f7 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -113,7 +113,7 @@ bool AdInventoryBox::display() {
if (_window) {
_window->enableWidget("prev", _scrollOffset > 0);
- _window->enableWidget("next", _scrollOffset + itemsX * itemsY < (int32)adGame->_inventoryOwner->getInventory()->_takenItems.size());
+ _window->enableWidget("next", _scrollOffset + itemsX * itemsY < (int32)adGame->_inventoryOwner->getInventory()->_takenItems.getSize());
}
@@ -142,7 +142,7 @@ bool AdInventoryBox::display() {
int xxx = rect.left;
for (int i = 0; i < itemsX; i++) {
int itemIndex = _scrollOffset + j * itemsX + i;
- if (itemIndex >= 0 && itemIndex < (int32)adGame->_inventoryOwner->getInventory()->_takenItems.size()) {
+ if (itemIndex >= 0 && itemIndex < (int32)adGame->_inventoryOwner->getInventory()->_takenItems.getSize()) {
AdItem *item = adGame->_inventoryOwner->getInventory()->_takenItems[itemIndex];
if (item != ((AdGame *)_gameRef)->_selectedItem || !_hideSelected) {
item->update();
@@ -324,7 +324,7 @@ bool AdInventoryBox::loadBuffer(char *buffer, bool complete) {
_visible = alwaysVisible;
if (_window) {
- for (uint32 i = 0; i < _window->_widgets.size(); i++) {
+ for (uint32 i = 0; i < _window->_widgets.getSize(); i++) {
if (!_window->_widgets[i]->getListener()) {
_window->_widgets[i]->setListener(this, _window->_widgets[i], 0);
}
diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp
index 30a9dcaaefa..54e3f4f2312 100644
--- a/engines/wintermute/ad/ad_layer.cpp
+++ b/engines/wintermute/ad/ad_layer.cpp
@@ -52,10 +52,10 @@ AdLayer::AdLayer(BaseGame *inGame) : BaseObject(inGame) {
//////////////////////////////////////////////////////////////////////////
AdLayer::~AdLayer() {
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
delete _nodes[i];
}
- _nodes.clear();
+ _nodes.removeAll();
}
@@ -245,7 +245,7 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
if (val->_type == VAL_INT) {
node = val->getInt();
} else { // get by name
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
if ((_nodes[i]->_type == OBJECT_ENTITY && scumm_stricmp(_nodes[i]->_entity->getName(), val->getString()) == 0) ||
(_nodes[i]->_type == OBJECT_REGION && scumm_stricmp(_nodes[i]->_region->getName(), val->getString()) == 0)) {
node = i;
@@ -254,7 +254,7 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
}
}
- if (node < 0 || node >= (int32)_nodes.size()) {
+ if (node < 0 || node >= (int32)_nodes.getSize()) {
stack->pushNULL();
} else {
switch (_nodes[node]->_type) {
@@ -325,8 +325,8 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
if (index < 0) {
index = 0;
}
- if (index <= (int32)_nodes.size() - 1) {
- _nodes.insert_at(index, node);
+ if (index <= (int32)_nodes.getSize() - 1) {
+ _nodes.insertAt(index, node);
} else {
_nodes.add(node);
}
@@ -344,7 +344,7 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
AdSceneNode *toDelete = nullptr;
if (val->isNative()) {
BaseScriptable *temp = val->getNative();
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
if (_nodes[i]->_region == temp || _nodes[i]->_entity == temp) {
toDelete = _nodes[i];
break;
@@ -352,7 +352,7 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
}
} else {
int index = val->getInt();
- if (index >= 0 && index < (int32)_nodes.size()) {
+ if (index >= 0 && index < (int32)_nodes.getSize()) {
toDelete = _nodes[index];
}
}
@@ -361,11 +361,11 @@ bool AdLayer::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
return STATUS_OK;
}
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
if (_nodes[i] == toDelete) {
delete _nodes[i];
_nodes[i] = nullptr;
- _nodes.remove_at(i);
+ _nodes.removeAt(i);
break;
}
}
@@ -393,7 +393,7 @@ ScValue *AdLayer::scGetProperty(const Common::String &name) {
// NumNodes (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumNodes") {
- _scValue->setInt(_nodes.size());
+ _scValue->setInt(_nodes.getSize());
return _scValue;
}
@@ -518,7 +518,7 @@ bool AdLayer::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "CLOSE_UP=%s\n", _closeUp ? "TRUE" : "FALSE");
}
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
@@ -526,7 +526,7 @@ bool AdLayer::saveAsText(BaseDynamicBuffer *buffer, int indent) {
_scProp->saveAsText(buffer, indent + 2);
}
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
switch (_nodes[i]->_type) {
case OBJECT_ENTITY:
_nodes[i]->_entity->saveAsText(buffer, indent + 2);
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index 342eac8016b..1083c8944e4 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -143,15 +143,15 @@ AdObject::~AdObject() {
}
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
_gameRef->unregisterObject(_attachmentsPre[i]);
}
- _attachmentsPre.clear();
+ _attachmentsPre.removeAll();
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
_gameRef->unregisterObject(_attachmentsPost[i]);
}
- _attachmentsPost.clear();
+ _attachmentsPost.removeAll();
}
@@ -313,7 +313,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
regFound = true;
} else if (val->isString()) {
const char *regionName = val->getString();
- for (i = 0; i < main->_nodes.size(); i++) {
+ for (i = 0; i < main->_nodes.getSize(); i++) {
if (main->_nodes[i]->_type == OBJECT_REGION && main->_nodes[i]->_region->getName() && scumm_stricmp(main->_nodes[i]->_region->getName(), regionName) == 0) {
_stickRegion = main->_nodes[i]->_region;
regFound = true;
@@ -323,7 +323,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
} else if (val->isNative()) {
BaseScriptable *obj = val->getNative();
- for (i = 0; i < main->_nodes.size(); i++) {
+ for (i = 0; i < main->_nodes.getSize(); i++) {
if (main->_nodes[i]->_type == OBJECT_REGION && main->_nodes[i]->_region == obj) {
_stickRegion = main->_nodes[i]->_region;
regFound = true;
@@ -447,7 +447,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
} else {
stack->pushNULL();
}
- } else if (val->isNULL() || val->getInt() < 0 || val->getInt() >= (int32)_inventory->_takenItems.size()) {
+ } else if (val->isNULL() || val->getInt() < 0 || val->getInt() >= (int32)_inventory->_takenItems.getSize()) {
stack->pushNULL();
} else {
stack->pushNative(_inventory->_takenItems[val->getInt()], true);
@@ -469,7 +469,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
ScValue *val = stack->pop();
if (!val->isNULL()) {
- for (uint32 i = 0; i < _inventory->_takenItems.size(); i++) {
+ for (uint32 i = 0; i < _inventory->_takenItems.getSize(); i++) {
if (val->getNative() == _inventory->_takenItems[i]) {
stack->pushBool(true);
return STATUS_OK;
@@ -564,37 +564,37 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
bool found = false;
if (val->isNative()) {
BaseScriptable *obj = val->getNative();
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
if (_attachmentsPre[i] == obj) {
found = true;
_gameRef->unregisterObject(_attachmentsPre[i]);
- _attachmentsPre.remove_at(i);
+ _attachmentsPre.removeAt(i);
i--;
}
}
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
if (_attachmentsPost[i] == obj) {
found = true;
_gameRef->unregisterObject(_attachmentsPost[i]);
- _attachmentsPost.remove_at(i);
+ _attachmentsPost.removeAt(i);
i--;
}
}
} else {
const char *attachmentName = val->getString();
- for (int32 i = 0; i < (int32)_attachmentsPre.size(); i++) {
+ for (int32 i = 0; i < (int32)_attachmentsPre.getSize(); i++) {
if (_attachmentsPre[i]->getName() && scumm_stricmp(_attachmentsPre[i]->getName(), attachmentName) == 0) {
found = true;
_gameRef->unregisterObject(_attachmentsPre[i]);
- _attachmentsPre.remove_at(i);
+ _attachmentsPre.removeAt(i);
i--;
}
}
- for (int32 i = 0; i < (int32)_attachmentsPost.size(); i++) {
+ for (int32 i = 0; i < (int32)_attachmentsPost.getSize(); i++) {
if (_attachmentsPost[i]->getName() && scumm_stricmp(_attachmentsPost[i]->getName(), attachmentName) == 0) {
found = true;
_gameRef->unregisterObject(_attachmentsPost[i]);
- _attachmentsPost.remove_at(i);
+ _attachmentsPost.removeAt(i);
i--;
}
}
@@ -615,13 +615,13 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
if (val->isInt()) {
int index = val->getInt();
int currIndex = 0;
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
if (currIndex == index) {
ret = _attachmentsPre[i];
}
currIndex++;
}
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
if (currIndex == index) {
ret = _attachmentsPost[i];
}
@@ -629,14 +629,14 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
}
} else {
const char *attachmentName = val->getString();
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
if (_attachmentsPre[i]->getName() && scumm_stricmp(_attachmentsPre[i]->getName(), attachmentName) == 0) {
ret = _attachmentsPre[i];
break;
}
}
if (!ret) {
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
if (_attachmentsPost[i]->getName() && scumm_stricmp(_attachmentsPost[i]->getName(), attachmentName) == 0) {
ret = _attachmentsPre[i];
break;
@@ -738,7 +738,7 @@ ScValue *AdObject::scGetProperty(const Common::String &name) {
// NumItems (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumItems") {
- _scValue->setInt(getInventory()->_takenItems.size());
+ _scValue->setInt(getInventory()->_takenItems.getSize());
return _scValue;
}
@@ -759,7 +759,7 @@ ScValue *AdObject::scGetProperty(const Common::String &name) {
// NumAttachments (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumAttachments") {
- _scValue->setInt(_attachmentsPre.size() + _attachmentsPost.size());
+ _scValue->setInt(_attachmentsPre.getSize() + _attachmentsPost.getSize());
return _scValue;
} else {
return BaseObject::scGetProperty(name);
@@ -861,12 +861,12 @@ bool AdObject::setFont(const char *filename) {
//////////////////////////////////////////////////////////////////////////
int32 AdObject::getHeight() {
- if (!_currentSprite || (int32)_currentSprite->_frames.size() <= _currentSprite->_currentFrame) {
+ if (!_currentSprite || (int32)_currentSprite->_frames.getSize() <= _currentSprite->_currentFrame) {
return 0;
} else {
BaseFrame *frame = _currentSprite->_frames[_currentSprite->_currentFrame];
int32 ret = 0;
- for (uint32 i = 0; i < frame->_subframes.size(); i++) {
+ for (uint32 i = 0; i < frame->_subframes.getSize(); i++) {
ret = MAX(ret, frame->_subframes[i]->_hotspotY);
}
@@ -1205,10 +1205,10 @@ bool AdObject::getScale(float *scaleX, float *scaleY) {
//////////////////////////////////////////////////////////////////////////
bool AdObject::updateSpriteAttachments() {
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
_attachmentsPre[i]->update();
}
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
_attachmentsPost[i]->update();
}
return STATUS_OK;
@@ -1217,11 +1217,11 @@ bool AdObject::updateSpriteAttachments() {
//////////////////////////////////////////////////////////////////////////
bool AdObject::displaySpriteAttachments(bool preDisplay) {
if (preDisplay) {
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPre.getSize(); i++) {
displaySpriteAttachment(_attachmentsPre[i]);
}
} else {
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (uint32 i = 0; i < _attachmentsPost.getSize(); i++) {
displaySpriteAttachment(_attachmentsPost[i]);
}
}
diff --git a/engines/wintermute/ad/ad_object_3d.cpp b/engines/wintermute/ad/ad_object_3d.cpp
index 05ca4ca89ba..eb2e4f26fc8 100644
--- a/engines/wintermute/ad/ad_object_3d.cpp
+++ b/engines/wintermute/ad/ad_object_3d.cpp
@@ -73,16 +73,16 @@ AdObject3D::~AdObject3D() {
//////////////////////////////////////////////////////////////////////////
void AdObject3D::clearIgnoredLights() {
- for (uint32 i = 0; i < _ignoredLights.size(); ++i) {
+ for (uint32 i = 0; i < _ignoredLights.getSize(); ++i) {
delete _ignoredLights[i];
}
- _ignoredLights.clear();
+ _ignoredLights.removeAll();
}
//////////////////////////////////////////////////////////////////////////
bool AdObject3D::addIgnoredLight(char *lightName) {
- for (uint32 i = 0; i < _ignoredLights.size(); i++) {
+ for (uint32 i = 0; i < _ignoredLights.getSize(); i++) {
if (scumm_stricmp(_ignoredLights[i], lightName) == 0) {
return true;
}
@@ -94,10 +94,10 @@ bool AdObject3D::addIgnoredLight(char *lightName) {
//////////////////////////////////////////////////////////////////////////
bool AdObject3D::removeIgnoredLight(char *lightName) {
- for (uint32 i = 0; i < _ignoredLights.size(); i++) {
+ for (uint32 i = 0; i < _ignoredLights.getSize(); i++) {
if (scumm_stricmp(_ignoredLights[i], lightName) == 0) {
delete[] _ignoredLights[i];
- _ignoredLights.remove_at(i);
+ _ignoredLights.removeAt(i);
return true;
}
}
diff --git a/engines/wintermute/ad/ad_path.cpp b/engines/wintermute/ad/ad_path.cpp
index 9bbdacfc880..534b192a9e5 100644
--- a/engines/wintermute/ad/ad_path.cpp
+++ b/engines/wintermute/ad/ad_path.cpp
@@ -47,11 +47,11 @@ AdPath::~AdPath() {
//////////////////////////////////////////////////////////////////////////
void AdPath::reset() {
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
_currIndex = -1;
_ready = false;
}
@@ -59,7 +59,7 @@ void AdPath::reset() {
//////////////////////////////////////////////////////////////////////////
BasePoint *AdPath::getFirst() {
- if (_points.size() > 0) {
+ if (_points.getSize() > 0) {
_currIndex = 0;
return _points[_currIndex];
} else {
@@ -71,7 +71,7 @@ BasePoint *AdPath::getFirst() {
//////////////////////////////////////////////////////////////////////////
BasePoint *AdPath::getNext() {
_currIndex++;
- if (_currIndex < (int32)_points.size()) {
+ if (_currIndex < (int32)_points.getSize()) {
return _points[_currIndex];
} else {
return nullptr;
@@ -81,7 +81,7 @@ BasePoint *AdPath::getNext() {
//////////////////////////////////////////////////////////////////////////
BasePoint *AdPath::getCurrent() {
- if (_currIndex >= 0 && _currIndex < (int32)_points.size()) {
+ if (_currIndex >= 0 && _currIndex < (int32)_points.getSize()) {
return _points[_currIndex];
} else {
return nullptr;
diff --git a/engines/wintermute/ad/ad_path3d.cpp b/engines/wintermute/ad/ad_path3d.cpp
index fa28f711fb5..fde893b1246 100644
--- a/engines/wintermute/ad/ad_path3d.cpp
+++ b/engines/wintermute/ad/ad_path3d.cpp
@@ -45,11 +45,11 @@ AdPath3D::~AdPath3D() {
//////////////////////////////////////////////////////////////////////////
void AdPath3D::reset() {
- for (uint i = 0; i < _points.size(); i++) {
+ for (uint i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
_currIndex = -1;
_ready = false;
}
@@ -74,7 +74,7 @@ bool AdPath3D::setReady(bool ready) {
//////////////////////////////////////////////////////////////////////////
DXVector3 *AdPath3D::getFirst() {
- if (_points.size() > 0) {
+ if (_points.getSize() > 0) {
_currIndex = 0;
return _points[_currIndex];
} else {
@@ -85,7 +85,7 @@ DXVector3 *AdPath3D::getFirst() {
//////////////////////////////////////////////////////////////////////////
DXVector3 *AdPath3D::getNext() {
_currIndex++;
- if (static_cast<uint>(_currIndex) < _points.size()) {
+ if (static_cast<uint>(_currIndex) < _points.getSize()) {
return _points[_currIndex];
} else {
return nullptr;
@@ -94,7 +94,7 @@ DXVector3 *AdPath3D::getNext() {
//////////////////////////////////////////////////////////////////////////
DXVector3 *AdPath3D::getCurrent() {
- if (_currIndex >= 0 && static_cast<uint>(_currIndex) < _points.size()) {
+ if (_currIndex >= 0 && static_cast<uint>(_currIndex) < _points.getSize()) {
return _points[_currIndex];
} else {
return nullptr;
@@ -109,7 +109,7 @@ bool AdPath3D::persist(BasePersistenceManager *persistMgr) {
persistMgr->transferBool(TMEMBER(_ready));
if (persistMgr->getIsSaving()) {
- int32 j = _points.size();
+ int32 j = _points.getSize();
persistMgr->transferSint32("ArraySize", &j);
for (int i = 0; i < j; i++) {
persistMgr->transferFloat("x", &_points[i]->_x);
diff --git a/engines/wintermute/ad/ad_region.cpp b/engines/wintermute/ad/ad_region.cpp
index 88d5961ea87..054def279aa 100644
--- a/engines/wintermute/ad/ad_region.cpp
+++ b/engines/wintermute/ad/ad_region.cpp
@@ -142,10 +142,10 @@ bool AdRegion::loadBuffer(char *buffer, bool complete) {
buffer = params;
}
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
int ar = 255, ag = 255, ab = 255, alpha = 255;
@@ -379,7 +379,7 @@ bool AdRegion::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "ALPHA = %d\n", RGBCOLGetA(_alpha));
buffer->putTextIndent(indent + 2, "EDITOR_SELECTED=%s\n", _editorSelected ? "TRUE" : "FALSE");
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
@@ -387,7 +387,7 @@ bool AdRegion::saveAsText(BaseDynamicBuffer *buffer, int indent) {
_scProp->saveAsText(buffer, indent + 2);
}
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
buffer->putTextIndent(indent + 2, "POINT {%d,%d}\n", _points[i]->x, _points[i]->y);
}
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index f4a0166746b..0e52e9f49d2 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -97,30 +97,30 @@ AdResponseBox::~AdResponseBox() {
}
uint32 AdResponseBox::getNumResponses() const {
- return _responses.size();
+ return _responses.getSize();
}
//////////////////////////////////////////////////////////////////////////
void AdResponseBox::clearResponses() {
- for (uint32 i = 0; i < _responses.size(); i++) {
+ for (uint32 i = 0; i < _responses.getSize(); i++) {
delete _responses[i];
}
- _responses.clear();
+ _responses.removeAll();
}
//////////////////////////////////////////////////////////////////////////
void AdResponseBox::clearButtons() {
- for (uint32 i = 0; i < _respButtons.size(); i++) {
+ for (uint32 i = 0; i < _respButtons.getSize(); i++) {
delete _respButtons[i];
}
- _respButtons.clear();
+ _respButtons.removeAll();
}
//////////////////////////////////////////////////////////////////////////
bool AdResponseBox::invalidateButtons() {
- for (uint32 i = 0; i < _respButtons.size(); i++) {
+ for (uint32 i = 0; i < _respButtons.getSize(); i++) {
_respButtons[i]->setImage(nullptr);
_respButtons[i]->setFont(nullptr);
_respButtons[i]->setText("");
@@ -137,7 +137,7 @@ bool AdResponseBox::createButtons() {
clearButtons();
_scrollOffset = 0;
- for (uint32 i = 0; i < _responses.size(); i++) {
+ for (uint32 i = 0; i < _responses.getSize(); i++) {
UIButton *btn = new UIButton(_gameRef);
if (btn) {
btn->_parent = _window;
@@ -390,7 +390,7 @@ bool AdResponseBox::loadBuffer(char *buffer, bool complete) {
}
if (_window) {
- for (uint32 i = 0; i < _window->_widgets.size(); i++) {
+ for (uint32 i = 0; i < _window->_widgets.getSize(); i++) {
if (!_window->_widgets[i]->getListener()) {
_window->_widgets[i]->setListener(this, _window->_widgets[i], 0);
}
@@ -484,7 +484,7 @@ bool AdResponseBox::display() {
// shift down if needed
if (!_horizontal) {
int totalHeight = 0;
- for (i = 0; i < (int32) _respButtons.size(); i++) {
+ for (i = 0; i < (int32) _respButtons.getSize(); i++) {
totalHeight += (_respButtons[i]->getHeight() + _spacing);
}
totalHeight -= _spacing;
@@ -511,7 +511,7 @@ bool AdResponseBox::display() {
// prepare response buttons
bool scrollNeeded = false;
- for (i = _scrollOffset; i < (int32) _respButtons.size(); i++) {
+ for (i = _scrollOffset; i < (int32) _respButtons.getSize(); i++) {
#ifdef ENABLE_FOXTAIL
// FoxTail's "HORIZONTAL=TRUE" display boxes are actual 2x3 display boxes
@@ -569,7 +569,7 @@ bool AdResponseBox::display() {
// display response buttons
- for (i = _scrollOffset; i < (int32) _respButtons.size(); i++) {
+ for (i = _scrollOffset; i < (int32) _respButtons.getSize(); i++) {
_respButtons[i]->display();
}
@@ -639,12 +639,12 @@ bool AdResponseBox::persist(BasePersistenceManager *persistMgr) {
bool AdResponseBox::weedResponses() {
AdGame *adGame = (AdGame *)_gameRef;
- for (int32 i = 0; i < (int32)_responses.size(); i++) {
+ for (int32 i = 0; i < (int32)_responses.getSize(); i++) {
switch (_responses[i]->_responseType) {
case RESPONSE_ONCE:
if (adGame->branchResponseUsed(_responses[i]->getID())) {
delete _responses[i];
- _responses.remove_at(i);
+ _responses.removeAt(i);
i--;
}
break;
@@ -652,7 +652,7 @@ bool AdResponseBox::weedResponses() {
case RESPONSE_ONCE_GAME:
if (adGame->gameResponseUsed(_responses[i]->getID())) {
delete _responses[i];
- _responses.remove_at(i);
+ _responses.removeAt(i);
i--;
}
break;
@@ -688,7 +688,7 @@ void AdResponseBox::addResponse(const AdResponse *response) {
}
int32 AdResponseBox::getIdForResponseNum(uint32 num) const {
- assert(num < _responses.size());
+ assert(num < _responses.getSize());
return _responses[num]->getID();
}
@@ -723,13 +723,13 @@ BaseObject *AdResponseBox::getNextAccessObject(BaseObject *currObject) {
BaseArray<UIObject *> objects;
getObjects(objects, true);
- if (objects.size() == 0) {
+ if (objects.getSize() == 0) {
return nullptr;
} else {
if (currObject != nullptr) {
- for (uint32 i = 0; i < objects.size(); i++) {
+ for (uint32 i = 0; i < objects.getSize(); i++) {
if (objects[i] == currObject) {
- if (i < objects.size() - 1) {
+ if (i < objects.getSize() - 1) {
return objects[i + 1];
} else {
break;
@@ -747,11 +747,11 @@ BaseObject *AdResponseBox::getPrevAccessObject(BaseObject *currObject) {
BaseArray<UIObject *> objects;
getObjects(objects, true);
- if (objects.size() == 0) {
+ if (objects.getSize() == 0) {
return nullptr;
} else {
if (currObject != nullptr) {
- for (int i = objects.size() - 1; i >= 0; i--) {
+ for (int i = objects.getSize() - 1; i >= 0; i--) {
if (objects[i] == currObject) {
if (i > 0) {
return objects[i - 1];
@@ -761,14 +761,14 @@ BaseObject *AdResponseBox::getPrevAccessObject(BaseObject *currObject) {
}
}
}
- return objects[objects.size() - 1];
+ return objects[objects.getSize() - 1];
}
return nullptr;
}
//////////////////////////////////////////////////////////////////////////
bool AdResponseBox::getObjects(BaseArray<UIObject *> &objects, bool interactiveOnly) {
- for (uint32 i = 0; i < _respButtons.size(); i++) {
+ for (uint32 i = 0; i < _respButtons.getSize(); i++) {
objects.add(_respButtons[i]);
}
if (_window) {
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index 40e09743307..cbf08352122 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -185,38 +185,38 @@ void AdScene::cleanup() {
_gameRef->unregisterObject(_fader);
_fader = nullptr;
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
_gameRef->unregisterObject(_layers[i]);
}
- _layers.clear();
+ _layers.removeAll();
- for (uint32 i = 0; i < _waypointGroups.size(); i++) {
+ for (uint32 i = 0; i < _waypointGroups.getSize(); i++) {
_gameRef->unregisterObject(_waypointGroups[i]);
}
- _waypointGroups.clear();
+ _waypointGroups.removeAll();
- for (uint32 i = 0; i < _scaleLevels.size(); i++) {
+ for (uint32 i = 0; i < _scaleLevels.getSize(); i++) {
_gameRef->unregisterObject(_scaleLevels[i]);
}
- _scaleLevels.clear();
+ _scaleLevels.removeAll();
- for (uint32 i = 0; i < _rotLevels.size(); i++) {
+ for (uint32 i = 0; i < _rotLevels.getSize(); i++) {
_gameRef->unregisterObject(_rotLevels[i]);
}
- _rotLevels.clear();
+ _rotLevels.removeAll();
- for (uint32 i = 0; i < _pfPath.size(); i++) {
+ for (uint32 i = 0; i < _pfPath.getSize(); i++) {
delete _pfPath[i];
}
- _pfPath.clear();
+ _pfPath.removeAll();
_pfPointsNum = 0;
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
_gameRef->unregisterObject(_objects[i]);
}
- _objects.clear();
+ _objects.removeAll();
#ifdef ENABLE_WME3D
delete _geom;
@@ -278,7 +278,7 @@ bool AdScene::getPath(const BasePoint &source, const BasePoint &target, AdPath *
pfPointsAdd(target.x, target.y, INT_MAX_VALUE);
// active waypoints
- for (uint32 i = 0; i < _waypointGroups.size(); i++) {
+ for (uint32 i = 0; i < _waypointGroups.getSize(); i++) {
if (_waypointGroups[i]->_active) {
pfAddWaypointGroup(_waypointGroups[i], requester);
}
@@ -286,13 +286,13 @@ bool AdScene::getPath(const BasePoint &source, const BasePoint &target, AdPath *
// free waypoints
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && _objects[i] != requester && _objects[i]->_currentWptGroup) {
pfAddWaypointGroup(_objects[i]->_currentWptGroup, requester);
}
}
AdGame *adGame = (AdGame *)_gameRef;
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
if (adGame->_objects[i]->_active && adGame->_objects[i] != requester && adGame->_objects[i]->_currentWptGroup) {
pfAddWaypointGroup(adGame->_objects[i]->_currentWptGroup, requester);
}
@@ -309,7 +309,7 @@ void AdScene::pfAddWaypointGroup(AdWaypointGroup *wpt, BaseObject *requester) {
return;
}
- for (uint32 i = 0; i < wpt->_points.size(); i++) {
+ for (uint32 i = 0; i < wpt->_points.getSize(); i++) {
if (isBlockedAt(wpt->_points[i]->x, wpt->_points[i]->y, true, requester)) {
continue;
}
@@ -326,7 +326,7 @@ float AdScene::getZoomAt(int x, int y) {
bool found = false;
if (_mainLayer) {
- for (int i = _mainLayer->_nodes.size() - 1; i >= 0; i--) {
+ for (int i = _mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && !node->_region->isBlocked() && node->_region->pointInRegion(x, y)) {
if (node->_region->getZoom() != 0) {
@@ -359,7 +359,7 @@ uint32 AdScene::getAlphaAt(int x, int y, bool colorCheck) {
}
if (_mainLayer) {
- for (int i = _mainLayer->_nodes.size() - 1; i >= 0; i--) {
+ for (int i = _mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && (colorCheck || !node->_region->isBlocked()) && node->_region->pointInRegion(x, y)) {
if (!node->_region->isBlocked()) {
@@ -378,7 +378,7 @@ bool AdScene::isBlockedAt(int x, int y, bool checkFreeObjects, BaseObject *reque
bool ret = true;
if (checkFreeObjects) {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && _objects[i] != requester && _objects[i]->_currentBlockRegion) {
if (_objects[i]->_currentBlockRegion->pointInRegion(x, y)) {
return true;
@@ -386,7 +386,7 @@ bool AdScene::isBlockedAt(int x, int y, bool checkFreeObjects, BaseObject *reque
}
}
AdGame *adGame = (AdGame *)_gameRef;
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
if (adGame->_objects[i]->_active && adGame->_objects[i] != requester && adGame->_objects[i]->_currentBlockRegion) {
if (adGame->_objects[i]->_currentBlockRegion->pointInRegion(x, y)) {
return true;
@@ -397,7 +397,7 @@ bool AdScene::isBlockedAt(int x, int y, bool checkFreeObjects, BaseObject *reque
if (_mainLayer) {
- for (uint32 i = 0; i < _mainLayer->_nodes.size(); i++) {
+ for (uint32 i = 0; i < _mainLayer->_nodes.getSize(); i++) {
AdSceneNode *node = _mainLayer->_nodes[i];
/*
if (Node->_type == OBJECT_REGION && Node->_region->_active && Node->_region->_blocked && Node->_region->PointInRegion(X, Y))
@@ -425,7 +425,7 @@ bool AdScene::isWalkableAt(int x, int y, bool checkFreeObjects, BaseObject *requ
bool ret = false;
if (checkFreeObjects) {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && _objects[i] != requester && _objects[i]->_currentBlockRegion) {
if (_objects[i]->_currentBlockRegion->pointInRegion(x, y)) {
return false;
@@ -433,7 +433,7 @@ bool AdScene::isWalkableAt(int x, int y, bool checkFreeObjects, BaseObject *requ
}
}
AdGame *adGame = (AdGame *)_gameRef;
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
if (adGame->_objects[i]->_active && adGame->_objects[i] != requester && adGame->_objects[i]->_currentBlockRegion) {
if (adGame->_objects[i]->_currentBlockRegion->pointInRegion(x, y)) {
return false;
@@ -444,7 +444,7 @@ bool AdScene::isWalkableAt(int x, int y, bool checkFreeObjects, BaseObject *requ
if (_mainLayer) {
- for (uint32 i = 0; i < _mainLayer->_nodes.size(); i++) {
+ for (uint32 i = 0; i < _mainLayer->_nodes.getSize(); i++) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && !node->_region->hasDecoration() && node->_region->pointInRegion(x, y)) {
if (node->_region->isBlocked()) {
@@ -533,7 +533,7 @@ void AdScene::pathFinderStep() {
// target point marked, generate path and terminate
if (lowestPt->x == _pfTarget->x && lowestPt->y == _pfTarget->y) {
while (lowestPt != nullptr) {
- _pfTargetPath->_points.insert_at(0, new BasePoint(lowestPt->x, lowestPt->y));
+ _pfTargetPath->_points.insertAt(0, new BasePoint(lowestPt->x, lowestPt->y));
lowestPt = lowestPt->_origin;
}
@@ -1175,7 +1175,7 @@ bool AdScene::traverseNodes(bool doUpdate) {
int mainOffsetY = 0;
#endif
- for (uint32 j = 0; j < _layers.size(); j++) {
+ for (uint32 j = 0; j < _layers.getSize(); j++) {
if (!_layers[j]->_active) {
continue;
}
@@ -1224,7 +1224,7 @@ bool AdScene::traverseNodes(bool doUpdate) {
#endif
// for each node
- for (uint32 k = 0; k < _layers[j]->_nodes.size(); k++) {
+ for (uint32 k = 0; k < _layers[j]->_nodes.getSize(); k++) {
AdSceneNode *node = _layers[j]->_nodes[k];
switch (node->_type) {
case OBJECT_ENTITY:
@@ -1322,7 +1322,7 @@ bool AdScene::display3DContent(DXMatrix &viewMat, DXMatrix &projMat) {
_gameRef->_renderer3D->setup3DCustom(viewMat, projMat);
// for each layer
- for (uint32 j = 0; j < _layers.size(); j++) {
+ for (uint32 j = 0; j < _layers.getSize(); j++) {
if (!_layers[j]->_active)
continue;
@@ -1334,7 +1334,7 @@ bool AdScene::display3DContent(DXMatrix &viewMat, DXMatrix &projMat) {
// for each node
- for (uint32 k = 0; k < _layers[j]->_nodes.size(); k++) {
+ for (uint32 k = 0; k < _layers[j]->_nodes.getSize(); k++) {
AdSceneNode *node = _layers[j]->_nodes[k];
if (node->_type == OBJECT_REGION) {
if (node->_region->isBlocked())
@@ -1369,7 +1369,7 @@ bool AdScene::updateFreeObjects() {
#endif
// *** update all active objects
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
if (!adGame->_objects[i]->_active) {
continue;
}
@@ -1388,7 +1388,7 @@ bool AdScene::updateFreeObjects() {
}
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (!_objects[i]->_active) {
continue;
}
@@ -1423,26 +1423,26 @@ bool AdScene::displayRegionContent(AdRegion *region, bool display3DOnly) {
AdObject *obj;
// global objects
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
obj = adGame->_objects[i];
if (obj->_active && !obj->_drawn && (obj->_stickRegion == region || region == nullptr || (obj->_stickRegion == nullptr && region->pointInRegion(obj->_posX, obj->_posY)))) {
- objects.push_back(obj);
+ objects.add(obj);
}
}
// scene objects
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
obj = _objects[i];
if (obj->_active && !obj->_editorOnly && !obj->_drawn && (obj->_stickRegion == region || region == nullptr || (obj->_stickRegion == nullptr && region->pointInRegion(obj->_posX, obj->_posY)))) {
- objects.push_back(obj);
+ objects.add(obj);
}
}
// sort by _posY
- qsort(objects.data(), objects.size(), sizeof(AdObject *), AdScene::compareObjs);
+ qsort(objects.getData(), objects.getSize(), sizeof(AdObject *), AdScene::compareObjs);
// display them
- for (uint32 i = 0; i < objects.size(); i++) {
+ for (uint32 i = 0; i < objects.getSize(); i++) {
obj = objects[i];
if (display3DOnly && !obj->_is3D) {
@@ -1472,7 +1472,7 @@ bool AdScene::displayRegionContent(AdRegion *region, bool display3DOnly) {
// display design only objects
if (!display3DOnly) {
if (_gameRef->_editorMode && region == nullptr) {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && _objects[i]->_editorOnly) {
_objects[i]->display();
_objects[i]->_drawn = true;
@@ -1510,7 +1510,7 @@ bool AdScene::displayRegionContentOld(AdRegion *region) {
int minY = INT_MAX_VALUE;
// global objects
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
if (adGame->_objects[i]->_active && !adGame->_objects[i]->_drawn && adGame->_objects[i]->_posY < minY && (adGame->_objects[i]->_stickRegion == region || region == nullptr || (adGame->_objects[i]->_stickRegion == nullptr && region->pointInRegion(adGame->_objects[i]->_posX, adGame->_objects[i]->_posY)))) {
obj = adGame->_objects[i];
minY = adGame->_objects[i]->_posY;
@@ -1518,7 +1518,7 @@ bool AdScene::displayRegionContentOld(AdRegion *region) {
}
// scene objects
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && !_objects[i]->_editorOnly && !_objects[i]->_drawn && _objects[i]->_posY < minY && (_objects[i]->_stickRegion == region || region == nullptr || (_objects[i]->_stickRegion == nullptr && region->pointInRegion(_objects[i]->_posX, _objects[i]->_posY)))) {
obj = _objects[i];
minY = _objects[i]->_posY;
@@ -1549,7 +1549,7 @@ bool AdScene::displayRegionContentOld(AdRegion *region) {
// design only objects
if (_gameRef->_editorMode && region == nullptr) {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_active && _objects[i]->_editorOnly) {
_objects[i]->display();
_objects[i]->_drawn = true;
@@ -1758,7 +1758,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
ScValue *val = stack->pop();
if (val->isInt()) {
int layer = val->getInt();
- if (layer < 0 || layer >= (int32)_layers.size()) {
+ if (layer < 0 || layer >= (int32)_layers.getSize()) {
stack->pushNULL();
} else {
stack->pushNative(_layers[layer], true);
@@ -1766,7 +1766,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
} else {
const char *layerName = val->getString();
bool layerFound = false;
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
if (scumm_stricmp(layerName, _layers[i]->getName()) == 0) {
stack->pushNative(_layers[i], true);
layerFound = true;
@@ -1786,7 +1786,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
else if (strcmp(name, "GetWaypointGroup") == 0) {
stack->correctParams(1);
int group = stack->pop()->getInt();
- if (group < 0 || group >= (int32)_waypointGroups.size()) {
+ if (group < 0 || group >= (int32)_waypointGroups.getSize()) {
stack->pushNULL();
} else {
stack->pushNative(_waypointGroups[group], true);
@@ -1833,12 +1833,12 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
AdObject *ret = nullptr;
if (val->isInt()) {
int index = val->getInt();
- if (index >= 0 && index < (int32)_objects.size()) {
+ if (index >= 0 && index < (int32)_objects.getSize()) {
ret = _objects[index];
}
} else {
const char *nodeName = val->getString();
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i] && _objects[i]->getName() && scumm_stricmp(_objects[i]->getName(), nodeName) == 0) {
ret = _objects[i];
break;
@@ -1869,7 +1869,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
}
if (_mainLayer) {
- for (int i = _mainLayer->_nodes.size() - 1; i >= 0; i--) {
+ for (int i = _mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && node->_region->pointInRegion(x, y)) {
if (node->_region->hasDecoration() && !includeDecors) {
@@ -2125,7 +2125,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
int index = stack->pop()->getInt();
- if (_geom && index >= 0 && static_cast<uint>(index) < _geom->_lights.size()) {
+ if (_geom && index >= 0 && static_cast<uint>(index) < _geom->_lights.getSize()) {
stack->pushString(_geom->_lights[index]->getName());
} else {
stack->pushNULL();
@@ -2288,8 +2288,8 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
if (index < 0) {
index = 0;
}
- if (index <= (int32)_layers.size() - 1) {
- _layers.insert_at(index, layer);
+ if (index <= (int32)_layers.getSize() - 1) {
+ _layers.insertAt(index, layer);
} else {
_layers.add(layer);
}
@@ -2310,7 +2310,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
AdLayer *toDelete = nullptr;
if (val->isNative()) {
BaseScriptable *temp = val->getNative();
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
if (_layers[i] == temp) {
toDelete = _layers[i];
break;
@@ -2318,7 +2318,7 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
}
} else {
int index = val->getInt();
- if (index >= 0 && index < (int32)_layers.size()) {
+ if (index >= 0 && index < (int32)_layers.getSize()) {
toDelete = _layers[index];
}
}
@@ -2333,9 +2333,9 @@ bool AdScene::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
return STATUS_OK;
}
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
if (_layers[i] == toDelete) {
- _layers.remove_at(i);
+ _layers.removeAt(i);
_gameRef->unregisterObject(toDelete);
break;
}
@@ -2393,7 +2393,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
// NumLayers (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumLayers") {
- _scValue->setInt(_layers.size());
+ _scValue->setInt(_layers.getSize());
return _scValue;
}
@@ -2401,7 +2401,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
// NumWaypointGroups (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumWaypointGroups") {
- _scValue->setInt(_waypointGroups.size());
+ _scValue->setInt(_waypointGroups.getSize());
return _scValue;
}
@@ -2422,7 +2422,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
// NumFreeNodes (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumFreeNodes") {
- _scValue->setInt(_objects.size());
+ _scValue->setInt(_objects.getSize());
return _scValue;
}
@@ -2605,7 +2605,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
//////////////////////////////////////////////////////////////////////////
else if (name == "NumLights") {
if (_geom) {
- _scValue->setInt(_geom->_lights.size());
+ _scValue->setInt(_geom->_lights.getSize());
} else {
_scValue->setInt(0);
}
@@ -2787,9 +2787,9 @@ bool AdScene::addObject(AdObject *object) {
//////////////////////////////////////////////////////////////////////////
bool AdScene::removeObject(AdObject *object) {
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i] == object) {
- _objects.remove_at(i);
+ _objects.removeAt(i);
return _gameRef->unregisterObject(object);
}
}
@@ -2854,7 +2854,7 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
#endif
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
@@ -2902,7 +2902,7 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
// waypoints
buffer->putTextIndent(indent + 2, "; ----- waypoints\n");
- for (uint32 i = 0; i < _waypointGroups.size(); i++) {
+ for (uint32 i = 0; i < _waypointGroups.getSize(); i++) {
_waypointGroups[i]->saveAsText(buffer, indent + 2);
}
@@ -2910,19 +2910,19 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
// layers
buffer->putTextIndent(indent + 2, "; ----- layers\n");
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
_layers[i]->saveAsText(buffer, indent + 2);
}
// scale levels
buffer->putTextIndent(indent + 2, "; ----- scale levels\n");
- for (uint32 i = 0; i < _scaleLevels.size(); i++) {
+ for (uint32 i = 0; i < _scaleLevels.getSize(); i++) {
_scaleLevels[i]->saveAsText(buffer, indent + 2);
}
// rotation levels
buffer->putTextIndent(indent + 2, "; ----- rotation levels\n");
- for (uint32 i = 0; i < _rotLevels.size(); i++) {
+ for (uint32 i = 0; i < _rotLevels.getSize(); i++) {
_rotLevels[i]->saveAsText(buffer, indent + 2);
}
@@ -2931,7 +2931,7 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
// free entities
buffer->putTextIndent(indent + 2, "; ----- free entities\n");
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->getType() == OBJECT_ENTITY) {
_objects[i]->saveAsText(buffer, indent + 2);
@@ -2945,13 +2945,13 @@ bool AdScene::saveAsText(BaseDynamicBuffer *buffer, int indent) {
//////////////////////////////////////////////////////////////////////////
bool AdScene::sortScaleLevels() {
- if (_scaleLevels.size() == 0) {
+ if (_scaleLevels.getSize() == 0) {
return STATUS_OK;
}
bool changed;
do {
changed = false;
- for (uint32 i = 0; i < _scaleLevels.size() - 1; i++) {
+ for (uint32 i = 0; i < _scaleLevels.getSize() - 1; i++) {
if (_scaleLevels[i]->_posY > _scaleLevels[i + 1]->_posY) {
AdScaleLevel *sl = _scaleLevels[i];
_scaleLevels[i] = _scaleLevels[i + 1];
@@ -2969,13 +2969,13 @@ bool AdScene::sortScaleLevels() {
//////////////////////////////////////////////////////////////////////////
bool AdScene::sortRotLevels() {
- if (_rotLevels.size() == 0) {
+ if (_rotLevels.getSize() == 0) {
return STATUS_OK;
}
bool changed;
do {
changed = false;
- for (uint32 i = 0; i < _rotLevels.size() - 1; i++) {
+ for (uint32 i = 0; i < _rotLevels.getSize() - 1; i++) {
if (_rotLevels[i]->_posX > _rotLevels[i + 1]->_posX) {
AdRotLevel *rl = _rotLevels[i];
_rotLevels[i] = _rotLevels[i + 1];
@@ -2996,7 +2996,7 @@ float AdScene::getScaleAt(int Y) {
AdScaleLevel *prev = nullptr;
AdScaleLevel *next = nullptr;
- for (uint32 i = 0; i < _scaleLevels.size(); i++) {
+ for (uint32 i = 0; i < _scaleLevels.getSize(); i++) {
/* AdScaleLevel *xxx = _scaleLevels[i];*/
/* int j = _scaleLevels.size(); */
if (_scaleLevels[i]->_posY < Y) {
@@ -3128,7 +3128,7 @@ bool AdScene::afterLoad() {
#ifdef ENABLE_WME3D
if (_geom) {
int activeCamera = _geom->_activeCamera;
- if (activeCamera >= 0 && static_cast<uint>(activeCamera) < _geom->_cameras.size()) {
+ if (activeCamera >= 0 && static_cast<uint>(activeCamera) < _geom->_cameras.getSize()) {
_geom->setActiveCamera(activeCamera, _fov, _nearClipPlane, _farClipPlane);
}
}
@@ -3283,7 +3283,7 @@ void AdScene::pfPointsStart() {
//////////////////////////////////////////////////////////////////////////
void AdScene::pfPointsAdd(int x, int y, int distance) {
- if (_pfPointsNum >= (int32)_pfPath.size()) {
+ if (_pfPointsNum >= (int32)_pfPath.getSize()) {
_pfPath.add(new AdPathPoint(x, y, distance));
} else {
_pfPath[_pfPointsNum]->x = x;
@@ -3396,9 +3396,9 @@ BaseObject *AdScene::getNodeByName(const char *name) {
BaseObject *ret = nullptr;
// dependent objects
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
AdLayer *layer = _layers[i];
- for (uint32 j = 0; j < layer->_nodes.size(); j++) {
+ for (uint32 j = 0; j < layer->_nodes.getSize(); j++) {
AdSceneNode *node = layer->_nodes[j];
if ((node->_type == OBJECT_ENTITY && !scumm_stricmp(name, node->_entity->getName())) ||
(node->_type == OBJECT_REGION && !scumm_stricmp(name, node->_region->getName()))) {
@@ -3418,14 +3418,14 @@ BaseObject *AdScene::getNodeByName(const char *name) {
}
// free entities
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->getType() == OBJECT_ENTITY && !scumm_stricmp(name, _objects[i]->getName())) {
return _objects[i];
}
}
// waypoint groups
- for (uint32 i = 0; i < _waypointGroups.size(); i++) {
+ for (uint32 i = 0; i < _waypointGroups.getSize(); i++) {
if (!scumm_stricmp(name, _waypointGroups[i]->getName())) {
return _waypointGroups[i];
}
@@ -3462,9 +3462,9 @@ bool AdScene::persistState(bool saving) {
AdNodeState *nodeState;
// dependent objects
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
AdLayer *layer = _layers[i];
- for (uint32 j = 0; j < layer->_nodes.size(); j++) {
+ for (uint32 j = 0; j < layer->_nodes.getSize(); j++) {
AdSceneNode *node = layer->_nodes[j];
switch (node->_type) {
case OBJECT_ENTITY:
@@ -3499,7 +3499,7 @@ bool AdScene::persistState(bool saving) {
}
// free entities
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (!_objects[i]->_saveState) {
continue;
}
@@ -3514,7 +3514,7 @@ bool AdScene::persistState(bool saving) {
}
// waypoint groups
- for (uint32 i = 0; i < _waypointGroups.size(); i++) {
+ for (uint32 i = 0; i < _waypointGroups.getSize(); i++) {
nodeState = state->getNodeState(_waypointGroups[i]->getName(), saving);
if (nodeState) {
if (saving) {
@@ -3534,7 +3534,7 @@ float AdScene::getRotationAt(int x, int y) {
AdRotLevel *prev = nullptr;
AdRotLevel *next = nullptr;
- for (uint32 i = 0; i < _rotLevels.size(); i++) {
+ for (uint32 i = 0; i < _rotLevels.getSize(); i++) {
/* AdRotLevel *xxx = _rotLevels[i];
int j = _rotLevels.size();*/
if (_rotLevels[i]->_posX < x) {
@@ -3560,9 +3560,9 @@ float AdScene::getRotationAt(int x, int y) {
//////////////////////////////////////////////////////////////////////////
bool AdScene::handleItemAssociations(const char *itemName, bool show) {
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
AdLayer *layer = _layers[i];
- for (uint32 j = 0; j < layer->_nodes.size(); j++) {
+ for (uint32 j = 0; j < layer->_nodes.getSize(); j++) {
if (layer->_nodes[j]->_type == OBJECT_ENTITY) {
AdEntity *ent = layer->_nodes[j]->_entity;
@@ -3573,7 +3573,7 @@ bool AdScene::handleItemAssociations(const char *itemName, bool show) {
}
}
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->getType() == OBJECT_ENTITY) {
AdEntity *ent = (AdEntity *)_objects[i];
if (ent->getItemName() && strcmp(ent->getItemName(), itemName) == 0) {
@@ -3590,7 +3590,7 @@ bool AdScene::handleItemAssociations(const char *itemName, bool show) {
bool AdScene::getRegionsAt(int x, int y, AdRegion **regionList, int numRegions) {
int numUsed = 0;
if (_mainLayer) {
- for (int i = _mainLayer->_nodes.size() - 1; i >= 0; i--) {
+ for (int i = _mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && node->_region->pointInRegion(x, y)) {
if (numUsed < numRegions - 1) {
@@ -3620,13 +3620,13 @@ BaseObject *AdScene::getNextAccessObject(BaseObject *currObject) {
BaseArray<AdObject *> objects;
getSceneObjects(objects, true);
- if (objects.size() == 0) {
+ if (objects.getSize() == 0) {
return nullptr;
} else {
if (currObject != nullptr) {
- for (uint32 i = 0; i < objects.size(); i++) {
+ for (uint32 i = 0; i < objects.getSize(); i++) {
if (objects[i] == currObject) {
- if (i < objects.size() - 1) {
+ if (i < objects.getSize() - 1) {
return objects[i + 1];
} else {
break;
@@ -3644,11 +3644,11 @@ BaseObject *AdScene::getPrevAccessObject(BaseObject *currObject) {
BaseArray<AdObject *> objects;
getSceneObjects(objects, true);
- if (objects.size() == 0) {
+ if (objects.getSize() == 0) {
return nullptr;
} else {
if (currObject != nullptr) {
- for (int i = objects.size() - 1; i >= 0; i--) {
+ for (int i = objects.getSize() - 1; i >= 0; i--) {
if (objects[i] == currObject) {
if (i > 0) {
return objects[i - 1];
@@ -3658,7 +3658,7 @@ BaseObject *AdScene::getPrevAccessObject(BaseObject *currObject) {
}
}
}
- return objects[objects.size() - 1];
+ return objects[objects.getSize() - 1];
}
return nullptr;
}
@@ -3666,14 +3666,14 @@ BaseObject *AdScene::getPrevAccessObject(BaseObject *currObject) {
//////////////////////////////////////////////////////////////////////////
bool AdScene::getSceneObjects(BaseArray<AdObject *> &objects, bool interactiveOnly) {
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
// close-up layer -> remove everything below it
if (interactiveOnly && _layers[i]->_closeUp) {
- objects.clear();
+ objects.removeAll();
}
- for (uint32 j = 0; j < _layers[i]->_nodes.size(); j++) {
+ for (uint32 j = 0; j < _layers[i]->_nodes.getSize(); j++) {
AdSceneNode *node = _layers[i]->_nodes[j];
switch (node->_type) {
case OBJECT_ENTITY: {
@@ -3687,9 +3687,9 @@ bool AdScene::getSceneObjects(BaseArray<AdObject *> &objects, bool interactiveOn
case OBJECT_REGION: {
BaseArray<AdObject *> regionObj;
getRegionObjects(node->_region, regionObj, interactiveOnly);
- for (uint32 newIndex = 0; newIndex < regionObj.size(); newIndex++) {
+ for (uint32 newIndex = 0; newIndex < regionObj.getSize(); newIndex++) {
bool found = false;
- for (uint32 old = 0; old < objects.size(); old++) {
+ for (uint32 old = 0; old < objects.getSize(); old++) {
if (objects[old] == regionObj[newIndex]) {
found = true;
break;
@@ -3713,9 +3713,9 @@ bool AdScene::getSceneObjects(BaseArray<AdObject *> &objects, bool interactiveOn
// objects outside any region
BaseArray<AdObject *> regionObj;
getRegionObjects(NULL, regionObj, interactiveOnly);
- for (uint32 newIndex = 0; newIndex < regionObj.size(); newIndex++) {
+ for (uint32 newIndex = 0; newIndex < regionObj.getSize(); newIndex++) {
bool found = false;
- for (uint32 old = 0; old < objects.size(); old++) {
+ for (uint32 old = 0; old < objects.getSize(); old++) {
if (objects[old] == regionObj[newIndex]) {
found = true;
break;
@@ -3737,7 +3737,7 @@ bool AdScene::getRegionObjects(AdRegion *region, BaseArray<AdObject *> &objects,
AdObject *obj;
// global objects
- for (uint32 i = 0; i < adGame->_objects.size(); i++) {
+ for (uint32 i = 0; i < adGame->_objects.getSize(); i++) {
obj = adGame->_objects[i];
if (obj->_active && (obj->_stickRegion == region || region == nullptr || (obj->_stickRegion == nullptr && region->pointInRegion(obj->_posX, obj->_posY)))) {
if (interactiveOnly && !obj->_registrable) {
@@ -3749,7 +3749,7 @@ bool AdScene::getRegionObjects(AdRegion *region, BaseArray<AdObject *> &objects,
}
// scene objects
- for (uint32 i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
obj = _objects[i];
if (obj->_active && !obj->_editorOnly && (obj->_stickRegion == region || region == nullptr || (obj->_stickRegion == nullptr && region->pointInRegion(obj->_posX, obj->_posY)))) {
if (interactiveOnly && !obj->_registrable) {
@@ -3761,7 +3761,7 @@ bool AdScene::getRegionObjects(AdRegion *region, BaseArray<AdObject *> &objects,
}
// sort by _posY
- qsort(objects.data(), objects.size(), sizeof(AdObject *), AdScene::compareObjs);
+ qsort(objects.getData(), objects.getSize(), sizeof(AdObject *), AdScene::compareObjs);
return STATUS_OK;
}
diff --git a/engines/wintermute/ad/ad_scene_geometry.cpp b/engines/wintermute/ad/ad_scene_geometry.cpp
index 3abebcaefe4..79e09285086 100644
--- a/engines/wintermute/ad/ad_scene_geometry.cpp
+++ b/engines/wintermute/ad/ad_scene_geometry.cpp
@@ -96,45 +96,45 @@ AdSceneGeometry::~AdSceneGeometry() {
void AdSceneGeometry::cleanup() {
uint i;
- for (i = 0; i < _planes.size(); i++) {
+ for (i = 0; i < _planes.getSize(); i++) {
delete _planes[i];
}
- _planes.clear();
+ _planes.removeAll();
- for (i = 0; i < _blocks.size(); i++) {
+ for (i = 0; i < _blocks.getSize(); i++) {
delete _blocks[i];
}
- _blocks.clear();
+ _blocks.removeAll();
- for (i = 0; i < _generics.size(); i++) {
+ for (i = 0; i < _generics.getSize(); i++) {
delete _generics[i];
}
- _generics.clear();
+ _generics.removeAll();
- for (i = 0; i < _waypointGroups.size(); i++) {
+ for (i = 0; i < _waypointGroups.getSize(); i++) {
delete _waypointGroups[i];
}
- _waypointGroups.clear();
+ _waypointGroups.removeAll();
- for (i = 0; i < _cameras.size(); i++) {
+ for (i = 0; i < _cameras.getSize(); i++) {
if (_gameRef->_renderer3D->_camera == _cameras[i])
_gameRef->_renderer3D->_camera = nullptr;
delete _cameras[i];
}
- _cameras.clear();
+ _cameras.removeAll();
- for (i = 0; i < _lights.size(); i++) {
+ for (i = 0; i < _lights.getSize(); i++) {
delete _lights[i];
}
- _lights.clear();
+ _lights.removeAll();
_activeCamera = _activeLight = -1;
DXMatrixIdentity(&_viewMatrix);
- for (i = 0; i < _PFPath.size(); i++) {
+ for (i = 0; i < _PFPath.getSize(); i++) {
delete _PFPath[i];
}
- _PFPath.clear();
+ _PFPath.removeAll();
_PFTargetPath = nullptr;
}
@@ -249,7 +249,7 @@ bool AdSceneGeometry::loadFile(const char *filename) {
delete geomExt;
return false;
} else {
- if (_waypointGroups.size() == 0) {
+ if (_waypointGroups.getSize() == 0) {
_waypointGroups.add(new AdWaypointGroup3D(_gameRef));
}
_waypointGroups[0]->addFromMesh(mesh);
@@ -305,12 +305,12 @@ bool AdSceneGeometry::loadFile(const char *filename) {
SystemClassRegistry::getInstance()->_disabled = false;
- if (_cameras.size() > 0) {
+ if (_cameras.getSize() > 0) {
setActiveCamera(0, -1.0f, -1.0f, -1.0f);
}
createLights();
- if (_lights.size() > 0) {
+ if (_lights.getSize() > 0) {
setActiveLight(0);
}
@@ -329,8 +329,8 @@ bool AdSceneGeometry::loadFile(const char *filename) {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::dropWaypoints() {
- for (uint i = 0; i < _waypointGroups.size(); i++) {
- for (uint j = 0; j < _waypointGroups[i]->_points.size(); j++) {
+ for (uint i = 0; i < _waypointGroups.getSize(); i++) {
+ for (uint j = 0; j < _waypointGroups[i]->_points.getSize(); j++) {
DXVector3 *point = _waypointGroups[i]->_points[j];
point->_y = getHeightAt(*point) + _waypointHeight;
}
@@ -340,7 +340,7 @@ bool AdSceneGeometry::dropWaypoints() {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::setActiveCamera(int camera, float fov, float nearClipPlane, float farClipPlane) {
- if (camera < 0 || static_cast<uint>(camera) >= _cameras.size()) {
+ if (camera < 0 || static_cast<uint>(camera) >= _cameras.getSize()) {
_gameRef->LOG(0, "Warning: Camera %d is out of bounds.", camera);
return false;
} else {
@@ -362,7 +362,7 @@ bool AdSceneGeometry::setActiveCamera(int camera, float fov, float nearClipPlane
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::setActiveCamera(const char *camera, float fov, float nearClipPlane, float farClipPlane) {
- for (uint i = 0; i < _cameras.size(); i++) {
+ for (uint i = 0; i < _cameras.getSize(); i++) {
if (scumm_stricmp(_cameras[i]->getName(), camera) == 0)
return setActiveCamera(i, fov, nearClipPlane, farClipPlane);
}
@@ -373,7 +373,7 @@ bool AdSceneGeometry::setActiveCamera(const char *camera, float fov, float nearC
//////////////////////////////////////////////////////////////////////////
Camera3D *AdSceneGeometry::getActiveCamera() {
- if (_activeCamera >= 0 && static_cast<uint>(_activeCamera) < _cameras.size()) {
+ if (_activeCamera >= 0 && static_cast<uint>(_activeCamera) < _cameras.getSize()) {
return _cameras[_activeCamera];
} else {
return nullptr;
@@ -382,7 +382,7 @@ Camera3D *AdSceneGeometry::getActiveCamera() {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::setActiveLight(int light) {
- if (light < 0 || static_cast<uint>(light) >= _lights.size()) {
+ if (light < 0 || static_cast<uint>(light) >= _lights.getSize()) {
_gameRef->LOG(0, "Warning: Light %d is out of bounds.", light);
return false;
} else {
@@ -393,7 +393,7 @@ bool AdSceneGeometry::setActiveLight(int light) {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::setActiveLight(char *light) {
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(_lights[i]->getName(), light) == 0) {
return setActiveLight(i);
}
@@ -475,7 +475,7 @@ float AdSceneGeometry::getHeightAt(DXVector3 pos, float tolerance, bool *intFoun
bool intFoundTmp = false;
- for (uint32 i = 0; i < _planes.size(); i++) {
+ for (uint32 i = 0; i < _planes.getSize(); i++) {
for (int j = 0; j < _planes[i]->_mesh->_numFaces; j++) {
if (C3DUtils::intersectTriangle(pos, dir,
_planes[i]->_mesh->_vertices[_planes[i]->_mesh->_faces[j]._vertices[0]]._pos,
@@ -507,7 +507,7 @@ bool AdSceneGeometry::directPathExists(DXVector3 *p1, DXVector3 *p2) {
DXVector3 v0, v1, v2;
// test walkplanes
- for (uint i = 0; i < _planes.size(); i++) {
+ for (uint i = 0; i < _planes.getSize(); i++) {
for (int j = 0; j < _planes[i]->_mesh->_numFaces; j++) {
v0 = _planes[i]->_mesh->_vertices[_planes[i]->_mesh->_faces[j]._vertices[0]]._pos;
v1 = _planes[i]->_mesh->_vertices[_planes[i]->_mesh->_faces[j]._vertices[1]]._pos;
@@ -529,7 +529,7 @@ bool AdSceneGeometry::directPathExists(DXVector3 *p1, DXVector3 *p2) {
}
// test blocks
- for (uint i = 0; i < _blocks.size(); i++) {
+ for (uint i = 0; i < _blocks.getSize(); i++) {
if (!_blocks[i]->_active) {
continue;
}
@@ -564,7 +564,7 @@ DXVector3 AdSceneGeometry::getBlockIntersection(DXVector3 *p1, DXVector3 *p2) {
DXVector3 v0, v1, v2;
// test blocks
- for (uint i = 0; i < _blocks.size(); i++) {
+ for (uint i = 0; i < _blocks.getSize(); i++) {
if (!_blocks[i]->_active) {
continue;
}
@@ -724,7 +724,7 @@ bool AdSceneGeometry::convert2Dto3D(int x, int y, DXVector3 *pos) {
bool intFound = false;
float minDist = FLT_MAX;
DXVector3 intersection, ray;
- for (uint32 i = 0; i < _planes.size(); i++) {
+ for (uint32 i = 0; i < _planes.getSize(); i++) {
for (int j = 0; j < _planes[i]->_mesh->_numFaces; j++) {
if (C3DUtils::intersectTriangle(vPickRayOrig, vPickRayDir,
_planes[i]->_mesh->_vertices[_planes[i]->_mesh->_faces[j]._vertices[0]]._pos,
@@ -766,10 +766,10 @@ bool AdSceneGeometry::getPath(DXVector3 source, DXVector3 target, AdPath3D *path
// prepare working path
uint i, j;
- for (i = 0; i < _PFPath.size(); i++) {
+ for (i = 0; i < _PFPath.getSize(); i++) {
delete _PFPath[i];
}
- _PFPath.clear();
+ _PFPath.removeAll();
// first point
_PFPath.add(new AdPathPoint3D(source, 0));
@@ -778,9 +778,9 @@ bool AdSceneGeometry::getPath(DXVector3 source, DXVector3 target, AdPath3D *path
_PFPath.add(new AdPathPoint3D(target, FLT_MAX));
// add all active waypoints
- for (i = 0; i < _waypointGroups.size(); i++) {
+ for (i = 0; i < _waypointGroups.getSize(); i++) {
if (_waypointGroups[i]->_active) {
- for (j = 0; j < _waypointGroups[i]->_points.size(); j++) {
+ for (j = 0; j < _waypointGroups[i]->_points.getSize(); j++) {
_PFPath.add(new AdPathPoint3D(*_waypointGroups[i]->_points[j], FLT_MAX));
}
}
@@ -798,7 +798,7 @@ void AdSceneGeometry::pathFinderStep() {
float lowestDist = FLT_MAX;
AdPathPoint3D *lowestPt = NULL;
- for (i = 0; i < _PFPath.size(); i++) {
+ for (i = 0; i < _PFPath.getSize(); i++) {
if (!_PFPath[i]->_marked && _PFPath[i]->_distance < lowestDist) {
lowestDist = _PFPath[i]->_distance;
lowestPt = _PFPath[i];
@@ -825,13 +825,13 @@ void AdSceneGeometry::pathFinderStep() {
// target point marked, generate path and terminate
if (lowestPt->_pos == _PFTarget) {
while (lowestPt != nullptr) {
- _PFTargetPath->_points.insert_at(0, new DXVector3(lowestPt->_pos));
+ _PFTargetPath->_points.insertAt(0, new DXVector3(lowestPt->_pos));
lowestPt = lowestPt->_origin;
}
// remove current position
- if (_PFTargetPath->_points.size() > 0) {
+ if (_PFTargetPath->_points.getSize() > 0) {
delete _PFTargetPath->_points[0];
- _PFTargetPath->_points.remove_at(0);
+ _PFTargetPath->_points.removeAt(0);
}
_PFReady = true;
@@ -840,7 +840,7 @@ void AdSceneGeometry::pathFinderStep() {
}
// otherwise keep on searching
- for (i = 0; i < _PFPath.size(); i++) {
+ for (i = 0; i < _PFPath.getSize(); i++) {
if (!_PFPath[i]->_marked) {
float dist = getPointsDist(lowestPt->_pos, _PFPath[i]->_pos);
if (dist >= 0 && lowestPt->_distance + dist < _PFPath[i]->_distance) {
@@ -893,7 +893,7 @@ bool AdSceneGeometry::createLights() {
_gameRef->_renderer3D->lightEnable(i, false);
}
- int lightCount = MIN(static_cast<int>(_lights.size()), maxLights);
+ int lightCount = MIN(static_cast<int>(_lights.getSize()), maxLights);
for (int i = 0; i < lightCount; i++) {
_lights[i]->setLight(i);
@@ -908,7 +908,7 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
int maxLights = _gameRef->_renderer3D->getMaxActiveLights();
int numActiveLights = 0;
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
_lights[i]->_isAvailable = false;
if (_lights[i]->_active) {
numActiveLights++;
@@ -916,7 +916,7 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
}
if (numActiveLights <= maxLights) {
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
_lights[i]->_isAvailable = true;
}
} else {
@@ -928,7 +928,7 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
BaseArray<Light3D *> activeLights;
// compute distance to point
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (!_lights[i]->_active) {
continue;
}
@@ -944,14 +944,14 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
_lights[i]->_distance = fabs(DXVec3Length(&dif));
- activeLights.push_back(_lights[i]);
+ activeLights.add(_lights[i]);
}
// sort by distance
- if (activeLights.size() > 0) {
- qsort(activeLights.begin(), activeLights.size(), sizeof(Light3D *), AdSceneGeometry::compareLights);
+ if (activeLights.getSize() > 0) {
+ qsort(activeLights.getData(), activeLights.getSize(), sizeof(Light3D *), AdSceneGeometry::compareLights);
- for (uint i = 0; i < activeLights.size(); i++) {
+ for (uint i = 0; i < activeLights.getSize(); i++) {
activeLights[i]->_isAvailable = static_cast<int>(i) < maxLights;
}
}
@@ -963,14 +963,14 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
}
numActiveLights = 0;
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (numActiveLights >= maxLights) {
break;
}
- if (ignoreLights.size()) {
+ if (ignoreLights.getSize()) {
bool ignore = false;
- for (uint j = 0; j < ignoreLights.size(); j++) {
+ for (uint j = 0; j < ignoreLights.getSize(); j++) {
if (scumm_stricmp(_lights[i]->getName(), ignoreLights[j]) == 0) {
ignore = true;
break;
@@ -1106,21 +1106,21 @@ bool AdSceneGeometry::enableNode(const char *nodeName, bool enable) {
bool ret = false;
uint i;
- for (i = 0; i < _blocks.size(); i++) {
+ for (i = 0; i < _blocks.getSize(); i++) {
if (scumm_stricmp(nodeName, _blocks[i]->getName()) == 0) {
_blocks[i]->_active = enable;
ret = true;
}
}
- for (i = 0; i < _planes.size(); i++) {
+ for (i = 0; i < _planes.getSize(); i++) {
if (scumm_stricmp(nodeName, _planes[i]->getName()) == 0) {
_planes[i]->_active = enable;
ret = true;
}
}
- for (i = 0; i < _generics.size(); i++) {
+ for (i = 0; i < _generics.getSize(); i++) {
if (scumm_stricmp(nodeName, _generics[i]->getName()) == 0) {
_generics[i]->_active = enable;
ret = true;
@@ -1132,18 +1132,18 @@ bool AdSceneGeometry::enableNode(const char *nodeName, bool enable) {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::isNodeEnabled(const char *nodeName) {
- for (uint i = 0; i < _blocks.size(); i++) {
+ for (uint i = 0; i < _blocks.getSize(); i++) {
if (scumm_stricmp(nodeName, _blocks[i]->getName()) == 0) {
return _blocks[i]->_active;
}
}
- for (uint i = 0; i < _planes.size(); i++) {
+ for (uint i = 0; i < _planes.getSize(); i++) {
if (scumm_stricmp(nodeName, _planes[i]->getName()) == 0) {
return _planes[i]->_active;
}
}
- for (uint i = 0; i < _generics.size(); i++) {
+ for (uint i = 0; i < _generics.getSize(); i++) {
if (scumm_stricmp(nodeName, _generics[i]->getName()) == 0) {
return _generics[i]->_active;
}
@@ -1157,7 +1157,7 @@ bool AdSceneGeometry::enableLight(const char *lightName, bool enable) {
bool ret = false;
uint i;
- for (i = 0; i < _lights.size(); i++) {
+ for (i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
_lights[i]->_active = enable;
ret = true;
@@ -1170,7 +1170,7 @@ bool AdSceneGeometry::enableLight(const char *lightName, bool enable) {
//////////////////////////////////////////////////////////////////////////
bool AdSceneGeometry::isLightEnabled(const char *lightName) {
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
return _lights[i]->_active;
}
@@ -1183,7 +1183,7 @@ bool AdSceneGeometry::setLightColor(const char *lightName, uint32 color) {
bool ret = false;
uint i;
- for (i = 0; i < _lights.size(); i++) {
+ for (i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
_lights[i]->_diffuseColor = color;
ret = true;
@@ -1196,7 +1196,7 @@ bool AdSceneGeometry::setLightColor(const char *lightName, uint32 color) {
//////////////////////////////////////////////////////////////////////////
uint32 AdSceneGeometry::getLightColor(const char *lightName) {
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
return _lights[i]->_diffuseColor;
}
@@ -1206,7 +1206,7 @@ uint32 AdSceneGeometry::getLightColor(const char *lightName) {
//////////////////////////////////////////////////////////////////////////
DXVector3 AdSceneGeometry::getLightPos(const char *lightName) {
- for (uint i = 0; i < _lights.size(); i++) {
+ for (uint i = 0; i < _lights.getSize(); i++) {
if (scumm_stricmp(lightName, _lights[i]->getName()) == 0) {
return _lights[i]->_pos;
}
@@ -1244,7 +1244,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
int i;
//////////////////////////////////////////////////////////////////////////
- int32 numLights = _lights.size();
+ int32 numLights = _lights.getSize();
persistMgr->transferSint32(TMEMBER(numLights));
for (i = 0; i < numLights; i++) {
if (persistMgr->getIsSaving()) {
@@ -1255,7 +1255,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
persistMgr->transferCharPtr(TMEMBER(name));
bool found = false;
- for (uint j = 0; j < _lights.size(); j++) {
+ for (uint j = 0; j < _lights.getSize(); j++) {
if (scumm_stricmp(name, _lights[j]->getName()) == 0) {
_lights[j]->persist(persistMgr);
found = true;
@@ -1278,7 +1278,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
createLights();
//////////////////////////////////////////////////////////////////////////
- int32 numBlocks = _blocks.size();
+ int32 numBlocks = _blocks.getSize();
persistMgr->transferSint32(TMEMBER(numBlocks));
for (i = 0; i < numBlocks; i++) {
if (persistMgr->getIsSaving()) {
@@ -1288,7 +1288,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
char *name = nullptr;
persistMgr->transferCharPtr(TMEMBER(name));
bool found = false;
- for (uint j = 0; j < _blocks.size(); j++) {
+ for (uint j = 0; j < _blocks.getSize(); j++) {
if (scumm_stricmp(name, _blocks[j]->getName()) == 0) {
_blocks[j]->persist(persistMgr);
found = true;
@@ -1309,7 +1309,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
}
//////////////////////////////////////////////////////////////////////////
- int32 numPlanes = _planes.size();
+ int32 numPlanes = _planes.getSize();
persistMgr->transferSint32(TMEMBER(numPlanes));
for (i = 0; i < numPlanes; i++) {
if (persistMgr->getIsSaving()) {
@@ -1319,7 +1319,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
char *name = nullptr;
persistMgr->transferCharPtr(TMEMBER(name));
bool found = false;
- for (uint j = 0; j < _planes.size(); j++) {
+ for (uint j = 0; j < _planes.getSize(); j++) {
if (scumm_stricmp(name, _planes[j]->getName()) == 0) {
_planes[j]->persist(persistMgr);
found = true;
@@ -1340,7 +1340,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
}
//////////////////////////////////////////////////////////////////////////
- int32 numGenerics = _generics.size();
+ int32 numGenerics = _generics.getSize();
persistMgr->transferSint32(TMEMBER(numGenerics));
for (i = 0; i < numGenerics; i++) {
if (persistMgr->getIsSaving()) {
@@ -1350,7 +1350,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
char *name = nullptr;
persistMgr->transferCharPtr(TMEMBER(name));
bool found = false;
- for (uint j = 0; j < _generics.size(); j++) {
+ for (uint j = 0; j < _generics.getSize(); j++) {
if (scumm_stricmp(name, _generics[j]->getName()) == 0) {
_generics[j]->persist(persistMgr);
found = true;
diff --git a/engines/wintermute/ad/ad_scene_state.cpp b/engines/wintermute/ad/ad_scene_state.cpp
index 2959cd4d99b..153f951e7af 100644
--- a/engines/wintermute/ad/ad_scene_state.cpp
+++ b/engines/wintermute/ad/ad_scene_state.cpp
@@ -46,10 +46,10 @@ AdSceneState::~AdSceneState() {
delete[] _filename;
_filename = nullptr;
- for (uint32 i = 0; i < _nodeStates.size(); i++) {
+ for (uint32 i = 0; i < _nodeStates.getSize(); i++) {
delete _nodeStates[i];
}
- _nodeStates.clear();
+ _nodeStates.removeAll();
}
@@ -76,7 +76,7 @@ const char *AdSceneState::getFilename() const {
//////////////////////////////////////////////////////////////////////////
AdNodeState *AdSceneState::getNodeState(const char *name, bool saving) {
- for (uint32 i = 0; i < _nodeStates.size(); i++) {
+ for (uint32 i = 0; i < _nodeStates.getSize(); i++) {
if (scumm_stricmp(_nodeStates[i]->getName(), name) == 0) {
return _nodeStates[i];
}
diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp
index 3f30d36c8c6..b0b5acc8c8c 100644
--- a/engines/wintermute/ad/ad_sentence.cpp
+++ b/engines/wintermute/ad/ad_sentence.cpp
@@ -312,7 +312,7 @@ bool AdSentence::update(TDirection dir) {
currentTime = _gameRef->getTimer()->getTime() - _startTime;
bool talkNodeFound = false;
- for (uint32 i = 0; i < _talkDef->_nodes.size(); i++) {
+ for (uint32 i = 0; i < _talkDef->_nodes.getSize(); i++) {
if (_talkDef->_nodes[i]->isInTimeInterval(currentTime, dir)) {
talkNodeFound = true;
diff --git a/engines/wintermute/ad/ad_talk_def.cpp b/engines/wintermute/ad/ad_talk_def.cpp
index 75a57a9f3c1..20b1d882010 100644
--- a/engines/wintermute/ad/ad_talk_def.cpp
+++ b/engines/wintermute/ad/ad_talk_def.cpp
@@ -51,10 +51,10 @@ AdTalkDef::AdTalkDef(BaseGame *inGame) : BaseObject(inGame) {
//////////////////////////////////////////////////////////////////////////
AdTalkDef::~AdTalkDef() {
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
delete _nodes[i];
}
- _nodes.clear();
+ _nodes.removeAll();
delete[] _defaultSpriteFilename;
delete _defaultSprite;
@@ -234,7 +234,7 @@ bool AdTalkDef::saveAsText(BaseDynamicBuffer *buffer, int indent) {
_defaultSpriteSet->saveAsText(buffer, indent + 2);
}
- for (uint32 i = 0; i < _nodes.size(); i++) {
+ for (uint32 i = 0; i < _nodes.getSize(); i++) {
_nodes[i]->saveAsText(buffer, indent + 2);
buffer->putTextIndent(indent, "\n");
}
diff --git a/engines/wintermute/ad/ad_talk_holder.cpp b/engines/wintermute/ad/ad_talk_holder.cpp
index fb541163dbc..c4a49c3a570 100644
--- a/engines/wintermute/ad/ad_talk_holder.cpp
+++ b/engines/wintermute/ad/ad_talk_holder.cpp
@@ -52,15 +52,15 @@ AdTalkHolder::~AdTalkHolder() {
delete _sprite;
_sprite = nullptr;
- for (uint32 i = 0; i < _talkSprites.size(); i++) {
+ for (uint32 i = 0; i < _talkSprites.getSize(); i++) {
delete _talkSprites[i];
}
- _talkSprites.clear();
+ _talkSprites.removeAll();
- for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
+ for (uint32 i = 0; i < _talkSpritesEx.getSize(); i++) {
delete _talkSpritesEx[i];
}
- _talkSpritesEx.clear();
+ _talkSpritesEx.removeAll();
}
//////////////////////////////////////////////////////////////////////////
@@ -88,7 +88,7 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
if (stance != nullptr) {
// search special talk stances
- for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
+ for (uint32 i = 0; i < _talkSpritesEx.getSize(); i++) {
if (scumm_stricmp(_talkSpritesEx[i]->getName(), stance) == 0) {
ret = _talkSpritesEx[i];
break;
@@ -96,7 +96,7 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
}
if (ret == nullptr) {
// serach generic talk stances
- for (uint32 i = 0; i < _talkSprites.size(); i++) {
+ for (uint32 i = 0; i < _talkSprites.getSize(); i++) {
if (scumm_stricmp(_talkSprites[i]->getName(), stance) == 0) {
ret = _talkSprites[i];
break;
@@ -107,11 +107,11 @@ BaseSprite *AdTalkHolder::getTalkStance(const char *stance) {
// not a valid stance? get a random one
if (ret == nullptr) {
- if (_talkSprites.size() < 1) {
+ if (_talkSprites.getSize() < 1) {
ret = _sprite;
} else {
// TODO: remember last
- int rnd = BaseEngine::instance().randInt(0, _talkSprites.size() - 1);
+ int rnd = BaseEngine::instance().randInt(0, _talkSprites.getSize() - 1);
ret = _talkSprites[rnd];
}
}
@@ -222,7 +222,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
bool ex = stack->pop()->getBool();
BaseArray<BaseSprite *> &sprites = ex ? _talkSpritesEx : _talkSprites;
- for (uint32 i = 0; i < sprites.size(); i++) {
+ for (uint32 i = 0; i < sprites.getSize(); i++) {
if (scumm_stricmp(sprites[i]->getFilename(), filename) == 0) {
if (_currentSprite == sprites[i]) {
_currentSprite = _sprite;
@@ -231,7 +231,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
_tempSprite2 = _sprite;
}
delete sprites[i];
- sprites.remove_at(i);
+ sprites.removeAt(i);
break;
}
}
@@ -278,7 +278,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
stack->pushBool(false);
script->runtimeError("SetTalkSprite method failed for file '%s'", filename);
} else {
- for (uint32 i = 0; i < sprites.size(); i++) {
+ for (uint32 i = 0; i < sprites.getSize(); i++) {
if (_currentSprite == sprites[i]) {
_currentSprite = spr;
}
@@ -287,7 +287,7 @@ bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisS
}
delete sprites[i];
}
- sprites.clear();
+ sprites.removeAll();
sprites.add(spr);
stack->pushBool(true);
}
@@ -337,13 +337,13 @@ const char *AdTalkHolder::scToString() {
//////////////////////////////////////////////////////////////////////////
bool AdTalkHolder::saveAsText(BaseDynamicBuffer *buffer, int indent) {
- for (uint32 i = 0; i < _talkSprites.size(); i++) {
+ for (uint32 i = 0; i < _talkSprites.getSize(); i++) {
if (_talkSprites[i]->getFilename()) {
buffer->putTextIndent(indent + 2, "TALK=\"%s\"\n", _talkSprites[i]->getFilename());
}
}
- for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
+ for (uint32 i = 0; i < _talkSpritesEx.getSize(); i++) {
if (_talkSpritesEx[i]->getFilename()) {
buffer->putTextIndent(indent + 2, "TALK_SPECIAL=\"%s\"\n", _talkSpritesEx[i]->getFilename());
}
diff --git a/engines/wintermute/ad/ad_waypoint_group.cpp b/engines/wintermute/ad/ad_waypoint_group.cpp
index 322d0177257..e8cad57f218 100644
--- a/engines/wintermute/ad/ad_waypoint_group.cpp
+++ b/engines/wintermute/ad/ad_waypoint_group.cpp
@@ -55,10 +55,10 @@ AdWaypointGroup::~AdWaypointGroup() {
//////////////////////////////////////////////////////////////////////////
void AdWaypointGroup::cleanup() {
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
_editorSelectedPoint = -1;
}
@@ -181,7 +181,7 @@ bool AdWaypointGroup::saveAsText(BaseDynamicBuffer *buffer, int indent) {
}
BaseClass::saveAsText(buffer, indent + 2);
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
buffer->putTextIndent(indent + 2, "POINT {%d,%d}\n", _points[i]->x, _points[i]->y);
}
@@ -255,7 +255,7 @@ bool AdWaypointGroup::mimic(AdWaypointGroup *wpt, float scale, int argX, int arg
cleanup();
- for (uint32 i = 0; i < wpt->_points.size(); i++) {
+ for (uint32 i = 0; i < wpt->_points.getSize(); i++) {
int x = (int)((float)wpt->_points[i]->x * scale / 100.0f);
int y = (int)((float)wpt->_points[i]->y * scale / 100.0f);
diff --git a/engines/wintermute/ad/ad_waypoint_group3d.cpp b/engines/wintermute/ad/ad_waypoint_group3d.cpp
index c19fda41510..fc3e022f4e6 100644
--- a/engines/wintermute/ad/ad_waypoint_group3d.cpp
+++ b/engines/wintermute/ad/ad_waypoint_group3d.cpp
@@ -39,10 +39,10 @@ AdWaypointGroup3D::AdWaypointGroup3D(BaseGame *inGame) : BaseClass(inGame) {
//////////////////////////////////////////////////////////////////////////
AdWaypointGroup3D::~AdWaypointGroup3D() {
- for (uint i = 0; i < _points.size(); i++) {
+ for (uint i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
}
//////////////////////////////////////////////////////////////////////////
diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp
index 6d5e3b38e81..ed1b7d1ae48 100644
--- a/engines/wintermute/base/base_frame.cpp
+++ b/engines/wintermute/base/base_frame.cpp
@@ -62,16 +62,16 @@ BaseFrame::~BaseFrame() {
delete _sound;
_sound = nullptr;
- for (uint32 i = 0; i < _subframes.size(); i++) {
+ for (uint32 i = 0; i < _subframes.getSize(); i++) {
delete _subframes[i];
}
- _subframes.clear();
+ _subframes.removeAll();
- for (uint32 i = 0; i < _applyEvent.size(); i++) {
+ for (uint32 i = 0; i < _applyEvent.getSize(); i++) {
delete[] _applyEvent[i];
_applyEvent[i] = nullptr;
}
- _applyEvent.clear();
+ _applyEvent.removeAll();
}
@@ -79,7 +79,7 @@ BaseFrame::~BaseFrame() {
bool BaseFrame::draw(int x, int y, BaseObject *registerOwner, float zoomX, float zoomY, bool precise, uint32 alpha, bool allFrames, float rotate, Graphics::TSpriteBlendMode blendMode) {
bool res;
- for (uint32 i = 0; i < _subframes.size(); i++) {
+ for (uint32 i = 0; i < _subframes.getSize(); i++) {
// filter out subframes unsupported by current renderer
if (!allFrames) {
if ((_subframes[i]->_2DOnly && _gameRef->_useD3D) || (_subframes[i]->_3DOnly && !_gameRef->_useD3D))
@@ -114,7 +114,7 @@ bool BaseFrame::oneTimeDisplay(BaseObject *owner, bool muted) {
*/
}
if (owner) {
- for (uint32 i = 0; i < _applyEvent.size(); i++) {
+ for (uint32 i = 0; i < _applyEvent.getSize(); i++) {
owner->applyEvent(_applyEvent[i]);
}
}
@@ -350,7 +350,7 @@ bool BaseFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
sub->_editorSelected = editorSelected;
- _subframes.insert_at(0, sub);
+ _subframes.insertAt(0, sub);
return STATUS_OK;
}
@@ -365,7 +365,7 @@ bool BaseFrame::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, float
Rect32 subRect;
- for (uint32 i = 0; i < _subframes.size(); i++) {
+ for (uint32 i = 0; i < _subframes.getSize(); i++) {
_subframes[i]->getBoundingRect(&subRect, x, y, scaleX, scaleY);
BasePlatform::unionRect(rect, rect, &subRect);
}
@@ -397,15 +397,15 @@ bool BaseFrame::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "EDITOR_EXPANDED=%s\n", _editorExpanded ? "TRUE" : "FALSE");
}
- if (_subframes.size() > 0) {
+ if (_subframes.getSize() > 0) {
_subframes[0]->saveAsText(buffer, indent, false);
}
- for (uint32 i = 1; i < _subframes.size(); i++) {
+ for (uint32 i = 1; i < _subframes.getSize(); i++) {
_subframes[i]->saveAsText(buffer, indent + 2);
}
- for (uint32 i = 0; i < _applyEvent.size(); i++) {
+ for (uint32 i = 0; i < _applyEvent.getSize(); i++) {
buffer->putTextIndent(indent + 2, "APPLY_EVENT=\"%s\"\n", _applyEvent[i]);
}
@@ -485,7 +485,7 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
if (strcmp(name, "GetSubframe") == 0) {
stack->correctParams(1);
int index = stack->pop()->getInt(-1);
- if (index < 0 || index >= (int32)_subframes.size()) {
+ if (index < 0 || index >= (int32)_subframes.getSize()) {
script->runtimeError("Frame.GetSubframe: Subframe index %d is out of range.", index);
stack->pushNULL();
} else {
@@ -503,15 +503,15 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
ScValue *val = stack->pop();
if (val->isInt()) {
int index = val->getInt(-1);
- if (index < 0 || index >= (int32)_subframes.size()) {
+ if (index < 0 || index >= (int32)_subframes.getSize()) {
script->runtimeError("Frame.DeleteSubframe: Subframe index %d is out of range.", index);
}
} else {
BaseSubFrame *sub = (BaseSubFrame *)val->getNative();
- for (uint32 i = 0; i < _subframes.size(); i++) {
+ for (uint32 i = 0; i < _subframes.getSize(); i++) {
if (_subframes[i] == sub) {
delete _subframes[i];
- _subframes.remove_at(i);
+ _subframes.removeAt(i);
break;
}
}
@@ -563,10 +563,10 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
sub->setSurface(filename);
}
- if (index >= (int32)_subframes.size()) {
+ if (index >= (int32)_subframes.getSize()) {
_subframes.add(sub);
} else {
- _subframes.insert_at(index, sub);
+ _subframes.insertAt(index, sub);
}
stack->pushNative(sub, true);
@@ -579,7 +579,7 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
else if (strcmp(name, "GetSubframe") == 0) {
stack->correctParams(1);
int index = stack->pop()->getInt(-1);
- if (index < 0 || index >= (int32)_applyEvent.size()) {
+ if (index < 0 || index >= (int32)_applyEvent.getSize()) {
script->runtimeError("Frame.GetEvent: Event index %d is out of range.", index);
stack->pushNULL();
} else {
@@ -594,7 +594,7 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
else if (strcmp(name, "AddEvent") == 0) {
stack->correctParams(1);
const char *event = stack->pop()->getString();
- for (uint32 i = 0; i < _applyEvent.size(); i++) {
+ for (uint32 i = 0; i < _applyEvent.getSize(); i++) {
if (scumm_stricmp(_applyEvent[i], event) == 0) {
stack->pushNULL();
return STATUS_OK;
@@ -611,10 +611,10 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
else if (strcmp(name, "DeleteEvent") == 0) {
stack->correctParams(1);
const char *event = stack->pop()->getString();
- for (uint32 i = 0; i < _applyEvent.size(); i++) {
+ for (uint32 i = 0; i < _applyEvent.getSize(); i++) {
if (scumm_stricmp(_applyEvent[i], event) == 0) {
delete[] _applyEvent[i];
- _applyEvent.remove_at(i);
+ _applyEvent.removeAt(i);
break;
}
}
@@ -624,7 +624,7 @@ bool BaseFrame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStac
//////////////////////////////////////////////////////////////////////////
else {
- if (_subframes.size() == 1) {
+ if (_subframes.getSize() == 1) {
return _subframes[0]->scCallMethod(script, stack, thisStack, name);
} else {
return BaseScriptable::scCallMethod(script, stack, thisStack, name);
@@ -692,7 +692,7 @@ ScValue *BaseFrame::scGetProperty(const Common::String &name) {
// NumSubframes (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumSubframes") {
- _scValue->setInt(_subframes.size());
+ _scValue->setInt(_subframes.getSize());
return _scValue;
}
@@ -700,13 +700,13 @@ ScValue *BaseFrame::scGetProperty(const Common::String &name) {
// NumEvents (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumEvents") {
- _scValue->setInt(_applyEvent.size());
+ _scValue->setInt(_applyEvent.getSize());
return _scValue;
}
//////////////////////////////////////////////////////////////////////////
else {
- if (_subframes.size() == 1) {
+ if (_subframes.getSize() == 1) {
return _subframes[0]->scGetProperty(name);
} else {
return BaseScriptable::scGetProperty(name);
@@ -759,7 +759,7 @@ bool BaseFrame::scSetProperty(const char *name, ScValue *value) {
//////////////////////////////////////////////////////////////////////////
else {
- if (_subframes.size() == 1) {
+ if (_subframes.getSize() == 1) {
return _subframes[0]->scSetProperty(name, value);
} else {
return BaseScriptable::scSetProperty(name, value);
@@ -774,6 +774,6 @@ const char *BaseFrame::scToString() {
}
Common::String BaseFrame::debuggerToString() const {
- return Common::String::format("%p: Frame \"%s\": #subframes %d ", (const void *)this, getName(), _subframes.size());
+ return Common::String::format("%p: Frame \"%s\": #subframes %d ", (const void *)this, getName(), _subframes.getSize());
}
} // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 0f5e2505a66..f421463114f 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -330,13 +330,13 @@ bool BaseGame::cleanup() {
unregisterObject(_fader);
_fader = nullptr;
- for (uint32 i = 0; i < _regObjects.size(); i++) {
+ for (uint32 i = 0; i < _regObjects.getSize(); i++) {
delete _regObjects[i];
_regObjects[i] = nullptr;
}
- _regObjects.clear();
+ _regObjects.removeAll();
- _windows.clear(); // refs only
+ _windows.removeAll(); // refs only
_focusedWindow = nullptr; // ref only
delete _cursorNoninteractive;
@@ -351,11 +351,11 @@ bool BaseGame::cleanup() {
_scValue = nullptr;
_sFX = nullptr;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
_scripts[i]->_owner = nullptr;
_scripts[i]->finish();
}
- _scripts.clear();
+ _scripts.removeAll();
_fontStorage->removeFont(_systemFont);
_systemFont = nullptr;
@@ -370,12 +370,12 @@ bool BaseGame::cleanup() {
}
#endif
- for (uint32 i = 0; i < _quickMessages.size(); i++) {
+ for (uint32 i = 0; i < _quickMessages.getSize(); i++) {
delete _quickMessages[i];
}
- _quickMessages.clear();
+ _quickMessages.removeAll();
- _viewportStack.clear();
+ _viewportStack.removeAll();
_viewportSP = -1;
setName(nullptr);
@@ -707,7 +707,7 @@ bool BaseGame::initLoop() {
getMousePos(&_mousePos);
_focusedWindow = nullptr;
- for (int i = _windows.size() - 1; i >= 0; i--) {
+ for (int i = _windows.getSize() - 1; i >= 0; i--) {
if (_windows[i]->isVisible()) {
_focusedWindow = _windows[i];
break;
@@ -1877,7 +1877,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
else if (strcmp(name, "DeleteWindow") == 0) {
stack->correctParams(1);
BaseObject *obj = (BaseObject *)stack->pop()->getNative();
- for (uint32 i = 0; i < _windows.size(); i++) {
+ for (uint32 i = 0; i < _windows.getSize(); i++) {
if (_windows[i] == obj) {
unregisterObject(_windows[i]);
stack->pushBool(true);
@@ -3278,15 +3278,15 @@ const char *BaseGame::scToString() {
#define QUICK_MSG_DURATION 3000
//////////////////////////////////////////////////////////////////////////
bool BaseGame::displayQuickMsg() {
- if (_quickMessages.size() == 0 || !_systemFont) {
+ if (_quickMessages.getSize() == 0 || !_systemFont) {
return STATUS_OK;
}
// update
- for (int32 i = 0; i < (int32)_quickMessages.size(); i++) {
+ for (int32 i = 0; i < (int32)_quickMessages.getSize(); i++) {
if (_currentTime - _quickMessages[i]->getStartTime() >= QUICK_MSG_DURATION) {
delete _quickMessages[i];
- _quickMessages.remove_at(i);
+ _quickMessages.removeAt(i);
i--;
}
}
@@ -3294,7 +3294,7 @@ bool BaseGame::displayQuickMsg() {
int posY = 20;
// display
- for (uint32 i = 0; i < _quickMessages.size(); i++) {
+ for (uint32 i = 0; i < _quickMessages.getSize(); i++) {
_systemFont->drawText((const byte *)_quickMessages[i]->getText(), 0, posY, _renderer->getWidth());
posY += _systemFont->getTextHeight((const byte *)_quickMessages[i]->getText(), _renderer->getWidth());
}
@@ -3305,9 +3305,9 @@ bool BaseGame::displayQuickMsg() {
#define MAX_QUICK_MSG 5
//////////////////////////////////////////////////////////////////////////
void BaseGame::quickMessage(const char *text) {
- if (_quickMessages.size() >= MAX_QUICK_MSG) {
+ if (_quickMessages.getSize() >= MAX_QUICK_MSG) {
delete _quickMessages[0];
- _quickMessages.remove_at(0);
+ _quickMessages.removeAt(0);
}
_quickMessages.add(new BaseQuickMsg(_currentTime, text));
}
@@ -3340,9 +3340,9 @@ bool BaseGame::unregisterObject(BaseObject *object) {
}
// is it a window?
- for (uint32 i = 0; i < _windows.size(); i++) {
+ for (uint32 i = 0; i < _windows.getSize(); i++) {
if ((BaseObject *)_windows[i] == object) {
- _windows.remove_at(i);
+ _windows.removeAt(i);
// get new focused window
if (_focusedWindow == object) {
@@ -3364,9 +3364,9 @@ bool BaseGame::unregisterObject(BaseObject *object) {
}
// destroy object
- for (uint32 i = 0; i < _regObjects.size(); i++) {
+ for (uint32 i = 0; i < _regObjects.getSize(); i++) {
if (_regObjects[i] == object) {
- _regObjects.remove_at(i);
+ _regObjects.removeAt(i);
if (!_loadInProgress) {
SystemClassRegistry::getInstance()->enumInstances(invalidateValues, "ScValue", (void *)object);
}
@@ -3402,7 +3402,7 @@ bool BaseGame::validObject(BaseObject *object) {
return true;
}
- for (uint32 i = 0; i < _regObjects.size(); i++) {
+ for (uint32 i = 0; i < _regObjects.getSize(); i++) {
if (_regObjects[i] == object) {
return true;
}
@@ -3858,7 +3858,7 @@ bool BaseGame::displayWindows(bool inGame) {
// did we lose focus? focus topmost window
if (_focusedWindow == nullptr || !_focusedWindow->isVisible() || _focusedWindow->isDisabled()) {
_focusedWindow = nullptr;
- for (int i = _windows.size() - 1; i >= 0; i--) {
+ for (int i = _windows.getSize() - 1; i >= 0; i--) {
if (_windows[i]->isVisible() && !_windows[i]->isDisabled()) {
_focusedWindow = _windows[i];
break;
@@ -3867,7 +3867,7 @@ bool BaseGame::displayWindows(bool inGame) {
}
// display all windows
- for (uint32 i = 0; i < _windows.size(); i++) {
+ for (uint32 i = 0; i < _windows.getSize(); i++) {
if (_windows[i]->isVisible() && _windows[i]->getInGame() == inGame) {
res = _windows[i]->display();
@@ -3973,10 +3973,10 @@ bool BaseGame::persist(BasePersistenceManager *persistMgr) {
bool BaseGame::focusWindow(UIWindow *window) {
UIWindow *prev = _focusedWindow;
- for (uint32 i = 0; i < _windows.size(); i++) {
+ for (uint32 i = 0; i < _windows.getSize(); i++) {
if (_windows[i] == window) {
- if (i < _windows.size() - 1) {
- _windows.remove_at(i);
+ if (i < _windows.getSize() - 1) {
+ _windows.removeAt(i);
_windows.add(window);
_gameRef->_focusedWindow = window;
@@ -4180,7 +4180,7 @@ bool BaseGame::setActiveObject(BaseObject *obj) {
//////////////////////////////////////////////////////////////////////////
bool BaseGame::pushViewport(BaseViewport *viewport) {
_viewportSP++;
- if (_viewportSP >= (int32)_viewportStack.size()) {
+ if (_viewportSP >= (int32)_viewportStack.getSize()) {
_viewportStack.add(viewport);
} else {
_viewportStack[_viewportSP] = viewport;
@@ -4199,7 +4199,7 @@ bool BaseGame::popViewport() {
_gameRef->LOG(0, "Fatal: Viewport stack underflow!");
}
- if (_viewportSP >= 0 && _viewportSP < (int32)_viewportStack.size()) {
+ if (_viewportSP >= 0 && _viewportSP < (int32)_viewportStack.getSize()) {
_renderer->setViewport(_viewportStack[_viewportSP]->getRect());
} else _renderer->setViewport(_renderer->_drawOffsetX,
_renderer->_drawOffsetY,
@@ -4328,7 +4328,7 @@ void BaseGame::DEBUG_DumpClassRegistry() {
//////////////////////////////////////////////////////////////////////////
bool BaseGame::invalidateDeviceObjects() {
- for (uint32 i = 0; i < _regObjects.size(); i++) {
+ for (uint32 i = 0; i < _regObjects.getSize(); i++) {
_regObjects[i]->invalidateDeviceObjects();
}
return STATUS_OK;
@@ -4337,7 +4337,7 @@ bool BaseGame::invalidateDeviceObjects() {
//////////////////////////////////////////////////////////////////////////
bool BaseGame::restoreDeviceObjects() {
- for (uint32 i = 0; i < _regObjects.size(); i++) {
+ for (uint32 i = 0; i < _regObjects.getSize(); i++) {
_regObjects[i]->restoreDeviceObjects();
}
return STATUS_OK;
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index 32ee3245253..a29a36ae96f 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -59,10 +59,10 @@ BaseRegion::~BaseRegion() {
//////////////////////////////////////////////////////////////////////////
void BaseRegion::cleanup() {
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
_rect.setEmpty();
_editorSelectedPoint = -1;
@@ -77,7 +77,7 @@ bool BaseRegion::createRegion() {
//////////////////////////////////////////////////////////////////////////
bool BaseRegion::pointInRegion(int x, int y) {
- if (_points.size() < 3) {
+ if (_points.getSize() < 3) {
return false;
}
@@ -159,10 +159,10 @@ bool BaseRegion::loadBuffer(char *buffer, bool complete) {
buffer = params;
}
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
delete _points[i];
}
- _points.clear();
+ _points.removeAll();
while ((cmd = parser.getCommand(&buffer, commands, ¶ms)) > 0) {
switch (cmd) {
@@ -248,8 +248,8 @@ bool BaseRegion::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
int x = stack->pop()->getInt();
int y = stack->pop()->getInt();
- if (index >= 0 && index < (int32)_points.size()) {
- _points.insert_at(index, new BasePoint(x, y));
+ if (index >= 0 && index < (int32)_points.getSize()) {
+ _points.insertAt(index, new BasePoint(x, y));
createRegion();
stack->pushBool(true);
@@ -269,7 +269,7 @@ bool BaseRegion::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
int x = stack->pop()->getInt();
int y = stack->pop()->getInt();
- if (index >= 0 && index < (int32)_points.size()) {
+ if (index >= 0 && index < (int32)_points.getSize()) {
_points[index]->x = x;
_points[index]->y = y;
createRegion();
@@ -289,11 +289,11 @@ bool BaseRegion::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
stack->correctParams(1);
int index = stack->pop()->getInt();
- if (index >= 0 && index < (int32)_points.size()) {
+ if (index >= 0 && index < (int32)_points.getSize()) {
delete _points[index];
_points[index] = nullptr;
- _points.remove_at(index);
+ _points.removeAt(index);
createRegion();
stack->pushBool(true);
@@ -311,7 +311,7 @@ bool BaseRegion::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
stack->correctParams(1);
int index = stack->pop()->getInt();
- if (index >= 0 && index < (int32)_points.size()) {
+ if (index >= 0 && index < (int32)_points.getSize()) {
ScValue *val = stack->getPushValue();
if (val) {
val->setProperty("X", _points[index]->x);
@@ -360,7 +360,7 @@ ScValue *BaseRegion::scGetProperty(const Common::String &name) {
// NumPoints
//////////////////////////////////////////////////////////////////////////
else if (name == "NumPoints") {
- _scValue->setInt(_points.size());
+ _scValue->setInt(_points.getSize());
return _scValue;
} else {
return BaseObject::scGetProperty(name);
@@ -409,11 +409,11 @@ bool BaseRegion::saveAsText(BaseDynamicBuffer *buffer, int indent, const char *n
buffer->putTextIndent(indent + 2, "ACTIVE=%s\n", _active ? "TRUE" : "FALSE");
buffer->putTextIndent(indent + 2, "EDITOR_SELECTED_POINT=%d\n", _editorSelectedPoint);
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
buffer->putTextIndent(indent + 2, "POINT {%d,%d}\n", _points[i]->x, _points[i]->y);
}
@@ -449,7 +449,7 @@ typedef struct {
//////////////////////////////////////////////////////////////////////////
bool BaseRegion::ptInPolygon(int32 x, int32 y) {
- if (_points.size() < 3) {
+ if (_points.getSize() < 3) {
return false;
}
@@ -463,9 +463,9 @@ bool BaseRegion::ptInPolygon(int32 x, int32 y) {
p1.x = (double)_points[0]->x;
p1.y = (double)_points[0]->y;
- for (uint32 i = 1; i <= _points.size(); i++) {
- p2.x = (double)_points[i % _points.size()]->x;
- p2.y = (double)_points[i % _points.size()]->y;
+ for (uint32 i = 1; i <= _points.getSize(); i++) {
+ p2.x = (double)_points[i % _points.getSize()]->x;
+ p2.y = (double)_points[i % _points.getSize()]->y;
if (p.y > MIN(p1.y, p2.y)) {
if (p.y <= MAX(p1.y, p2.y)) {
@@ -492,12 +492,12 @@ bool BaseRegion::ptInPolygon(int32 x, int32 y) {
//////////////////////////////////////////////////////////////////////////
bool BaseRegion::getBoundingRect(Rect32 *rect) {
- if (_points.size() == 0) {
+ if (_points.getSize() == 0) {
rect->setEmpty();
} else {
int32 minX = INT_MAX_VALUE, minY = INT_MAX_VALUE, maxX = INT_MIN_VALUE, maxY = INT_MIN_VALUE;
- for (uint32 i = 0; i < _points.size(); i++) {
+ for (uint32 i = 0; i < _points.getSize(); i++) {
minX = MIN(minX, _points[i]->x);
minY = MIN(minY, _points[i]->y);
@@ -518,7 +518,7 @@ bool BaseRegion::mimic(BaseRegion *region, float scale, int x, int y) {
cleanup();
- for (uint32 i = 0; i < region->_points.size(); i++) {
+ for (uint32 i = 0; i < region->_points.getSize(); i++) {
int xVal, yVal;
xVal = (int)((float)region->_points[i]->x * scale / 100.0f);
diff --git a/engines/wintermute/base/base_script_holder.cpp b/engines/wintermute/base/base_script_holder.cpp
index 81b247e4f5f..09201d1b692 100644
--- a/engines/wintermute/base/base_script_holder.cpp
+++ b/engines/wintermute/base/base_script_holder.cpp
@@ -58,11 +58,11 @@ bool BaseScriptHolder::cleanup() {
delete[] _filename;
_filename = nullptr;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
_scripts[i]->finish(true);
_scripts[i]->_owner = nullptr;
}
- _scripts.clear();
+ _scripts.removeAll();
return STATUS_OK;
}
@@ -87,7 +87,7 @@ bool BaseScriptHolder::applyEvent(const char *eventName, bool unbreakable) {
int numHandlers = 0;
bool ret = STATUS_FAILED;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (!_scripts[i]->_thread) {
ScScript *handler = _scripts[i]->invokeEventHandler(eventName, unbreakable);
if (handler) {
@@ -183,7 +183,7 @@ bool BaseScriptHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *t
const char *filename = stack->pop()->getString();
bool killThreads = stack->pop()->getBool(false);
bool ret = false;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (scumm_stricmp(_scripts[i]->_filename, filename) == 0) {
_scripts[i]->finish(killThreads);
ret = true;
@@ -202,7 +202,7 @@ bool BaseScriptHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *t
stack->correctParams(1);
const char *filename = stack->pop()->getString();
bool ret = false;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (scumm_stricmp(_scripts[i]->_filename, filename) == 0 && _scripts[i]->_state != SCRIPT_FINISHED && _scripts[i]->_state != SCRIPT_ERROR) {
ret = true;
break;
@@ -297,7 +297,7 @@ bool BaseScriptHolder::persist(BasePersistenceManager *persistMgr) {
//////////////////////////////////////////////////////////////////////////
bool BaseScriptHolder::addScript(const char *filename) {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (scumm_stricmp(_scripts[i]->_filename, filename) == 0) {
if (_scripts[i]->_state != SCRIPT_FINISHED) {
BaseEngine::LOG(0, "BaseScriptHolder::AddScript - trying to add script '%s' multiple times (obj: '%s')", filename, getName());
@@ -336,9 +336,9 @@ bool BaseScriptHolder::addScript(const char *filename) {
//////////////////////////////////////////////////////////////////////////
bool BaseScriptHolder::removeScript(ScScript *script) {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i] == script) {
- _scripts.remove_at(i);
+ _scripts.removeAt(i);
break;
}
}
@@ -347,7 +347,7 @@ bool BaseScriptHolder::removeScript(ScScript *script) {
//////////////////////////////////////////////////////////////////////////
bool BaseScriptHolder::canHandleEvent(const char *EventName) const {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (!_scripts[i]->_thread && _scripts[i]->canHandleEvent(EventName)) {
return true;
}
@@ -358,7 +358,7 @@ bool BaseScriptHolder::canHandleEvent(const char *EventName) const {
//////////////////////////////////////////////////////////////////////////
bool BaseScriptHolder::canHandleMethod(const char *MethodName) const {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (!_scripts[i]->_thread && _scripts[i]->canHandleMethod(MethodName)) {
return true;
}
@@ -451,7 +451,7 @@ bool BaseScriptHolder::parseProperty(char *buffer, bool complete) {
//////////////////////////////////////////////////////////////////////////
void BaseScriptHolder::makeFreezable(bool freezable) {
_freezable = freezable;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
_scripts[i]->_freezable = freezable;
}
@@ -460,7 +460,7 @@ void BaseScriptHolder::makeFreezable(bool freezable) {
//////////////////////////////////////////////////////////////////////////
ScScript *BaseScriptHolder::invokeMethodThread(const char *methodName) {
- for (int i = _scripts.size() - 1; i >= 0; i--) {
+ for (int i = _scripts.getSize() - 1; i >= 0; i--) {
if (_scripts[i]->canHandleMethod(methodName)) {
#if EXTENDED_DEBUGGER_ENABLED
DebuggableScEngine* debuggableEngine;
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index 6810aacb8ce..5c3e1fa3a95 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -89,10 +89,10 @@ void BaseSprite::setDefaults() {
void BaseSprite::cleanup() {
BaseScriptHolder::cleanup();
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
delete _frames[i];
}
- _frames.clear();
+ _frames.removeAll();
delete[] _editorBgFile;
_editorBgFile = nullptr;
@@ -104,7 +104,7 @@ void BaseSprite::cleanup() {
//////////////////////////////////////////////////////////////////////////
bool BaseSprite::draw(int x, int y, BaseObject *registerOwner, float zoomX, float zoomY, uint32 alpha) {
getCurrentFrame(zoomX, zoomY);
- if (_currentFrame < 0 || _currentFrame >= (int32)_frames.size()) {
+ if (_currentFrame < 0 || _currentFrame >= (int32)_frames.getSize()) {
return STATUS_OK;
}
@@ -340,7 +340,7 @@ bool BaseSprite::loadBuffer(char *buffer, bool complete, int lifeTime, TSpriteCa
//////////////////////////////////////////////////////////////////////
void BaseSprite::reset() {
- if (_frames.size() > 0) {
+ if (_frames.getSize() > 0) {
_currentFrame = 0;
} else {
_currentFrame = -1;
@@ -381,10 +381,10 @@ bool BaseSprite::getCurrentFrame(float zoomX, float zoomY) {
// get current frame
if (!_paused && !_finished && timer >= _lastFrameTime + _frames[_currentFrame]->_delay && _lastFrameTime != 0) {
- if (_currentFrame < (int32)_frames.size() - 1) {
+ if (_currentFrame < (int32)_frames.getSize() - 1) {
_currentFrame++;
if (_continuous) {
- _canBreak = (_currentFrame == (int32)_frames.size() - 1);
+ _canBreak = (_currentFrame == (int32)_frames.getSize() - 1);
}
} else {
if (_looping) {
@@ -399,13 +399,13 @@ bool BaseSprite::getCurrentFrame(float zoomX, float zoomY) {
_lastFrameTime = timer;
}
- _changed = (lastFrame != _currentFrame || (_looping && (int32)_frames.size() == 1));
+ _changed = (lastFrame != _currentFrame || (_looping && (int32)_frames.getSize() == 1));
if (_lastFrameTime == 0) {
_lastFrameTime = timer;
_changed = true;
if (_continuous) {
- _canBreak = (_currentFrame == (int32)_frames.size() - 1);
+ _canBreak = (_currentFrame == (int32)_frames.getSize() - 1);
}
}
@@ -425,7 +425,7 @@ bool BaseSprite::getCurrentFrame(float zoomX, float zoomY) {
//////////////////////////////////////////////////////////////////////
bool BaseSprite::display(int x, int y, BaseObject *registerVal, float zoomX, float zoomY, uint32 alpha, float rotate, Graphics::TSpriteBlendMode blendMode) {
- if (_currentFrame < 0 || _currentFrame >= (int32)_frames.size()) {
+ if (_currentFrame < 0 || _currentFrame >= (int32)_frames.getSize()) {
return STATUS_OK;
}
@@ -446,11 +446,11 @@ bool BaseSprite::display(int x, int y, BaseObject *registerVal, float zoomX, flo
//////////////////////////////////////////////////////////////////////////
BaseSurface *BaseSprite::getSurface() {
// only used for animated textures for 3D models
- if (_currentFrame < 0 || _currentFrame >= (int32)_frames.size()) {
+ if (_currentFrame < 0 || _currentFrame >= (int32)_frames.getSize()) {
return nullptr;
}
BaseFrame *frame = _frames[_currentFrame];
- if (frame && frame->_subframes.size() > 0) {
+ if (frame && frame->_subframes.getSize() > 0) {
BaseSubFrame *subframe = frame->_subframes[0];
if (subframe) {
return subframe->_surface;
@@ -469,7 +469,7 @@ bool BaseSprite::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, float
}
rect->setEmpty();
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
Rect32 frame;
Rect32 temp;
BasePlatform::copyRect(&temp, rect);
@@ -508,11 +508,11 @@ bool BaseSprite::saveAsText(BaseDynamicBuffer *buffer, int indent) {
BaseScriptHolder::saveAsText(buffer, indent + 2);
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->saveAsText(buffer, indent + 2);
}
@@ -565,7 +565,7 @@ bool BaseSprite::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
if (strcmp(name, "GetFrame") == 0) {
stack->correctParams(1);
int index = stack->pop()->getInt(-1);
- if (index < 0 || index >= (int32)_frames.size()) {
+ if (index < 0 || index >= (int32)_frames.getSize()) {
script->runtimeError("Sprite.GetFrame: Frame index %d is out of range.", index);
stack->pushNULL();
} else {
@@ -582,18 +582,18 @@ bool BaseSprite::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
ScValue *val = stack->pop();
if (val->isInt()) {
int index = val->getInt(-1);
- if (index < 0 || index >= (int32)_frames.size()) {
+ if (index < 0 || index >= (int32)_frames.getSize()) {
script->runtimeError("Sprite.DeleteFrame: Frame index %d is out of range.", index);
}
} else {
BaseFrame *frame = (BaseFrame *)val->getNative();
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
if (_frames[i] == frame) {
if (i == (uint32)_currentFrame) {
_lastFrameTime = 0;
}
delete _frames[i];
- _frames.remove_at(i);
+ _frames.removeAt(i);
break;
}
}
@@ -665,10 +665,10 @@ bool BaseSprite::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
}
}
- if (index >= (int32)_frames.size()) {
+ if (index >= (int32)_frames.getSize()) {
_frames.add(frame);
} else {
- _frames.insert_at(index, frame);
+ _frames.insertAt(index, frame);
}
stack->pushNative(frame, true);
@@ -715,7 +715,7 @@ ScValue *BaseSprite::scGetProperty(const Common::String &name) {
// NumFrames (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumFrames") {
- _scValue->setInt(_frames.size());
+ _scValue->setInt(_frames.getSize());
return _scValue;
}
@@ -782,7 +782,7 @@ bool BaseSprite::scSetProperty(const char *name, ScValue *value) {
//////////////////////////////////////////////////////////////////////////
if (strcmp(name, "CurrentFrame") == 0) {
_currentFrame = value->getInt(0);
- if (_currentFrame >= (int32)_frames.size() || _currentFrame < 0) {
+ if (_currentFrame >= (int32)_frames.getSize() || _currentFrame < 0) {
_currentFrame = -1;
}
_lastFrameTime = 0;
@@ -817,7 +817,7 @@ const char *BaseSprite::scToString() {
//////////////////////////////////////////////////////////////////////////
bool BaseSprite::killAllSounds() {
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->stopSound();
}
return STATUS_OK;
diff --git a/engines/wintermute/base/base_surface_storage.cpp b/engines/wintermute/base/base_surface_storage.cpp
index cc00f875e15..0057a4e8e8e 100644
--- a/engines/wintermute/base/base_surface_storage.cpp
+++ b/engines/wintermute/base/base_surface_storage.cpp
@@ -52,13 +52,13 @@ BaseSurfaceStorage::~BaseSurfaceStorage() {
//////////////////////////////////////////////////////////////////////////
bool BaseSurfaceStorage::cleanup(bool warn) {
- for (uint32 i = 0; i < _surfaces.size(); i++) {
+ for (uint32 i = 0; i < _surfaces.getSize(); i++) {
if (warn) {
BaseEngine::LOG(0, "BaseSurfaceStorage warning: purging surface '%s', usage:%d", _surfaces[i]->getFileName(), _surfaces[i]->_referenceCount);
}
delete _surfaces[i];
}
- _surfaces.clear();
+ _surfaces.removeAll();
return STATUS_OK;
}
@@ -69,7 +69,7 @@ bool BaseSurfaceStorage::initLoop() {
if (_gameRef->_smartCache && _gameRef->getLiveTimer()->getTime() - _lastCleanupTime >= _gameRef->_surfaceGCCycleTime) {
_lastCleanupTime = _gameRef->getLiveTimer()->getTime();
sortSurfaces();
- for (uint32 i = 0; i < _surfaces.size(); i++) {
+ for (uint32 i = 0; i < _surfaces.getSize(); i++) {
if (_surfaces[i]->_lifeTime <= 0) {
break;
}
@@ -86,12 +86,12 @@ bool BaseSurfaceStorage::initLoop() {
//////////////////////////////////////////////////////////////////////
bool BaseSurfaceStorage::removeSurface(BaseSurface *surface) {
- for (uint32 i = 0; i < _surfaces.size(); i++) {
+ for (uint32 i = 0; i < _surfaces.getSize(); i++) {
if (_surfaces[i] == surface) {
_surfaces[i]->_referenceCount--;
if (_surfaces[i]->_referenceCount <= 0) {
delete _surfaces[i];
- _surfaces.remove_at(i);
+ _surfaces.removeAt(i);
}
break;
}
@@ -102,7 +102,7 @@ bool BaseSurfaceStorage::removeSurface(BaseSurface *surface) {
//////////////////////////////////////////////////////////////////////
BaseSurface *BaseSurfaceStorage::addSurface(const Common::String &filename, bool defaultCK, byte ckRed, byte ckGreen, byte ckBlue, int lifeTime, bool keepLoaded) {
- for (uint32 i = 0; i < _surfaces.size(); i++) {
+ for (uint32 i = 0; i < _surfaces.getSize(); i++) {
if (scumm_stricmp(_surfaces[i]->getFileName(), filename.c_str()) == 0) {
_surfaces[i]->_referenceCount++;
return _surfaces[i];
@@ -132,7 +132,7 @@ BaseSurface *BaseSurfaceStorage::addSurface(const Common::String &filename, bool
return nullptr;
} else {
surface->_referenceCount = 1;
- _surfaces.push_back(surface);
+ _surfaces.add(surface);
return surface;
}
}
@@ -141,7 +141,7 @@ BaseSurface *BaseSurfaceStorage::addSurface(const Common::String &filename, bool
//////////////////////////////////////////////////////////////////////
bool BaseSurfaceStorage::restoreAll() {
bool ret;
- for (uint32 i = 0; i < _surfaces.size(); i++) {
+ for (uint32 i = 0; i < _surfaces.getSize(); i++) {
ret = _surfaces[i]->restore();
if (ret != STATUS_OK) {
BaseEngine::LOG(0, "BaseSurfaceStorage::RestoreAll failed");
@@ -170,7 +170,7 @@ bool BaseSurfaceStorage::persist(BasePersistenceManager *persistMgr)
//////////////////////////////////////////////////////////////////////////
bool BaseSurfaceStorage::sortSurfaces() {
- qsort(_surfaces.data(), _surfaces.size(), sizeof(BaseSurface *), surfaceSortCB);
+ qsort(_surfaces.getData(), _surfaces.getSize(), sizeof(BaseSurface *), surfaceSortCB);
return STATUS_OK;
}
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index d7471fe4b57..498cfbbdf47 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -264,8 +264,8 @@ void BaseFontBitmap::drawChar(byte c, int x, int y) {
bool handled = false;
if (_sprite) {
_sprite->getCurrentFrame();
- if (_sprite->_currentFrame >= 0 && _sprite->_currentFrame < (int32)_sprite->_frames.size() && _sprite->_frames[_sprite->_currentFrame]) {
- if (_sprite->_frames[_sprite->_currentFrame]->_subframes.size() > 0) {
+ if (_sprite->_currentFrame >= 0 && _sprite->_currentFrame < (int32)_sprite->_frames.getSize() && _sprite->_frames[_sprite->_currentFrame]) {
+ if (_sprite->_frames[_sprite->_currentFrame]->_subframes.getSize() > 0) {
_sprite->_frames[_sprite->_currentFrame]->_subframes[0]->_surface->displayTrans(x, y, rect);
}
handled = true;
@@ -573,8 +573,8 @@ bool BaseFontBitmap::getWidths() {
BaseSurface *surf = nullptr;
if (_sprite) {
- if (_widthsFrame >= 0 && _widthsFrame < (int32)_sprite->_frames.size()) {
- if (_sprite->_frames[_widthsFrame] && (int32)_sprite->_frames[_widthsFrame]->_subframes.size() > 0) {
+ if (_widthsFrame >= 0 && _widthsFrame < (int32)_sprite->_frames.getSize()) {
+ if (_sprite->_frames[_widthsFrame] && (int32)_sprite->_frames[_widthsFrame]->_subframes.getSize() > 0) {
surf = _sprite->_frames[_widthsFrame]->_subframes[0]->_surface;
}
}
diff --git a/engines/wintermute/base/font/base_font_storage.cpp b/engines/wintermute/base/font/base_font_storage.cpp
index 8c12bf43814..310d57c0f91 100644
--- a/engines/wintermute/base/font/base_font_storage.cpp
+++ b/engines/wintermute/base/font/base_font_storage.cpp
@@ -49,20 +49,20 @@ BaseFontStorage::~BaseFontStorage() {
//////////////////////////////////////////////////////////////////////////
bool BaseFontStorage::cleanup(bool warn) {
- for (uint32 i = 0; i < _fonts.size(); i++) {
+ for (uint32 i = 0; i < _fonts.getSize(); i++) {
if (warn) {
_gameRef->LOG(0, "Removing orphan font '%s'", _fonts[i]->getFilename());
}
delete _fonts[i];
}
- _fonts.clear();
+ _fonts.removeAll();
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
bool BaseFontStorage::initLoop() {
- for (uint32 i = 0; i < _fonts.size(); i++) {
+ for (uint32 i = 0; i < _fonts.getSize(); i++) {
_fonts[i]->initLoop();
}
return STATUS_OK;
@@ -74,7 +74,7 @@ BaseFont *BaseFontStorage::addFont(const Common::String &filename) {
return nullptr;
}
- for (uint32 i = 0; i < _fonts.size(); i++) {
+ for (uint32 i = 0; i < _fonts.getSize(); i++) {
if (scumm_stricmp(_fonts[i]->getFilename(), filename.c_str()) == 0) {
_fonts[i]->_refCount++;
return _fonts[i];
@@ -110,12 +110,12 @@ bool BaseFontStorage::removeFont(BaseFont *font) {
return STATUS_FAILED;
}
- for (uint32 i = 0; i < _fonts.size(); i++) {
+ for (uint32 i = 0; i < _fonts.getSize(); i++) {
if (_fonts[i] == font) {
_fonts[i]->_refCount--;
if (_fonts[i]->_refCount <= 0) {
delete _fonts[i];
- _fonts.remove_at(i);
+ _fonts.removeAt(i);
}
break;
}
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index ccdc6cb848e..c3dff1c80a7 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -67,10 +67,10 @@ BaseFontTT::BaseFontTT(BaseGame *inGame) : BaseFont(inGame) {
BaseFontTT::~BaseFontTT() {
clearCache();
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
delete _layers[i];
}
- _layers.clear();
+ _layers.removeAll();
delete[] _fontFile;
_fontFile = nullptr;
@@ -227,7 +227,7 @@ void BaseFontTT::drawText(const byte *text, int x, int y, int width, TTextAlign
if (surface) {
Rect32 rc;
rc.setRect(0, 0, surface->getWidth(), surface->getHeight());
- for (uint32 i = 0; i < _layers.size(); i++) {
+ for (uint32 i = 0; i < _layers.getSize(); i++) {
uint32 color = _layers[i]->_color;
uint32 origForceAlpha = renderer->_forceAlphaColor;
if (renderer->_forceAlphaColor != 0) {
@@ -439,7 +439,7 @@ bool BaseFontTT::loadBuffer(char *buffer) {
}
// create at least one layer
- if (_layers.size() == 0) {
+ if (_layers.getSize() == 0) {
BaseTTFontLayer *layer = new BaseTTFontLayer;
layer->_color = baseColor;
_layers.add(layer);
@@ -518,13 +518,13 @@ bool BaseFontTT::persist(BasePersistenceManager *persistMgr) {
// persist layers
int32 numLayers;
if (persistMgr->getIsSaving()) {
- numLayers = _layers.size();
+ numLayers = _layers.getSize();
persistMgr->transferSint32(TMEMBER(numLayers));
for (int i = 0; i < numLayers; i++) {
_layers[i]->persist(persistMgr);
}
} else {
- numLayers = _layers.size();
+ numLayers = _layers.getSize();
persistMgr->transferSint32(TMEMBER(numLayers));
for (int i = 0; i < numLayers; i++) {
BaseTTFontLayer *layer = new BaseTTFontLayer;
diff --git a/engines/wintermute/base/gfx/3deffect_params.cpp b/engines/wintermute/base/gfx/3deffect_params.cpp
index 397a8d8ddbb..a5c3fc69414 100644
--- a/engines/wintermute/base/gfx/3deffect_params.cpp
+++ b/engines/wintermute/base/gfx/3deffect_params.cpp
@@ -121,18 +121,18 @@ Effect3DParams::~Effect3DParams() {
//////////////////////////////////////////////////////////////////////////
void Effect3DParams::clear() {
- for (size_t i = 0; i < _params.size(); i++) {
+ for (size_t i = 0; i < _params.getSize(); i++) {
delete _params[i];
_params[i] = nullptr;
}
- _params.clear();
+ _params.removeAll();
}
//////////////////////////////////////////////////////////////////////////
bool Effect3DParams::persist(BasePersistenceManager *persistMgr) {
if (persistMgr->getIsSaving()) {
- uint32 numItems = _params.size();
+ uint32 numItems = _params.getSize();
persistMgr->transferUint32(TMEMBER(numItems));
for (uint32 i = 0; i < numItems; i++) {
@@ -182,7 +182,7 @@ void Effect3DParams::setParam(const char *paramName, DXVector4 val) {
Effect3DParams::Effect3DParam *Effect3DParams::getParamByName(const char *paramName) {
Effect3DParam *param = nullptr;
- for (uint32 i = 0; i < _params.size(); i++) {
+ for (uint32 i = 0; i < _params.getSize(); i++) {
if (_params[i]->getParamName() && strcmp(paramName, _params[i]->getParamName()) == 0) {
param = _params[i];
break;
diff --git a/engines/wintermute/base/gfx/3dloader_3ds.cpp b/engines/wintermute/base/gfx/3dloader_3ds.cpp
index b78f9e7c345..e1da68e30d3 100644
--- a/engines/wintermute/base/gfx/3dloader_3ds.cpp
+++ b/engines/wintermute/base/gfx/3dloader_3ds.cpp
@@ -60,9 +60,9 @@ Loader3DS::Loader3DS(BaseGame *inGame) : BaseNamedObject(inGame) {
//////////////////////////////////////////////////////////////////////////
Loader3DS::~Loader3DS() {
- for (size_t i = 0; i < _objects.size(); i++)
+ for (size_t i = 0; i < _objects.getSize(); i++)
delete _objects[i];
- _objects.clear();
+ _objects.removeAll();
}
@@ -313,7 +313,7 @@ bool Loader3DS::parseFile(const Common::String &filename) {
// inject this roll value to the camera
if (key == 0) {
- for (size_t index = 0; index < _objects.size(); index++) {
+ for (uint32 index = 0; index < _objects.getSize(); index++) {
if (_objects[index]->_type == OBJ_3DS_CAMERA && _objects[index]->_name == keyframerObject) {
_objects[index]->_cameraBank = cameraRoll;
break;
@@ -344,7 +344,7 @@ bool Loader3DS::parseFile(const Common::String &filename) {
uint Loader3DS::getNumMeshes() {
int ret = 0;
- for (size_t i = 0; i < _objects.size(); i++)
+ for (uint32 i = 0; i < _objects.getSize(); i++)
if (_objects[i]->_type == OBJ_3DS_MESH)
ret++;
@@ -356,7 +356,7 @@ uint Loader3DS::getNumMeshes() {
Common::String Loader3DS::getMeshName(int index) {
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_MESH)
pos++;
if (pos == index)
@@ -372,7 +372,7 @@ bool Loader3DS::loadMesh(int index, Mesh3DS *mesh) {
return false;
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_MESH)
pos++;
if (pos == index){
@@ -412,7 +412,7 @@ bool Loader3DS::loadMesh(int index, Mesh3DS *mesh) {
uint Loader3DS::getNumLights() {
int ret = 0;
- for (size_t i = 0; i < _objects.size(); i++)
+ for (uint32 i = 0; i < _objects.getSize(); i++)
if (_objects[i]->_type == OBJ_3DS_LIGHT)
ret++;
@@ -424,7 +424,7 @@ uint Loader3DS::getNumLights() {
Common::String Loader3DS::getLightName(int index) {
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_LIGHT)
pos++;
if (pos == index)
@@ -440,7 +440,7 @@ bool Loader3DS::loadLight(int index, Light3D *light) {
return false;
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_LIGHT) {
pos++;
if (pos == index) {
@@ -464,7 +464,7 @@ bool Loader3DS::loadLight(int index, Light3D *light) {
uint Loader3DS::getNumCameras() {
int ret = 0;
- for (size_t i = 0; i < _objects.size(); i++)
+ for (uint32 i = 0; i < _objects.getSize(); i++)
if (_objects[i]->_type == OBJ_3DS_CAMERA)
ret++;
@@ -475,7 +475,7 @@ uint Loader3DS::getNumCameras() {
//////////////////////////////////////////////////////////////////////////
Common::String Loader3DS::getCameraName(int index) {
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_CAMERA)
pos++;
if (pos == index)
@@ -491,7 +491,7 @@ bool Loader3DS::loadCamera(int index, Camera3D *camera) {
false;
int pos = -1;
- for (size_t i = 0; i < _objects.size(); i++) {
+ for (uint32 i = 0; i < _objects.getSize(); i++) {
if (_objects[i]->_type == OBJ_3DS_CAMERA)
pos++;
if (pos == index) {
diff --git a/engines/wintermute/base/gfx/3dshadow_volume.cpp b/engines/wintermute/base/gfx/3dshadow_volume.cpp
index 64986ce8d21..322237ad700 100644
--- a/engines/wintermute/base/gfx/3dshadow_volume.cpp
+++ b/engines/wintermute/base/gfx/3dshadow_volume.cpp
@@ -44,7 +44,7 @@ ShadowVolume::~ShadowVolume() {
//////////////////////////////////////////////////////////////////////////
bool ShadowVolume::reset() {
- _vertices.clear();
+ _vertices.removeAll();
return true;
}
diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp
index 3e71866edf0..fbe342a472f 100644
--- a/engines/wintermute/base/gfx/base_renderer.cpp
+++ b/engines/wintermute/base/gfx/base_renderer.cpp
@@ -189,7 +189,7 @@ BaseObject *BaseRenderer::getObjectAt(int x, int y) {
point.x = x;
point.y = y;
- for (int i = _rectList.size() - 1; i >= 0; i--) {
+ for (int i = _rectList.getSize() - 1; i >= 0; i--) {
if (BasePlatform::ptInRect(&_rectList[i]->_rect, point)) {
if (_rectList[i]->_precise) {
// frame
@@ -236,10 +236,10 @@ BaseObject *BaseRenderer::getObjectAt(int x, int y) {
//////////////////////////////////////////////////////////////////////////
void BaseRenderer::deleteRectList() {
- for (uint32 i = 0; i < _rectList.size(); i++) {
+ for (uint32 i = 0; i < _rectList.getSize(); i++) {
delete _rectList[i];
}
- _rectList.clear();
+ _rectList.removeAll();
}
//////////////////////////////////////////////////////////////////////
@@ -339,7 +339,7 @@ bool BaseRenderer::pointInViewport(Point32 *p) {
}
void BaseRenderer::addRectToList(BaseActiveRect *rect) {
- _rectList.push_back(rect);
+ _rectList.add(rect);
}
//////////////////////////////////////////////////////////////////////////
diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h
index ef9f96b38fe..3d171a4edaf 100644
--- a/engines/wintermute/base/gfx/base_renderer.h
+++ b/engines/wintermute/base/gfx/base_renderer.h
@@ -30,6 +30,7 @@
#include "engines/wintermute/math/rect32.h"
#include "engines/wintermute/base/base.h"
+#include "engines/wintermute/coll_templ.h"
#include "common/rect.h"
#include "common/array.h"
@@ -222,7 +223,7 @@ protected:
Rect32 _screenRect;
Rect32 _monitorRect;
private:
- Common::Array<BaseActiveRect *> _rectList;
+ BaseArray<BaseActiveRect *> _rectList;
bool displaySaveloadImage();
bool displaySaveloadRect();
};
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
index 295f871a252..d905f734d65 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
@@ -818,21 +818,21 @@ void BaseRenderOpenGL3D::renderSceneGeometry(const BaseArray<AdWalkplane *> &pla
// render walk planes
- for (uint i = 0; i < planes.size(); i++) {
+ for (uint i = 0; i < planes.getSize(); i++) {
if (planes[i]->_active) {
planes[i]->_mesh->render(true);
}
}
// render blocks
- for (uint i = 0; i < blocks.size(); i++) {
+ for (uint i = 0; i < blocks.getSize(); i++) {
if (blocks[i]->_active) {
blocks[i]->_mesh->render(true);
}
}
// render generic objects
- for (uint i = 0; i < generics.size(); i++) {
+ for (uint i = 0; i < generics.getSize(); i++) {
if (generics[i]->_active) {
generics[i]->_mesh->render(true);
}
@@ -853,8 +853,8 @@ void BaseRenderOpenGL3D::renderSceneGeometry(const BaseArray<AdWalkplane *> &pla
setup2D();
- for (uint i = 0; i < geom->_waypointGroups.size(); i++) {
- for (uint j = 0; j < geom->_waypointGroups[i]->_points.size(); j++) {
+ for (uint i = 0; i < geom->_waypointGroups.getSize(); i++) {
+ for (uint j = 0; j < geom->_waypointGroups[i]->_points.getSize(); j++) {
DXVec3Project(&vec2d, geom->_waypointGroups[i]->_points[j], &vport, &projMat, &viewMat, &worldMat);
geom->_wptMarker->display(vec2d._x + scene->getOffsetLeft() - _drawOffsetX, vec2d._y + scene->getOffsetTop() - _drawOffsetY);
}
@@ -889,21 +889,21 @@ void BaseRenderOpenGL3D::renderShadowGeometry(const BaseArray<AdWalkplane *> &pl
glFrontFace(GL_CW); // WME DX have CCW
// render blocks
- for (uint i = 0; i < blocks.size(); i++) {
+ for (uint i = 0; i < blocks.getSize(); i++) {
if (blocks[i]->_active && blocks[i]->_receiveShadows) {
blocks[i]->_mesh->render();
}
}
// render walk planes
- for (uint i = 0; i < planes.size(); i++) {
+ for (uint i = 0; i < planes.getSize(); i++) {
if (planes[i]->_active && planes[i]->_receiveShadows) {
planes[i]->_mesh->render();
}
}
// render generic objects
- for (uint i = 0; i < generics.size(); i++) {
+ for (uint i = 0; i < generics.getSize(); i++) {
if (generics[i]->_active && generics[i]->_receiveShadows) {
generics[i]->_mesh->render();
}
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
index 4adb1b9fc3c..28767b14403 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
@@ -906,21 +906,21 @@ void BaseRenderOpenGL3DShader::renderSceneGeometry(const BaseArray<AdWalkplane *
glBindTexture(GL_TEXTURE_2D, 0);
glDisable(GL_TEXTURE_2D);
- for (uint i = 0; i < planes.size(); i++) {
+ for (uint i = 0; i < planes.getSize(); i++) {
if (planes[i]->_active) {
planes[i]->_mesh->render(true);
}
}
// render blocks
- for (uint i = 0; i < blocks.size(); i++) {
+ for (uint i = 0; i < blocks.getSize(); i++) {
if (blocks[i]->_active) {
blocks[i]->_mesh->render(true);
}
}
// render generic objects
- for (uint i = 0; i < generics.size(); i++) {
+ for (uint i = 0; i < generics.getSize(); i++) {
if (generics[i]->_active) {
generics[i]->_mesh->render(true);
}
@@ -941,8 +941,8 @@ void BaseRenderOpenGL3DShader::renderSceneGeometry(const BaseArray<AdWalkplane *
setup2D();
- for (uint i = 0; i < geom->_waypointGroups.size(); i++) {
- for (uint j = 0; j < geom->_waypointGroups[i]->_points.size(); j++) {
+ for (uint i = 0; i < geom->_waypointGroups.getSize(); i++) {
+ for (uint j = 0; j < geom->_waypointGroups[i]->_points.getSize(); j++) {
DXVec3Project(&vec2d, geom->_waypointGroups[i]->_points[j], &vport, &projMat, &viewMat, &worldMat);
geom->_wptMarker->display(vec2d._x + scene->getOffsetLeft() - _drawOffsetX, vec2d._y + scene->getOffsetTop() - _drawOffsetY);
}
@@ -974,21 +974,21 @@ void BaseRenderOpenGL3DShader::renderShadowGeometry(const BaseArray<AdWalkplane
glFrontFace(GL_CW); // WME DX have CCW
// render blocks
- for (uint i = 0; i < blocks.size(); i++) {
+ for (uint i = 0; i < blocks.getSize(); i++) {
if (blocks[i]->_active && blocks[i]->_receiveShadows) {
blocks[i]->_mesh->render();
}
}
// render walk planes
- for (uint i = 0; i < planes.size(); i++) {
+ for (uint i = 0; i < planes.getSize(); i++) {
if (planes[i]->_active && planes[i]->_receiveShadows) {
planes[i]->_mesh->render();
}
}
// render generic objects
- for (uint i = 0; i < generics.size(); i++) {
+ for (uint i = 0; i < generics.getSize(); i++) {
if (generics[i]->_active && generics[i]->_receiveShadows) {
generics[i]->_mesh->render();
}
diff --git a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
index 766f70c1b53..9e98fe6ed99 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
@@ -53,8 +53,8 @@ bool ShadowVolumeOpenGL::render() {
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
glEnableClientState(GL_VERTEX_ARRAY);
- glVertexPointer(3, GL_FLOAT, 0, _vertices.data());
- glDrawArrays(GL_TRIANGLES, 0, _vertices.size());
+ glVertexPointer(3, GL_FLOAT, 0, _vertices.getData());
+ glDrawArrays(GL_TRIANGLES, 0, _vertices.getSize());
glDisableClientState(GL_VERTEX_ARRAY);
return true;
diff --git a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
index f84d58ad9e4..304fc860b05 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
@@ -50,7 +50,7 @@ ShadowVolumeOpenGLShader::ShadowVolumeOpenGLShader(BaseGame *inGame, OpenGL::Sha
glGenBuffers(1, &_shadowVolumeVertexBuffer);
glBindBuffer(GL_ARRAY_BUFFER, _shadowVolumeVertexBuffer);
- glBufferData(GL_ARRAY_BUFFER, 12 * _vertices.size(), _vertices.data(), GL_STATIC_DRAW);
+ glBufferData(GL_ARRAY_BUFFER, 12 * _vertices.getSize(), _vertices.getData(), GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glGenBuffers(1, &_shadowMaskVertexBuffer);
@@ -76,7 +76,7 @@ bool ShadowVolumeOpenGLShader::render() {
colorValue.w() = 1.0f;
_volumeShader->setUniform("color", colorValue);
- glDrawArrays(GL_TRIANGLES, 0, _vertices.size());
+ glDrawArrays(GL_TRIANGLES, 0, _vertices.getSize());
return true;
}
@@ -90,7 +90,7 @@ bool ShadowVolumeOpenGLShader::renderToStencilBuffer() {
glDeleteBuffers(1, &_shadowVolumeVertexBuffer);
glGenBuffers(1, &_shadowVolumeVertexBuffer);
glBindBuffer(GL_ARRAY_BUFFER, _shadowVolumeVertexBuffer);
- glBufferData(GL_ARRAY_BUFFER, 12 * _vertices.size(), _vertices.data(), GL_STATIC_DRAW);
+ glBufferData(GL_ARRAY_BUFFER, 12 * _vertices.getSize(), _vertices.getData(), GL_STATIC_DRAW);
_volumeShader->enableVertexAttribute("position", _shadowVolumeVertexBuffer, 3, GL_FLOAT, false, 12, 0);
_volumeShader->use(true);
diff --git a/engines/wintermute/base/gfx/xanimation.cpp b/engines/wintermute/base/gfx/xanimation.cpp
index 4c2408a29c0..d541ae8ff87 100644
--- a/engines/wintermute/base/gfx/xanimation.cpp
+++ b/engines/wintermute/base/gfx/xanimation.cpp
@@ -44,20 +44,20 @@ Animation::Animation(BaseGame *inGame) : BaseClass(inGame) {
//////////////////////////////////////////////////////////////////////////
Animation::~Animation() {
- for (uint32 i = 0; i < _posKeys.size(); i++) {
+ for (uint32 i = 0; i < _posKeys.getSize(); i++) {
delete _posKeys[i];
}
- _posKeys.clear();
+ _posKeys.removeAll();
- for (uint32 i = 0; i < _rotKeys.size(); i++) {
+ for (uint32 i = 0; i < _rotKeys.getSize(); i++) {
delete _rotKeys[i];
}
- _rotKeys.clear();
+ _rotKeys.removeAll();
- for (uint32 i = 0; i < _scaleKeys.size(); i++) {
+ for (uint32 i = 0; i < _scaleKeys.getSize(); i++) {
delete _scaleKeys[i];
}
- _scaleKeys.clear();
+ _scaleKeys.removeAll();
}
//////////////////////////////////////////////////////////////////////////
@@ -141,7 +141,7 @@ bool Animation::loadAnimationKeyData(XAnimationKeyObject *animationKey) {
uint32 numKeys = animationKey->_numKeys;
if (keyType == 0) { // rotation key
- if (_rotKeys.size() != 0) {
+ if (_rotKeys.getSize() != 0) {
BaseEngine::LOG(0, "Rotation key duplicated");
return false;
}
@@ -158,10 +158,10 @@ bool Animation::loadAnimationKeyData(XAnimationKeyObject *animationKey) {
rotKey->_rotation._y = fileRotKey->_tfkeys[2];
rotKey->_rotation._z = fileRotKey->_tfkeys[3];
- _rotKeys.push_back(rotKey);
+ _rotKeys.add(rotKey);
}
} else if (keyType == 1) { // scale key
- if (_scaleKeys.size() != 0) {
+ if (_scaleKeys.getSize() != 0) {
BaseEngine::LOG(0, "Scale key duplicated");
return false;
}
@@ -176,10 +176,10 @@ bool Animation::loadAnimationKeyData(XAnimationKeyObject *animationKey) {
scaleKey->_scale._y = fileScaleKey->_tfkeys[1];
scaleKey->_scale._z = fileScaleKey->_tfkeys[2];
- _scaleKeys.push_back(scaleKey);
+ _scaleKeys.add(scaleKey);
}
} else if (keyType == 2) { // position key
- if (_posKeys.size() != 0) {
+ if (_posKeys.getSize() != 0) {
BaseEngine::LOG(0, "Position key duplicated");
return false;
}
@@ -194,10 +194,10 @@ bool Animation::loadAnimationKeyData(XAnimationKeyObject *animationKey) {
posKey->_pos._y = filePosKey->_tfkeys[1];
posKey->_pos._z = filePosKey->_tfkeys[2];
- _posKeys.push_back(posKey);
+ _posKeys.add(posKey);
}
} else if (keyType == 4) { // matrix key
- if (_rotKeys.size() != 0 || _scaleKeys.size() != 0 || _posKeys.size() != 0) {
+ if (_rotKeys.getSize() != 0 || _scaleKeys.getSize() != 0 || _posKeys.getSize() != 0) {
BaseEngine::LOG(0, "Matrix key duplicated");
return false;
}
@@ -235,9 +235,9 @@ bool Animation::loadAnimationKeyData(XAnimationKeyObject *animationKey) {
rotationKey->_rotation._y = -rotationKey->_rotation._y;
rotationKey->_rotation._z = -rotationKey->_rotation._z;
- _posKeys.push_back(positionKey);
- _scaleKeys.push_back(scaleKey);
- _rotKeys.push_back(rotationKey);
+ _posKeys.add(positionKey);
+ _scaleKeys.add(scaleKey);
+ _rotKeys.add(rotationKey);
}
} else {
// the type is unknown, report the error
@@ -264,11 +264,11 @@ bool Animation::update(int slot, uint32 localTime, float animLerpValue) {
bool animate = false;
// scale keys
- if (_scaleKeys.size() > 0) {
+ if (_scaleKeys.getSize() > 0) {
keyIndex1 = keyIndex2 = 0;
// get the two keys between which the time is currently in
- for (uint32 key = 0; key < _scaleKeys.size(); key++) {
+ for (uint32 key = 0; key < _scaleKeys.getSize(); key++) {
if (_scaleKeys[key]->_time > localTime) {
keyIndex2 = key;
@@ -299,11 +299,11 @@ bool Animation::update(int slot, uint32 localTime, float animLerpValue) {
}
// rotation keys
- if (_rotKeys.size() > 0) {
+ if (_rotKeys.getSize() > 0) {
keyIndex1 = keyIndex2 = 0;
// get the two keys surrounding the current time value
- for (uint32 key = 0; key < _rotKeys.size(); key++) {
+ for (uint32 key = 0; key < _rotKeys.getSize(); key++) {
if (_rotKeys[key]->_time > localTime) {
keyIndex2 = key;
if (key > 0) {
@@ -344,11 +344,11 @@ bool Animation::update(int slot, uint32 localTime, float animLerpValue) {
}
// position keys
- if (_posKeys.size() > 0) {
+ if (_posKeys.getSize() > 0) {
keyIndex1 = keyIndex2 = 0;
// get the two keys surrounding the time value
- for (uint32 key = 0; key < _posKeys.size(); key++) {
+ for (uint32 key = 0; key < _posKeys.getSize(); key++) {
if (_posKeys[key]->_time > localTime) {
keyIndex2 = key;
if (key > 0) {
@@ -389,7 +389,7 @@ int Animation::getFrameTime() {
// get the shortest frame time
prevTime = 0;
- for (uint32 i = 0; i < _rotKeys.size(); i++) {
+ for (uint32 i = 0; i < _rotKeys.getSize(); i++) {
if (frameTime == 0 || _rotKeys[i]->_time - prevTime < frameTime)
frameTime = _rotKeys[i]->_time - prevTime;
@@ -397,7 +397,7 @@ int Animation::getFrameTime() {
}
prevTime = 0;
- for (uint32 i = 0; i < _posKeys.size(); i++) {
+ for (uint32 i = 0; i < _posKeys.getSize(); i++) {
if (frameTime == 0 || _posKeys[i]->_time - prevTime < frameTime)
frameTime = _posKeys[i]->_time - prevTime;
@@ -405,7 +405,7 @@ int Animation::getFrameTime() {
}
prevTime = 0;
- for (uint32 i = 0; i < _scaleKeys.size(); i++) {
+ for (uint32 i = 0; i < _scaleKeys.getSize(); i++) {
if (frameTime == 0 || _scaleKeys[i]->_time - prevTime < frameTime)
frameTime = _scaleKeys[i]->_time - prevTime;
@@ -418,16 +418,16 @@ int Animation::getFrameTime() {
//////////////////////////////////////////////////////////////////////////
uint32 Animation::getTotalTime() {
uint32 totalTime = 0;
- if (_rotKeys.size() > 0) {
- totalTime = MAX(totalTime, _rotKeys[_rotKeys.size() - 1]->_time);
+ if (_rotKeys.getSize() > 0) {
+ totalTime = MAX(totalTime, _rotKeys[_rotKeys.getSize() - 1]->_time);
}
- if (_posKeys.size() > 0) {
- totalTime = MAX(totalTime, _posKeys[_posKeys.size() - 1]->_time);
+ if (_posKeys.getSize() > 0) {
+ totalTime = MAX(totalTime, _posKeys[_posKeys.getSize() - 1]->_time);
}
- if (_scaleKeys.size() > 0) {
- totalTime = MAX(totalTime, _scaleKeys[_scaleKeys.size() - 1]->_time);
+ if (_scaleKeys.getSize() > 0) {
+ totalTime = MAX(totalTime, _scaleKeys[_scaleKeys.getSize() - 1]->_time);
}
return totalTime;
diff --git a/engines/wintermute/base/gfx/xanimation_set.cpp b/engines/wintermute/base/gfx/xanimation_set.cpp
index 7565e398693..286384e4304 100644
--- a/engines/wintermute/base/gfx/xanimation_set.cpp
+++ b/engines/wintermute/base/gfx/xanimation_set.cpp
@@ -43,21 +43,21 @@ AnimationSet::AnimationSet(BaseGame *inGame, XModel *model) : BaseNamedObject(in
//////////////////////////////////////////////////////////////////////////
AnimationSet::~AnimationSet() {
// remove child animations
- for (uint32 i = 0; i < _animations.size(); i++) {
+ for (uint32 i = 0; i < _animations.getSize(); i++) {
delete _animations[i];
}
- _animations.clear();
+ _animations.removeAll();
// remove events
- for (uint32 i = 0; i < _events.size(); i++) {
+ for (uint32 i = 0; i < _events.getSize(); i++) {
delete _events[i];
}
- _events.clear();
+ _events.removeAll();
}
//////////////////////////////////////////////////////////////////////////
bool AnimationSet::findBones(FrameNode *rootFrame) {
- for (uint32 i = 0; i < _animations.size(); i++) {
+ for (uint32 i = 0; i < _animations.getSize(); i++) {
_animations[i]->findBone(rootFrame);
}
return true;
@@ -102,7 +102,7 @@ bool AnimationSet::addEvent(AnimationEvent *event) {
//////////////////////////////////////////////////////////////////////////
bool AnimationSet::update(int slot, uint32 localTime, float lerpValue) {
bool res;
- for (uint32 i = 0; i < _animations.size(); i++) {
+ for (uint32 i = 0; i < _animations.getSize(); i++) {
res = _animations[i]->update(slot, localTime * ((float)_model->_ticksPerSecond / 1000.0f), lerpValue);
if (!res) {
return res;
@@ -118,7 +118,7 @@ int AnimationSet::getFrameTime() {
}
_frameTime = 0;
- for (uint32 i = 0; i < _animations.size(); i++) {
+ for (uint32 i = 0; i < _animations.getSize(); i++) {
int frameTime = _animations[i]->getFrameTime();
if (_frameTime == 0) {
_frameTime = frameTime / ((float)_model->_ticksPerSecond / 1000.0f);
@@ -136,7 +136,7 @@ uint32 AnimationSet::getTotalTime() {
}
_totalTime = 0;
- for (uint32 i = 0; i < _animations.size(); i++) {
+ for (uint32 i = 0; i < _animations.getSize(); i++) {
_totalTime = MAX((float)_totalTime, _animations[i]->getTotalTime() / ((float)_model->_ticksPerSecond / 1000.0f));
}
return _totalTime;
@@ -149,7 +149,7 @@ bool AnimationSet::onFrameChanged(int currentFrame, int prevFrame) {
}
if (prevFrame > currentFrame) {
- for (uint32 i = 0; i < _events.size(); i++) {
+ for (uint32 i = 0; i < _events.getSize(); i++) {
if (_events[i]->_frame > prevFrame) {
_model->_owner->applyEvent(_events[i]->_eventName);
}
@@ -157,7 +157,7 @@ bool AnimationSet::onFrameChanged(int currentFrame, int prevFrame) {
prevFrame = -1;
}
- for (uint32 i = 0; i < _events.size(); i++) {
+ for (uint32 i = 0; i < _events.getSize(); i++) {
if (_events[i]->_frame > prevFrame && _events[i]->_frame <= currentFrame) {
_model->_owner->applyEvent(_events[i]->_eventName);
}
@@ -172,7 +172,7 @@ bool AnimationSet::persist(BasePersistenceManager *persistMgr) {
// persist events
int32 numEvents;
if (persistMgr->getIsSaving()) {
- numEvents = _events.size();
+ numEvents = _events.getSize();
}
persistMgr->transferSint32(TMEMBER(numEvents));
diff --git a/engines/wintermute/base/gfx/xframe_node.cpp b/engines/wintermute/base/gfx/xframe_node.cpp
index 9fb3fa626b9..ff334799f16 100644
--- a/engines/wintermute/base/gfx/xframe_node.cpp
+++ b/engines/wintermute/base/gfx/xframe_node.cpp
@@ -56,16 +56,16 @@ FrameNode::FrameNode(BaseGame *inGame) : BaseNamedObject(inGame) {
//////////////////////////////////////////////////////////////////////////
FrameNode::~FrameNode() {
// remove child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
delete _frames[i];
}
- _frames.clear();
+ _frames.removeAll();
// remove meshes
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
delete _meshes[i];
}
- _meshes.clear();
+ _meshes.removeAll();
}
//////////////////////////////////////////////////////////////////////////
@@ -208,12 +208,12 @@ bool FrameNode::mergeFromXData(const Common::String &filename, XModel *model, XF
//////////////////////////////////////////////////////////////////////////
bool FrameNode::findBones(FrameNode *rootFrame) {
// find the bones of the meshes
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->findBones(rootFrame);
}
// find the bones for the child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->findBones(rootFrame);
}
@@ -225,7 +225,7 @@ FrameNode *FrameNode::findFrame(const char *frameName) {
if (getName() && strcmp(getName(), frameName) == 0) {
return this;
} else {
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
FrameNode *foundFrame = _frames[i]->findFrame(frameName);
if (foundFrame) {
return foundFrame;
@@ -271,7 +271,7 @@ bool FrameNode::updateMatrices(DXMatrix *parentMat) {
DXMatrixMultiply(&_combinedMatrix, &_transformationMatrix, parentMat);
// update child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->updateMatrices(&_combinedMatrix);
}
@@ -283,7 +283,7 @@ bool FrameNode::updateMeshes() {
bool res = true;
// update meshes
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
res = _meshes[i]->update(this);
if (!res) {
return res;
@@ -291,7 +291,7 @@ bool FrameNode::updateMeshes() {
}
// render child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
res = _frames[i]->updateMeshes();
if (!res) {
return res;
@@ -305,7 +305,7 @@ bool FrameNode::resetMatrices() {
_transformationMatrix = _originalMatrix;
// update child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->resetMatrices();
}
@@ -317,7 +317,7 @@ bool FrameNode::updateShadowVol(ShadowVolume *shadow, DXMatrix *modelMat, DXVect
bool res = true;
// meshes
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
res = _meshes[i]->updateShadowVol(shadow, modelMat, light, extrusionDepth);
if (!res) {
return res;
@@ -325,7 +325,7 @@ bool FrameNode::updateShadowVol(ShadowVolume *shadow, DXMatrix *modelMat, DXVect
}
// child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
res = _frames[i]->updateShadowVol(shadow, modelMat, light, extrusionDepth);
if (!res) {
return res;
@@ -339,7 +339,7 @@ bool FrameNode::render(XModel *model) {
bool res = true;
// render meshes
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
res = _meshes[i]->render(model);
if (!res) {
return res;
@@ -347,7 +347,7 @@ bool FrameNode::render(XModel *model) {
}
// render child frames
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
res = _frames[i]->render(model);
if (!res) {
return res;
@@ -359,14 +359,14 @@ bool FrameNode::render(XModel *model) {
bool FrameNode::renderFlatShadowModel(uint32 shadowColor) {
bool res = true;
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
res = _meshes[i]->renderFlatShadowModel(shadowColor);
if (!res) {
return res;
}
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
res = _frames[i]->renderFlatShadowModel(shadowColor);
if (!res) {
return res;
@@ -379,14 +379,14 @@ bool FrameNode::renderFlatShadowModel(uint32 shadowColor) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::pickPoly(DXVector3 *pickRayOrig, DXVector3 *pickRayDir) {
bool found = false;
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
found = _meshes[i]->pickPoly(pickRayOrig, pickRayDir);
if (found) {
return true;
}
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
found = _frames[i]->pickPoly(pickRayOrig, pickRayDir);
if (found) {
return true;
@@ -397,7 +397,7 @@ bool FrameNode::pickPoly(DXVector3 *pickRayOrig, DXVector3 *pickRayDir) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::getBoundingBox(DXVector3 *boxStart, DXVector3 *boxEnd) {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
boxStart->_x = MIN(boxStart->_x, _meshes[i]->_BBoxStart._x);
boxStart->_y = MIN(boxStart->_y, _meshes[i]->_BBoxStart._y);
boxStart->_z = MIN(boxStart->_z, _meshes[i]->_BBoxStart._z);
@@ -407,7 +407,7 @@ bool FrameNode::getBoundingBox(DXVector3 *boxStart, DXVector3 *boxEnd) {
boxEnd->_z = MAX(boxEnd->_z, _meshes[i]->_BBoxEnd._z);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->getBoundingBox(boxStart, boxEnd);
}
return true;
@@ -415,16 +415,16 @@ bool FrameNode::getBoundingBox(DXVector3 *boxStart, DXVector3 *boxEnd) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::hasChildren() {
- return _frames.size() > 0;
+ return _frames.getSize() > 0;
}
//////////////////////////////////////////////////////////////////////////
bool FrameNode::setMaterialSprite(char *matName, BaseSprite *sprite) {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->setMaterialSprite(matName, sprite);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->setMaterialSprite(matName, sprite);
}
@@ -433,11 +433,11 @@ bool FrameNode::setMaterialSprite(char *matName, BaseSprite *sprite) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::setMaterialTheora(char *matName, VideoTheoraPlayer *theora) {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->setMaterialTheora(matName, theora);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->setMaterialTheora(matName, theora);
}
@@ -446,11 +446,11 @@ bool FrameNode::setMaterialTheora(char *matName, VideoTheoraPlayer *theora) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::setMaterialEffect(char *matName, Effect3D *effect, Effect3DParams *params) {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->setMaterialEffect(matName, effect, params);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->setMaterialEffect(matName, effect, params);
}
@@ -459,11 +459,11 @@ bool FrameNode::setMaterialEffect(char *matName, Effect3D *effect, Effect3DParam
//////////////////////////////////////////////////////////////////////////
bool FrameNode::removeMaterialEffect(const char *matName) {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->removeMaterialEffect(matName);
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->removeMaterialEffect(matName);
}
@@ -472,11 +472,11 @@ bool FrameNode::removeMaterialEffect(const char *matName) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::invalidateDeviceObjects() {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->invalidateDeviceObjects();
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->invalidateDeviceObjects();
}
@@ -485,11 +485,11 @@ bool FrameNode::invalidateDeviceObjects() {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::restoreDeviceObjects() {
- for (uint32 i = 0; i < _meshes.size(); i++) {
+ for (uint32 i = 0; i < _meshes.getSize(); i++) {
_meshes[i]->restoreDeviceObjects();
}
- for (uint32 i = 0; i < _frames.size(); i++) {
+ for (uint32 i = 0; i < _frames.getSize(); i++) {
_frames[i]->restoreDeviceObjects();
}
diff --git a/engines/wintermute/base/gfx/xmesh.cpp b/engines/wintermute/base/gfx/xmesh.cpp
index 747b1ad8fed..52c9bef9e8c 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -67,7 +67,7 @@ XMesh::~XMesh() {
delete[] _adjacency;
_adjacency = nullptr;
- _materials.clear();
+ _materials.removeAll();
}
//////////////////////////////////////////////////////////////////////////
@@ -309,7 +309,7 @@ bool XMesh::pickPoly(DXVector3 *pickRayOrig, DXVector3 *pickRayDir) {
////////////////////////////////////////////////////////////////////////////
bool XMesh::setMaterialSprite(const Common::String &matName, BaseSprite *sprite) {
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
_materials[i]->setSprite(sprite);
}
@@ -319,7 +319,7 @@ bool XMesh::setMaterialSprite(const Common::String &matName, BaseSprite *sprite)
//////////////////////////////////////////////////////////////////////////
bool XMesh::setMaterialTheora(const Common::String &matName, VideoTheoraPlayer *theora) {
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
_materials[i]->setTheora(theora);
}
@@ -329,7 +329,7 @@ bool XMesh::setMaterialTheora(const Common::String &matName, VideoTheoraPlayer *
//////////////////////////////////////////////////////////////////////////
bool XMesh::setMaterialEffect(const Common::String &matName, Effect3D *effect, Effect3DParams *params) {
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
_materials[i]->setEffect(effect, params);
}
@@ -339,7 +339,7 @@ bool XMesh::setMaterialEffect(const Common::String &matName, Effect3D *effect, E
//////////////////////////////////////////////////////////////////////////
bool XMesh::removeMaterialEffect(const Common::String &matName) {
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
if (_materials[i]->getName() && scumm_stricmp(_materials[i]->getName(), matName.c_str()) == 0) {
_materials[i]->setEffect(nullptr, nullptr);
}
@@ -354,7 +354,7 @@ bool XMesh::invalidateDeviceObjects() {
_blendedMesh = nullptr;
}
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
_materials[i]->invalidateDeviceObjects();
}
@@ -363,7 +363,7 @@ bool XMesh::invalidateDeviceObjects() {
//////////////////////////////////////////////////////////////////////////
bool XMesh::restoreDeviceObjects() {
- for (uint32 i = 0; i < _materials.size(); i++) {
+ for (uint32 i = 0; i < _materials.getSize(); i++) {
_materials[i]->restoreDeviceObjects();
}
diff --git a/engines/wintermute/base/gfx/xmodel.cpp b/engines/wintermute/base/gfx/xmodel.cpp
index aebff7f3a18..f6c0c30c3fd 100644
--- a/engines/wintermute/base/gfx/xmodel.cpp
+++ b/engines/wintermute/base/gfx/xmodel.cpp
@@ -87,23 +87,23 @@ void XModel::cleanup(bool complete) {
}
// remove animation sets
- for (uint32 i = 0; i < _animationSets.size(); i++) {
+ for (uint32 i = 0; i < _animationSets.getSize(); i++) {
delete _animationSets[i];
}
- _animationSets.clear();
+ _animationSets.removeAll();
if (complete) {
- for (uint i = 0; i < _mergedModels.size(); ++i) {
+ for (uint i = 0; i < _mergedModels.getSize(); ++i) {
delete[] _mergedModels[i];
}
- _mergedModels.clear();
+ _mergedModels.removeAll();
}
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
delete _matSprites[i];
_matSprites[i] = nullptr;
}
- _matSprites.clear();
+ _matSprites.removeAll();
// remove root frame
delete _rootFrame;
@@ -212,7 +212,7 @@ bool XModel::mergeFromFile(const Common::String &filename) {
// remember path for save/load purposes
bool found = false;
- for (uint i = 0; i < _mergedModels.size(); ++i) {
+ for (uint i = 0; i < _mergedModels.getSize(); ++i) {
if (scumm_stricmp(_mergedModels[i], filename.c_str()) == 0) {
found = true;
break;
@@ -334,7 +334,7 @@ bool XModel::findBones(bool animOnly, XModel *parentModel) {
_rootFrame->findBones(rootFrame);
}
- for (uint32 i = 0; i < _animationSets.size(); i++) {
+ for (uint32 i = 0; i < _animationSets.getSize(); i++) {
_animationSets[i]->findBones(rootFrame);
}
@@ -666,7 +666,7 @@ void XModel::updateRect(Rect32 *rc, DXVector3 *vec) {
//////////////////////////////////////////////////////////////////////////
AnimationSet *XModel::getAnimationSetByName(const Common::String &name) {
- for (uint32 i = 0; i < _animationSets.size(); i++) {
+ for (uint32 i = 0; i < _animationSets.getSize(); i++) {
if (name.equalsIgnoreCase(_animationSets[i]->_name)) {
return _animationSets[i];
}
@@ -804,7 +804,7 @@ bool XModel::setMaterialSprite(const char *materialName, const char *spriteFilen
}
XModelMatSprite *matSprite = nullptr;
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
matSprite = _matSprites[i];
break;
@@ -841,7 +841,7 @@ bool XModel::setMaterialTheora(const char *materialName, const char *theoraFilen
theora->play(VID_PLAY_POS, 0, 0, false, false, true);
XModelMatSprite *matSprite = nullptr;
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
matSprite = _matSprites[i];
break;
@@ -874,7 +874,7 @@ bool XModel::setMaterialEffect(const char *materialName, const char *effectFilen
}
XModelMatSprite *matSprite = nullptr;
- for (uint32 i = 0 ; i < _matSprites.size(); i++) {
+ for (uint32 i = 0 ; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
matSprite = _matSprites[i];
break;
@@ -898,11 +898,11 @@ bool XModel::removeMaterialEffect(const char *materialName) {
if (!_rootFrame)
return false;
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
delete _matSprites[i];
_matSprites[i] = nullptr;
- _matSprites.remove_at(i);
+ _matSprites.removeAt(i);
_rootFrame->removeMaterialEffect(materialName);
return true;
}
@@ -918,7 +918,7 @@ bool XModel::setMaterialEffectParam(const char *materialName, const char *paramN
return false;
- for (uint32 i = 0 ; i < _matSprites.size(); i++) {
+ for (uint32 i = 0 ; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
if (_matSprites[i]->_effectParams) {
_matSprites[i]->_effectParams->setParam(paramName, val);
@@ -938,7 +938,7 @@ bool XModel::setMaterialEffectParam(const char *materialName, const char *paramN
return false;
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
if (scumm_stricmp(_matSprites[i]->_matName, materialName) == 0) {
if (_matSprites[i]->_effectParams) {
_matSprites[i]->_effectParams->setParam(paramName, val);
@@ -957,7 +957,7 @@ bool XModel::initializeSimple() {
}
// init after load
- for (uint32 i = 0; i < _matSprites.size(); i++) {
+ for (uint32 i = 0; i < _matSprites.getSize(); i++) {
if (_matSprites[i]->_theora) {
_rootFrame->setMaterialTheora(_matSprites[i]->_matName, _matSprites[i]->_theora);
} else if (_matSprites[i]->_sprite) {
@@ -1016,7 +1016,7 @@ bool XModel::persist(BasePersistenceManager *persistMgr) {
loadFromFile(getFilename());
}
- for (uint i = 0; i < _mergedModels.size(); ++i) {
+ for (uint i = 0; i < _mergedModels.getSize(); ++i) {
mergeFromFile(_mergedModels[i]);
}
}
@@ -1026,13 +1026,13 @@ bool XModel::persist(BasePersistenceManager *persistMgr) {
// animation properties
int32 numAnims;
if (persistMgr->getIsSaving()) {
- numAnims = _animationSets.size();
+ numAnims = _animationSets.getSize();
}
persistMgr->transferSint32(TMEMBER(numAnims));
if (persistMgr->getIsSaving()) {
- for (uint32 i = 0; i < _animationSets.size(); i++) {
+ for (uint32 i = 0; i < _animationSets.getSize(); i++) {
persistMgr->transferCharPtr(TMEMBER(_animationSets[i]->_name));
_animationSets[i]->persist(persistMgr);
}
@@ -1064,7 +1064,7 @@ bool XModel::persist(BasePersistenceManager *persistMgr) {
// persist material sprites
int32 numMatSprites;
if (persistMgr->getIsSaving()) {
- numMatSprites = _matSprites.size();
+ numMatSprites = _matSprites.getSize();
}
persistMgr->transferSint32(TMEMBER(numMatSprites));
@@ -1103,7 +1103,7 @@ bool XModel::restoreDeviceObjects() {
//////////////////////////////////////////////////////////////////////////
bool XModel::unloadAnimation(const char *animName) {
bool found = false;
- for (uint32 i = 0; i < _animationSets.size(); i++) {
+ for (uint32 i = 0; i < _animationSets.getSize(); i++) {
if (scumm_stricmp(animName, _animationSets[i]->_name) == 0) {
for (int j = 0; j < X_NUM_ANIMATION_CHANNELS; j++) {
if (_channels[j])
@@ -1112,7 +1112,7 @@ bool XModel::unloadAnimation(const char *animName) {
found = true;
delete _animationSets[i];
- _animationSets.remove_at(i);
+ _animationSets.removeAt(i);
i++;
}
}
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index dbc73c3178e..9558735917a 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -94,21 +94,21 @@ PartEmitter::PartEmitter(BaseGame *inGame, BaseScriptHolder *owner) : BaseObject
//////////////////////////////////////////////////////////////////////////
PartEmitter::~PartEmitter() {
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
delete _particles[i];
}
- _particles.clear();
+ _particles.removeAll();
- for (uint32 i = 0; i < _forces.size(); i++) {
+ for (uint32 i = 0; i < _forces.getSize(); i++) {
delete _forces[i];
}
- _forces.clear();
+ _forces.removeAll();
- for (uint32 i = 0; i < _sprites.size(); i++) {
+ for (uint32 i = 0; i < _sprites.getSize(); i++) {
delete[] _sprites[i];
}
- _sprites.clear();
+ _sprites.removeAll();
delete[] _emitEvent;
_emitEvent = nullptr;
@@ -121,7 +121,7 @@ bool PartEmitter::addSprite(const char *filename) {
}
// do we already have the file?
- for (uint32 i = 0; i < _sprites.size(); i++) {
+ for (uint32 i = 0; i < _sprites.getSize(); i++) {
if (scumm_stricmp(filename, _sprites[i]) == 0) {
return STATUS_OK;
}
@@ -143,10 +143,10 @@ bool PartEmitter::addSprite(const char *filename) {
//////////////////////////////////////////////////////////////////////////
bool PartEmitter::removeSprite(const char *filename) {
- for (uint32 i = 0; i < _sprites.size(); i++) {
+ for (uint32 i = 0; i < _sprites.getSize(); i++) {
if (scumm_stricmp(filename, _sprites[i]) == 0) {
delete[] _sprites[i];
- _sprites.remove_at(i);
+ _sprites.removeAt(i);
return STATUS_OK;
}
}
@@ -158,7 +158,7 @@ bool PartEmitter::initParticle(PartParticle *particle, uint32 currentTime, uint3
if (!particle) {
return STATUS_FAILED;
}
- if (_sprites.size() == 0) {
+ if (_sprites.getSize() == 0) {
return STATUS_FAILED;
}
@@ -188,7 +188,7 @@ bool PartEmitter::initParticle(PartParticle *particle, uint32 currentTime, uint3
}
float angle = BaseUtils::randomAngle(_angle1, _angle2);
- int spriteIndex = BaseUtils::randomInt(0, _sprites.size() - 1);
+ int spriteIndex = BaseUtils::randomInt(0, _sprites.getSize() - 1);
float rotation = BaseUtils::randomAngle(_rotation1, _rotation2);
float angVelocity = BaseUtils::randomFloat(_angVelocity1, _angVelocity2);
@@ -258,7 +258,7 @@ bool PartEmitter::update() {
bool PartEmitter::updateInternal(uint32 currentTime, uint32 timerDelta) {
int numLive = 0;
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
_particles[i]->update(this, currentTime, timerDelta);
if (!_particles[i]->_isDead) {
@@ -281,7 +281,7 @@ bool PartEmitter::updateInternal(uint32 currentTime, uint32 timerDelta) {
int toGen = MIN(_genAmount, _maxParticles - numLive);
while (toGen > 0) {
int firstDeadIndex = -1;
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
if (_particles[i]->_isDead) {
firstDeadIndex = i;
break;
@@ -318,11 +318,11 @@ bool PartEmitter::updateInternal(uint32 currentTime, uint32 timerDelta) {
//////////////////////////////////////////////////////////////////////////
bool PartEmitter::display(BaseRegion *region) {
- if (_sprites.size() <= 1) {
+ if (_sprites.getSize() <= 1) {
BaseEngine::getRenderer()->startSpriteBatch();
}
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
if (region != nullptr && _useRegion) {
if (!region->pointInRegion((int)_particles[i]->_pos.x, (int)_particles[i]->_pos.y)) {
continue;
@@ -332,7 +332,7 @@ bool PartEmitter::display(BaseRegion *region) {
_particles[i]->display(this);
}
- if (_sprites.size() <= 1) {
+ if (_sprites.getSize() <= 1) {
BaseEngine::getRenderer()->endSpriteBatch();
}
@@ -341,7 +341,7 @@ bool PartEmitter::display(BaseRegion *region) {
//////////////////////////////////////////////////////////////////////////
bool PartEmitter::start() {
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
_particles[i]->_isDead = true;
}
_running = true;
@@ -366,7 +366,7 @@ bool PartEmitter::start() {
//////////////////////////////////////////////////////////////////////////
bool PartEmitter::sortParticlesByZ() {
// sort particles by _posY
- qsort(_particles.data(), _particles.size(), sizeof(PartParticle *), PartEmitter::compareZ);
+ qsort(_particles.getData(), _particles.getSize(), sizeof(PartParticle *), PartEmitter::compareZ);
return STATUS_OK;
}
@@ -406,7 +406,7 @@ bool PartEmitter::setBorderThickness(int thicknessLeft, int thicknessRight, int
PartForce *PartEmitter::addForceByName(const Common::String &name) {
PartForce *force = nullptr;
- for (uint32 i = 0; i < _forces.size(); i++) {
+ for (uint32 i = 0; i < _forces.getSize(); i++) {
if (scumm_stricmp(name.c_str(), _forces[i]->getName()) == 0) {
force = _forces[i];
break;
@@ -444,10 +444,10 @@ bool PartEmitter::addForce(const Common::String &name, PartForce::TForceType typ
//////////////////////////////////////////////////////////////////////////
bool PartEmitter::removeForce(const Common::String &name) {
- for (uint32 i = 0; i < _forces.size(); i++) {
+ for (uint32 i = 0; i < _forces.getSize(); i++) {
if (scumm_stricmp(name.c_str(), _forces[i]->getName()) == 0) {
delete _forces[i];
- _forces.remove_at(i);
+ _forces.removeAt(i);
return STATUS_OK;
}
}
@@ -525,10 +525,10 @@ bool PartEmitter::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSt
else if (strcmp(name, "Stop") == 0) {
stack->correctParams(0);
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
delete _particles[i];
}
- _particles.clear();
+ _particles.removeAll();
_running = false;
stack->pushBool(true);
@@ -788,7 +788,7 @@ ScValue *PartEmitter::scGetProperty(const Common::String &name) {
//////////////////////////////////////////////////////////////////////////
else if (name == "NumLiveParticles") {
int numAlive = 0;
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
if (_particles[i] && !_particles[i]->_isDead) {
numAlive++;
}
@@ -1221,9 +1221,9 @@ bool PartEmitter::persist(BasePersistenceManager *persistMgr) {
uint32 numForces;
if (persistMgr->getIsSaving()) {
- numForces = _forces.size();
+ numForces = _forces.getSize();
persistMgr->transferUint32(TMEMBER(numForces));
- for (uint32 i = 0; i < _forces.size(); i++) {
+ for (uint32 i = 0; i < _forces.getSize(); i++) {
_forces[i]->persist(persistMgr);
}
} else {
@@ -1237,9 +1237,9 @@ bool PartEmitter::persist(BasePersistenceManager *persistMgr) {
uint32 numParticles;
if (persistMgr->getIsSaving()) {
- numParticles = _particles.size();
+ numParticles = _particles.getSize();
persistMgr->transferUint32(TMEMBER(numParticles));
- for (uint32 i = 0; i < _particles.size(); i++) {
+ for (uint32 i = 0; i < _particles.getSize(); i++) {
_particles[i]->persist(persistMgr);
}
} else {
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index 4cb3f997265..57b31ed8f0e 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -147,7 +147,7 @@ bool PartParticle::update(PartEmitter *emitter, uint32 currentTime, uint32 timer
// update position
float elapsedTime = (float)timerDelta / 1000.f;
- for (uint32 i = 0; i < emitter->_forces.size(); i++) {
+ for (uint32 i = 0; i < emitter->_forces.getSize(); i++) {
PartForce *force = emitter->_forces[i];
switch (force->_type) {
case PartForce::FORCE_GLOBAL:
diff --git a/engines/wintermute/base/scriptables/debuggable/debuggable_script.cpp b/engines/wintermute/base/scriptables/debuggable/debuggable_script.cpp
index 7e6749e6c9f..8d32b45e880 100644
--- a/engines/wintermute/base/scriptables/debuggable/debuggable_script.cpp
+++ b/engines/wintermute/base/scriptables/debuggable/debuggable_script.cpp
@@ -33,12 +33,12 @@ namespace Wintermute {
DebuggableScript::DebuggableScript(BaseGame *inGame, DebuggableScEngine *engine) : ScScript(inGame, engine), _engine(engine), _stepDepth(kDefaultStepDepth) {
_engine->_watches.subscribe(this);
for (uint i = 0; i < _engine->_watches.size(); i++) {
- _watchInstances.push_back(new WatchInstance(_engine->_watches[i], this));
+ _watchInstances.add(new WatchInstance(_engine->_watches[i], this));
}
}
DebuggableScript::~DebuggableScript() {
- for (uint i = 0; i < _watchInstances.size(); i++) {
+ for (uint i = 0; i < _watchInstances.getSize(); i++) {
delete _watchInstances[i];
}
_engine->_watches.unsubscribe(this);
@@ -56,7 +56,7 @@ void DebuggableScript::postInstHook(uint32 inst) {
}
}
- for (uint i = 0; i < _watchInstances.size(); i++) {
+ for (uint i = 0; i < _watchInstances.getSize(); i++) {
this->_watchInstances[i]->evaluate();
}
@@ -125,12 +125,12 @@ Common::String DebuggableScript::dbgGetFilename() const {
void DebuggableScript::updateWatches() {
// We drop obsolete watches
- for (uint i = 0; i < _watchInstances.size(); i++) {
+ for (uint i = 0; i < _watchInstances.getSize(); i++) {
Watch *findMe = _watchInstances[i]->_watch;
if (Common::find(_engine->_watches.begin(), _engine->_watches.end(), findMe) == _engine->_watches.end()) {
// Not found on engine-wide list, must have been removed from watches. Must remove it from local list.
delete _watchInstances[i];
- _watchInstances.remove_at(i);
+ _watchInstances.removeAt(i);
}
}
@@ -139,7 +139,7 @@ void DebuggableScript::updateWatches() {
Watch *findMe = _engine->_watches[i];
if (Common::find(_engine->_watches.begin(), _engine->_watches.end(), findMe) == _engine->_watches.end()) {
// Not found on local list, must be a new one.
- _watchInstances.push_back(new WatchInstance(_engine->_watches[i], this));
+ _watchInstances.add(new WatchInstance(_engine->_watches[i], this));
}
}
}
diff --git a/engines/wintermute/base/scriptables/script.cpp b/engines/wintermute/base/scriptables/script.cpp
index 6da211149c0..2882ec9c28f 100644
--- a/engines/wintermute/base/scriptables/script.cpp
+++ b/engines/wintermute/base/scriptables/script.cpp
@@ -1510,7 +1510,7 @@ bool ScScript::copyParameters(ScStack *stack) {
//////////////////////////////////////////////////////////////////////////
bool ScScript::finishThreads() {
- for (uint32 i = 0; i < _engine->_scripts.size(); i++) {
+ for (uint32 i = 0; i < _engine->_scripts.getSize(); i++) {
ScScript *scr = _engine->_scripts[i];
if (scr->_thread && scr->_state != SCRIPT_FINISHED && scr->_owner == _owner && scumm_stricmp(scr->_filename, _filename) == 0) {
scr->finish(true);
diff --git a/engines/wintermute/base/scriptables/script_engine.cpp b/engines/wintermute/base/scriptables/script_engine.cpp
index b4463b1c814..a84f04dc5c4 100644
--- a/engines/wintermute/base/scriptables/script_engine.cpp
+++ b/engines/wintermute/base/scriptables/script_engine.cpp
@@ -99,16 +99,16 @@ ScEngine::~ScEngine() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::cleanup() {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (!_scripts[i]->_thread && _scripts[i]->_owner) {
_scripts[i]->_owner->removeScript(_scripts[i]);
}
delete _scripts[i];
- _scripts.remove_at(i);
+ _scripts.removeAt(i);
i--;
}
- _scripts.clear();
+ _scripts.removeAll();
delete _globals;
_globals = nullptr;
@@ -185,7 +185,7 @@ ScScript *ScEngine::runScript(const char *filename, BaseScriptHolder *owner) {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::isRunningScript(const char *filename) {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (strcmp(_scripts[i]->_filename, filename) == 0) {
return true;
}
@@ -271,13 +271,13 @@ byte *ScEngine::getCompiledScript(const char *filename, uint32 *outSize, bool ig
//////////////////////////////////////////////////////////////////////////
bool ScEngine::tick() {
- if (_scripts.size() == 0) {
+ if (_scripts.getSize() == 0) {
return STATUS_OK;
}
// resolve waiting scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
switch (_scripts[i]->_state) {
case SCRIPT_WAITING: {
@@ -341,7 +341,7 @@ bool ScEngine::tick() {
// execute scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
// skip paused scripts
if (_scripts[i]->_state == SCRIPT_PAUSED) {
@@ -390,7 +390,7 @@ bool ScEngine::tickUnbreakable() {
ScScript *oldScript = _currentScript;
// execute unbreakable scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (!_scripts[i]->_unbreakable) {
continue;
}
@@ -414,14 +414,14 @@ bool ScEngine::tickUnbreakable() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::removeFinishedScripts() {
// remove finished scripts
- for (int32 i = 0; i < (int32)_scripts.size(); i++) {
+ for (int32 i = 0; i < (int32)_scripts.getSize(); i++) {
if (_scripts[i]->_state == SCRIPT_FINISHED || _scripts[i]->_state == SCRIPT_ERROR) {
if (!_scripts[i]->_thread && _scripts[i]->_owner) {
_scripts[i]->_owner->removeScript(_scripts[i]);
}
delete _scripts[i];
- _scripts.remove_at(i);
+ _scripts.removeAt(i);
i--;
}
}
@@ -433,7 +433,7 @@ bool ScEngine::removeFinishedScripts() {
int ScEngine::getNumScripts(int *running, int *waiting, int *persistent) {
int numRunning = 0, numWaiting = 0, numPersistent = 0, numTotal = 0;
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i]->_state == SCRIPT_FINISHED) {
continue;
}
@@ -492,7 +492,7 @@ bool ScEngine::emptyScriptCache() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::resetObject(BaseObject *Object) {
// terminate all scripts waiting for this object
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i]->_state == SCRIPT_WAITING && _scripts[i]->_waitObject == Object) {
if (!_gameRef->_compatKillMethodThreads) {
resetScript(_scripts[i]);
@@ -508,7 +508,7 @@ bool ScEngine::resetObject(BaseObject *Object) {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::resetScript(ScScript *script) {
// terminate all scripts waiting for this script
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i]->_state == SCRIPT_WAITING_SCRIPT && _scripts[i]->_waitScript == script) {
_scripts[i]->finish();
}
@@ -533,10 +533,10 @@ bool ScEngine::persist(BasePersistenceManager *persistMgr) {
//////////////////////////////////////////////////////////////////////////
void ScEngine::editorCleanup() {
- for (int32 i = 0; i < (int32)_scripts.size(); i++) {
+ for (int32 i = 0; i < (int32)_scripts.getSize(); i++) {
if (_scripts[i]->_owner == nullptr && (_scripts[i]->_state == SCRIPT_FINISHED || _scripts[i]->_state == SCRIPT_ERROR)) {
delete _scripts[i];
- _scripts.remove_at(i);
+ _scripts.removeAt(i);
i--;
}
}
@@ -545,7 +545,7 @@ void ScEngine::editorCleanup() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::pauseAll() {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i] != _currentScript) {
_scripts[i]->pause();
}
@@ -557,7 +557,7 @@ bool ScEngine::pauseAll() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::resumeAll() {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
_scripts[i]->resume();
}
@@ -567,7 +567,7 @@ bool ScEngine::resumeAll() {
//////////////////////////////////////////////////////////////////////////
bool ScEngine::isValidScript(ScScript *script) {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
if (_scripts[i] == script) {
return true;
}
diff --git a/engines/wintermute/base/scriptables/script_stack.cpp b/engines/wintermute/base/scriptables/script_stack.cpp
index 3ec8e2d65c4..42ed986c913 100644
--- a/engines/wintermute/base/scriptables/script_stack.cpp
+++ b/engines/wintermute/base/scriptables/script_stack.cpp
@@ -43,10 +43,10 @@ ScStack::ScStack(BaseGame *inGame) : BaseClass(inGame) {
ScStack::~ScStack() {
//_gameRef->LOG(0, "STAT: Stack size: %d, SP=%d", _values.size(), _sP);
- for (uint32 i = 0; i < _values.size(); i++) {
+ for (uint32 i = 0; i < _values.getSize(); i++) {
delete _values[i];
}
- _values.clear();
+ _values.removeAll();
}
@@ -65,7 +65,7 @@ ScValue *ScStack::pop() {
void ScStack::push(ScValue *val) {
_sP++;
- if (_sP < (int32)_values.size()) {
+ if (_sP < (int32)_values.getSize()) {
_values[_sP]->cleanup();
_values[_sP]->copy(val);
} else {
@@ -80,7 +80,7 @@ void ScStack::push(ScValue *val) {
ScValue *ScStack::getPushValue() {
_sP++;
- if (_sP >= (int32)_values.size()) {
+ if (_sP >= (int32)_values.getSize()) {
ScValue *val = new ScValue(_gameRef);
_values.add(val);
}
@@ -92,7 +92,7 @@ ScValue *ScStack::getPushValue() {
//////////////////////////////////////////////////////////////////////////
ScValue *ScStack::getTop() {
- if (_sP < 0 || _sP >= (int32)_values.size()) {
+ if (_sP < 0 || _sP >= (int32)_values.getSize()) {
return nullptr;
} else {
return _values[_sP];
@@ -103,7 +103,7 @@ ScValue *ScStack::getTop() {
//////////////////////////////////////////////////////////////////////////
ScValue *ScStack::getAt(int index) {
index = _sP - index;
- if (index < 0 || index >= (int32)_values.size()) {
+ if (index < 0 || index >= (int32)_values.getSize()) {
return nullptr;
} else {
return _values[index];
@@ -119,7 +119,7 @@ void ScStack::correctParams(uint32 expectedParams) {
while (expectedParams < nuParams) {
//Pop();
delete _values[_sP - expectedParams];
- _values.remove_at(_sP - expectedParams);
+ _values.removeAt(_sP - expectedParams);
nuParams--;
_sP--;
}
@@ -128,13 +128,13 @@ void ScStack::correctParams(uint32 expectedParams) {
//Push(null_val);
ScValue *nullVal = new ScValue(_gameRef);
nullVal->setNULL();
- _values.insert_at(_sP - nuParams + 1, nullVal);
+ _values.insertAt(_sP - nuParams + 1, nullVal);
nuParams++;
_sP++;
- if ((int32)_values.size() > _sP + 1) {
- delete _values[_values.size() - 1];
- _values.remove_at(_values.size() - 1);
+ if ((int32)_values.getSize() > _sP + 1) {
+ delete _values[_values.getSize() - 1];
+ _values.removeAt(_values.getSize() - 1);
}
}
}
diff --git a/engines/wintermute/base/sound/base_sound_manager.cpp b/engines/wintermute/base/sound/base_sound_manager.cpp
index 41f3b4052b3..36a7e874cdf 100644
--- a/engines/wintermute/base/sound/base_sound_manager.cpp
+++ b/engines/wintermute/base/sound/base_sound_manager.cpp
@@ -61,10 +61,10 @@ BaseSoundMgr::~BaseSoundMgr() {
//////////////////////////////////////////////////////////////////////////
bool BaseSoundMgr::cleanup() {
- for (uint32 i = 0; i < _sounds.size(); i++) {
+ for (uint32 i = 0; i < _sounds.getSize(); i++) {
delete _sounds[i];
}
- _sounds.clear();
+ _sounds.removeAll();
return STATUS_OK;
}
@@ -135,7 +135,7 @@ BaseSoundBuffer *BaseSoundMgr::addSound(const Common::String &filename, Audio::M
sound->updateVolume();
// register sound
- _sounds.push_back(sound);
+ _sounds.add(sound);
return sound;
@@ -152,17 +152,17 @@ bool BaseSoundMgr::addSound(BaseSoundBuffer *sound, Audio::Mixer::SoundType type
sound->updateVolume();
// register sound
- _sounds.push_back(sound);
+ _sounds.add(sound);
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
bool BaseSoundMgr::removeSound(BaseSoundBuffer *sound) {
- for (uint32 i = 0; i < _sounds.size(); i++) {
+ for (uint32 i = 0; i < _sounds.getSize(); i++) {
if (_sounds[i] == sound) {
delete _sounds[i];
- _sounds.remove_at(i);
+ _sounds.removeAt(i);
return STATUS_OK;
}
}
@@ -231,7 +231,7 @@ bool BaseSoundMgr::setMasterVolume(byte value) {
// be none the wiser about round-off-errors. This function should thus
// ONLY be called by setMasterVolumePercent.
_volumeMaster = value;
- for (uint32 i = 0; i < _sounds.size(); i++) {
+ for (uint32 i = 0; i < _sounds.getSize(); i++) {
_sounds[i]->updateVolume();
}
return STATUS_OK;
@@ -259,7 +259,7 @@ byte BaseSoundMgr::getMasterVolume() {
//////////////////////////////////////////////////////////////////////////
bool BaseSoundMgr::pauseAll(bool includingMusic) {
- for (uint32 i = 0; i < _sounds.size(); i++) {
+ for (uint32 i = 0; i < _sounds.getSize(); i++) {
if (_sounds[i]->isPlaying() && (_sounds[i]->getType() != Audio::Mixer::kMusicSoundType || includingMusic)) {
_sounds[i]->pause();
_sounds[i]->setFreezePaused(true);
@@ -273,7 +273,7 @@ bool BaseSoundMgr::pauseAll(bool includingMusic) {
//////////////////////////////////////////////////////////////////////////
bool BaseSoundMgr::resumeAll() {
- for (uint32 i = 0; i < _sounds.size(); i++) {
+ for (uint32 i = 0; i < _sounds.getSize(); i++) {
if (_sounds[i]->isFreezePaused()) {
_sounds[i]->resume();
_sounds[i]->setFreezePaused(false);
diff --git a/engines/wintermute/base/sound/base_sound_manager.h b/engines/wintermute/base/sound/base_sound_manager.h
index 48043e46edd..9b1180f95ad 100644
--- a/engines/wintermute/base/sound/base_sound_manager.h
+++ b/engines/wintermute/base/sound/base_sound_manager.h
@@ -56,7 +56,7 @@ public:
bool _soundAvailable;
BaseSoundMgr(BaseGame *inGame);
~BaseSoundMgr() override;
- Common::Array<BaseSoundBuffer *> _sounds;
+ BaseArray<BaseSoundBuffer *> _sounds;
void saveSettings();
private:
int32 _volumeMasterPercent; // Necessary to avoid round-offs.
diff --git a/engines/wintermute/coll_templ.h b/engines/wintermute/coll_templ.h
index 56efb7cfe8f..e3349e3ceaf 100644
--- a/engines/wintermute/coll_templ.h
+++ b/engines/wintermute/coll_templ.h
@@ -28,81 +28,364 @@
#ifndef WINTERMUTE_COLL_TEMPL_H
#define WINTERMUTE_COLL_TEMPL_H
-#include "common/array.h"
#include "engines/wintermute/base/base_persistence_manager.h"
namespace Wintermute {
-// Basically Common::Array with peristence-support.
-template<typename TYPE>
-class BaseArrayBase : public Common::Array<TYPE> {
+#include <new>
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+inline void dcConstructElements(TYPE *pElements, int32 nCount) {
+ // first do bit-wise zero initialization
+ memset((void *)pElements, 0, nCount * sizeof(TYPE));
+
+ // then call the constructor(s)
+ for (; nCount--; pElements++)
+ ::new((void *)pElements) TYPE;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+inline void dcDestructElements(TYPE *pElements, uint32 nCount) {
+ // call the destructor(s)
+ for (; nCount--; pElements++)
+ pElements->~TYPE();
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+inline void dcCopyElements(TYPE *pDest, const TYPE *pSrc, uint32 nCount) {
+ // default is element-copy using assignment
+ while (nCount--)
+ *pDest++ = *pSrc++;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// BaseArray<TYPE>
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+class BaseArrayBase {
+public:
+ // Construction
+ BaseArrayBase();
+
+ // Attributes
+ uint32 getSize() const;
+ uint32 getUpperBound() const;
+ void setSize(uint32 nNewSize, uint32 nGrowBy = (uint32)-1);
+
+ // Operations
+ // Clean up
+ void freeExtra();
+ void removeAll();
+
+ // Accessing elements
+ TYPE getAt(uint32 nIndex) const;
+ void setAt(uint32 nIndex, TYPE newElement);
+ TYPE& elementAt(uint32 nIndex);
+
+ // Direct Access to the element data (may return NULL)
+ const TYPE *getData() const;
+ TYPE *getData();
+
+ // Potentially growing the array
+ void setAtGrow(uint32 nIndex, TYPE newElement);
+ uint32 add(TYPE newElement);
+ uint32 append(const BaseArrayBase &src);
+ void copy(const BaseArrayBase &src);
+
+ // overloaded operator helpers
+ TYPE operator[](uint32 nIndex) const;
+ TYPE &operator[](uint32 nIndex);
+
+ // Operations that move elements around
+ void insertAt(uint32 nIndex, TYPE newElement, uint32 nCount = 1);
+ void removeAt(uint32 nIndex, uint32 nCount = 1);
+ void insertAt(uint32 nStartIndex, BaseArrayBase *pNewArray);
+
+ // Implementation
+protected:
+ TYPE *_pData; // the actual array of data
+ uint32 _nSize; // # of elements (upperBound - 1)
+ uint32 _nMaxSize; // max allocated
+ uint32 _nGrowBy; // grow amount
+
public:
-// TODO: Might want to make sure that destructors are called when replacing/deleting/getting destructed
- int add(TYPE newElement) {
- Common::Array<TYPE>::push_back(newElement);
- return Common::Array<TYPE>::size() - 1;
+ ~BaseArrayBase();
+};
+
+/////////////////////////////////////////////////////////////////////////////
+// CBArray<TYPE> inline functions
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+inline uint32 BaseArrayBase<TYPE>::getSize() const {
+ return _nSize;
+}
+
+template<class TYPE>
+inline uint32 BaseArrayBase<TYPE>::getUpperBound() const {
+ return _nSize - 1;
+}
+
+template<class TYPE>
+inline void BaseArrayBase<TYPE>::removeAll() {
+ setSize(0, (uint32)-1);
+}
+
+template<class TYPE>
+inline TYPE BaseArrayBase<TYPE>::getAt(uint32 nIndex) const {
+ return _pData[nIndex];
+}
+
+template<class TYPE>
+inline void BaseArrayBase<TYPE>::setAt(uint32 nIndex, TYPE newElement) {
+ _pData[nIndex] = newElement;
+}
+
+template<class TYPE>
+inline TYPE &BaseArrayBase<TYPE>::elementAt(uint32 nIndex) {
+ return _pData[nIndex];
+}
+
+template<class TYPE>
+inline const TYPE *BaseArrayBase<TYPE>::getData() const {
+ return (const TYPE *)_pData;
+}
+
+template<class TYPE>
+inline TYPE *BaseArrayBase<TYPE>::getData() {
+ return (TYPE *)_pData;
+}
+
+template<class TYPE>
+inline uint32 BaseArrayBase<TYPE>::add(TYPE newElement) {
+ uint32 nIndex = _nSize;
+ setAtGrow(nIndex, newElement);
+ return nIndex;
+}
+
+template<class TYPE>
+inline TYPE BaseArrayBase<TYPE>::operator[](uint32 nIndex) const {
+ return getAt(nIndex);
+}
+
+template<class TYPE>
+inline TYPE &BaseArrayBase<TYPE>::operator[](uint32 nIndex) {
+ return elementAt(nIndex);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// BaseArray<TYPE, ARG_TYPE> out-of-line functions
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+BaseArrayBase<TYPE>::BaseArrayBase() {
+ _pData = nullptr;
+ _nSize = _nMaxSize = _nGrowBy = 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+BaseArrayBase<TYPE>::~BaseArrayBase() {
+ if (_pData != nullptr) {
+ dcDestructElements<TYPE>(_pData, _nSize);
+ delete[] (byte *)_pData;
}
- void remove_at(uint32 idx) {
- Common::Array<TYPE>::remove_at(idx);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::setSize(uint32 nNewSize, uint32 nGrowBy) {
+ if (nGrowBy != (uint32)-1)
+ _nGrowBy = nGrowBy; // set new size
+
+ if (nNewSize == 0) {
+ // shrink to nothing
+ if (_pData != nullptr) {
+ dcDestructElements<TYPE>(_pData, _nSize);
+ delete[] (byte *)_pData;
+ _pData = nullptr;
+ }
+ _nSize = _nMaxSize = 0;
+ } else if (_pData == nullptr) {
+ // create one with exact size
+ _pData = (TYPE *) new byte[nNewSize * sizeof(TYPE)];
+ dcConstructElements<TYPE>(_pData, nNewSize);
+ _nSize = _nMaxSize = nNewSize;
+ } else if (nNewSize <= _nMaxSize) {
+ // it fits
+ if (nNewSize > _nSize) {
+ // initialize the new elements
+ dcConstructElements<TYPE>(&_pData[_nSize], nNewSize - _nSize);
+ } else if (_nSize > nNewSize) {
+ // destroy the old elements
+ dcDestructElements<TYPE>(&_pData[nNewSize], _nSize - nNewSize);
+ }
+ _nSize = nNewSize;
+ } else {
+ // otherwise, grow array
+ uint32 numGrowBy = _nGrowBy;
+ if (numGrowBy == 0) {
+ // heuristically determine growth when nGrowBy == 0
+ // (this avoids heap fragmentation in many situations)
+ numGrowBy = _nSize / 8;
+ numGrowBy = (numGrowBy < 4) ? 4 : ((numGrowBy > 1024) ? 1024 : numGrowBy);
+ }
+ int nNewMax;
+ if (nNewSize < _nMaxSize + numGrowBy)
+ nNewMax = _nMaxSize + numGrowBy; // granularity
+ else
+ nNewMax = nNewSize; // no slush
+
+ TYPE *pNewData = (TYPE *) new byte[nNewMax * sizeof(TYPE)];
+
+ // copy new data from old
+ memcpy(pNewData, _pData, _nSize * sizeof(TYPE));
+
+ // construct remaining elements
+ dcConstructElements<TYPE>(&pNewData[_nSize], nNewSize - _nSize);
+
+ // get rid of old stuff (note: no destructors called)
+ delete[] (byte *)_pData;
+ _pData = pNewData;
+ _nSize = nNewSize;
+ _nMaxSize = nNewMax;
}
- void remove_at(uint32 idx, uint32 num) {
- while (num) {
- if (idx >= Common::Array<TYPE>::size()) {
- break;
- }
- Common::Array<TYPE>::remove_at(idx);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+uint32 BaseArrayBase<TYPE>::append(const BaseArrayBase &src) {
+ uint32 nOldSize = _nSize;
+ setSize(_nSize + src._nSize);
+ dcCopyElements<TYPE>(_pData + nOldSize, src._pData, src._nSize);
+ return nOldSize;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::copy(const BaseArrayBase &src) {
+ setSize(src._nSize);
+ dcCopyElements<TYPE>(_pData, src._pData, src._nSize);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::freeExtra() {
+ if (_nSize != _nMaxSize) {
+ // shrink to desired size
+ TYPE *pNewData = nullptr;
+ if (_nSize != 0) {
+ pNewData = (TYPE *) new byte[_nSize * sizeof(TYPE)];
+ // copy new data from old
+ memcpy(pNewData, _pData, _nSize * sizeof(TYPE));
}
+
+ // get rid of old stuff (note: no destructors called)
+ delete[] (byte *)_pData;
+ _pData = pNewData;
+ _nMaxSize = _nSize;
}
- template<typename T2>
- void copy(const BaseArrayBase<T2> &src) {
- Common::Array<TYPE>::insert_at(0, src);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::setAtGrow(uint32 nIndex, TYPE newElement) {
+ if (nIndex >= _nSize)
+ setSize(nIndex + 1, -1);
+ _pData[nIndex] = newElement;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::insertAt(uint32 nIndex, TYPE newElement, uint32 nCount /*=1*/) {
+ if (nIndex >= _nSize) {
+ // adding after the end of the array
+ setSize(nIndex + nCount, -1); // grow so nIndex is valid
+ } else {
+ // inserting in the middle of the array
+ uint32 nOldSize = _nSize;
+ setSize(_nSize + nCount, -1); // grow it to new size
+ // destroy intial data before copying over it
+ dcDestructElements<TYPE>(&_pData[nOldSize], nCount);
+ // shift old data up to fill gap
+ memmove(&_pData[nIndex + nCount], &_pData[nIndex],
+ (nOldSize - nIndex) * sizeof(TYPE));
+
+ // re-init slots we copied from
+ dcConstructElements<TYPE>(&_pData[nIndex], nCount);
}
-};
+
+ // insert new value in the gap
+ while (nCount--)
+ _pData[nIndex++] = newElement;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::removeAt(uint32 nIndex, uint32 nCount) {
+ // just remove a range
+ uint32 nMoveCount = _nSize - (nIndex + nCount);
+ dcDestructElements<TYPE>(&_pData[nIndex], nCount);
+ if (nMoveCount)
+ memmove(&_pData[nIndex], &_pData[nIndex + nCount], nMoveCount * sizeof(TYPE));
+ _nSize -= nCount;
+}
-template <typename TYPE>
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
+void BaseArrayBase<TYPE>::insertAt(uint32 nStartIndex, BaseArrayBase *pNewArray) {
+ if (pNewArray->getSize() > 0) {
+ InsertAt(nStartIndex, pNewArray->getAt(0), pNewArray->getSize());
+ for (uint32 i = 0; i < pNewArray->getSize(); i++)
+ setAt(nStartIndex + i, pNewArray->getAt(i));
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////
+template<class TYPE>
class BaseArray : public BaseArrayBase<TYPE> {
- public:
+public:
bool persist(BasePersistenceManager *persistMgr) {
- int32 j;
+ uint32 i, j;
if (persistMgr->getIsSaving()) {
- j = Common::Array<TYPE>::size();
- persistMgr->transferSint32("ArraySize", &j);
- typename Common::Array<TYPE>::const_iterator it = Common::Array<TYPE>::begin();
- for (; it != Common::Array<TYPE>::end(); ++it) {
- TYPE obj = *it;
+ j = BaseArray::getSize();
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
+ TYPE obj = BaseArray::getAt(i);
persistMgr->transferPtr("", &obj);
}
} else {
- Common::Array<TYPE>::clear();
- persistMgr->transferSint32("ArraySize", &j);
- for (int i = 0; i < j; i++) {
+ BaseArray::setSize(0, -1);
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
TYPE obj = nullptr;
persistMgr->transferPtr("", &obj);
- this->add(obj);
+ BaseArray::add(obj);
}
}
return true;
}
};
+/////////////////////////////////////////////////////////////////////////////
template <>
class BaseArray<char *> : public BaseArrayBase<char *> {
- public:
+public:
bool persist(BasePersistenceManager *persistMgr) {
- int32 j;
+ uint32 i, j;
if (persistMgr->getIsSaving()) {
- j = Common::Array<char *>::size();
- persistMgr->transferSint32("ArraySize", &j);
- Common::Array<char *>::const_iterator it = Common::Array<char *>::begin();
- for (; it != Common::Array<char *>::end(); ++it) {
- char * obj = *it;
+ j = getSize();
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
+ char *obj = getAt(i);
persistMgr->transferCharPtr("", &obj);
}
} else {
- Common::Array<char *>::clear();
- persistMgr->transferSint32("ArraySize", &j);
- for (int i = 0; i < j; i++) {
- char * obj = nullptr;
+ setSize(0, -1);
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
+ char *obj = nullptr;
persistMgr->transferCharPtr("", &obj);
add(obj);
}
@@ -111,24 +394,24 @@ class BaseArray<char *> : public BaseArrayBase<char *> {
}
};
+/////////////////////////////////////////////////////////////////////////////
template <>
class BaseArray<const char *> : public BaseArrayBase<const char *> {
public:
bool persist(BasePersistenceManager *persistMgr) {
- int32 j;
+ uint32 i, j;
if (persistMgr->getIsSaving()) {
- j = Common::Array<const char *>::size();
- persistMgr->transferSint32("ArraySize", &j);
- Common::Array<const char *>::const_iterator it = Common::Array<const char *>::begin();
- for (; it != Common::Array<const char *>::end(); ++it) {
- const char * obj = *it;
+ j = getSize();
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
+ const char * obj = getAt(i);
persistMgr->transferConstChar("", &obj);
}
} else {
- Common::Array<const char *>::clear();
- persistMgr->transferSint32("ArraySize", &j);
- for (int i = 0; i < j; i++) {
- const char * obj = nullptr;
+ setSize(0, -1);
+ persistMgr->transferUint32("ArraySize", &j);
+ for (i = 0; i < j; i++) {
+ const char * obj;
persistMgr->transferConstChar("", &obj);
add(obj);
}
diff --git a/engines/wintermute/debugger/debugger_controller.cpp b/engines/wintermute/debugger/debugger_controller.cpp
index c24da14a14e..bdc9730f634 100644
--- a/engines/wintermute/debugger/debugger_controller.cpp
+++ b/engines/wintermute/debugger/debugger_controller.cpp
@@ -311,7 +311,7 @@ Listing* DebuggerController::getListing(Error* &error) {
Common::Array<TopEntry> DebuggerController::getTop() const {
Common::Array<TopEntry> res;
assert(SCENGINE);
- for (uint i = 0; i < SCENGINE->_scripts.size(); i++) {
+ for (uint i = 0; i < SCENGINE->_scripts.getSize(); i++) {
TopEntry entry;
entry.filename = SCENGINE->_scripts[i]->_filename;
entry.current = (SCENGINE->_scripts[i] == SCENGINE->_currentScript);
diff --git a/engines/wintermute/ext/wme_shadowmanager.cpp b/engines/wintermute/ext/wme_shadowmanager.cpp
index 56bc67d0b2a..72bec833617 100644
--- a/engines/wintermute/ext/wme_shadowmanager.cpp
+++ b/engines/wintermute/ext/wme_shadowmanager.cpp
@@ -419,7 +419,7 @@ void SXShadowManager::run() {
AdGame *adGame = (AdGame *)_gameRef;
if (!adGame->_scene || !adGame->_scene->_geom)
return;
- for (uint32 l = 0; l < adGame->_scene->_geom->_lights.size(); l++) {
+ for (uint32 l = 0; l < adGame->_scene->_geom->_lights.getSize(); l++) {
auto light = adGame->_scene->_geom->_lights[l];
_lights.push_back(Common::Pair<Light3D *, bool>(light, true));
}
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index bbd6052e36c..b76da114d4f 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -577,7 +577,7 @@ bool UIButton::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "\n");
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
diff --git a/engines/wintermute/ui/ui_edit.cpp b/engines/wintermute/ui/ui_edit.cpp
index a3a142293fb..76f27bd7c2b 100644
--- a/engines/wintermute/ui/ui_edit.cpp
+++ b/engines/wintermute/ui/ui_edit.cpp
@@ -363,7 +363,7 @@ bool UIEdit::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "PARENT_NOTIFY=%s\n", _parentNotify ? "TRUE" : "FALSE");
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
diff --git a/engines/wintermute/ui/ui_entity.cpp b/engines/wintermute/ui/ui_entity.cpp
index 6b8063a2696..5a8767ae2e8 100644
--- a/engines/wintermute/ui/ui_entity.cpp
+++ b/engines/wintermute/ui/ui_entity.cpp
@@ -204,7 +204,7 @@ bool UIEntity::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "\n");
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
diff --git a/engines/wintermute/ui/ui_object.cpp b/engines/wintermute/ui/ui_object.cpp
index 6a6defdbf39..d288fa30afd 100644
--- a/engines/wintermute/ui/ui_object.cpp
+++ b/engines/wintermute/ui/ui_object.cpp
@@ -256,7 +256,7 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
// find directly
if (val->isNative()) {
UIObject *widget = (UIObject *)val->getNative();
- for (i = 0; i < win->_widgets.size(); i++) {
+ for (i = 0; i < win->_widgets.getSize(); i++) {
if (win->_widgets[i] == widget) {
found = true;
break;
@@ -266,7 +266,7 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
// find by name
else {
const char *findName = val->getString();
- for (i = 0; i < win->_widgets.size(); i++) {
+ for (i = 0; i < win->_widgets.getSize(); i++) {
if (scumm_stricmp(win->_widgets[i]->getName(), findName) == 0) {
found = true;
break;
@@ -276,7 +276,7 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
if (found) {
bool done = false;
- for (uint32 j = 0; j < win->_widgets.size(); j++) {
+ for (uint32 j = 0; j < win->_widgets.getSize(); j++) {
if (win->_widgets[j] == this) {
if (strcmp(name, "MoveAfter") == 0) {
i++;
@@ -285,8 +285,8 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
j++;
}
- win->_widgets.insert_at(i, this);
- win->_widgets.remove_at(j);
+ win->_widgets.insertAt(i, this);
+ win->_widgets.removeAt(j);
done = true;
stack->pushBool(true);
@@ -315,10 +315,10 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
if (_parent && _parent->_type == UI_WINDOW) {
UIWindow *win = (UIWindow *)_parent;
- for (uint32 i = 0; i < win->_widgets.size(); i++) {
+ for (uint32 i = 0; i < win->_widgets.getSize(); i++) {
if (win->_widgets[i] == this) {
- win->_widgets.remove_at(i);
- win->_widgets.insert_at(0, this);
+ win->_widgets.removeAt(i);
+ win->_widgets.insertAt(0, this);
break;
}
}
@@ -338,9 +338,9 @@ bool UIObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
if (_parent && _parent->_type == UI_WINDOW) {
UIWindow *win = (UIWindow *)_parent;
- for (uint32 i = 0; i < win->_widgets.size(); i++) {
+ for (uint32 i = 0; i < win->_widgets.getSize(); i++) {
if (win->_widgets[i] == this) {
- win->_widgets.remove_at(i);
+ win->_widgets.removeAt(i);
win->_widgets.add(this);
break;
}
@@ -440,10 +440,10 @@ ScValue *UIObject::scGetProperty(const Common::String &name) {
_scValue->setNULL();
if (_parent && _parent->_type == UI_WINDOW) {
UIWindow *win = (UIWindow *)_parent;
- for (uint32 i = 0; i < win->_widgets.size(); i++) {
+ for (uint32 i = 0; i < win->_widgets.getSize(); i++) {
if (win->_widgets[i] == this) {
if (name == "NextSibling") {
- if (i < win->_widgets.size() - 1) {
+ if (i < win->_widgets.getSize() - 1) {
_scValue->setNative(win->_widgets[i + 1], true);
}
} else {
diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp
index ee9be63f01e..581b84cb074 100644
--- a/engines/wintermute/ui/ui_text.cpp
+++ b/engines/wintermute/ui/ui_text.cpp
@@ -389,7 +389,7 @@ bool UIText::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "\n");
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 7b5b8360f3f..4097c97b051 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -111,10 +111,10 @@ void UIWindow::cleanup() {
delete _imageInactive;
}
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
delete _widgets[i];
}
- _widgets.clear();
+ _widgets.removeAll();
}
@@ -218,7 +218,7 @@ bool UIWindow::display(int offsetX, int offsetY) {
_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef, this, nullptr, _posX + offsetX, _posY + offsetY, _width, _height, 100, 100, false));
}
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
_widgets[i]->display(_posX + offsetX, _posY + offsetY);
}
@@ -718,7 +718,7 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
buffer->putTextIndent(indent + 2, "\n");
// scripts
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (uint32 i = 0; i < _scripts.getSize(); i++) {
buffer->putTextIndent(indent + 2, "SCRIPT=\"%s\"\n", _scripts[i]->_filename);
}
@@ -728,7 +728,7 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
BaseClass::saveAsText(buffer, indent + 2);
// controls
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
_widgets[i]->saveAsText(buffer, indent + 2);
}
@@ -739,7 +739,7 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
//////////////////////////////////////////////////////////////////////////
bool UIWindow::enableWidget(const char *name, bool enable) {
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
if (scumm_stricmp(_widgets[i]->getName(), name) == 0) {
_widgets[i]->setDisabled(!enable);
}
@@ -750,7 +750,7 @@ bool UIWindow::enableWidget(const char *name, bool enable) {
//////////////////////////////////////////////////////////////////////////
bool UIWindow::showWidget(const char *name, bool visible) {
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
if (scumm_stricmp(_widgets[i]->getName(), name) == 0) {
_widgets[i]->setVisible(visible);
}
@@ -771,13 +771,13 @@ bool UIWindow::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
ScValue *val = stack->pop();
if (val->getType() == VAL_INT) {
int widget = val->getInt();
- if (widget < 0 || widget >= (int32)_widgets.size()) {
+ if (widget < 0 || widget >= (int32)_widgets.getSize()) {
stack->pushNULL();
} else {
stack->pushNative(_widgets[widget], true);
}
} else {
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
if (scumm_stricmp(_widgets[i]->getName(), val->getString()) == 0) {
stack->pushNative(_widgets[i], true);
return STATUS_OK;
@@ -996,10 +996,10 @@ bool UIWindow::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
ScValue *val = stack->pop();
UIObject *obj = (UIObject *)val->getNative();
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
if (_widgets[i] == obj) {
delete _widgets[i];
- _widgets.remove_at(i);
+ _widgets.removeAt(i);
if (val->getType() == VAL_VARIABLE_REF) {
val->setNULL();
}
@@ -1033,7 +1033,7 @@ ScValue *UIWindow::scGetProperty(const Common::String &name) {
// NumWidgets / NumControls (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "NumWidgets" || name == "NumControls") {
- _scValue->setInt(_widgets.size());
+ _scValue->setInt(_widgets.getSize());
return _scValue;
}
@@ -1291,7 +1291,7 @@ bool UIWindow::persist(BasePersistenceManager *persistMgr) {
bool UIWindow::moveFocus(bool forward) {
int i;
bool found = false;
- for (i = 0; i < (int32)_widgets.size(); i++) {
+ for (i = 0; i < (int32)_widgets.getSize(); i++) {
if (_widgets[i] == _focusedWidget) {
found = true;
break;
@@ -1302,7 +1302,7 @@ bool UIWindow::moveFocus(bool forward) {
}
if (!_focusedWidget) {
- if (_widgets.size() > 0) {
+ if (_widgets.getSize() > 0) {
i = 0;
} else {
return STATUS_OK;
@@ -1312,7 +1312,7 @@ bool UIWindow::moveFocus(bool forward) {
int numTries = 0;
bool done = false;
- while (numTries <= (int32)_widgets.size()) {
+ while (numTries <= (int32)_widgets.getSize()) {
if (_widgets[i] != _focusedWidget && _widgets[i]->canFocus() && _widgets[i]->isVisible() && !_widgets[i]->isDisabled()) {
_focusedWidget = _widgets[i];
done = true;
@@ -1321,13 +1321,13 @@ bool UIWindow::moveFocus(bool forward) {
if (forward) {
i++;
- if (i >= (int32)_widgets.size()) {
+ if (i >= (int32)_widgets.getSize()) {
i = 0;
}
} else {
i--;
if (i < 0) {
- i = _widgets.size() - 1;
+ i = _widgets.getSize() - 1;
}
}
numTries++;
@@ -1411,7 +1411,7 @@ bool UIWindow::listen(BaseScriptHolder *param1, uint32 param2) {
//////////////////////////////////////////////////////////////////////////
void UIWindow::makeFreezable(bool freezable) {
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
_widgets[i]->makeFreezable(freezable);
}
@@ -1421,7 +1421,7 @@ void UIWindow::makeFreezable(bool freezable) {
//////////////////////////////////////////////////////////////////////////
bool UIWindow::getWindowObjects(BaseArray<UIObject *> &objects, bool interactiveOnly) {
- for (uint32 i = 0; i < _widgets.size(); i++) {
+ for (uint32 i = 0; i < _widgets.getSize(); i++) {
UIObject *control = _widgets[i];
if (control->isDisabled() && interactiveOnly) {
continue;
More information about the Scummvm-git-logs
mailing list