[Scummvm-git-logs] scummvm master -> cd9c770bf6ffb972cfd67fe9f6e89c0c587d5f2e

aquadran noreply at scummvm.org
Tue Aug 12 13:04:57 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:
cd9c770bf6 WINTERMUTE: Synced with original for ad_actor


Commit: cd9c770bf6ffb972cfd67fe9f6e89c0c587d5f2e
    https://github.com/scummvm/scummvm/commit/cd9c770bf6ffb972cfd67fe9f6e89c0c587d5f2e
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-08-12T15:04:53+02:00

Commit Message:
WINTERMUTE: Synced with original for ad_actor

Changed paths:
    engines/wintermute/ad/ad_actor.cpp
    engines/wintermute/ad/ad_actor.h


diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 3ae17e9c113..a2e6a05730d 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -83,17 +83,17 @@ bool AdActor::setDefaultAnimNames() {
 //////////////////////////////////////////////////////////////////////////
 AdActor::~AdActor() {
 	delete _path;
-	delete _targetPoint;
 	_path = nullptr;
+	delete _targetPoint;
 	_targetPoint = nullptr;
 
 	delete _walkSprite;
-	delete _standSprite;
-	delete _turnLeftSprite;
-	delete _turnRightSprite;
 	_walkSprite = nullptr;
+	delete _standSprite;
 	_standSprite = nullptr;
+	delete _turnLeftSprite;
 	_turnLeftSprite = nullptr;
+	delete _turnRightSprite;
 	_turnRightSprite = nullptr;
 
 	_animSprite2 = nullptr; // ref only
@@ -390,15 +390,15 @@ bool AdActor::loadBuffer(char *buffer, bool complete) {
 
 		case TOKEN_BLOCKED_REGION: {
 			delete _blockRegion;
-			delete _currentBlockRegion;
 			_blockRegion = nullptr;
+			delete _currentBlockRegion;
 			_currentBlockRegion = nullptr;
 			BaseRegion *rgn = new BaseRegion(_gameRef);
 			BaseRegion *crgn = new BaseRegion(_gameRef);
 			if (!rgn || !crgn || DID_FAIL(rgn->loadBuffer(params, false))) {
 				delete _blockRegion;
-				delete _currentBlockRegion;
 				_blockRegion = nullptr;
+				delete _currentBlockRegion;
 				_currentBlockRegion = nullptr;
 				cmd = PARSERR_GENERIC;
 			} else {
@@ -411,15 +411,15 @@ bool AdActor::loadBuffer(char *buffer, bool complete) {
 
 		case TOKEN_WAYPOINTS: {
 			delete _wptGroup;
-			delete _currentWptGroup;
 			_wptGroup = nullptr;
+			delete _currentWptGroup;
 			_currentWptGroup = nullptr;
 			AdWaypointGroup *wpt = new AdWaypointGroup(_gameRef);
 			AdWaypointGroup *cwpt = new AdWaypointGroup(_gameRef);
 			if (!wpt || !cwpt || DID_FAIL(wpt->loadBuffer(params, false))) {
 				delete _wptGroup;
-				delete _currentWptGroup;
 				_wptGroup = nullptr;
+				delete _currentWptGroup;
 				_currentWptGroup = nullptr;
 				cmd = PARSERR_GENERIC;
 			} else {
@@ -585,7 +585,19 @@ bool AdActor::display() {
 	if (_active && _partEmitter) {
 		_partEmitter->display();
 	}
-
+/*
+	// accessibility
+	if (Game->m_AccessMgr->GetActiveObject() == this) {
+		float ScaleX, ScaleY;
+		GetScale(&ScaleX, &ScaleY);
+
+		RECT rc;
+		SetRectEmpty(&rc);
+		if (m_CurrentSprite) {
+			m_CurrentSprite->GetBoundingRect(&rc, m_PosX - Game->m_OffsetX, m_PosY - Game->m_OffsetY, ScaleX, ScaleY);
+		}
+		Game->m_AccessMgr->SetHintRect(&rc);
+	}*/
 
 	return STATUS_OK;
 }
diff --git a/engines/wintermute/ad/ad_actor.h b/engines/wintermute/ad/ad_actor.h
index 0e9168e6136..db049115be8 100644
--- a/engines/wintermute/ad/ad_actor.h
+++ b/engines/wintermute/ad/ad_actor.h
@@ -52,17 +52,9 @@ public:
 	BasePoint *_targetPoint;
 	bool update() override;
 	bool display() override;
-	virtual void turnTo(TDirection dir);
-	AdActor(BaseGame *inGame/*=nullptr*/);
-	~AdActor() override;
-	bool loadFile(const char *filename);
-	bool loadBuffer(char *buffer, bool complete = true);
-
-
-private:
 	TDirection _targetDir;
 	TDirection _afterWalkDir;
-
+	virtual void turnTo(TDirection dir);
 	AdPath *_path;
 	AdSpriteSet *_walkSprite;
 	AdSpriteSet *_standSprite;
@@ -71,6 +63,11 @@ private:
 	BaseArray<AdSpriteSet *> _talkSprites;
 	BaseArray<AdSpriteSet *> _talkSpritesEx;
 	TDirection _dir;
+	AdActor(BaseGame *inGame/*=nullptr*/);
+	~AdActor() override;
+	bool loadFile(const char *filename);
+	bool loadBuffer(char *buffer, bool complete = true);
+
 	// new anim system
 	Common::String _talkAnimName;
 	Common::String _idleAnimName;




More information about the Scummvm-git-logs mailing list