Bläddra i källkod

Added game-light command

Thomas Buck 11 år sedan
förälder
incheckning
5af41fda25
3 ändrade filer med 36 tillägg och 5 borttagningar
  1. 1
    0
      CMakeLists.txt
  2. 33
    3
      src/Game.cpp
  3. 2
    2
      src/utils/strings.cpp

+ 1
- 0
CMakeLists.txt Visa fil

47
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -g -O0")
47
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -g -O0")
48
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -DDEBUG")
48
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -DDEBUG")
49
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -DEXPERIMENTAL")
49
 set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -DEXPERIMENTAL")
50
+# set (OpenRaider_CXX_FLAGS_DEBUG "${OpenRaider_CXX_FLAGS_DEBUG} -DMULTITEXTURE")
50
 
51
 
51
 # Flags for Releasae builds
52
 # Flags for Releasae builds
52
 set (OpenRaider_CXX_FLAGS_RELEASE "${OpenRaider_CXX_FLAGS_RELEASE} -DNDEBUG -O2")
53
 set (OpenRaider_CXX_FLAGS_RELEASE "${OpenRaider_CXX_FLAGS_RELEASE} -DNDEBUG -O2")

+ 33
- 3
src/Game.cpp Visa fil

24
 
24
 
25
 // Old Code compatibility
25
 // Old Code compatibility
26
 #define TexelScale 256.0f
26
 #define TexelScale 256.0f
27
-#define TextureLimit 24
28
-std::map<int, int> gMapTex2Bump;
29
 skeletal_model_t *gLaraModel;
27
 skeletal_model_t *gLaraModel;
28
+
29
+#ifndef EXPERIMENTAL_UNFIFIED_ROOM_GEOMETERY
30
+#define TextureLimit 24
31
+#endif
32
+
33
+#ifdef EXPERIMENTAL
30
 std::vector<unsigned int> gColorTextureHACK;
34
 std::vector<unsigned int> gColorTextureHACK;
35
+#endif
36
+
37
+#ifdef MULTITEXTURE
38
+std::map<int, int> gMapTex2Bump;
39
+#endif
31
 
40
 
32
 Game::Game() {
41
 Game::Game() {
33
     mLoaded = false;
42
     mLoaded = false;
314
             getConsole().print("  sound INT");
323
             getConsole().print("  sound INT");
315
             getConsole().print("  mode MODE");
324
             getConsole().print("  mode MODE");
316
             getConsole().print("  animate [BOOL|n|p]");
325
             getConsole().print("  animate [BOOL|n|p]");
326
+            getConsole().print("  light BOOL");
317
         } else if (strcmp(args->at(1), "sound") == 0) {
327
         } else if (strcmp(args->at(1), "sound") == 0) {
318
             getConsole().print("game-sound-command Usage:");
328
             getConsole().print("game-sound-command Usage:");
319
             getConsole().print("  game sound INT");
329
             getConsole().print("  game sound INT");
345
             getConsole().print("No help available for game %s.", args->at(1));
355
             getConsole().print("No help available for game %s.", args->at(1));
346
             return -14;
356
             return -14;
347
         }
357
         }
358
+    } else if (strcmp(cmd, "light") == 0) {
359
+        if (args->size() >= 2) {
360
+            bool b;
361
+            if (readBool(args->at(1), &b) < 0) {
362
+                getConsole().print("Pass BOOL to light command!");
363
+                return -15;
364
+            }
365
+            if (b)
366
+                mRender->setFlags(Render::fGL_Lights);
367
+            else
368
+                mRender->clearFlags(Render::fGL_Lights);
369
+            getConsole().print("GL-Lights are now %s", b ? "on" : "off");
370
+        } else {
371
+            getConsole().print("Invalid use of game-light-command!");
372
+            return -16;
373
+        }
348
     } else {
374
     } else {
349
         getConsole().print("Invalid use of game-command (%s)!", cmd);
375
         getConsole().print("Invalid use of game-command (%s)!", cmd);
350
-        return -15;
376
+        return -17;
351
     }
377
     }
352
 
378
 
353
     return 0;
379
     return 0;
418
         // Overwrite any previous level textures on load
444
         // Overwrite any previous level textures on load
419
         mRender->loadTexture(image, 256, 256, mTextureLevelOffset + i);
445
         mRender->loadTexture(image, 256, 256, mTextureLevelOffset + i);
420
 
446
 
447
+#ifdef MULTITEXTURE
421
         gMapTex2Bump[mTextureLevelOffset + i] = -1;
448
         gMapTex2Bump[mTextureLevelOffset + i] = -1;
449
+#endif
422
 
450
 
423
         if (bumpmap)
451
         if (bumpmap)
424
         {
452
         {
453
+#ifdef MULTITEXTURE
425
             gMapTex2Bump[mTextureLevelOffset + i] = mTextureLevelOffset + i +
454
             gMapTex2Bump[mTextureLevelOffset + i] = mTextureLevelOffset + i +
426
                     mTombRaider.NumTextures();
455
                     mTombRaider.NumTextures();
456
+#endif
427
             mRender->loadTexture(bumpmap, 256, 256, mTextureLevelOffset + i +
457
             mRender->loadTexture(bumpmap, 256, 256, mTextureLevelOffset + i +
428
                     mTombRaider.NumTextures());
458
                     mTombRaider.NumTextures());
429
         }
459
         }

+ 2
- 2
src/utils/strings.cpp Visa fil

59
 }
59
 }
60
 
60
 
61
 int readBool(const char *value, bool *var) {
61
 int readBool(const char *value, bool *var) {
62
-    if ((strcmp(value, "1") == 0) || (strcmp(value, "true") == 0) || (strcmp(value, "TRUE") == 0)) {
62
+    if ((strcmp(value, "1") == 0) || (strcmp(value, "true") == 0) || (strcmp(value, "on") == 0)) {
63
         *var = true;
63
         *var = true;
64
-    } else if ((strcmp(value, "0") == 0) || (strcmp(value, "false") == 0) || (strcmp(value, "FALSE") == 0)) {
64
+    } else if ((strcmp(value, "0") == 0) || (strcmp(value, "false") == 0) || (strcmp(value, "off") == 0)) {
65
         *var = false;
65
         *var = false;
66
     } else {
66
     } else {
67
         return -1;
67
         return -1;

Laddar…
Avbryt
Spara