From 56d5201c0ff6022ca90375f845edad1279c37799 Mon Sep 17 00:00:00 2001 From: XProger Date: Fri, 7 Oct 2016 01:14:45 +0300 Subject: [PATCH] #15 reduce executable size, fix keyboard input, turn off LOG in release config --- bin/OpenLara | Bin 109464 -> 105120 bytes src/nix/build.sh | 3 ++- src/nix/howto.txt~ | 3 --- src/nix/main.cpp | 11 ++++------- src/utils.h | 4 ++-- 5 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 src/nix/howto.txt~ diff --git a/bin/OpenLara b/bin/OpenLara index 9ab0f1381b91eade3807951163daa2c7d0cf97af..a7052438b2ca5439324e4f655a45e88054bb70b0 100755 GIT binary patch delta 33499 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 A^#A|> diff --git a/src/nix/build.sh b/src/nix/build.sh index 008a4ec..23e0c5b 100755 --- a/src/nix/build.sh +++ b/src/nix/build.sh @@ -1 +1,2 @@ -clang++ -std=c++11 -Os -s -fno-exceptions -fno-rtti main.cpp ../libs/stb_vorbis/stb_vorbis.c -I../ -o../../bin/OpenLara -lX11 -lGL -lm -lpthread -lpulse-simple -lpulse -ffunction-sections -fdata-sections -Wl,--gc-sections +clang++ -std=c++11 -Os -s -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -Wl,--gc-sections -DNDEBUG main.cpp ../libs/stb_vorbis/stb_vorbis.c -I../ -o../../bin/OpenLara -lX11 -lGL -lm -lpthread -lpulse-simple -lpulse +strip ../../bin/OpenLara --strip-all --remove-section=.comment --remove-section=.note diff --git a/src/nix/howto.txt~ b/src/nix/howto.txt~ deleted file mode 100644 index 139762a..0000000 --- a/src/nix/howto.txt~ +++ /dev/null @@ -1,3 +0,0 @@ -sudo apt-get install git g++ libx11-dev libgl1-mesa-dev libpulse-dev -git clone https://github.com/XProger/OpenLara -cd OpenLara/src/nix diff --git a/src/nix/main.cpp b/src/nix/main.cpp index ae47095..03577ef 100644 --- a/src/nix/main.cpp +++ b/src/nix/main.cpp @@ -104,6 +104,10 @@ void WndProc(const XEvent &e) { break; case KeyPress : case KeyRelease : + if (e.type == KeyPress && (e.xkey.state & Mod1Mask) && e.xkey.keycode == 36) { + // TODO: windowed <-> fullscreen switch + break; + } Input::setDown(keyToInputKey(e.xkey.keycode), e.type == KeyPress); break; case ButtonPress : @@ -111,12 +115,10 @@ void WndProc(const XEvent &e) { InputKey key = mouseToInputKey(e.xbutton.button); Input::setPos(key, Input::mouse.pos); Input::setDown(key, e.type == ButtonPress); - printf("%d\n", (int)e.xbutton.button); break; } case MotionNotify : Input::setPos(ikMouseL, vec2((float)e.xmotion.x, (float)e.xmotion.y)); - printf("mouse: %d %d\n", (int)e.xmotion.x, (int)e.xmotion.y); break; } } @@ -152,11 +154,6 @@ int main() { Atom WM_DELETE_WINDOW = XInternAtom(dpy, "WM_DELETE_WINDOW", 0); XSetWMProtocols(dpy, wnd, &WM_DELETE_WINDOW, 1); -// XGrabPointer(dpy, wnd, false, -// ButtonPressMask | ButtonReleaseMask | PointerMotionMask | ButtonMotionMask, -// GrabModeAsync, GrabModeAsync, wnd, None, CurrentTime); - XGrabKeyboard(dpy, wnd, false, 1, 1, 0); - sndInit(); Game::init(); diff --git a/src/utils.h b/src/utils.h index ac33f32..d411c7c 100644 --- a/src/utils.h +++ b/src/utils.h @@ -19,7 +19,7 @@ #else #define ASSERT(expr) - #define LOG(...) ((void)0) + #define LOG(...) // #define LOG(...) printf(__VA_ARGS__) #endif @@ -528,4 +528,4 @@ struct Stream { } }; -#endif \ No newline at end of file +#endif