diff --git a/CMakeLists.txt b/CMakeLists.txt index aa81883..7f223d2 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CMAKE_CXX_FLAGS "-Wno-c++11-narrowing -Wno-narrowing -Wno-invalid-source-encoding -Wno-reserved-user-defined-literal") endif() -# ## Config options ### -include(CMakeDependentOption) include(cmake/EnumOption.cmake) if(EMSCRIPTEN) diff --git a/data/images/gui/gui.png b/data/images/gui/gui.png index 0ae80b9..db8f7bd 100755 Binary files a/data/images/gui/gui.png and b/data/images/gui/gui.png differ diff --git a/src/client/gui/screens/ConsoleScreen.cpp b/src/client/gui/screens/ConsoleScreen.cpp index b3d45d3..939cb74 100644 --- a/src/client/gui/screens/ConsoleScreen.cpp +++ b/src/client/gui/screens/ConsoleScreen.cpp @@ -216,8 +216,5 @@ void ConsoleScreen::render(int /*xm*/, int /*ym*/, float /*a*/) displayed += '_'; // Placeholder hint when empty - if (_input.empty() && (_cursorBlink / 10) % 2 != 0) - font->drawShadow("Type a message or /command", (float)(boxX0 + 2), (float)(boxY + 2), 0xff606060); - else - font->drawShadow(displayed, (float)(boxX0 + 2), (float)(boxY + 2), 0xffffffff); + font->drawShadow(displayed, (float)(boxX0 + 2), (float)(boxY + 2), 0xffffffff); } diff --git a/src/client/gui/screens/ScreenChooser.cpp b/src/client/gui/screens/ScreenChooser.cpp index 2591f5b..9f45e3c 100755 --- a/src/client/gui/screens/ScreenChooser.cpp +++ b/src/client/gui/screens/ScreenChooser.cpp @@ -4,6 +4,7 @@ #include "JoinGameScreen.h" #include "PauseScreen.h" #include "RenameMPLevelScreen.h" +#include "ConsoleScreen.h" #include "IngameBlockSelectionScreen.h" #include "JoinByIPScreen.h" #include "touch/TouchStartMenuScreen.h" @@ -19,6 +20,7 @@ Screen* ScreenChooser::createScreen( ScreenId id ) { Screen* screen = NULL; + // :sob: if (_mc->useTouchscreen()) { switch (id) { case SCREEN_STARTMENU: screen = new Touch::StartMenuScreen(); break; @@ -28,6 +30,7 @@ Screen* ScreenChooser::createScreen( ScreenId id ) case SCREEN_PAUSEPREV: screen = new PauseScreen(true); break; case SCREEN_BLOCKSELECTION: screen = new Touch::IngameBlockSelectionScreen(); break; case SCREEN_JOINBYIP: screen = new JoinByIPScreen(); break; + case SCREEN_CONSOLE: screen = new ConsoleScreen(); break; case SCREEN_NONE: default: // Do nothing @@ -42,7 +45,7 @@ Screen* ScreenChooser::createScreen( ScreenId id ) case SCREEN_PAUSEPREV: screen = new PauseScreen(true); break; case SCREEN_BLOCKSELECTION: screen = new IngameBlockSelectionScreen(); break; case SCREEN_JOINBYIP: screen = new JoinByIPScreen(); break; - + case SCREEN_CONSOLE: screen = new ConsoleScreen(); break; case SCREEN_NONE: default: // Do nothing diff --git a/src/client/gui/screens/ScreenChooser.h b/src/client/gui/screens/ScreenChooser.h index e63fe99..21d19e5 100755 --- a/src/client/gui/screens/ScreenChooser.h +++ b/src/client/gui/screens/ScreenChooser.h @@ -9,7 +9,8 @@ enum ScreenId { SCREEN_PAUSEPREV, SCREEN_SELECTWORLD, SCREEN_BLOCKSELECTION, - SCREEN_JOINBYIP + SCREEN_JOINBYIP, + SCREEN_CONSOLE }; class Screen; diff --git a/src/client/player/input/touchscreen/TouchInputHolder.h b/src/client/player/input/touchscreen/TouchInputHolder.h index d2d238d..afda575 100755 --- a/src/client/player/input/touchscreen/TouchInputHolder.h +++ b/src/client/player/input/touchscreen/TouchInputHolder.h @@ -426,9 +426,7 @@ public: virtual void onConfigChanged(const Config& c) { _move.onConfigChanged(c); _turnBuild.moveArea = _move.getRectangleArea(); -#ifdef __APPLE__ _turnBuild.pauseArea = _move.getPauseRectangleArea(); -#endif _turnBuild.inventoryArea = _mc->gui.getRectangleArea( _mc->options.getBooleanValue(OPTIONS_IS_LEFT_HANDED)? 1 : -1 ); _turnBuild.setSensitivity(c.options->getBooleanValue(OPTIONS_IS_JOY_TOUCH_AREA)? 1.8f : 1.0f); ((ITurnInput*)&_turnBuild)->onConfigChanged(c); diff --git a/src/client/player/input/touchscreen/TouchscreenInput.cpp b/src/client/player/input/touchscreen/TouchscreenInput.cpp index bf9fb46..41474f3 100755 --- a/src/client/player/input/touchscreen/TouchscreenInput.cpp +++ b/src/client/player/input/touchscreen/TouchscreenInput.cpp @@ -9,7 +9,10 @@ #include "../../../../platform/log.h" #include "../../../renderer/Textures.h" #include "../../../sound/SoundEngine.h" +#include "client/gui/screens/ScreenChooser.h" + +// ARGHHHHHH WHY NOT FUCKING ENUM static const int AREA_DPAD_FIRST = 100; static const int AREA_DPAD_N = 100; static const int AREA_DPAD_S = 101; @@ -17,6 +20,7 @@ static const int AREA_DPAD_W = 102; static const int AREA_DPAD_E = 103; static const int AREA_DPAD_C = 104; static const int AREA_PAUSE = 105; +static const int AREA_CHAT = 106; static int cPressed = 0; static int cReleased = 0; @@ -158,14 +162,11 @@ void TouchscreenInput_TestFps::onConfigChanged(const Config& c) { xx = BaseX + 2 * Bw; yy = BaseY + Bh; _model.addArea(AREA_DPAD_E, aRight = new RectangleArea(xx, yy, xx+Bw, yy+Bh)); -#ifdef __APPLE__ float maxPixels = _minecraft->pixelCalc.millimetersToPixels(10); - float btnSize = Mth::Min(18 * Gui::GuiScale, maxPixels); - _model.addArea(AREA_PAUSE, aPause = new RectangleArea(w - 4 - btnSize, - 4, - w - 4, - 4 + btnSize)); -#endif /* __APPLE__ */ + // float btnSize = Mth::Min(18 * Gui::GuiScale, maxPixels); + float btnSize = pc.millimetersToPixels(50); + _model.addArea(AREA_PAUSE, aPause = new RectangleArea(w - 4 - btnSize, 4, w - 4, 4 + btnSize)); + _model.addArea(AREA_CHAT, aChat = new RectangleArea(w - 8 - btnSize * 2, 4, w - 8 - btnSize, 4 + btnSize)); //rebuild(); } @@ -309,14 +310,19 @@ void TouchscreenInput_TestFps::tick( Player* player ) setButton = true; xa -= 1; } -#ifdef __APPLE__ else if (areaId == AREA_PAUSE) { if (Multitouch::isReleased(p)) { _minecraft->soundEngine->playUI("random.click", 1, 1); _minecraft->screenChooser.setScreen(SCREEN_PAUSE); } } -#endif /*__APPLE__*/ + else if (areaId == AREA_CHAT) { + if (Multitouch::isReleased(p)) { + _minecraft->soundEngine->playUI("random.click", 1, 1); + _minecraft->screenChooser.setScreen(SCREEN_CONSOLE); + } + } + _buttons[areaId - AREA_DPAD_FIRST] = setButton; } @@ -499,15 +505,14 @@ void TouchscreenInput_TestFps::rebuild() { drawRectangleArea(t, aJump, imageU + imageSize * 4, imageV, (float)imageSize); } - -#ifdef __APPLE__ if (!_minecraft->screen) { - if (isButtonDown(AREA_PAUSE)) t.colorABGR(cPressedPause); - else t.colorABGR(cReleasedPause); + t.colorABGR(0xFFFFFFFF); + // if (isButtonDown(AREA_PAUSE)) t.colorABGR(cPressedPause); + // else t.colorABGR(cReleasedPause); drawRectangleArea(t, aPause, 200, 64, 18.0f); + drawRectangleArea(t, aChat, 200, 82, 18.0f); } -#endif /*__APPLE__*/ //t.end(true, _bufferId); //return; diff --git a/src/client/player/input/touchscreen/TouchscreenInput.h b/src/client/player/input/touchscreen/TouchscreenInput.h index 19cfa1a..515f0d8 100755 --- a/src/client/player/input/touchscreen/TouchscreenInput.h +++ b/src/client/player/input/touchscreen/TouchscreenInput.h @@ -61,6 +61,7 @@ private: RectangleArea* aUp; RectangleArea* aDown; RectangleArea* aPause; + RectangleArea* aChat; //RectangleArea* aUpJump; RectangleArea* aJump; RectangleArea* aUpLeft;