[Scummvm-cvs-logs] SF.net SVN: scummvm: [26036] scummvm/trunk/engines/scumm/he

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Fri Mar 9 01:34:29 CET 2007


Revision: 26036
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26036&view=rev
Author:   fingolfin
Date:     2007-03-08 16:34:28 -0800 (Thu, 08 Mar 2007)

Log Message:
-----------
Some cleanup, and added some of my observation (man this code is really strange)

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/he/logic_he.cpp
    scummvm/trunk/engines/scumm/he/logic_he.h

Modified: scummvm/trunk/engines/scumm/he/logic_he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/logic_he.cpp	2007-03-09 00:29:38 UTC (rev 26035)
+++ scummvm/trunk/engines/scumm/he/logic_he.cpp	2007-03-09 00:34:28 UTC (rev 26036)
@@ -28,12 +28,22 @@
 namespace Scumm {
 
 LogicHE::LogicHE(ScummEngine_v90he *vm) : _vm(vm) {
+}
+
+LogicHE::~LogicHE() {
+}
+
+LogicHErace::LogicHErace(ScummEngine_v90he *vm) : LogicHE(vm) {
 	// Originally it used 0x930 and stored both floats and doubles inside
 	_userData = (float *)calloc(550, sizeof(float));
 	_userDataD = (double *)calloc(30, sizeof(double));
+
+	// FIXME: of the 550 entries in _userData, only 516 till 532 are used
+	// FIXME: similarly, in _userDataD only 9 till 17 are used for computations
+	//       (some of the other entries are also set, but never read, hence useless).
 }
 
-LogicHE::~LogicHE() {
+LogicHErace::~LogicHErace() {
 	free(_userData);
 	free(_userDataD);
 }
@@ -353,6 +363,7 @@
 }
 
 void LogicHErace::op_sub1(float arg) {
+	// Setup a rotation matrix
 	_userDataD[10] = _userDataD[12] = _userDataD[14] = _userDataD[16] = 0;
 	_userDataD[13] = 1;
 
@@ -363,6 +374,7 @@
 }
 
 void LogicHErace::op_sub2(float arg) {
+	// Setup a rotation matrix -- but it is NEVER USED!
 	_userDataD[20] = _userDataD[21] = _userDataD[24] = _userDataD[25] = 0;
 	_userDataD[26] = 1;
 
@@ -373,6 +385,7 @@
 }
 
 void LogicHErace::op_sub3(float arg) {
+	// Setup a rotation matrix -- but it is NEVER USED!
 	_userDataD[1] = _userDataD[2] = _userDataD[3] = _userDataD[6] = 0;
 	_userDataD[0] = 1;
 

Modified: scummvm/trunk/engines/scumm/he/logic_he.h
===================================================================
--- scummvm/trunk/engines/scumm/he/logic_he.h	2007-03-09 00:29:38 UTC (rev 26035)
+++ scummvm/trunk/engines/scumm/he/logic_he.h	2007-03-09 00:34:28 UTC (rev 26036)
@@ -31,8 +31,6 @@
 
 class LogicHE {
 public:
-	float *_userData;
-	double *_userDataD;
 	ScummEngine_v90he *_vm;
 
 	LogicHE(ScummEngine_v90he *vm);
@@ -53,8 +51,12 @@
 };
 
 class LogicHErace : public LogicHE {
+private:
+	float *_userData;
+	double *_userDataD;
 public:
-	LogicHErace(ScummEngine_v90he *vm) : LogicHE(vm) {}
+	LogicHErace(ScummEngine_v90he *vm);
+	~LogicHErace();
 
 	int versionID();
 	int32 dispatch(int op, int numArgs, int32 *args);


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