aboutsummaryrefslogtreecommitdiffstats
path: root/yage
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-12-22 18:34:29 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-12-22 18:34:29 +0000
commit24253190c92c9d7ef669061670a3b7596f9ee190 (patch)
treef03d785e30a7783b5e0d5e7b669cd2997d5877ed /yage
parentb885965a6375f98d6bec63a43233461f9f42006d (diff)
downloadYAGE-24253190c92c9d7ef669061670a3b7596f9ee190.tar.gz
YAGE-24253190c92c9d7ef669061670a3b7596f9ee190.zip
Changing directories and adding input support
Diffstat (limited to 'yage')
-rw-r--r--yage/CMakeLists.txt26
-rw-r--r--yage/core/input.h142
-rw-r--r--yage/core/resourcemanager.cpp1
-rw-r--r--yage/core/resourcemanager.h3
-rw-r--r--yage/core/sprite.h3
-rw-r--r--yage/core/texturecache.cpp5
-rw-r--r--yage/core/window.cpp16
-rw-r--r--yage/physics/particlebody.h1
8 files changed, 160 insertions, 37 deletions
diff --git a/yage/CMakeLists.txt b/yage/CMakeLists.txt
index 83a6e054..b28b04f6 100644
--- a/yage/CMakeLists.txt
+++ b/yage/CMakeLists.txt
@@ -1,29 +1,3 @@
-cmake_policy(SET CMP0048 NEW)
-file(GLOB YAGE_CORE_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} core/*.cpp)
-file(GLOB YAGE_MATH_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} math/*.cpp)
-file(GLOB YAGE_PHYSICS_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} physics/*.cpp)
-file(GLOB YAGE_UTIL_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} util/*.cpp)
-file(GLOB YAGE_CURRENT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
-set(YAGE_SOURCES
- ${YAGE_CORE_SOURCES}
- ${YAGE_PHYSICS_SOURCES}
- ${YAGE_MATH_SOURCES}
- ${YAGE_UTIL_SOURCES}
- ${YAGE_CURRENT_SOURCES})
-set(${PROJECT_NAME}_DIR
- ${PROJECT_SOURCE_DIR})
-
-add_library(${PROJECT_NAME}
- ${YAGE_SOURCES})
-
-target_include_directories(${PROJECT_NAME}
- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
- ${OPENGL_INCLUDE_DIR})
-
-target_link_libraries(${PROJECT_NAME}
- ${OPENGL_gl_LIBRARY}
- glfw
- glad)
diff --git a/yage/core/input.h b/yage/core/input.h
new file mode 100644
index 00000000..3882e11c
--- /dev/null
+++ b/yage/core/input.h
@@ -0,0 +1,142 @@
+#ifndef YAGE_CORE_INPUT_H
+#define YAGE_CORE_INPUT_H
+
+#include <GLFW/glfw3.h>
+
+namespace yage
+{
+
+enum class key {
+ // unknown key
+ UNKNOWN = GLFW_KEY_UNKNOWN,
+
+ // actual keys
+ SPACE = GLFW_KEY_SPACE,
+ APOSTROPHE = GLFW_KEY_APOSTROPHE, /* ' */
+ COMMA = GLFW_KEY_COMMA, /* , */
+ MINUS = GLFW_KEY_MINUS, /* - */
+ PERIOD = GLFW_KEY_PERIOD, /* . */
+ SLASH = GLFW_KEY_SLASH, /* / */
+ NUM0 = GLFW_KEY_0,
+ NUM1 = GLFW_KEY_1,
+ NUM2 = GLFW_KEY_2,
+ NUM3 = GLFW_KEY_3,
+ NUM4 = GLFW_KEY_4,
+ NUM5 = GLFW_KEY_5,
+ NUM6 = GLFW_KEY_6,
+ NUM7 = GLFW_KEY_7,
+ NUM8 = GLFW_KEY_8,
+ NUM9 = GLFW_KEY_9,
+ SEMICOLON = GLFW_KEY_SEMICOLON, /* ; */
+ EQUAL = GLFW_KEY_EQUAL, /* = */
+ A = GLFW_KEY_A,
+ B = GLFW_KEY_B,
+ C = GLFW_KEY_C,
+ D = GLFW_KEY_D,
+ E = GLFW_KEY_E,
+ F = GLFW_KEY_F,
+ G = GLFW_KEY_G,
+ H = GLFW_KEY_H,
+ I = GLFW_KEY_I,
+ J = GLFW_KEY_J,
+ K = GLFW_KEY_K,
+ L = GLFW_KEY_L,
+ M = GLFW_KEY_M,
+ N = GLFW_KEY_N,
+ O = GLFW_KEY_O,
+ P = GLFW_KEY_P,
+ Q = GLFW_KEY_Q,
+ R = GLFW_KEY_R,
+ S = GLFW_KEY_S,
+ T = GLFW_KEY_T,
+ U = GLFW_KEY_U,
+ V = GLFW_KEY_V,
+ W = GLFW_KEY_W,
+ X = GLFW_KEY_X,
+ Y = GLFW_KEY_Y,
+ Z = GLFW_KEY_Z,
+ LEfT_BRACKET = GLFW_KEY_LEFT_BRACKET, /* [ */
+ BACKSLASH = GLFW_KEY_BACKSLASH, /* \ */
+ RIGHT_BRACKET = GLFW_KEY_RIGHT_BRACKET, /* ] */
+ GRAVE_ACCENT = GLFW_KEY_GRAVE_ACCENT, /* ` */
+ WORLD_1 = GLFW_KEY_WORLD_1, /* non-US #1 */
+ WORLD_2 = GLFW_KEY_WORLD_2, /* non-US #2 */
+
+ // function keys
+ ESCAPE = GLFW_KEY_ESCAPE,
+ ENTER = GLFW_KEY_ENTER,
+ TAB = GLFW_KEY_TAB,
+ BACKSPACE = GLFW_KEY_BACKSPACE,
+ INSERT = GLFW_KEY_INSERT,
+ DELETE = GLFW_KEY_DELETE,
+ RIGHT = GLFW_KEY_RIGHT,
+ LEFT = GLFW_KEY_LEFT,
+ DOWN = GLFW_KEY_DOWN,
+ UP = GLFW_KEY_UP,
+ PAGE_UP = GLFW_KEY_PAGE_UP,
+ PAGE_DOWN = GLFW_KEY_PAGE_DOWN,
+ HOME = GLFW_KEY_HOME,
+ END = GLFW_KEY_END,
+ CAPS_LOCK = GLFW_KEY_CAPS_LOCK,
+ SCROLL_LOCK = GLFW_KEY_SCROLL_LOCK,
+ NUM_LOCK = GLFW_KEY_NUM_LOCK,
+ PRINT_SCREEN = GLFW_KEY_PRINT_SCREEN,
+ PAUSE = GLFW_KEY_PAUSE,
+ F1 = GLFW_KEY_F1,
+ F2 = GLFW_KEY_F2,
+ F3 = GLFW_KEY_F3,
+ F4 = GLFW_KEY_F4,
+ F5 = GLFW_KEY_F5,
+ F6 = GLFW_KEY_F6,
+ F7 = GLFW_KEY_F7,
+ F8 = GLFW_KEY_F8,
+ F9 = GLFW_KEY_F9,
+ F10 = GLFW_KEY_F10,
+ F11 = GLFW_KEY_F11,
+ F12 = GLFW_KEY_F12,
+ F13 = GLFW_KEY_F13,
+ F14 = GLFW_KEY_F14,
+ F15 = GLFW_KEY_F15,
+ F16 = GLFW_KEY_F16,
+ F17 = GLFW_KEY_F17,
+ F18 = GLFW_KEY_F18,
+ F19 = GLFW_KEY_F19,
+ F20 = GLFW_KEY_F20,
+ F21 = GLFW_KEY_F21,
+ F22 = GLFW_KEY_F22,
+ F23 = GLFW_KEY_F23,
+ F24 = GLFW_KEY_F24,
+ F25 = GLFW_KEY_F25,
+ KP_0 = GLFW_KEY_KP_0,
+ KP_1 = GLFW_KEY_KP_1,
+ KP_2 = GLFW_KEY_KP_2,
+ KP_3 = GLFW_KEY_KP_3,
+ KP_4 = GLFW_KEY_KP_4,
+ KP_5 = GLFW_KEY_KP_5,
+ KP_6 = GLFW_KEY_KP_6,
+ KP_7 = GLFW_KEY_KP_7,
+ KP_8 = GLFW_KEY_KP_8,
+ KP_9 = GLFW_KEY_KP_9,
+ KP_DECIMAL = GLFW_KEY_KP_DECIMAL,
+ KP_DIVIDE = GLFW_KEY_KP_DIVIDE,
+ KP_MULTIPLY = GLFW_KEY_KP_MULTIPLY,
+ KP_SUBTRACT = GLFW_KEY_KP_SUBTRACT,
+ KP_ADD = GLFW_KEY_KP_ADD,
+ KP_ENTER = GLFW_KEY_KP_ENTER,
+ KP_EQUAL = GLFW_KEY_KP_EQUAL,
+ LEFT_SHIFT = GLFW_KEY_LEFT_SHIFT,
+ LEFT_CONTROL = GLFW_KEY_LEFT_CONTROL,
+ LEFT_ALT = GLFW_KEY_LEFT_ALT,
+ LEFT_SUPER = GLFW_KEY_LEFT_SUPER,
+ RIGHT_SHIFT = GLFW_KEY_RIGHT_SHIFT,
+ RIGHT_CONTROL = GLFW_KEY_RIGHT_CONTROL,
+ RIGHT_ALT = GLFW_KEY_RIGHT_ALT,
+ RIGHT_SUPER = GLFW_KEY_RIGHT_SUPER,
+ MENU = GLFW_KEY_MENU,
+
+ LAST = GLFW_KEY_LAST,
+};
+
+} // namepsace yage
+
+#endif
diff --git a/yage/core/resourcemanager.cpp b/yage/core/resourcemanager.cpp
index f841222b..c585a235 100644
--- a/yage/core/resourcemanager.cpp
+++ b/yage/core/resourcemanager.cpp
@@ -7,6 +7,7 @@
*/
#include "resourcemanager.h"
+#include "texture.h"
namespace yage
{
diff --git a/yage/core/resourcemanager.h b/yage/core/resourcemanager.h
index 369bf40f..a0249436 100644
--- a/yage/core/resourcemanager.h
+++ b/yage/core/resourcemanager.h
@@ -17,7 +17,6 @@
#ifndef RESOURCE_MANAGER_H
#define RESOURCE_MANAGER_H
-#include "texture.h"
#include "texturecache.h"
#include <string>
@@ -25,6 +24,8 @@
namespace yage
{
+class Texture;
+
class ResourceManager
{
private:
diff --git a/yage/core/sprite.h b/yage/core/sprite.h
index 0287fe10..35997195 100644
--- a/yage/core/sprite.h
+++ b/yage/core/sprite.h
@@ -6,9 +6,6 @@
* ----------------------------------------------------------------------------
*/
-/** @file
- */
-
#ifndef SPRITE_H
#define SPRITE_H
diff --git a/yage/core/texturecache.cpp b/yage/core/texturecache.cpp
index f9468dbb..1c61e774 100644
--- a/yage/core/texturecache.cpp
+++ b/yage/core/texturecache.cpp
@@ -6,8 +6,9 @@
* ----------------------------------------------------------------------------
*/
-#include <yage/core/imageloader.h>
-#include <yage/core/texturecache.h>
+#include "texturecache.h"
+#include "imageloader.h"
+#include "texture.h"
namespace yage
{
diff --git a/yage/core/window.cpp b/yage/core/window.cpp
index 9696f2bb..70e8d8e3 100644
--- a/yage/core/window.cpp
+++ b/yage/core/window.cpp
@@ -16,10 +16,13 @@ namespace yage
void key_callback(GLFWwindow *window, int key, int scanCode, int action,
int mods)
{
- if (key == GLFW_KEY_E && action == GLFW_PRESS) {
+ if (key == GLFW_KEY_E && (action == GLFW_REPEAT || action == GLFW_PRESS)) {
glClearColor(0.5f, 0.f, 0.f, 1.f);
+ } else if (key == GLFW_KEY_Q &&
+ (action == GLFW_REPEAT || action == GLFW_PRESS)) {
+ glClearColor(0.f, 0.f, 0.5f, 1.f);
} else {
- glClearColor(0.f, 0.5f, 0.f, 1.f);
+ glClearColor(0.f, .5f, 0.f, 1.f);
}
}
@@ -37,8 +40,9 @@ void Window::create(std::string window_name, int width, int height)
throw std::runtime_error("GLFW Initialisation failed");
}
- glfwWindowHint(GLFW_VERSION_MAJOR, 4);
- glfwWindowHint(GLFW_VERSION_MINOR, 5);
+ glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
+ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
+ glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
window_ =
glfwCreateWindow(width, height, window_name.c_str(), nullptr, nullptr);
@@ -97,6 +101,10 @@ bool Window::shouldClose()
void Window::pollEvents() const
{
glfwPollEvents();
+
+ if (glfwGetKey(window_, GLFW_KEY_W) == GLFW_PRESS) {
+ glClearColor(0.f, 0.5f, 0.5f, 1.f);
+ }
}
} // namespace yage
diff --git a/yage/physics/particlebody.h b/yage/physics/particlebody.h
index 2e7a4f88..3978da77 100644
--- a/yage/physics/particlebody.h
+++ b/yage/physics/particlebody.h
@@ -10,7 +10,6 @@
#define YAGE_PHYSICS_PARTICLE_BODY_H
#include "body.h"
-
#include <math/matrix.h>
namespace yage