[Scummvm-cvs-logs] SF.net SVN: scummvm:[33956] residual/trunk/engine
aquadran at users.sourceforge.net
aquadran at users.sourceforge.net
Sun Aug 17 07:36:42 CEST 2008
Revision: 33956
http://scummvm.svn.sourceforge.net/scummvm/?rev=33956&view=rev
Author: aquadran
Date: 2008-08-17 05:36:41 +0000 (Sun, 17 Aug 2008)
Log Message:
-----------
added speed_engine param
Modified Paths:
--------------
residual/trunk/engine/cmd_line.cpp
residual/trunk/engine/engine.cpp
residual/trunk/engine/registry.cpp
residual/trunk/engine/registry.h
Modified: residual/trunk/engine/cmd_line.cpp
===================================================================
--- residual/trunk/engine/cmd_line.cpp 2008-08-17 02:02:22 UTC (rev 33955)
+++ residual/trunk/engine/cmd_line.cpp 2008-08-17 05:36:41 UTC (rev 33956)
@@ -84,6 +84,7 @@
" --show-fps=BOOL Set the turn on/off display FPS info: TRUE/FALSE\n"
" --gl-zbuffer=BOOL Set the turn on/off Z Buffer in OpenGL display\n"
" --soft-renderer=BOOL Set the turn on/off software 3D renderer: TRUE/FALSE\n"
+ " --engine-speed=NUM Set engine speed (default: 30)\n"
" -b, --boot-param=NUM Pass number to the boot script (boot param)\n"
" -d, --debuglevel=NUM Set debug verbosity level\n"
" --debugflags=FLAGS Enables engine specific debug flags\n"
@@ -137,6 +138,7 @@
ConfMan.registerDefault("gl_zbuffer", "TRUE");
ConfMan.registerDefault("soft_renderer", "TRUE");
ConfMan.registerDefault("fullscreen", "FALSE");
+ ConfMan.registerDefault("engine_speed", "30");
ConfMan.registerDefault("disable_sdl_parachute", false);
@@ -315,6 +317,9 @@
DO_LONG_OPTION("soft-renderer")
END_OPTION
+ DO_LONG_OPTION("engine-speed")
+ END_OPTION
+
DO_LONG_OPTION("manny-state")
END_OPTION
Modified: residual/trunk/engine/engine.cpp
===================================================================
--- residual/trunk/engine/engine.cpp 2008-08-17 02:02:22 UTC (rev 33955)
+++ residual/trunk/engine/engine.cpp 2008-08-17 05:36:41 UTC (rev 33956)
@@ -25,6 +25,7 @@
#include "common/sys.h"
#include "common/fs.h"
+#include "common/str.h"
#include "engine/engine.h"
#include "engine/scene.h"
@@ -36,6 +37,7 @@
#include "engine/backend/platform/driver.h"
#include "engine/savegame.h"
#include "engine/lipsynch.h"
+#include "engine/registry.h"
#include "engine/imuse/imuse.h"
@@ -69,7 +71,16 @@
_textSpeed = 7;
_mode = _previousMode = ENGINE_MODE_IDLE;
_flipEnable = true;
- _speedLimitMs = 33;
+ int speed = atol(g_registry->get("engine_speed", "30"));
+ if (speed == 0)
+ _speedLimitMs = 0;
+ else if (speed < 0 || speed > 100)
+ _speedLimitMs = 33;
+ else
+ _speedLimitMs = 1000 / speed;
+ char buf[20];
+ sprintf(buf, "%d", _speedLimitMs);
+ g_registry->set("engine_speed", buf);
_refreshDrawNeeded = true;
g_fslist = NULL;
g_fsdir = NULL;
@@ -452,6 +463,8 @@
if (startTime > endTime)
continue;
uint32 diffTime = endTime - startTime;
+ if (_speedLimitMs == 0)
+ continue;
if (diffTime < _speedLimitMs) {
uint32 delayTime = _speedLimitMs - diffTime;
g_driver->delayMillis(delayTime);
Modified: residual/trunk/engine/registry.cpp
===================================================================
--- residual/trunk/engine/registry.cpp 2008-08-17 02:02:22 UTC (rev 33955)
+++ residual/trunk/engine/registry.cpp 2008-08-17 05:36:41 UTC (rev 33956)
@@ -51,6 +51,7 @@
// gl_zbuffer
// soft_renderer
// fullscreen
+// engine_speed
Registry::Registry() : _dirty(true) {
_develMode = ConfMan.get("game_devel_mode");
@@ -71,6 +72,7 @@
_softRenderer = ConfMan.get("soft_renderer");
_glZbuffer = ConfMan.get("gl_zbuffer");
_fullscreen = ConfMan.get("fullscreen");
+ _engineSpeed = ConfMan.get("engine_speed");
}
const char *Registry::get(const char *key, const char *defval) const {
@@ -110,6 +112,8 @@
return _glZbuffer.c_str();
} else if (strcasecmp("fullscreen", key) == 0) {
return _fullscreen.c_str();
+ } else if (strcasecmp("engine_speed", key) == 0) {
+ return _engineSpeed.c_str();
}
return defval;
@@ -178,6 +182,9 @@
} else if (strcasecmp("fullscreen", key) == 0) {
_fullscreen = val;
return;
+ } else if (strcasecmp("engine_speed", key) == 0) {
+ _engineSpeed = val;
+ return;
}
}
@@ -203,6 +210,7 @@
ConfMan.set("soft_renderer", _softRenderer);
ConfMan.set("gl_zbuffer", _glZbuffer);
ConfMan.set("fullscreen", _fullscreen);
+ ConfMan.set("engine_speed", _engineSpeed);
ConfMan.flushToDisk();
Modified: residual/trunk/engine/registry.h
===================================================================
--- residual/trunk/engine/registry.h 2008-08-17 02:02:22 UTC (rev 33955)
+++ residual/trunk/engine/registry.h 2008-08-17 05:36:41 UTC (rev 33956)
@@ -59,6 +59,7 @@
Common::String _softRenderer;
Common::String _glZbuffer;
Common::String _fullscreen;
+ Common::String _engineSpeed;
bool _dirty;
};
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