浏览代码

More set commands implemented

Thomas Buck 11 年前
父节点
当前提交
73135ebc12
共有 3 个文件被更改,包括 30 次插入6 次删除
  1. 2
    0
      include/utils/strings.h
  2. 16
    6
      src/OpenRaider.cpp
  3. 12
    0
      src/utils/strings.cpp

+ 2
- 0
include/utils/strings.h 查看文件

14
 
14
 
15
 void printStringVector(std::vector<char *> *args);
15
 void printStringVector(std::vector<char *> *args);
16
 
16
 
17
+int readBool(const char *value, bool *var);
18
+
17
 /*!
19
 /*!
18
  * \brief Check if a string ends with another string.
20
  * \brief Check if a string ends with another string.
19
  * \param str string to check
21
  * \param str string to check

+ 16
- 6
src/OpenRaider.cpp 查看文件

128
         }
128
         }
129
         mWindow->setSize(w, h);
129
         mWindow->setSize(w, h);
130
     } else if (strcmp(var, "fullscreen") == 0) {
130
     } else if (strcmp(var, "fullscreen") == 0) {
131
-
131
+        bool fullscreen = false;
132
+        if (readBool(value, &fullscreen) != 0) {
133
+            printf("set-fullscreen-Error: Invalid value (%s)\n", value);
134
+            return -3;
135
+        }
136
+        mWindow->setFullscreen(fullscreen);
132
     } else if (strcmp(var, "gldriver") == 0) {
137
     } else if (strcmp(var, "gldriver") == 0) {
133
-
138
+        mWindow->setDriver(value);
134
     } else if (strcmp(var, "audio") == 0) {
139
     } else if (strcmp(var, "audio") == 0) {
135
-
140
+        bool audio = false;
141
+        if (readBool(value, &audio) != 0) {
142
+            printf("set-audio-Error: Invalid value (%s)\n", value);
143
+            return -4;
144
+        }
145
+        // TODO enable audio
136
     } else if (strcmp(var, "volume") == 0) {
146
     } else if (strcmp(var, "volume") == 0) {
137
-
147
+        // TODO set volume
138
     } else if (strcmp(var, "mouse_x") == 0) {
148
     } else if (strcmp(var, "mouse_x") == 0) {
139
-
149
+        // TODO set
140
     } else if (strcmp(var, "mouse_y") == 0) {
150
     } else if (strcmp(var, "mouse_y") == 0) {
141
-
151
+        // TODO set
142
     } else if (strcmp(var, "basedir") == 0) {
152
     } else if (strcmp(var, "basedir") == 0) {
143
 
153
 
144
     } else if (strcmp(var, "pakdir") == 0) {
154
     } else if (strcmp(var, "pakdir") == 0) {

+ 12
- 0
src/utils/strings.cpp 查看文件

27
     printf(")");
27
     printf(")");
28
 }
28
 }
29
 
29
 
30
+int readBool(const char *value, bool *var) {
31
+    if ((strcmp(value, "1") == 0) || (strcmp(value, "true") == 0) || (strcmp(value, "TRUE") == 0)) {
32
+        *var = true;
33
+    } else if ((strcmp(value, "0") == 0) || (strcmp(value, "false") == 0) || (strcmp(value, "FALSE") == 0)) {
34
+        *var = false;
35
+    } else {
36
+        return -1;
37
+    }
38
+
39
+    return 0;
40
+}
41
+
30
 bool stringEndsWith(const char *str, const char *suffix) {
42
 bool stringEndsWith(const char *str, const char *suffix) {
31
     assert(str != NULL);
43
     assert(str != NULL);
32
     assert(suffix != NULL);
44
     assert(suffix != NULL);

正在加载...
取消
保存