[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