[Scummvm-git-logs] scummvm master -> 8f2ecc34ee4a254f129d4743dc30150611897621

whoozle vladimir.menshakov at gmail.com
Sat Sep 26 17:48:33 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
8f2ecc34ee GUI: Add GUI::Debugger::clearVars, rename private registerVar to registerVarImpl allowing access change.


Commit: 8f2ecc34ee4a254f129d4743dc30150611897621
    https://github.com/scummvm/scummvm/commit/8f2ecc34ee4a254f129d4743dc30150611897621
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2020-09-26T18:45:06+01:00

Commit Message:
GUI: Add GUI::Debugger::clearVars, rename private registerVar to registerVarImpl allowing access change.

Changed paths:
    gui/debugger.cpp
    gui/debugger.h


diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index 895f37336d..c56a6e09c5 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -59,7 +59,7 @@ Debugger::Debugger() {
 #endif
 
 	// Register variables
-	registerVar("debug_countdown", &_frameCountdown, DVAR_INT, 0);
+	registerVarImpl("debug_countdown", &_frameCountdown, DVAR_INT, 0);
 
 	// Register commands
 	//registerCmd("continue",			WRAP_METHOD(Debugger, cmdExit));
@@ -85,6 +85,10 @@ Debugger::~Debugger() {
 #endif
 }
 
+void Debugger::clearVars() {
+	_vars.resize(1); // Keep "debug_countdown"
+}
+
 
 // Initialisation Functions
 int Debugger::getCharsPerLine() {
@@ -520,7 +524,7 @@ char *Debugger::readlineComplete(const char *input, int state) {
 #endif
 
 // Variable registration function
-void Debugger::registerVar(const Common::String &varname, void *pointer, VarType type, int arraySize) {
+void Debugger::registerVarImpl(const Common::String &varname, void *pointer, VarType type, int arraySize) {
 	// TODO: Filter out duplicates
 	// TODO: Sort this list? Then we can do binary search later on when doing lookups.
 	assert(pointer);
diff --git a/gui/debugger.h b/gui/debugger.h
index adbdfec461..c667d1cbe2 100644
--- a/gui/debugger.h
+++ b/gui/debugger.h
@@ -113,31 +113,35 @@ private:
 	 * @param type		the type of the variable (byte, int, bool, ...)
 	 * @param arraySize	for type DVAR_INTARRAY this specifies the size of the array
 	 */
-	void registerVar(const Common::String &varname, void *variable, VarType type, int arraySize);
+	void registerVarImpl(const Common::String &varname, void *variable, VarType type, int arraySize);
 
 protected:
 	void registerVar(const Common::String &varname, byte *variable) {
-		registerVar(varname, variable, DVAR_BYTE, 0);
+		registerVarImpl(varname, variable, DVAR_BYTE, 0);
 	}
 
 	void registerVar(const Common::String &varname, int *variable) {
-		registerVar(varname, variable, DVAR_INT, 0);
+		registerVarImpl(varname, variable, DVAR_INT, 0);
 	}
 
 	void registerVar(const Common::String &varname, bool *variable) {
-		registerVar(varname, variable, DVAR_BOOL, 0);
+		registerVarImpl(varname, variable, DVAR_BOOL, 0);
 	}
 
 	void registerVar(const Common::String &varname, int32 **variable, int arraySize) {
-		registerVar(varname, variable, DVAR_INTARRAY, arraySize);
+		registerVarImpl(varname, variable, DVAR_INTARRAY, arraySize);
 	}
 
 	void registerVar(const Common::String &varname, Common::String *variable) {
-		registerVar(varname, variable, DVAR_STRING, 0);
+		registerVarImpl(varname, variable, DVAR_STRING, 0);
 	}
 
 	void registerCmd(const Common::String &cmdname, Debuglet *debuglet);
 
+	/**
+	 * Remove all vars except default "debug_countdown"
+	 */
+	void clearVars();
 
 private:
 	/**




More information about the Scummvm-git-logs mailing list