[Scummvm-cvs-logs] SF.net SVN: scummvm:[54634] scummvm/trunk/engines/mohawk

bgk at users.sourceforge.net bgk at users.sourceforge.net
Mon Nov 29 22:00:23 CET 2010


Revision: 54634
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54634&view=rev
Author:   bgk
Date:     2010-11-29 21:00:23 +0000 (Mon, 29 Nov 2010)

Log Message:
-----------
MOHAWK: Create constants for remaining Myst resource types

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/myst.cpp
    scummvm/trunk/engines/mohawk/myst.h
    scummvm/trunk/engines/mohawk/myst_areas.h
    scummvm/trunk/engines/mohawk/myst_scripts_selenitic.cpp

Modified: scummvm/trunk/engines/mohawk/myst.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst.cpp	2010-11-29 21:00:05 UTC (rev 54633)
+++ scummvm/trunk/engines/mohawk/myst.cpp	2010-11-29 21:00:23 UTC (rev 54634)
@@ -926,52 +926,45 @@
 
 void MohawkEngine_Myst::redrawArea(uint16 var) {
 	for (uint16 i = 0; i < _resources.size(); i++)
-		if (_resources[i]->type == 8 && _resources[i]->getType8Var() == var)
+		if (_resources[i]->type == kMystConditionalImage && _resources[i]->getType8Var() == var)
 			redrawResource(static_cast<MystResourceType8 *>(_resources[i]));
 }
 
 MystResource *MohawkEngine_Myst::loadResource(Common::SeekableReadStream *rlstStream, MystResource *parent) {
 	MystResource *resource = 0;
-	uint16 type = rlstStream->readUint16LE();
+	ResourceType type = static_cast<ResourceType>(rlstStream->readUint16LE());
 
 	debugC(kDebugResource, "\tType: %d", type);
 	debugC(kDebugResource, "\tSub_Record: %d", (parent == NULL) ? 0 : 1);
 
 	switch (type) {
-	case kMystForwardResource:
-	case kMystLeftResource:
-	case kMystRightResource:
-	case kMystDownResource:
-	case kMystUpResource:
-	case 14: // TODO: kMystBackwardResource?
-		resource = new MystResource(this, rlstStream, parent);
-		break;
-	case kMystActionResource:
+	case kMystAction:
 		resource =  new MystResourceType5(this, rlstStream, parent);
 		break;
-	case kMystVideoResource:
+	case kMystVideo:
 		resource =  new MystResourceType6(this, rlstStream, parent);
 		break;
-	case kMystSwitchResource:
+	case kMystSwitch:
 		resource =  new MystResourceType7(this, rlstStream, parent);
 		break;
-	case 8:
+	case kMystConditionalImage:
 		resource =  new MystResourceType8(this, rlstStream, parent);
 		break;
-	case 10:
+	case kMystSlider:
 		resource =  new MystResourceType10(this, rlstStream, parent);
 		break;
-	case 11:
+	case kMystDragArea:
 		resource =  new MystResourceType11(this, rlstStream, parent);
 		break;
-	case 12:
+	case kMystVideoInfos:
 		resource =  new MystResourceType12(this, rlstStream, parent);
 		break;
-	case 13:
+	case kMystHoverArea:
 		resource =  new MystResourceType13(this, rlstStream, parent);
 		break;
 	default:
-		error ("Unknown/Unhandled MystResource type %d", type);
+		resource = new MystResource(this, rlstStream, parent);
+		break;
 	}
 
 	resource->type = type;

Modified: scummvm/trunk/engines/mohawk/myst.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst.h	2010-11-29 21:00:05 UTC (rev 54633)
+++ scummvm/trunk/engines/mohawk/myst.h	2010-11-29 21:00:23 UTC (rev 54634)
@@ -78,28 +78,6 @@
 
 const uint16 kMasterpieceOnly = 0xFFFF;
 
-// Myst Resource Types
-// TODO: Other types and such
-enum {
-	kMystForwardResource = 0,
-	kMystLeftResource = 1,
-	kMystRightResource = 2,
-	kMystDownResource = 3,
-	kMystUpResource = 4,
-	kMystActionResource = 5,
-	kMystVideoResource = 6,
-	kMystSwitchResource = 7
-};
-
-// Myst Resource Flags
-// TODO: Figure out other flags
-enum {
-	kMystSubimageEnableFlag = (1 << 0),
-	kMystHotspotEnableFlag  = (1 << 1),
-	kMystUnknownFlag        = (1 << 2),
-	kMystZipModeEnableFlag  = (1 << 3)
-};
-
 struct MystCondition {
 	uint16 var;
 	uint16 numStates;

Modified: scummvm/trunk/engines/mohawk/myst_areas.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst_areas.h	2010-11-29 21:00:05 UTC (rev 54633)
+++ scummvm/trunk/engines/mohawk/myst_areas.h	2010-11-29 21:00:23 UTC (rev 54634)
@@ -30,14 +30,39 @@
 
 namespace Mohawk {
 
+// Myst Resource Types
+enum ResourceType {
+	kMystForwardArea = 0,
+	kMystLeftArea = 1,
+	kMystRightArea = 2,
+	kMystDownArea = 3,
+	kMystUpArea = 4,
+	kMystAction = 5,
+	kMystVideo = 6,
+	kMystSwitch = 7,
+	kMystConditionalImage = 8,
+	kMystSlider = 10,
+	kMystDragArea = 11,
+	kMystVideoInfos = 12,
+	kMystHoverArea = 13
+};
 
+// Myst Resource Flags
+// TODO: Figure out other flags
+enum {
+	kMystSubimageEnableFlag = (1 << 0),
+	kMystHotspotEnableFlag  = (1 << 1),
+	kMystUnknownFlag        = (1 << 2),
+	kMystZipModeEnableFlag  = (1 << 3)
+};
+
 class MystResource {
 public:
 	MystResource(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
 	virtual ~MystResource();
 
 	MystResource *_parent;
-	uint16 type;
+	ResourceType type;
 
 	bool contains(Common::Point point) { return _rect.contains(point); }
 	virtual void drawDataToScreen() {}

Modified: scummvm/trunk/engines/mohawk/myst_scripts_selenitic.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_scripts_selenitic.cpp	2010-11-29 21:00:05 UTC (rev 54633)
+++ scummvm/trunk/engines/mohawk/myst_scripts_selenitic.cpp	2010-11-29 21:00:23 UTC (rev 54634)
@@ -973,7 +973,7 @@
 	debugC(kDebugScript, "Opcode %d: Sound lock init", op);
 
 	for (uint i = 0; i < _vm->_resources.size(); i++) {
-		if (_vm->_resources[i]->type == 10) {
+		if (_vm->_resources[i]->type == kMystSlider) {
 			switch (_vm->_resources[i]->getType8Var()) {
 			case 20:
 				_sound_lock_slider_1 = static_cast<MystResourceType10 *>(_vm->_resources[i]);
@@ -996,7 +996,7 @@
 				_sound_lock_slider_5->setStep(selenitic_vars[17]);
 				break;
 			}
-		} else if (_vm->_resources[i]->type == 8) {
+		} else if (_vm->_resources[i]->type == kMystConditionalImage) {
 			if (_vm->_resources[i]->getType8Var() == 28) {
 				_sound_lock_button = static_cast<MystResourceType8 *>(_vm->_resources[i]);
 			}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list