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

dreammaster dreammaster at scummvm.org
Wed Jan 4 01:31:09 CET 2017


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
759f69fe1e TITANIC: Fixes and cleanup for the hammer dispensor
e2dba404a6 TITANIC: Cleanup and fixes for starling puret
ba77ec28b9 TITANIC: Fix initial display of fan control indicator


Commit: 759f69fe1ef445feddb28a1410c4e0821ae7ac40
    https://github.com/scummvm/scummvm/commit/759f69fe1ef445feddb28a1410c4e0821ae7ac40
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-01-03T16:26:39-05:00

Commit Message:
TITANIC: Fixes and cleanup for the hammer dispensor

Changed paths:
    engines/titanic/game/hammer_dispensor.cpp
    engines/titanic/game/hammer_dispensor.h
    engines/titanic/game/hammer_dispensor_button.cpp
    engines/titanic/game/hammer_dispensor_button.h


diff --git a/engines/titanic/game/hammer_dispensor.cpp b/engines/titanic/game/hammer_dispensor.cpp
index bc6a3d5..2450868 100644
--- a/engines/titanic/game/hammer_dispensor.cpp
+++ b/engines/titanic/game/hammer_dispensor.cpp
@@ -32,13 +32,13 @@ BEGIN_MESSAGE_MAP(CHammerDispensor, CBackground)
 END_MESSAGE_MAP()
 
 CHammerDispensor::CHammerDispensor() : CBackground(),
-	_fieldE0(false), _fieldE4(true), _state(0) {
+	_isOpen(false), _panUp(true), _state(0) {
 }
 
 void CHammerDispensor::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(1, indent);
-	file->writeNumberLine(_fieldE0, indent);
-	file->writeNumberLine(_fieldE4, indent);
+	file->writeNumberLine(_isOpen, indent);
+	file->writeNumberLine(_panUp, indent);
 	file->writeNumberLine(_state, indent);
 
 	CBackground::save(file, indent);
@@ -46,44 +46,44 @@ void CHammerDispensor::save(SimpleFile *file, int indent) {
 
 void CHammerDispensor::load(SimpleFile *file) {
 	file->readNumber();
-	_fieldE0 = file->readNumber();
-	_fieldE4 = file->readNumber();
+	_isOpen = file->readNumber();
+	_panUp = file->readNumber();
 	_state = file->readNumber();
 
 	CBackground::load(file);
 }
 
 bool CHammerDispensor::ActMsg(CActMsg *msg) {
-	if (msg->_action == "DispenseHammer" && !_fieldE0) {
+	if (msg->_action == "DispenseHammer" && !_isOpen) {
 		_state = 1;
 		playMovie(15, 31, MOVIE_NOTIFY_OBJECT);
-		_fieldE0 = true;
+		_isOpen = true;
 	}
 
-	if (msg->_action == "HammerTaken" && _fieldE0)
+	if (msg->_action == "HammerTaken" && _isOpen)
 		loadFrame(32);
 
 	return true;
 }
 
 bool CHammerDispensor::EnterViewMsg(CEnterViewMsg *msg) {
-	if (_fieldE4) {
+	if (_panUp) {
 		playMovie(7, 14, 0);
-		_fieldE4 = false;
+		_panUp = false;
 	}
 
 	return true;
 }
 
 bool CHammerDispensor::LeaveViewMsg(CLeaveViewMsg *msg) {
-	_fieldE4 = true;
-	_fieldE0 = 0;
-	_state = 2;
-
-	if (_fieldE0)
+	if (_isOpen)
 		playMovie(32, 50, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
 	else
 		playMovie(0, 7, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+
+	_panUp = true;
+	_isOpen = false;
+	_state = 2;
 	return true;
 }
 
diff --git a/engines/titanic/game/hammer_dispensor.h b/engines/titanic/game/hammer_dispensor.h
index 2383a33..f93f414 100644
--- a/engines/titanic/game/hammer_dispensor.h
+++ b/engines/titanic/game/hammer_dispensor.h
@@ -34,8 +34,8 @@ class CHammerDispensor : public CBackground {
 	bool LeaveViewMsg(CLeaveViewMsg *msg);
 	bool MovieEndMsg(CMovieEndMsg *msg);
 private:
-	bool _fieldE0;
-	bool _fieldE4;
+	bool _isOpen;
+	bool _panUp;
 	int _state;
 public:
 	CLASSDEF;
diff --git a/engines/titanic/game/hammer_dispensor_button.cpp b/engines/titanic/game/hammer_dispensor_button.cpp
index 89d37a0..661a92e 100644
--- a/engines/titanic/game/hammer_dispensor_button.cpp
+++ b/engines/titanic/game/hammer_dispensor_button.cpp
@@ -34,36 +34,36 @@ BEGIN_MESSAGE_MAP(CHammerDispensorButton, CStartAction)
 END_MESSAGE_MAP()
 
 CHammerDispensorButton::CHammerDispensorButton() : CStartAction(),
-	_fieldF8(0), _fieldFC(0), _field100(0), _btnPos(Point(56, 6)),
-	_field10C(nullptr), _field110(0) {
+	_active(false), _open(false), _hitCounter(0), _btnPos(Point(56, 6)),
+	_perch(nullptr), _hammerTaken(0) {
 }
 
 void CHammerDispensorButton::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(1, indent);
-	file->writeNumberLine(_fieldF8, indent);
-	file->writeNumberLine(_fieldFC, indent);
-	file->writeNumberLine(_field100, indent);
+	file->writeNumberLine(_active, indent);
+	file->writeNumberLine(_open, indent);
+	file->writeNumberLine(_hitCounter, indent);
 	file->writeNumberLine(_btnPos.x, indent);
 	file->writeNumberLine(_btnPos.y, indent);
-	file->writeNumberLine(_field110, indent);
+	file->writeNumberLine(_hammerTaken, indent);
 
 	CStartAction::save(file, indent);
 }
 
 void CHammerDispensorButton::load(SimpleFile *file) {
 	file->readNumber();
-	_fieldF8 = file->readNumber();
-	_fieldFC = file->readNumber();
-	_field100 = file->readNumber();
+	_active = file->readNumber();
+	_open = file->readNumber();
+	_hitCounter = file->readNumber();
 	_btnPos.x = file->readNumber();
 	_btnPos.y = file->readNumber();
-	_field110 = file->readNumber();
+	_hammerTaken = file->readNumber();
 
 	CStartAction::load(file);
 }
 
 bool CHammerDispensorButton::PuzzleSolvedMsg(CPuzzleSolvedMsg *msg) {
-	_fieldF8 = 1;
+	_active = true;
 	return true;
 }
 
@@ -75,54 +75,47 @@ bool CHammerDispensorButton::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
 
 bool CHammerDispensorButton::ActMsg(CActMsg *msg) {
 	if (msg->_action == "HammerTaken")
-		_field110 = true;
+		_hammerTaken = true;
 	return true;
 }
 
 bool CHammerDispensorButton::FrameMsg(CFrameMsg *msg) {
-	if (!_fieldF8)
+	if (!_active)
 		return true;
 
-	if (!_field10C) {
+	if (!_perch) {
 		CGameObject *obj = getDraggingObject();
 		if (obj) {
 			if (obj->isEquals("Perch") && getView() == findView())
-				_field10C = obj;
+				_perch = static_cast<CPerch *>(obj);
 		}
 	}
 
-	if (_field10C) {
-		Point pt(_btnPos.x + _bounds.left, _btnPos.y + _bounds.top);
+	if (_perch) {
+		Point pt(_btnPos.x + _perch->_bounds.left, _btnPos.y + _perch->_bounds.top);
 		bool flag = checkPoint(pt, true);
 
-		switch (_fieldFC) {
-		case 0:
+		if (!_open) {
 			if (flag) {
 				playSound("z#93.wav");
-				if (++_field100 == 5) {
-					if (!_field110) {
+				if (++_hitCounter == 5) {
+					if (!_hammerTaken) {
 						CActMsg actMsg(_msgAction);
 						actMsg.execute(_msgTarget);
 					}
 
 					setVisible(false);
-					_fieldF8 = 0;
-					_field100 = 0;
+					_active = false;
+					_hitCounter = 0;
 				}
 
-				_fieldFC = 1;
+				_open = true;
 			}
-			break;
-
-		case 1:
+		} else {
 			if (!flag) {
-				_fieldFC = 0;
-				++_field100;
+				_open = false;
+				++_hitCounter;
 			}
-			break;
-
-		default:
-			break;
 		}
 	}
 
@@ -130,15 +123,15 @@ bool CHammerDispensorButton::FrameMsg(CFrameMsg *msg) {
 }
 
 bool CHammerDispensorButton::LeaveViewMsg(CLeaveViewMsg *msg) {
-	_field10C = nullptr;
-	_field100 = 0;
-	_fieldFC = 0;
+	_perch = nullptr;
+	_hitCounter = 0;
+	_open = false;
 	return true;
 }
 
 bool CHammerDispensorButton::EnterViewMsg(CEnterViewMsg *msg) {
 	setVisible(true);
-	_fieldF8 = 1;
+	_active = true;
 	return true;
 }
 
diff --git a/engines/titanic/game/hammer_dispensor_button.h b/engines/titanic/game/hammer_dispensor_button.h
index f497b9d..0194021 100644
--- a/engines/titanic/game/hammer_dispensor_button.h
+++ b/engines/titanic/game/hammer_dispensor_button.h
@@ -24,6 +24,7 @@
 #define TITANIC_HAMMER_DISPENSOR_BUTTON_H
 
 #include "titanic/game/start_action.h"
+#include "titanic/carry/perch.h"
 
 namespace Titanic {
 
@@ -36,12 +37,12 @@ class CHammerDispensorButton : public CStartAction {
 	bool LeaveViewMsg(CLeaveViewMsg *msg);
 	bool EnterViewMsg(CEnterViewMsg *msg);
 private:
-	int _fieldF8;
-	int _fieldFC;
-	int _field100;
+	bool _active;
+	bool _open;
+	int _hitCounter;
 	Point _btnPos;
-	CGameObject *_field10C;
-	int _field110;
+	CPerch *_perch;
+	bool _hammerTaken;
 public:
 	CLASSDEF;
 	CHammerDispensorButton();


Commit: e2dba404a611fd33c522c4a462c4493ce0a52208
    https://github.com/scummvm/scummvm/commit/e2dba404a611fd33c522c4a462c4493ce0a52208
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-01-03T17:23:33-05:00

Commit Message:
TITANIC: Cleanup and fixes for starling puret

Changed paths:
    engines/titanic/game/fan_control.cpp
    engines/titanic/game/fan_control.h
    engines/titanic/npcs/starlings.cpp
    engines/titanic/npcs/starlings.h


diff --git a/engines/titanic/game/fan_control.cpp b/engines/titanic/game/fan_control.cpp
index b3c3b2e..823bf94 100644
--- a/engines/titanic/game/fan_control.cpp
+++ b/engines/titanic/game/fan_control.cpp
@@ -32,17 +32,17 @@ BEGIN_MESSAGE_MAP(CFanControl, CGameObject)
 	ON_MESSAGE(TimerMsg)
 END_MESSAGE_MAP()
 
-CFanControl::CFanControl() : CGameObject(), _state(-1),
-		_enabled(false), _fieldC4(0), _fieldC8(false), _fieldCC(0) {
+CFanControl::CFanControl() : CGameObject(), _state(-1), _enabled(false),
+	_starlings(false), _fanOn(false), _starlingsDying(false) {
 }
 
 void CFanControl::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(1, indent);
 	file->writeNumberLine(_state, indent);
 	file->writeNumberLine(_enabled, indent);
-	file->writeNumberLine(_fieldC4, indent);
-	file->writeNumberLine(_fieldC8, indent);
-	file->writeNumberLine(_fieldCC, indent);
+	file->writeNumberLine(_starlings, indent);
+	file->writeNumberLine(_fanOn, indent);
+	file->writeNumberLine(_starlingsDying, indent);
 
 	CGameObject::save(file, indent);
 }
@@ -51,9 +51,9 @@ void CFanControl::load(SimpleFile *file) {
 	file->readNumber();
 	_state = file->readNumber();
 	_enabled = file->readNumber();
-	_fieldC4 = file->readNumber();
-	_fieldC8 = file->readNumber();
-	_fieldCC = file->readNumber();
+	_starlings = file->readNumber();
+	_fanOn = file->readNumber();
+	_starlingsDying = file->readNumber();
 
 	CGameObject::load(file);
 }
@@ -64,22 +64,23 @@ bool CFanControl::ActMsg(CActMsg *msg) {
 	else if (msg->_action == "DisableObject")
 		_enabled = false;
 	else if (msg->_action == "StarlingsDead") {
-		_fieldC4 = 0;
+		_starlings = false;
 		decTransitions();
-		_fieldCC = 0;
+		_starlingsDying = false;
 	}
 
 	return true;
 }
 
 bool CFanControl::StatusChangeMsg(CStatusChangeMsg *msg) {
-	if (!_fieldCC) {
+	if (!_starlingsDying) {
 		playSound("z#42.wav");
 		if (_enabled) {
 			switch (msg->_newStatus) {
 			case 1:
-				_fieldC8 = !_fieldC8;
-				if (_fieldC8) {
+				// Fan Power button
+				_fanOn = !_fanOn;
+				if (_fanOn) {
 					playMovie(6, 8, 0);
 					_state = 0;
 				} else {
@@ -104,7 +105,8 @@ bool CFanControl::StatusChangeMsg(CStatusChangeMsg *msg) {
 				break;
 
 			case 2:
-				if (_fieldC8) {
+				// Fan Speed button
+				if (_fanOn) {
 					_state = (_state + 1) % 4;
 					switch (_state) {
 					case 0:
@@ -115,9 +117,10 @@ bool CFanControl::StatusChangeMsg(CStatusChangeMsg *msg) {
 						playMovie(8, 12, 0);
 						break;
 					case 2:
-						if (_fieldC4) {
+						if (_starlings) {
+							// It's puret time
 							incTransitions();
-							_fieldCC = 1;
+							_starlingsDying = true;
 							playMovie(12, 18, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
 						} else {
 							playMovie(12, 18, 0);
diff --git a/engines/titanic/game/fan_control.h b/engines/titanic/game/fan_control.h
index 1f7402d..063243c 100644
--- a/engines/titanic/game/fan_control.h
+++ b/engines/titanic/game/fan_control.h
@@ -37,9 +37,9 @@ class CFanControl : public CGameObject {
 public:
 	int _state;
 	bool _enabled;
-	int _fieldC4;
-	bool _fieldC8;
-	int _fieldCC;
+	bool _starlings;
+	bool _fanOn;
+	bool _starlingsDying;
 public:
 	CLASSDEF;
 	CFanControl();
diff --git a/engines/titanic/npcs/starlings.cpp b/engines/titanic/npcs/starlings.cpp
index 7e5907f..ff1c40c 100644
--- a/engines/titanic/npcs/starlings.cpp
+++ b/engines/titanic/npcs/starlings.cpp
@@ -29,34 +29,39 @@ BEGIN_MESSAGE_MAP(CStarlings, CCharacter)
 	ON_MESSAGE(StatusChangeMsg)
 END_MESSAGE_MAP()
 
-CStarlings::CStarlings() : CCharacter(), _enabled(false) {
+bool CStarlings::_dead;
+
+CStarlings::CStarlings() : CCharacter() {
 }
 
 void CStarlings::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(1, indent);
-	file->writeNumberLine(_enabled, indent);
+	file->writeNumberLine(_dead, indent);
 
 	CCharacter::save(file, indent);
 }
 
 void CStarlings::load(SimpleFile *file) {
 	file->readNumber();
-	_enabled = file->readNumber();
+	_dead = file->readNumber();
 
 	CCharacter::load(file);
 }
 
 bool CStarlings::EnterViewMsg(CEnterViewMsg *msg) {
-	if (_enabled)
+	if (_dead)
+		// Tis but a flesh wound
 		setVisible(false);
 	else
+		// Repeatedly play the starlings flying 
 		playMovie(MOVIE_REPEAT);
 	return true;
 }
 
 bool CStarlings::StatusChangeMsg(CStatusChangeMsg *msg) {
-	_enabled = msg->_newStatus == 1;
-	setVisible(!_enabled);
+	// I'm not dead.. I'm getting better.
+	_dead = msg->_newStatus == 1;
+	setVisible(!_dead);
 	return true;
 }
 
diff --git a/engines/titanic/npcs/starlings.h b/engines/titanic/npcs/starlings.h
index 1998e64..4885777 100644
--- a/engines/titanic/npcs/starlings.h
+++ b/engines/titanic/npcs/starlings.h
@@ -32,7 +32,8 @@ class CStarlings : public CCharacter {
 	bool EnterViewMsg(CEnterViewMsg *msg);
 	bool StatusChangeMsg(CStatusChangeMsg *msg);
 private:
-	bool _enabled;
+	// This needs to be static to be shared across all starling instances
+	static bool _dead;
 public:
 	CLASSDEF;
 	CStarlings();


Commit: ba77ec28b99394540d5871f45d61e4ac432cf1b9
    https://github.com/scummvm/scummvm/commit/ba77ec28b99394540d5871f45d61e4ac432cf1b9
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-01-03T17:34:23-05:00

Commit Message:
TITANIC: Fix initial display of fan control indicator

Changed paths:
    engines/titanic/game/fan_control.cpp


diff --git a/engines/titanic/game/fan_control.cpp b/engines/titanic/game/fan_control.cpp
index 823bf94..ca66476 100644
--- a/engines/titanic/game/fan_control.cpp
+++ b/engines/titanic/game/fan_control.cpp
@@ -149,16 +149,20 @@ bool CFanControl::StatusChangeMsg(CStatusChangeMsg *msg) {
 
 bool CFanControl::EnterViewMsg(CEnterViewMsg *msg) {
 	switch (_state) {
-	case 0:
+	case -1:
+		// Fan off
 		loadFrame(6);
 		break;
-	case 1:
+	case 0:
+		// Low speed
 		loadFrame(4);
 		break;
-	case 2:
+	case 1:
+		// Medium speed
 		loadFrame(0);
 		break;
-	case 3:
+	case 2:
+		// High speed
 		loadFrame(18);
 		break;
 	default:





More information about the Scummvm-git-logs mailing list