[Scummvm-cvs-logs] SF.net SVN: scummvm:[54351] scummvm/trunk/engines/sci/engine
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Thu Nov 18 23:27:56 CET 2010
Revision: 54351
http://scummvm.svn.sourceforge.net/scummvm/?rev=54351&view=rev
Author: thebluegr
Date: 2010-11-18 22:27:56 +0000 (Thu, 18 Nov 2010)
Log Message:
-----------
SCI: Added species selector functionality for SCI3
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/segment.cpp
scummvm/trunk/engines/sci/engine/segment.h
Modified: scummvm/trunk/engines/sci/engine/segment.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/segment.cpp 2010-11-18 22:26:58 UTC (rev 54350)
+++ scummvm/trunk/engines/sci/engine/segment.cpp 2010-11-18 22:27:56 UTC (rev 54351)
@@ -399,7 +399,7 @@
for (uint i = 0; i < _variables.size(); i++)
_variables[i] = make_reg(0, READ_SCI11ENDIAN_UINT16(data + (i * 2)));
} else {
- infoSelectorSci3 = make_reg(0, READ_SCI11ENDIAN_UINT16(_baseObj + 10));
+ _infoSelectorSci3 = make_reg(0, READ_SCI11ENDIAN_UINT16(_baseObj + 10));
}
}
}
@@ -581,6 +581,7 @@
}
}
+ _speciesSelectorSci3 = make_reg(0, READ_SCI11ENDIAN_UINT16(_baseObj + 4));
_superClassPosSci3 = make_reg(0, READ_SCI11ENDIAN_UINT16(_baseObj + 8));
_baseVars = propertyIds;
Modified: scummvm/trunk/engines/sci/engine/segment.h
===================================================================
--- scummvm/trunk/engines/sci/engine/segment.h 2010-11-18 22:26:58 UTC (rev 54350)
+++ scummvm/trunk/engines/sci/engine/segment.h 2010-11-18 22:27:56 UTC (rev 54351)
@@ -242,14 +242,14 @@
if (getSciVersion() <= SCI_VERSION_2_1)
return _variables[_offset];
else // SCI3
- return make_reg(0, READ_SCI11ENDIAN_UINT16(_baseObj + 4));
+ return _speciesSelectorSci3;
}
void setSpeciesSelector(reg_t value) {
if (getSciVersion() <= SCI_VERSION_2_1)
_variables[_offset] = value;
else // SCI3
- warning("TODO: setSpeciesSelector called for SCI3");
+ _speciesSelectorSci3 = value;
}
reg_t getSuperClassSelector() const {
@@ -270,14 +270,14 @@
if (getSciVersion() <= SCI_VERSION_2_1)
return _variables[_offset + 2];
else // SCI3
- return infoSelectorSci3;
+ return _infoSelectorSci3;
}
void setInfoSelector(reg_t info) {
if (getSciVersion() <= SCI_VERSION_2_1)
_variables[_offset + 2] = info;
else // SCI3
- infoSelectorSci3 = info;
+ _infoSelectorSci3 = info;
}
// No setter for the -info- selector
@@ -406,7 +406,8 @@
uint16 _offset;
reg_t _pos; /**< Object offset within its script; for clones, this is their base */
reg_t _superClassPosSci3; /**< reg_t pointing to superclass for SCI3 */
- reg_t infoSelectorSci3; /**< reg_t containing info "selector" for SCI3 */
+ reg_t _speciesSelectorSci3; /**< reg_t containing species "selector" for SCI3 */
+ reg_t _infoSelectorSci3; /**< reg_t containing info "selector" for SCI3 */
};
/** Data stack */
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