]> code.bitgloo.com Git - clyne/gamedev.git/commitdiff
control saving wip, but no segfault
authorClyne Sullivan <tullivan99@gmail.com>
Sun, 3 Jul 2016 21:40:14 +0000 (17:40 -0400)
committerClyne Sullivan <tullivan99@gmail.com>
Sun, 3 Jul 2016 21:40:14 +0000 (17:40 -0400)
src/ui.cpp
src/ui_menu.cpp
xml/!town.xml

index 96443810ee0cc8c7de8eb91fcd8bc2c8bc4dcb4b..c12073070a2b43f529d73c298296309a30402eb0 100644 (file)
@@ -30,8 +30,8 @@ extern std::vector<NPC *> aipreload;
 extern bool gameRunning;
 
 
-static std::array<SDL_Keycode, 7> controlMap = {
-       SDLK_w, SDLK_s, SDLK_a, SDLK_d, SDLK_LSHIFT, SDLK_LCTRL, SDLK_e
+static std::array<SDL_Keycode, 6> controlMap = {
+       SDLK_w, SDLK_a, SDLK_d, SDLK_LSHIFT, SDLK_LCTRL, SDLK_e
 };
 
 void setControl(unsigned int index, SDL_Keycode key)
@@ -1437,7 +1437,7 @@ EXIT:
                                                                        worldSwitch(thing);
                                                        }).detach();
                                                }
-                                       } else if (SDL_KEY == controlMap[2]) {
+                                       } else if (SDL_KEY == controlMap[1]) {
                                                if (!fadeEnable) {
                                                        player->vel.x = -PLAYER_SPEED_CONSTANT;
                                                        if (std::stoi(game::getValue("Slow")) == 1)
@@ -1452,7 +1452,7 @@ EXIT:
                                                                }).detach();
                                                        }
                                                }
-                                       } else if (SDL_KEY == controlMap[3]) {
+                                       } else if (SDL_KEY == controlMap[2]) {
                                                if (!fadeEnable) {
                                                        player->vel.x = PLAYER_SPEED_CONSTANT;
                                                        if (std::stoi(game::getValue("Slow")) == 1)
@@ -1467,7 +1467,7 @@ EXIT:
                                                                }).detach();
                                                        }
                                                }
-                                       } else if (SDL_KEY == controlMap[4]) {
+                                       } else if (SDL_KEY == controlMap[3]) {
                                                if (game::canSprint) {
                                                        if (debug) {
                                                                Mix_PlayChannel(1, sanic, -1);
@@ -1476,9 +1476,9 @@ EXIT:
                                                                player->speed = 2.0f;
                                                        }
                                                }
-                                       } else if (SDL_KEY == controlMap[5]) {
+                                       } else if (SDL_KEY == controlMap[4]) {
                                                player->speed = .5;
-                                       } else if (SDL_KEY == controlMap[6]) {
+                                       } else if (SDL_KEY == controlMap[5]) {
                                                edown = true;
 
                                                // start hover counter?
@@ -1515,18 +1515,18 @@ EXIT:
                                        ui::menu::toggle();
                                        player->save();
                                        return;
-                               } else if (SDL_KEY == controlMap[2]) {
+                               } else if (SDL_KEY == controlMap[1]) {
                                        left = false;
-                               } else if (SDL_KEY == controlMap[3]) {
+                               } else if (SDL_KEY == controlMap[2]) {
                                        right = false;
-                               } else if (SDL_KEY == controlMap[4]) {
+                               } else if (SDL_KEY == controlMap[3]) {
                                        if (player->speed == 4)
                                                Mix_FadeOutChannel(1, 2000);
 
                                        player->speed = 1;
-                               } else if (SDL_KEY == controlMap[5]) {
+                               } else if (SDL_KEY == controlMap[4]) {
                                        player->speed = 1;
-                               } else if (SDL_KEY == controlMap[6]) {
+                               } else if (SDL_KEY == controlMap[5]) {
                                        edown = false;
 
                                        if (player->inv->invHover) {
index d842eceba421008444b139131c42da35095f4f21..2419ed2e8c720697ef035b066ab03c778e0ad9fd 100644 (file)
@@ -48,7 +48,7 @@ std::string sym2str(const SDL_Keycode& c)
        case SDLK_LCTRL  : s = "LCONTROL"; break;
        case SDLK_RCTRL  : s = "RCONTROL"; break;
        case SDLK_TAB    : s = "TAB"     ; break;
-       default          : s = "SHIT"    ; break;
+       default          : s += static_cast<char>(c); break;
        }
 
        return s;
@@ -61,10 +61,14 @@ void initControls(Menu *m)
        SDL_Keycode z;
 
        for (const auto &l : cfg) {
-               
                z = static_cast<SDL_Keycode>(std::stoi(l));
                setControl(i, z);
-               m->items[i++].button.text += sym2str(z);
+               std::cout<<"1\n";
+               auto fs = sym2str(z);
+               std::cout<<"2 " << i << "\n";
+               std::cout<<m->items[i].button.text<<'\n';
+               m->items[i++].button.text += fs;
+               std::cout<<"3\n";
        }
 }
 
@@ -172,17 +176,17 @@ namespace ui {
 
                        // Create the controls menu
                        controlsMenu.items.push_back(ui::menu::createButton({-450,300}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Left: ", nullptr));
-                       controlsMenu.items.back().button.func = [](){ setControlF(2, controlsMenu.items[0]); };
+                       controlsMenu.items.back().button.func = [](){ setControlF(1, controlsMenu.items[0]); };
                        controlsMenu.items.push_back(ui::menu::createButton({-450,200}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Right: ", nullptr));
-                       controlsMenu.items.back().button.func = [](){ setControlF(3, controlsMenu.items[1]); };
+                       controlsMenu.items.back().button.func = [](){ setControlF(2, controlsMenu.items[1]); };
                        controlsMenu.items.push_back(ui::menu::createButton({-450,100}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Up: ", nullptr));
                        controlsMenu.items.back().button.func = [](){ setControlF(0, controlsMenu.items[2]); };
                        controlsMenu.items.push_back(ui::menu::createButton({-450,0}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Sprint: ", nullptr));
-                       controlsMenu.items.back().button.func = [](){ setControlF(4, controlsMenu.items[3]); };
+                       controlsMenu.items.back().button.func = [](){ setControlF(3, controlsMenu.items[3]); };
                        controlsMenu.items.push_back(ui::menu::createButton({-450,-100}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Creep: ", nullptr));
-                       controlsMenu.items.back().button.func = [](){ setControlF(5, controlsMenu.items[4]); };
+                       controlsMenu.items.back().button.func = [](){ setControlF(4, controlsMenu.items[4]); };
                        controlsMenu.items.push_back(ui::menu::createButton({-450,-200}, {400, 75}, {0.0f, 0.0f, 0.0f}, "Inventory: ", nullptr));
-                       controlsMenu.items.back().button.func = [](){ setControlF(6, controlsMenu.items[5]); };
+                       controlsMenu.items.back().button.func = [](){ setControlF(5, controlsMenu.items[5]); };
                        controlsMenu.parent = &pauseMenu;
                        initControls(&controlsMenu);
                }
index a7a1270db194448111691405057a941cb37fa8d5..e3a6a202bae793584119d06b979b07be6e7a7edd 100644 (file)
@@ -4,8 +4,8 @@
     <generation type="Random" width="1600"/>
     <time>6000</time>
     <spawnx>-300</spawnx>
-    <npc name="Sanc" hasDialog="true" health="1" x="223.98889" y="74.797943" dindex="0"/>
-    <npc name="Bob" hasDialog="true" spawnx="30" health="1" x="143.87997" y="72.197983" dindex="0"/>
+    <npc name="Sanc" hasDialog="true" health="1" x="34.877903" y="70.59893" dindex="0"/>
+    <npc name="Bob" hasDialog="true" spawnx="30" health="1" x="-134.12997" y="69.999039" dindex="0"/>
     <structure type="1" spawnx="300" alive="1"/>
     <structure inside="bobshouse.xml" type="1" spawnx="10" alive="1"/>
     <chest alive="1"/>