[Scummvm-cvs-logs] SF.net SVN: scummvm: [31718] scummvm/trunk/engines/made/script.cpp
john_doe at users.sourceforge.net
john_doe at users.sourceforge.net
Fri Apr 25 13:07:57 CEST 2008
Revision: 31718
http://scummvm.svn.sourceforge.net/scummvm/?rev=31718&view=rev
Author: john_doe
Date: 2008-04-25 04:07:56 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
Fixed cmd_rand and cmd_randomize and some cleanup.
Modified Paths:
--------------
scummvm/trunk/engines/made/script.cpp
Modified: scummvm/trunk/engines/made/script.cpp
===================================================================
--- scummvm/trunk/engines/made/script.cpp 2008-04-25 11:05:56 UTC (rev 31717)
+++ scummvm/trunk/engines/made/script.cpp 2008-04-25 11:07:56 UTC (rev 31718)
@@ -442,7 +442,6 @@
int16 objectIndex = _stack.top();
int16 value = _vm->_dat->getObjectProperty(objectIndex, propertyId);
debug(4, "value = %04X(%d)\n", value, value);
- //fflush(stdout); g_system->delayMillis(5000);
_stack.setTop(value);
}
@@ -451,7 +450,6 @@
int16 propertyId = _stack.pop();
int16 objectIndex = _stack.top();
value = _vm->_dat->setObjectProperty(objectIndex, propertyId, value);
- //fflush(stdout); g_system->delayMillis(5000);
_stack.setTop(value);
}
@@ -481,9 +479,9 @@
}
void ScriptInterpreter::cmd_vref() {
+ int16 value = 0;
int16 index = _stack.pop();
int16 objectIndex = _stack.top();
- int16 value = 0;
debug(4, "index = %d; objectIndex = %d\n", index, objectIndex); fflush(stdout);
if (objectIndex > 0) {
Object *obj = _vm->_dat->getObject(objectIndex);
@@ -507,9 +505,11 @@
void ScriptInterpreter::cmd_vsize() {
int16 objectIndex = _stack.top();
- if (objectIndex < 1) objectIndex = 1; // HACK
- Object *obj = _vm->_dat->getObject(objectIndex);
- int16 size = obj->getVectorSize();
+ int16 size = 0;
+ if (objectIndex > 0) {
+ Object *obj = _vm->_dat->getObject(objectIndex);
+ size = obj->getVectorSize();
+ }
_stack.setTop(size);
}
@@ -522,7 +522,6 @@
int16 funcResult = _stack.top();
_stack.setStackPos(_localStackPos);
_localStackPos = kScriptStackLimit - _stack.pop();
- //_localStackPos = _stack.pop();
_runningScriptObjectIndex = _stack.pop();
_codeBase = _vm->_dat->getObject(_runningScriptObjectIndex)->getData();
_codeIp = _codeBase + _stack.pop();
@@ -544,7 +543,6 @@
debug(4, "argc = %d; _runningScriptObjectIndex = %04X\n", argc, _runningScriptObjectIndex); fflush(stdout);
_codeBase = _vm->_dat->getObject(_runningScriptObjectIndex)->getData();
_codeIp = _codeBase;
- //_vm->_dat->dumpObject(_runningScriptObjectIndex);
}
void ScriptInterpreter::cmd_svar() {
@@ -623,11 +621,12 @@
}
void ScriptInterpreter::cmd_rand() {
- _stack.setTop(_vm->_rnd->getRandomNumber(3));
+ _stack.setTop(_vm->_rnd->getRandomNumber(_stack.top() - 1));
}
void ScriptInterpreter::cmd_randomize() {
- _stack.setTop(_vm->_rnd->getSeed());
+ _vm->_rnd->setSeed(g_system->getMillis());
+ _stack.setTop(0);
}
void ScriptInterpreter::cmd_send() {
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