aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/ad
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wintermute/ad')
-rw-r--r--engines/wintermute/ad/ad_actor.cpp14
-rw-r--r--engines/wintermute/ad/ad_entity.cpp4
-rw-r--r--engines/wintermute/ad/ad_game.cpp14
-rw-r--r--engines/wintermute/ad/ad_inventory_box.cpp6
-rw-r--r--engines/wintermute/ad/ad_item.cpp6
-rw-r--r--engines/wintermute/ad/ad_node_state.cpp2
-rw-r--r--engines/wintermute/ad/ad_object.cpp40
-rw-r--r--engines/wintermute/ad/ad_path.cpp2
-rw-r--r--engines/wintermute/ad/ad_path_point.cpp2
-rw-r--r--engines/wintermute/ad/ad_response.cpp8
-rw-r--r--engines/wintermute/ad/ad_response_box.cpp12
-rw-r--r--engines/wintermute/ad/ad_response_context.cpp2
-rw-r--r--engines/wintermute/ad/ad_scene.cpp72
-rw-r--r--engines/wintermute/ad/ad_scene.h22
-rw-r--r--engines/wintermute/ad/ad_scene_node.cpp4
-rw-r--r--engines/wintermute/ad/ad_sentence.cpp18
-rw-r--r--engines/wintermute/ad/ad_sprite_set.cpp4
-rw-r--r--engines/wintermute/ad/ad_talk_def.cpp4
-rw-r--r--engines/wintermute/ad/ad_talk_holder.cpp2
-rw-r--r--engines/wintermute/ad/ad_talk_node.cpp4
20 files changed, 121 insertions, 121 deletions
diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 9879cc9f40..e4c18d6287 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -1320,23 +1320,23 @@ bool AdActor::persist(BasePersistenceManager *persistMgr) {
AdTalkHolder::persist(persistMgr);
persistMgr->transfer(TMEMBER_INT(_dir));
- persistMgr->transfer(TMEMBER(_path));
+ persistMgr->transferPtr(TMEMBER_PTR(_path));
persistMgr->transfer(TMEMBER(_pFCount));
persistMgr->transfer(TMEMBER(_pFStepX));
persistMgr->transfer(TMEMBER(_pFStepY));
persistMgr->transfer(TMEMBER(_pFX));
persistMgr->transfer(TMEMBER(_pFY));
- persistMgr->transfer(TMEMBER(_standSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_standSprite));
_talkSprites.persist(persistMgr);
_talkSpritesEx.persist(persistMgr);
persistMgr->transfer(TMEMBER_INT(_targetDir));
persistMgr->transfer(TMEMBER_INT(_afterWalkDir));
- persistMgr->transfer(TMEMBER(_targetPoint));
- persistMgr->transfer(TMEMBER(_turnLeftSprite));
- persistMgr->transfer(TMEMBER(_turnRightSprite));
- persistMgr->transfer(TMEMBER(_walkSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_targetPoint));
+ persistMgr->transferPtr(TMEMBER_PTR(_turnLeftSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_turnRightSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_walkSprite));
- persistMgr->transfer(TMEMBER(_animSprite2));
+ persistMgr->transferPtr(TMEMBER_PTR(_animSprite2));
persistMgr->transfer(TMEMBER(_talkAnimName));
persistMgr->transfer(TMEMBER(_idleAnimName));
persistMgr->transfer(TMEMBER(_walkAnimName));
diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp
index 6e47d0f072..c43f74b620 100644
--- a/engines/wintermute/ad/ad_entity.cpp
+++ b/engines/wintermute/ad/ad_entity.cpp
@@ -1093,7 +1093,7 @@ bool AdEntity::persist(BasePersistenceManager *persistMgr) {
AdTalkHolder::persist(persistMgr);
persistMgr->transfer(TMEMBER(_item));
- persistMgr->transfer(TMEMBER(_region));
+ persistMgr->transferPtr(TMEMBER_PTR(_region));
//persistMgr->transfer(TMEMBER(_sprite));
persistMgr->transfer(TMEMBER_INT(_subtype));
_talkSprites.persist(persistMgr);
@@ -1103,7 +1103,7 @@ bool AdEntity::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_walkToY));
persistMgr->transfer(TMEMBER_INT(_walkToDir));
- persistMgr->transfer(TMEMBER(_theora));
+ persistMgr->transferPtr(TMEMBER_PTR(_theora));
return STATUS_OK;
}
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index fac59dc473..ead68f7729 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -1413,32 +1413,32 @@ bool AdGame::persist(BasePersistenceManager *persistMgr) {
_dlgPendingBranches.persist(persistMgr);
_inventories.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_inventoryBox));
+ persistMgr->transferPtr(TMEMBER_PTR(_inventoryBox));
_objects.persist(persistMgr);
persistMgr->transfer(TMEMBER(_prevSceneName));
persistMgr->transfer(TMEMBER(_prevSceneFilename));
- persistMgr->transfer(TMEMBER(_responseBox));
+ persistMgr->transferPtr(TMEMBER_PTR(_responseBox));
_responsesBranch.persist(persistMgr);
_responsesGame.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_scene));
+ persistMgr->transferPtr(TMEMBER_PTR(_scene));
_sceneStates.persist(persistMgr);
persistMgr->transfer(TMEMBER(_scheduledFadeIn));
persistMgr->transfer(TMEMBER(_scheduledScene));
- persistMgr->transfer(TMEMBER(_selectedItem));
+ persistMgr->transferPtr(TMEMBER_PTR(_selectedItem));
persistMgr->transfer(TMEMBER_INT(_talkSkipButton));
_sentences.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_sceneViewport));
+ persistMgr->transferPtr(TMEMBER_PTR(_sceneViewport));
persistMgr->transfer(TMEMBER_INT(_stateEx));
persistMgr->transfer(TMEMBER(_initialScene));
persistMgr->transfer(TMEMBER(_debugStartupScene));
- persistMgr->transfer(TMEMBER(_invObject));
- persistMgr->transfer(TMEMBER(_inventoryOwner));
+ persistMgr->transferPtr(TMEMBER_PTR(_invObject));
+ persistMgr->transferPtr(TMEMBER_PTR(_inventoryOwner));
persistMgr->transfer(TMEMBER(_tempDisableSaveState));
_items.persist(persistMgr);
diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 4bb0905688..110359917b 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -84,7 +84,7 @@ bool AdInventoryBox::listen(BaseScriptHolder *param1, uint32 param2) {
_visible = false;
} else if (scumm_stricmp(obj->getName(), "prev") == 0) {
_scrollOffset -= _scrollBy;
- _scrollOffset = MAX(_scrollOffset, 0);
+ _scrollOffset = MAX<int32>(_scrollOffset, 0);
} else if (scumm_stricmp(obj->getName(), "next") == 0) {
_scrollOffset += _scrollBy;
} else {
@@ -371,7 +371,7 @@ bool AdInventoryBox::saveAsText(BaseDynamicBuffer *buffer, int indent) {
bool AdInventoryBox::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_closeButton));
+ persistMgr->transferPtr(TMEMBER_PTR(_closeButton));
persistMgr->transfer(TMEMBER(_hideSelected));
persistMgr->transfer(TMEMBER(_itemHeight));
persistMgr->transfer(TMEMBER(_itemsArea));
@@ -380,7 +380,7 @@ bool AdInventoryBox::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_scrollOffset));
persistMgr->transfer(TMEMBER(_spacing));
persistMgr->transfer(TMEMBER(_visible));
- persistMgr->transfer(TMEMBER(_window));
+ persistMgr->transferPtr(TMEMBER_PTR(_window));
persistMgr->transfer(TMEMBER(_exclusive));
return STATUS_OK;
diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp
index 578105105c..1a46eb783b 100644
--- a/engines/wintermute/ad/ad_item.cpp
+++ b/engines/wintermute/ad/ad_item.cpp
@@ -784,9 +784,9 @@ bool AdItem::persist(BasePersistenceManager *persistMgr) {
AdTalkHolder::persist(persistMgr);
persistMgr->transfer(TMEMBER(_cursorCombined));
- persistMgr->transfer(TMEMBER(_cursorHover));
- persistMgr->transfer(TMEMBER(_cursorNormal));
- persistMgr->transfer(TMEMBER(_spriteHover));
+ persistMgr->transferPtr(TMEMBER_PTR(_cursorHover));
+ persistMgr->transferPtr(TMEMBER_PTR(_cursorNormal));
+ persistMgr->transferPtr(TMEMBER_PTR(_spriteHover));
persistMgr->transfer(TMEMBER(_inInventory));
persistMgr->transfer(TMEMBER(_displayAmount));
persistMgr->transfer(TMEMBER(_amount));
diff --git a/engines/wintermute/ad/ad_node_state.cpp b/engines/wintermute/ad/ad_node_state.cpp
index c741dec54f..d52201a08d 100644
--- a/engines/wintermute/ad/ad_node_state.cpp
+++ b/engines/wintermute/ad/ad_node_state.cpp
@@ -93,7 +93,7 @@ void AdNodeState::setCursor(const char *filename) {
//////////////////////////////////////////////////////////////////////////
bool AdNodeState::persist(BasePersistenceManager *persistMgr) {
- persistMgr->transfer(TMEMBER(_gameRef));
+ persistMgr->transferPtr(TMEMBER_PTR(_gameRef));
persistMgr->transfer(TMEMBER(_active));
persistMgr->transfer(TMEMBER(_name));
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index 9026b2849c..741d6e6fc6 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -864,14 +864,14 @@ int AdObject::getHeight() {
return 0;
} else {
BaseFrame *frame = _currentSprite->_frames[_currentSprite->_currentFrame];
- int ret = 0;
+ int32 ret = 0;
for (uint32 i = 0; i < frame->_subframes.size(); i++) {
ret = MAX(ret, frame->_subframes[i]->_hotspotY);
}
if (_zoomable) {
float zoom = ((AdGame *)_gameRef)->_scene->getZoomAt(_posX, _posY);
- ret = (int)(ret * zoom / 100);
+ ret = (int32)(ret * zoom / 100);
}
return ret;
}
@@ -941,11 +941,11 @@ void AdObject::talk(const char *text, const char *sound, uint32 duration, const
// set duration by text length
if (_sentence->_duration <= 0) {// TODO: Avoid longs.
- _sentence->_duration = MAX((size_t)1000, _gameRef->_subtitlesSpeed * strlen(_sentence->_text));
+ _sentence->_duration = MAX<int32>((size_t)1000, _gameRef->_subtitlesSpeed * strlen(_sentence->_text));
}
- int x, y, width, height;
+ int32 x, y, width, height;
x = _posX;
y = _posY;
@@ -981,8 +981,8 @@ void AdObject::talk(const char *text, const char *sound, uint32 duration, const
}
- x = MIN(MAX(0, x), _gameRef->_renderer->getWidth() - width);
- y = MIN(MAX(0, y), _gameRef->_renderer->getHeight() - height);
+ x = MIN(MAX<int32>(0, x), _gameRef->_renderer->getWidth() - width);
+ y = MIN(MAX<int32>(0, y), _gameRef->_renderer->getHeight() - height);
_sentence->_width = width;
@@ -1031,39 +1031,39 @@ bool AdObject::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
persistMgr->transfer(TMEMBER(_active));
- persistMgr->transfer(TMEMBER(_blockRegion));
- persistMgr->transfer(TMEMBER(_currentBlockRegion));
- persistMgr->transfer(TMEMBER(_currentWptGroup));
- persistMgr->transfer(TMEMBER(_currentSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_blockRegion));
+ persistMgr->transferPtr(TMEMBER_PTR(_currentBlockRegion));
+ persistMgr->transferPtr(TMEMBER_PTR(_currentWptGroup));
+ persistMgr->transferPtr(TMEMBER_PTR(_currentSprite));
persistMgr->transfer(TMEMBER(_drawn));
- persistMgr->transfer(TMEMBER(_font));
+ persistMgr->transferPtr(TMEMBER_PTR(_font));
persistMgr->transfer(TMEMBER(_ignoreItems));
persistMgr->transfer(TMEMBER_INT(_nextState));
- persistMgr->transfer(TMEMBER(_sentence));
+ persistMgr->transferPtr(TMEMBER_PTR(_sentence));
persistMgr->transfer(TMEMBER_INT(_state));
- persistMgr->transfer(TMEMBER(_animSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_animSprite));
persistMgr->transfer(TMEMBER(_sceneIndependent));
persistMgr->transfer(TMEMBER(_forcedTalkAnimName));
persistMgr->transfer(TMEMBER(_forcedTalkAnimUsed));
- persistMgr->transfer(TMEMBER(_tempSprite2));
+ persistMgr->transferPtr(TMEMBER_PTR(_tempSprite2));
persistMgr->transfer(TMEMBER_INT(_type));
- persistMgr->transfer(TMEMBER(_wptGroup));
- persistMgr->transfer(TMEMBER(_stickRegion));
+ persistMgr->transferPtr(TMEMBER_PTR(_wptGroup));
+ persistMgr->transferPtr(TMEMBER_PTR(_stickRegion));
persistMgr->transfer(TMEMBER(_subtitlesModRelative));
persistMgr->transfer(TMEMBER(_subtitlesModX));
persistMgr->transfer(TMEMBER(_subtitlesModY));
persistMgr->transfer(TMEMBER(_subtitlesModXCenter));
persistMgr->transfer(TMEMBER(_subtitlesWidth));
- persistMgr->transfer(TMEMBER(_inventory));
- persistMgr->transfer(TMEMBER(_partEmitter));
+ persistMgr->transferPtr(TMEMBER_PTR(_inventory));
+ persistMgr->transferPtr(TMEMBER_PTR(_partEmitter));
for (int i = 0; i < MAX_NUM_REGIONS; i++) {
- persistMgr->transfer(TMEMBER(_currentRegions[i]));
+ persistMgr->transferPtr(TMEMBER_PTR(_currentRegions[i]));
}
_attachmentsPre.persist(persistMgr);
_attachmentsPost.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_registerAlias));
+ persistMgr->transferPtr(TMEMBER_PTR(_registerAlias));
persistMgr->transfer(TMEMBER(_partFollowParent));
persistMgr->transfer(TMEMBER(_partOffsetX));
diff --git a/engines/wintermute/ad/ad_path.cpp b/engines/wintermute/ad/ad_path.cpp
index afdd29828c..5b36ed6471 100644
--- a/engines/wintermute/ad/ad_path.cpp
+++ b/engines/wintermute/ad/ad_path.cpp
@@ -108,7 +108,7 @@ bool AdPath::setReady(bool ready) {
//////////////////////////////////////////////////////////////////////////
bool AdPath::persist(BasePersistenceManager *persistMgr) {
- persistMgr->transfer(TMEMBER(_gameRef));
+ persistMgr->transferPtr(TMEMBER_PTR(_gameRef));
persistMgr->transfer(TMEMBER(_currIndex));
_points.persist(persistMgr);
diff --git a/engines/wintermute/ad/ad_path_point.cpp b/engines/wintermute/ad/ad_path_point.cpp
index f3ccd264b1..be4b487466 100644
--- a/engines/wintermute/ad/ad_path_point.cpp
+++ b/engines/wintermute/ad/ad_path_point.cpp
@@ -67,7 +67,7 @@ bool AdPathPoint::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_distance));
persistMgr->transfer(TMEMBER(_marked));
- persistMgr->transfer(TMEMBER(_origin));
+ persistMgr->transferPtr(TMEMBER_PTR(_origin));
return STATUS_OK;
}
diff --git a/engines/wintermute/ad/ad_response.cpp b/engines/wintermute/ad/ad_response.cpp
index 0e6817ae6f..4483bbc667 100644
--- a/engines/wintermute/ad/ad_response.cpp
+++ b/engines/wintermute/ad/ad_response.cpp
@@ -131,14 +131,14 @@ bool AdResponse::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_icon));
- persistMgr->transfer(TMEMBER(_iconHover));
- persistMgr->transfer(TMEMBER(_iconPressed));
+ persistMgr->transferPtr(TMEMBER_PTR(_icon));
+ persistMgr->transferPtr(TMEMBER_PTR(_iconHover));
+ persistMgr->transferPtr(TMEMBER_PTR(_iconPressed));
persistMgr->transfer(TMEMBER(_iD));
persistMgr->transfer(TMEMBER(_text));
persistMgr->transfer(TMEMBER(_textOrig));
persistMgr->transfer(TMEMBER_INT(_responseType));
- persistMgr->transfer(TMEMBER(_font));
+ persistMgr->transferPtr(TMEMBER_PTR(_font));
return STATUS_OK;
}
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index a4e59c6a49..a589bf3a30 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -187,7 +187,7 @@ bool AdResponseBox::createButtons() {
// make the responses touchable
if (_gameRef->_touchInterface) {
- btn->_height = MAX(btn->_height, 50);
+ btn->_height = MAX<int32>(btn->_height, 50);
}
//btn->SetListener(this, btn, _responses[i]->_iD);
@@ -573,8 +573,8 @@ bool AdResponseBox::listen(BaseScriptHolder *param1, uint32 param2) {
bool AdResponseBox::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_font));
- persistMgr->transfer(TMEMBER(_fontHover));
+ persistMgr->transferPtr(TMEMBER_PTR(_font));
+ persistMgr->transferPtr(TMEMBER_PTR(_fontHover));
persistMgr->transfer(TMEMBER(_horizontal));
persistMgr->transfer(TMEMBER(_lastResponseText));
persistMgr->transfer(TMEMBER(_lastResponseTextOrig));
@@ -582,10 +582,10 @@ bool AdResponseBox::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_responseArea));
_responses.persist(persistMgr);
persistMgr->transfer(TMEMBER(_scrollOffset));
- persistMgr->transfer(TMEMBER(_shieldWindow));
+ persistMgr->transferPtr(TMEMBER_PTR(_shieldWindow));
persistMgr->transfer(TMEMBER(_spacing));
- persistMgr->transfer(TMEMBER(_waitingScript));
- persistMgr->transfer(TMEMBER(_window));
+ persistMgr->transferPtr(TMEMBER_PTR(_waitingScript));
+ persistMgr->transferPtr(TMEMBER_PTR(_window));
persistMgr->transfer(TMEMBER_INT(_verticalAlign));
persistMgr->transfer(TMEMBER_INT(_align));
diff --git a/engines/wintermute/ad/ad_response_context.cpp b/engines/wintermute/ad/ad_response_context.cpp
index d87651c178..663ef49a24 100644
--- a/engines/wintermute/ad/ad_response_context.cpp
+++ b/engines/wintermute/ad/ad_response_context.cpp
@@ -49,7 +49,7 @@ AdResponseContext::~AdResponseContext() {
//////////////////////////////////////////////////////////////////////////
bool AdResponseContext::persist(BasePersistenceManager *persistMgr) {
- persistMgr->transfer(TMEMBER(_gameRef));
+ persistMgr->transferPtr(TMEMBER_PTR(_gameRef));
persistMgr->transfer(TMEMBER(_context));
persistMgr->transfer(TMEMBER(_id));
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index 699ef0685d..4d0068fad1 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -976,14 +976,14 @@ bool AdScene::traverseNodes(bool doUpdate) {
//////////////////////////////////////////////////////////////////////////
- int viewportWidth, viewportHeight;
+ int32 viewportWidth, viewportHeight;
getViewportSize(&viewportWidth, &viewportHeight);
- int viewportX, viewportY;
+ int32 viewportX, viewportY;
getViewportOffset(&viewportX, &viewportY);
- int scrollableX = _width - viewportWidth;
- int scrollableY = _height - viewportHeight;
+ int32 scrollableX = _width - viewportWidth;
+ int32 scrollableY = _height - viewportHeight;
double widthRatio = scrollableX <= 0 ? 0 : ((double)(_offsetLeft) / (double)scrollableX);
double heightRatio = scrollableY <= 0 ? 0 : ((double)(_offsetTop) / (double)scrollableY);
@@ -1272,16 +1272,16 @@ bool AdScene::update() {
//////////////////////////////////////////////////////////////////////////
void AdScene::scrollTo(int offsetX, int offsetY) {
- int viewportWidth, viewportHeight;
+ int32 viewportWidth, viewportHeight;
getViewportSize(&viewportWidth, &viewportHeight);
- int origOffsetLeft = _targetOffsetLeft;
- int origOffsetTop = _targetOffsetTop;
+ int32 origOffsetLeft = _targetOffsetLeft;
+ int32 origOffsetTop = _targetOffsetTop;
- _targetOffsetLeft = MAX(0, offsetX - viewportWidth / 2);
+ _targetOffsetLeft = MAX<int32>(0, offsetX - viewportWidth / 2);
_targetOffsetLeft = MIN(_targetOffsetLeft, _width - viewportWidth);
- _targetOffsetTop = MAX(0, offsetY - viewportHeight / 2);
+ _targetOffsetTop = MAX<int32>(0, offsetY - viewportHeight / 2);
_targetOffsetTop = MIN(_targetOffsetTop, _height - viewportHeight);
@@ -1317,13 +1317,13 @@ void AdScene::skipToObject(BaseObject *object) {
//////////////////////////////////////////////////////////////////////////
void AdScene::skipTo(int offsetX, int offsetY) {
- int viewportWidth, viewportHeight;
+ int32 viewportWidth, viewportHeight;
getViewportSize(&viewportWidth, &viewportHeight);
- _offsetLeft = MAX(0, offsetX - viewportWidth / 2);
+ _offsetLeft = MAX<int32>(0, offsetX - viewportWidth / 2);
_offsetLeft = MIN(_offsetLeft, _width - viewportWidth);
- _offsetTop = MAX(0, offsetY - viewportHeight / 2);
+ _offsetTop = MAX<int32>(0, offsetY - viewportHeight / 2);
_offsetTop = MIN(_offsetTop, _height - viewportHeight);
_targetOffsetLeft = _offsetLeft;
@@ -1866,7 +1866,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
// MouseX (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "MouseX") {
- int viewportX;
+ int32 viewportX;
getViewportOffset(&viewportX);
_scValue->setInt(_gameRef->_mousePos.x + _offsetLeft - viewportX);
@@ -1877,7 +1877,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
// MouseY (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "MouseY") {
- int viewportY;
+ int32 viewportY;
getViewportOffset(nullptr, &viewportY);
_scValue->setInt(_gameRef->_mousePos.y + _offsetTop - viewportY);
@@ -2057,10 +2057,10 @@ bool AdScene::scSetProperty(const char *name, ScValue *value) {
else if (strcmp(name, "OffsetX") == 0) {
_offsetLeft = value->getInt();
- int viewportWidth, viewportHeight;
+ int32 viewportWidth, viewportHeight;
getViewportSize(&viewportWidth, &viewportHeight);
- _offsetLeft = MAX(0, _offsetLeft - viewportWidth / 2);
+ _offsetLeft = MAX<int32>(0, _offsetLeft - viewportWidth / 2);
_offsetLeft = MIN(_offsetLeft, _width - viewportWidth);
_targetOffsetLeft = _offsetLeft;
@@ -2073,10 +2073,10 @@ bool AdScene::scSetProperty(const char *name, ScValue *value) {
else if (strcmp(name, "OffsetY") == 0) {
_offsetTop = value->getInt();
- int viewportWidth, viewportHeight;
+ int32 viewportWidth, viewportHeight;
getViewportSize(&viewportWidth, &viewportHeight);
- _offsetTop = MAX(0, _offsetTop - viewportHeight / 2);
+ _offsetTop = MAX<int32>(0, _offsetTop - viewportHeight / 2);
_offsetTop = MIN(_offsetTop, _height - viewportHeight);
_targetOffsetTop = _offsetTop;
@@ -2319,13 +2319,13 @@ bool AdScene::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_editorShowEntities));
persistMgr->transfer(TMEMBER(_editorShowRegions));
persistMgr->transfer(TMEMBER(_editorShowScale));
- persistMgr->transfer(TMEMBER(_fader));
+ persistMgr->transferPtr(TMEMBER_PTR(_fader));
persistMgr->transfer(TMEMBER(_height));
persistMgr->transfer(TMEMBER(_initialized));
persistMgr->transfer(TMEMBER(_lastTimeH));
persistMgr->transfer(TMEMBER(_lastTimeV));
_layers.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_mainLayer));
+ persistMgr->transferPtr(TMEMBER_PTR(_mainLayer));
_objects.persist(persistMgr);
persistMgr->transfer(TMEMBER(_offsetLeft));
persistMgr->transfer(TMEMBER(_offsetTop));
@@ -2336,20 +2336,20 @@ bool AdScene::persist(BasePersistenceManager *persistMgr) {
_pfPath.persist(persistMgr);
persistMgr->transfer(TMEMBER(_pfPointsNum));
persistMgr->transfer(TMEMBER(_pfReady));
- persistMgr->transfer(TMEMBER(_pfRequester));
- persistMgr->transfer(TMEMBER(_pfTarget));
- persistMgr->transfer(TMEMBER(_pfTargetPath));
+ persistMgr->transferPtr(TMEMBER_PTR(_pfRequester));
+ persistMgr->transferPtr(TMEMBER_PTR(_pfTarget));
+ persistMgr->transferPtr(TMEMBER_PTR(_pfTargetPath));
_rotLevels.persist(persistMgr);
_scaleLevels.persist(persistMgr);
persistMgr->transfer(TMEMBER(_scrollPixelsH));
persistMgr->transfer(TMEMBER(_scrollPixelsV));
persistMgr->transfer(TMEMBER(_scrollTimeH));
persistMgr->transfer(TMEMBER(_scrollTimeV));
- persistMgr->transfer(TMEMBER(_shieldWindow));
+ persistMgr->transferPtr(TMEMBER_PTR(_shieldWindow));
persistMgr->transfer(TMEMBER(_targetOffsetLeft));
persistMgr->transfer(TMEMBER(_targetOffsetTop));
_waypointGroups.persist(persistMgr);
- persistMgr->transfer(TMEMBER(_viewport));
+ persistMgr->transferPtr(TMEMBER_PTR(_viewport));
persistMgr->transfer(TMEMBER(_width));
return STATUS_OK;
@@ -2361,10 +2361,10 @@ bool AdScene::afterLoad() {
}
//////////////////////////////////////////////////////////////////////////
-bool AdScene::correctTargetPoint2(int startX, int startY, int *targetX, int *targetY, bool checkFreeObjects, BaseObject *requester) {
+bool AdScene::correctTargetPoint2(int32 startX, int32 startY, int32 *targetX, int32 *targetY, bool checkFreeObjects, BaseObject *requester) {
double xStep, yStep, x, y;
- int xLength, yLength, xCount, yCount;
- int x1, y1, x2, y2;
+ int32 xLength, yLength, xCount, yCount;
+ int32 x1, y1, x2, y2;
x1 = *targetX;
y1 = *targetY;
@@ -2407,9 +2407,9 @@ bool AdScene::correctTargetPoint2(int startX, int startY, int *targetX, int *tar
}
//////////////////////////////////////////////////////////////////////////
-bool AdScene::correctTargetPoint(int startX, int startY, int *argX, int *argY, bool checkFreeObjects, BaseObject *requester) {
- int x = *argX;
- int y = *argY;
+bool AdScene::correctTargetPoint(int32 startX, int32 startY, int32 *argX, int32 *argY, bool checkFreeObjects, BaseObject *requester) {
+ int32 x = *argX;
+ int32 y = *argY;
if (isWalkableAt(x, y, checkFreeObjects, requester) || !_mainLayer) {
return STATUS_OK;
@@ -2522,7 +2522,7 @@ void AdScene::pfPointsAdd(int x, int y, int distance) {
//////////////////////////////////////////////////////////////////////////
-bool AdScene::getViewportOffset(int *offsetX, int *offsetY) {
+bool AdScene::getViewportOffset(int32 *offsetX, int32 *offsetY) {
AdGame *adGame = (AdGame *)_gameRef;
if (_viewport && !_gameRef->_editorMode) {
if (offsetX) {
@@ -2551,7 +2551,7 @@ bool AdScene::getViewportOffset(int *offsetX, int *offsetY) {
//////////////////////////////////////////////////////////////////////////
-bool AdScene::getViewportSize(int *width, int *height) {
+bool AdScene::getViewportSize(int32 *width, int32 *height) {
AdGame *adGame = (AdGame *)_gameRef;
if (_viewport && !_gameRef->_editorMode) {
if (width) {
@@ -2581,7 +2581,7 @@ bool AdScene::getViewportSize(int *width, int *height) {
//////////////////////////////////////////////////////////////////////////
int AdScene::getOffsetLeft() {
- int viewportX;
+ int32 viewportX;
getViewportOffset(&viewportX);
return _offsetLeft - viewportX;
@@ -2590,7 +2590,7 @@ int AdScene::getOffsetLeft() {
//////////////////////////////////////////////////////////////////////////
int AdScene::getOffsetTop() {
- int viewportY;
+ int32 viewportY;
getViewportOffset(nullptr, &viewportY);
return _offsetTop - viewportY;
@@ -2599,7 +2599,7 @@ int AdScene::getOffsetTop() {
//////////////////////////////////////////////////////////////////////////
bool AdScene::pointInViewport(int x, int y) {
- int left, top, width, height;
+ int32 left, top, width, height;
getViewportOffset(&left, &top);
getViewportSize(&width, &height);
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index 9ddef73b65..cd144b77ef 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -67,16 +67,16 @@ public:
bool pointInViewport(int x, int y);
int getOffsetTop();
int getOffsetLeft();
- bool getViewportSize(int *width = nullptr, int *height = nullptr);
- bool getViewportOffset(int *offsetX = nullptr, int *offsetY = nullptr);
+ bool getViewportSize(int32 *width = nullptr, int32 *height = nullptr);
+ bool getViewportOffset(int32 *offsetX = nullptr, int32 *offsetY = nullptr);
BaseViewport *_viewport;
BaseFader *_fader;
- int _pfPointsNum;
+ int32 _pfPointsNum;
void pfPointsAdd(int x, int y, int distance);
void pfPointsStart();
bool _initialized;
- bool correctTargetPoint(int startX, int startY, int *x, int *y, bool checkFreeObjects = false, BaseObject *requester = nullptr);
- bool correctTargetPoint2(int startX, int startY, int *targetX, int *targetY, bool checkFreeObjects, BaseObject *requester);
+ bool correctTargetPoint(int32 startX, int32 startY, int32 *x, int32 *y, bool checkFreeObjects = false, BaseObject *requester = nullptr);
+ bool correctTargetPoint2(int32 startX, int32 startY, int32 *targetX, int32 *targetY, bool checkFreeObjects, BaseObject *requester);
DECLARE_PERSISTENT(AdScene, BaseObject)
bool displayRegionContent(AdRegion *region = nullptr, bool display3DOnly = false);
bool displayRegionContentOld(AdRegion *region = nullptr);
@@ -98,14 +98,14 @@ public:
void scrollTo(int offsetX, int offsetY);
virtual bool update() override;
bool _autoScroll;
- int _targetOffsetTop;
- int _targetOffsetLeft;
+ int32 _targetOffsetTop;
+ int32 _targetOffsetLeft;
- int _scrollPixelsV;
+ int32 _scrollPixelsV;
uint32 _scrollTimeV;
uint32 _lastTimeV;
- int _scrollPixelsH;
+ int32 _scrollPixelsH;
uint32 _scrollTimeH;
uint32 _lastTimeH;
@@ -171,8 +171,8 @@ private:
BaseObject *_pfRequester;
BaseArray<AdPathPoint *> _pfPath;
- int _offsetTop;
- int _offsetLeft;
+ int32 _offsetTop;
+ int32 _offsetLeft;
};
diff --git a/engines/wintermute/ad/ad_scene_node.cpp b/engines/wintermute/ad/ad_scene_node.cpp
index f84e9212e5..e9b80b3cc8 100644
--- a/engines/wintermute/ad/ad_scene_node.cpp
+++ b/engines/wintermute/ad/ad_scene_node.cpp
@@ -72,8 +72,8 @@ bool AdSceneNode::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_entity));
- persistMgr->transfer(TMEMBER(_region));
+ persistMgr->transferPtr(TMEMBER_PTR(_entity));
+ persistMgr->transferPtr(TMEMBER_PTR(_region));
persistMgr->transfer(TMEMBER_INT(_type));
return STATUS_OK;
diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp
index 9192b74c4e..70a57a624d 100644
--- a/engines/wintermute/ad/ad_sentence.cpp
+++ b/engines/wintermute/ad/ad_sentence.cpp
@@ -204,8 +204,8 @@ bool AdSentence::display() {
}
if (_gameRef->_subtitles) {
- int x = _pos.x;
- int y = _pos.y;
+ int32 x = _pos.x;
+ int32 y = _pos.y;
if (!_fixedPos) {
x = x - ((AdGame *)_gameRef)->_scene->getOffsetLeft();
@@ -213,9 +213,9 @@ bool AdSentence::display() {
}
- x = MAX(x, 0);
+ x = MAX<int32>(x, 0);
x = MIN(x, _gameRef->_renderer->getWidth() - _width);
- y = MAX(y, 0);
+ y = MAX<int32>(y, 0);
_font->drawText((byte *)_text, x, y, _width, _align);
}
@@ -247,20 +247,20 @@ bool AdSentence::finish() {
//////////////////////////////////////////////////////////////////////////
bool AdSentence::persist(BasePersistenceManager *persistMgr) {
- persistMgr->transfer(TMEMBER(_gameRef));
+ persistMgr->transferPtr(TMEMBER_PTR(_gameRef));
persistMgr->transfer(TMEMBER_INT(_align));
persistMgr->transfer(TMEMBER(_currentStance));
- persistMgr->transfer(TMEMBER(_currentSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_currentSprite));
persistMgr->transfer(TMEMBER(_currentSkelAnim));
persistMgr->transfer(TMEMBER(_duration));
- persistMgr->transfer(TMEMBER(_font));
+ persistMgr->transferPtr(TMEMBER_PTR(_font));
persistMgr->transfer(TMEMBER(_pos));
- persistMgr->transfer(TMEMBER(_sound));
+ persistMgr->transferPtr(TMEMBER_PTR(_sound));
persistMgr->transfer(TMEMBER(_soundStarted));
persistMgr->transfer(TMEMBER(_stances));
persistMgr->transfer(TMEMBER(_startTime));
- persistMgr->transfer(TMEMBER(_talkDef));
+ persistMgr->transferPtr(TMEMBER_PTR(_talkDef));
persistMgr->transfer(TMEMBER(_tempStance));
persistMgr->transfer(TMEMBER(_text));
persistMgr->transfer(TMEMBER(_width));
diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp
index ffa7bb2530..6c802c4863 100644
--- a/engines/wintermute/ad/ad_sprite_set.cpp
+++ b/engines/wintermute/ad/ad_sprite_set.cpp
@@ -249,9 +249,9 @@ bool AdSpriteSet::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_owner));
+ persistMgr->transferPtr(TMEMBER_PTR(_owner));
for (int i = 0; i < NUM_DIRECTIONS; i++) {
- persistMgr->transfer("", &_sprites[i]);
+ persistMgr->transferPtr("", &_sprites[i]);
}
return STATUS_OK;
diff --git a/engines/wintermute/ad/ad_talk_def.cpp b/engines/wintermute/ad/ad_talk_def.cpp
index 4ad5d2ccc6..bf72b2916b 100644
--- a/engines/wintermute/ad/ad_talk_def.cpp
+++ b/engines/wintermute/ad/ad_talk_def.cpp
@@ -208,9 +208,9 @@ bool AdTalkDef::persist(BasePersistenceManager *persistMgr) {
BaseObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_defaultSprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_defaultSprite));
persistMgr->transfer(TMEMBER(_defaultSpriteFilename));
- persistMgr->transfer(TMEMBER(_defaultSpriteSet));
+ persistMgr->transferPtr(TMEMBER_PTR(_defaultSpriteSet));
persistMgr->transfer(TMEMBER(_defaultSpriteSetFilename));
_nodes.persist(persistMgr);
diff --git a/engines/wintermute/ad/ad_talk_holder.cpp b/engines/wintermute/ad/ad_talk_holder.cpp
index ed2333a345..33deab7805 100644
--- a/engines/wintermute/ad/ad_talk_holder.cpp
+++ b/engines/wintermute/ad/ad_talk_holder.cpp
@@ -392,7 +392,7 @@ bool AdTalkHolder::saveAsText(BaseDynamicBuffer *buffer, int indent) {
bool AdTalkHolder::persist(BasePersistenceManager *persistMgr) {
AdObject::persist(persistMgr);
- persistMgr->transfer(TMEMBER(_sprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_sprite));
_talkSprites.persist(persistMgr);
_talkSpritesEx.persist(persistMgr);
diff --git a/engines/wintermute/ad/ad_talk_node.cpp b/engines/wintermute/ad/ad_talk_node.cpp
index 2e0985ed99..f03c24ea94 100644
--- a/engines/wintermute/ad/ad_talk_node.cpp
+++ b/engines/wintermute/ad/ad_talk_node.cpp
@@ -195,9 +195,9 @@ bool AdTalkNode::persist(BasePersistenceManager *persistMgr) {
persistMgr->transfer(TMEMBER(_startTime));
persistMgr->transfer(TMEMBER(_endTime));
persistMgr->transfer(TMEMBER(_playToEnd));
- persistMgr->transfer(TMEMBER(_sprite));
+ persistMgr->transferPtr(TMEMBER_PTR(_sprite));
persistMgr->transfer(TMEMBER(_spriteFilename));
- persistMgr->transfer(TMEMBER(_spriteSet));
+ persistMgr->transferPtr(TMEMBER_PTR(_spriteSet));
persistMgr->transfer(TMEMBER(_spriteSetFilename));
return STATUS_OK;