ref: 135035bb1a11fed0d36d94dfd7baf0e0541e76e0
parent: daf5d3cc7ee8e5f96276678e0ec62d12b2132eff
author: Clownacy <Clownacy@users.noreply.github.com>
date: Sat Apr 4 16:31:27 EDT 2020
Change 'PlatformBackend' namespace to 'Backend'
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -168,7 +168,7 @@
"src/WindowsWrapper.h"
"src/Backends/Audio.h"
"src/Backends/Controller.h"
- "src/Backends/Platform.h"
+ "src/Backends/Misc.h"
"src/Backends/Rendering.h"
)
@@ -337,14 +337,14 @@
target_sources(CSE2 PRIVATE
"src/Backends/SDL2/Controller.cpp"
"src/Backends/SDL2/Controller.h"
- "src/Backends/SDL2/Platform.cpp"
- "src/Backends/SDL2/Platform.h"
+ "src/Backends/SDL2/Misc.cpp"
+ "src/Backends/SDL2/Misc.h"
)
elseif(BACKEND_PLATFORM MATCHES "GLFW3")
target_sources(CSE2 PRIVATE
"src/Backends/GLFW3/Controller.cpp"
- "src/Backends/GLFW3/Platform.cpp"
- "src/Backends/GLFW3/Platform.h"
+ "src/Backends/GLFW3/Misc.cpp"
+ "src/Backends/GLFW3/Misc.h"
)
endif()
--- /dev/null
+++ b/src/Backends/GLFW3/Misc.cpp
@@ -1,0 +1,294 @@
+#include "../Misc.h"
+#include "Misc.h"
+
+#include <chrono>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <thread>
+
+#include <GLFW/glfw3.h>
+
+#include "../../WindowsWrapper.h"
+
+#include "../Rendering.h"
+#include "../../Main.h"
+#include "../../Organya.h"
+#include "../../Profile.h"
+#include "../../Resource.h"
+
+#define DO_KEY(GLFW_KEY, BACKEND_KEY) \
+ case GLFW_KEY: \
+ backend_keyboard_state[BACKEND_KEY] = action == GLFW_PRESS; \
+ break;
+
+GLFWwindow *window;
+
+BOOL bActive = TRUE;
+BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+
+static GLFWcursor* cursor;
+
+static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
+{
+ (void)window;
+ (void)scancode;
+ (void)mods;
+
+ switch (action)
+ {
+ case GLFW_RELEASE:
+ case GLFW_PRESS:
+ switch (key)
+ {
+ DO_KEY(GLFW_KEY_A, BACKEND_KEYBOARD_A)
+ DO_KEY(GLFW_KEY_B, BACKEND_KEYBOARD_B)
+ DO_KEY(GLFW_KEY_C, BACKEND_KEYBOARD_C)
+ DO_KEY(GLFW_KEY_D, BACKEND_KEYBOARD_D)
+ DO_KEY(GLFW_KEY_E, BACKEND_KEYBOARD_E)
+ DO_KEY(GLFW_KEY_F, BACKEND_KEYBOARD_F)
+ DO_KEY(GLFW_KEY_G, BACKEND_KEYBOARD_G)
+ DO_KEY(GLFW_KEY_H, BACKEND_KEYBOARD_H)
+ DO_KEY(GLFW_KEY_I, BACKEND_KEYBOARD_I)
+ DO_KEY(GLFW_KEY_J, BACKEND_KEYBOARD_J)
+ DO_KEY(GLFW_KEY_K, BACKEND_KEYBOARD_K)
+ DO_KEY(GLFW_KEY_L, BACKEND_KEYBOARD_L)
+ DO_KEY(GLFW_KEY_M, BACKEND_KEYBOARD_M)
+ DO_KEY(GLFW_KEY_N, BACKEND_KEYBOARD_N)
+ DO_KEY(GLFW_KEY_O, BACKEND_KEYBOARD_O)
+ DO_KEY(GLFW_KEY_P, BACKEND_KEYBOARD_P)
+ DO_KEY(GLFW_KEY_Q, BACKEND_KEYBOARD_Q)
+ DO_KEY(GLFW_KEY_R, BACKEND_KEYBOARD_R)
+ DO_KEY(GLFW_KEY_S, BACKEND_KEYBOARD_S)
+ DO_KEY(GLFW_KEY_T, BACKEND_KEYBOARD_T)
+ DO_KEY(GLFW_KEY_U, BACKEND_KEYBOARD_U)
+ DO_KEY(GLFW_KEY_V, BACKEND_KEYBOARD_V)
+ DO_KEY(GLFW_KEY_W, BACKEND_KEYBOARD_W)
+ DO_KEY(GLFW_KEY_X, BACKEND_KEYBOARD_X)
+ DO_KEY(GLFW_KEY_Y, BACKEND_KEYBOARD_Y)
+ DO_KEY(GLFW_KEY_Z, BACKEND_KEYBOARD_Z)
+ DO_KEY(GLFW_KEY_0, BACKEND_KEYBOARD_0)
+ DO_KEY(GLFW_KEY_1, BACKEND_KEYBOARD_1)
+ DO_KEY(GLFW_KEY_2, BACKEND_KEYBOARD_2)
+ DO_KEY(GLFW_KEY_3, BACKEND_KEYBOARD_3)
+ DO_KEY(GLFW_KEY_4, BACKEND_KEYBOARD_4)
+ DO_KEY(GLFW_KEY_5, BACKEND_KEYBOARD_5)
+ DO_KEY(GLFW_KEY_6, BACKEND_KEYBOARD_6)
+ DO_KEY(GLFW_KEY_7, BACKEND_KEYBOARD_7)
+ DO_KEY(GLFW_KEY_8, BACKEND_KEYBOARD_8)
+ DO_KEY(GLFW_KEY_9, BACKEND_KEYBOARD_9)
+ DO_KEY(GLFW_KEY_F1, BACKEND_KEYBOARD_F1)
+ DO_KEY(GLFW_KEY_F2, BACKEND_KEYBOARD_F2)
+ DO_KEY(GLFW_KEY_F3, BACKEND_KEYBOARD_F3)
+ DO_KEY(GLFW_KEY_F4, BACKEND_KEYBOARD_F4)
+ DO_KEY(GLFW_KEY_F5, BACKEND_KEYBOARD_F5)
+ DO_KEY(GLFW_KEY_F6, BACKEND_KEYBOARD_F6)
+ DO_KEY(GLFW_KEY_F7, BACKEND_KEYBOARD_F7)
+ DO_KEY(GLFW_KEY_F8, BACKEND_KEYBOARD_F8)
+ DO_KEY(GLFW_KEY_F9, BACKEND_KEYBOARD_F9)
+ DO_KEY(GLFW_KEY_F10, BACKEND_KEYBOARD_F10)
+ DO_KEY(GLFW_KEY_F11, BACKEND_KEYBOARD_F11)
+ DO_KEY(GLFW_KEY_F12, BACKEND_KEYBOARD_F12)
+ DO_KEY(GLFW_KEY_UP, BACKEND_KEYBOARD_UP)
+ DO_KEY(GLFW_KEY_DOWN, BACKEND_KEYBOARD_DOWN)
+ DO_KEY(GLFW_KEY_LEFT, BACKEND_KEYBOARD_LEFT)
+ DO_KEY(GLFW_KEY_RIGHT, BACKEND_KEYBOARD_RIGHT)
+ DO_KEY(GLFW_KEY_ESCAPE, BACKEND_KEYBOARD_ESCAPE)
+ DO_KEY(GLFW_KEY_GRAVE_ACCENT, BACKEND_KEYBOARD_BACK_QUOTE)
+ DO_KEY(GLFW_KEY_TAB, BACKEND_KEYBOARD_TAB)
+ DO_KEY(GLFW_KEY_CAPS_LOCK, BACKEND_KEYBOARD_CAPS_LOCK)
+ DO_KEY(GLFW_KEY_LEFT_SHIFT, BACKEND_KEYBOARD_LEFT_SHIFT)
+ DO_KEY(GLFW_KEY_LEFT_CONTROL, BACKEND_KEYBOARD_LEFT_CTRL)
+ DO_KEY(GLFW_KEY_LEFT_ALT, BACKEND_KEYBOARD_LEFT_ALT)
+ DO_KEY(GLFW_KEY_SPACE, BACKEND_KEYBOARD_SPACE)
+ DO_KEY(GLFW_KEY_RIGHT_ALT, BACKEND_KEYBOARD_RIGHT_ALT)
+ DO_KEY(GLFW_KEY_RIGHT_CONTROL, BACKEND_KEYBOARD_RIGHT_CTRL)
+ DO_KEY(GLFW_KEY_RIGHT_SHIFT, BACKEND_KEYBOARD_RIGHT_SHIFT)
+ DO_KEY(GLFW_KEY_ENTER, BACKEND_KEYBOARD_ENTER)
+ DO_KEY(GLFW_KEY_BACKSPACE, BACKEND_KEYBOARD_BACKSPACE)
+ DO_KEY(GLFW_KEY_MINUS, BACKEND_KEYBOARD_MINUS)
+ DO_KEY(GLFW_KEY_EQUAL, BACKEND_KEYBOARD_EQUALS)
+ DO_KEY(GLFW_KEY_LEFT_BRACKET, BACKEND_KEYBOARD_LEFT_BRACKET)
+ DO_KEY(GLFW_KEY_RIGHT_BRACKET, BACKEND_KEYBOARD_RIGHT_BRACKET)
+ DO_KEY(GLFW_KEY_BACKSLASH, BACKEND_KEYBOARD_BACK_SLASH)
+ DO_KEY(GLFW_KEY_SEMICOLON, BACKEND_KEYBOARD_SEMICOLON)
+ DO_KEY(GLFW_KEY_APOSTROPHE, BACKEND_KEYBOARD_APOSTROPHE)
+ DO_KEY(GLFW_KEY_COMMA, BACKEND_KEYBOARD_COMMA)
+ DO_KEY(GLFW_KEY_PERIOD, BACKEND_KEYBOARD_PERIOD)
+ DO_KEY(GLFW_KEY_SLASH, BACKEND_KEYBOARD_FORWARD_SLASH)
+
+ default:
+ break;
+ }
+
+ break;
+ }
+}
+
+static void WindowFocusCallback(GLFWwindow *window, int focused)
+{
+ (void)window;
+
+ if (focused)
+ ActiveWindow();
+ else
+ InactiveWindow();
+}
+
+static void WindowSizeCallback(GLFWwindow *window, int width, int height)
+{
+ (void)window;
+
+ RenderBackend_HandleWindowResize(width, height);
+}
+
+static void DragAndDropCallback(GLFWwindow *window, int count, const char **paths)
+{
+ (void)window;
+ (void)count;
+
+ LoadProfile(paths[0]);
+}
+
+void Backend_Init(void)
+{
+ glfwInit();
+}
+
+void Backend_Deinit(void)
+{
+ if (cursor != NULL)
+ glfwDestroyCursor(cursor);
+
+ glfwTerminate();
+}
+
+void Backend_PostWindowCreation(void)
+{
+ // Hook callbacks
+ glfwSetKeyCallback(window, KeyCallback);
+ glfwSetWindowFocusCallback(window, WindowFocusCallback);
+ glfwSetWindowSizeCallback(window, WindowSizeCallback);
+}
+
+BOOL Backend_GetBasePath(char *string_buffer)
+{
+ (void)string_buffer;
+
+ // GLFW3 doesn't seem to have a mechanism for this
+ return FALSE;
+}
+
+void Backend_HideMouse(void)
+{
+ glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
+}
+
+void Backend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
+{
+ // Convert to RGBA, since that's the only think GLFW3 accepts
+ unsigned char *rgba_pixels = (unsigned char*)malloc(width * height * 4);
+
+ const unsigned char *rgb_pointer = rgb_pixels;
+ unsigned char *rgba_pointer = rgba_pixels;
+
+ if (rgba_pixels != NULL)
+ {
+ for (unsigned int y = 0; y < height; ++y)
+ {
+ for (unsigned int x = 0; x < width; ++x)
+ {
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = 0xFF;
+ }
+ }
+
+ GLFWimage glfw_image = {(int)width, (int)height, rgba_pixels};
+ glfwSetWindowIcon(window, 1, &glfw_image);
+
+ free(rgba_pixels);
+ }
+}
+
+void Backend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
+{
+ // Convert to RGBA, since that's the only think GLFW3 accepts
+ unsigned char *rgba_pixels = (unsigned char*)malloc(width * height * 4);
+
+ const unsigned char *rgb_pointer = rgb_pixels;
+ unsigned char *rgba_pointer = rgba_pixels;
+
+ if (rgba_pixels != NULL)
+ {
+ for (unsigned int y = 0; y < height; ++y)
+ {
+ for (unsigned int x = 0; x < width; ++x)
+ {
+ if (rgb_pointer[0] == 0xFF && rgb_pointer[1] == 0 && rgb_pointer[2] == 0xFF) // Colour-key
+ {
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = 0;
+ }
+ else
+ {
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = *rgb_pointer++;
+ *rgba_pointer++ = 0xFF;
+ }
+ }
+ }
+
+ GLFWimage glfw_image = {(int)width, (int)height, rgba_pixels};
+ cursor = glfwCreateCursor(&glfw_image, 0, 0);
+ glfwSetCursor(window, cursor);
+
+ free(rgba_pixels);
+ }
+}
+
+void PlaybackBackend_EnableDragAndDrop(void)
+{
+ glfwSetDropCallback(window, DragAndDropCallback);
+}
+
+BOOL Backend_SystemTask(void)
+{
+ if (glfwWindowShouldClose(window))
+ {
+ StopOrganyaMusic();
+ return FALSE;
+ }
+
+ memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
+
+ glfwPollEvents();
+
+ while (!bActive)
+ glfwWaitEvents();
+
+ return TRUE;
+}
+
+void Backend_ShowMessageBox(const char *title, const char *message)
+{
+ // GLFW3 doesn't have a message box
+ printf("ShowMessageBox - '%s' - '%s'\n", title, message);
+}
+
+unsigned long Backend_GetTicks(void)
+{
+ return (unsigned long)(glfwGetTime() * 1000.0);
+}
+
+void Backend_Delay(unsigned int ticks)
+{
+ // GLFW3 doesn't have a delay function, so here's some butt-ugly C++11
+ std::this_thread::sleep_for(std::chrono::milliseconds(ticks));
+}
--- /dev/null
+++ b/src/Backends/GLFW3/Misc.h
@@ -1,0 +1,7 @@
+#pragma once
+
+#define GLFW_INCLUDE_NONE
+#include <GLFW/glfw3.h>
+#undef GLFW_INCLUDE_NONE
+
+extern GLFWwindow *window;
--- a/src/Backends/GLFW3/Platform.cpp
+++ /dev/null
@@ -1,294 +1,0 @@
-#include "../Platform.h"
-#include "Platform.h"
-
-#include <chrono>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <thread>
-
-#include <GLFW/glfw3.h>
-
-#include "../../WindowsWrapper.h"
-
-#include "../Rendering.h"
-#include "../../Main.h"
-#include "../../Organya.h"
-#include "../../Profile.h"
-#include "../../Resource.h"
-
-#define DO_KEY(GLFW_KEY, BACKEND_KEY) \
- case GLFW_KEY: \
- backend_keyboard_state[BACKEND_KEY] = action == GLFW_PRESS; \
- break;
-
-GLFWwindow *window;
-
-BOOL bActive = TRUE;
-BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-
-static GLFWcursor* cursor;
-
-static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
-{
- (void)window;
- (void)scancode;
- (void)mods;
-
- switch (action)
- {
- case GLFW_RELEASE:
- case GLFW_PRESS:
- switch (key)
- {
- DO_KEY(GLFW_KEY_A, BACKEND_KEYBOARD_A)
- DO_KEY(GLFW_KEY_B, BACKEND_KEYBOARD_B)
- DO_KEY(GLFW_KEY_C, BACKEND_KEYBOARD_C)
- DO_KEY(GLFW_KEY_D, BACKEND_KEYBOARD_D)
- DO_KEY(GLFW_KEY_E, BACKEND_KEYBOARD_E)
- DO_KEY(GLFW_KEY_F, BACKEND_KEYBOARD_F)
- DO_KEY(GLFW_KEY_G, BACKEND_KEYBOARD_G)
- DO_KEY(GLFW_KEY_H, BACKEND_KEYBOARD_H)
- DO_KEY(GLFW_KEY_I, BACKEND_KEYBOARD_I)
- DO_KEY(GLFW_KEY_J, BACKEND_KEYBOARD_J)
- DO_KEY(GLFW_KEY_K, BACKEND_KEYBOARD_K)
- DO_KEY(GLFW_KEY_L, BACKEND_KEYBOARD_L)
- DO_KEY(GLFW_KEY_M, BACKEND_KEYBOARD_M)
- DO_KEY(GLFW_KEY_N, BACKEND_KEYBOARD_N)
- DO_KEY(GLFW_KEY_O, BACKEND_KEYBOARD_O)
- DO_KEY(GLFW_KEY_P, BACKEND_KEYBOARD_P)
- DO_KEY(GLFW_KEY_Q, BACKEND_KEYBOARD_Q)
- DO_KEY(GLFW_KEY_R, BACKEND_KEYBOARD_R)
- DO_KEY(GLFW_KEY_S, BACKEND_KEYBOARD_S)
- DO_KEY(GLFW_KEY_T, BACKEND_KEYBOARD_T)
- DO_KEY(GLFW_KEY_U, BACKEND_KEYBOARD_U)
- DO_KEY(GLFW_KEY_V, BACKEND_KEYBOARD_V)
- DO_KEY(GLFW_KEY_W, BACKEND_KEYBOARD_W)
- DO_KEY(GLFW_KEY_X, BACKEND_KEYBOARD_X)
- DO_KEY(GLFW_KEY_Y, BACKEND_KEYBOARD_Y)
- DO_KEY(GLFW_KEY_Z, BACKEND_KEYBOARD_Z)
- DO_KEY(GLFW_KEY_0, BACKEND_KEYBOARD_0)
- DO_KEY(GLFW_KEY_1, BACKEND_KEYBOARD_1)
- DO_KEY(GLFW_KEY_2, BACKEND_KEYBOARD_2)
- DO_KEY(GLFW_KEY_3, BACKEND_KEYBOARD_3)
- DO_KEY(GLFW_KEY_4, BACKEND_KEYBOARD_4)
- DO_KEY(GLFW_KEY_5, BACKEND_KEYBOARD_5)
- DO_KEY(GLFW_KEY_6, BACKEND_KEYBOARD_6)
- DO_KEY(GLFW_KEY_7, BACKEND_KEYBOARD_7)
- DO_KEY(GLFW_KEY_8, BACKEND_KEYBOARD_8)
- DO_KEY(GLFW_KEY_9, BACKEND_KEYBOARD_9)
- DO_KEY(GLFW_KEY_F1, BACKEND_KEYBOARD_F1)
- DO_KEY(GLFW_KEY_F2, BACKEND_KEYBOARD_F2)
- DO_KEY(GLFW_KEY_F3, BACKEND_KEYBOARD_F3)
- DO_KEY(GLFW_KEY_F4, BACKEND_KEYBOARD_F4)
- DO_KEY(GLFW_KEY_F5, BACKEND_KEYBOARD_F5)
- DO_KEY(GLFW_KEY_F6, BACKEND_KEYBOARD_F6)
- DO_KEY(GLFW_KEY_F7, BACKEND_KEYBOARD_F7)
- DO_KEY(GLFW_KEY_F8, BACKEND_KEYBOARD_F8)
- DO_KEY(GLFW_KEY_F9, BACKEND_KEYBOARD_F9)
- DO_KEY(GLFW_KEY_F10, BACKEND_KEYBOARD_F10)
- DO_KEY(GLFW_KEY_F11, BACKEND_KEYBOARD_F11)
- DO_KEY(GLFW_KEY_F12, BACKEND_KEYBOARD_F12)
- DO_KEY(GLFW_KEY_UP, BACKEND_KEYBOARD_UP)
- DO_KEY(GLFW_KEY_DOWN, BACKEND_KEYBOARD_DOWN)
- DO_KEY(GLFW_KEY_LEFT, BACKEND_KEYBOARD_LEFT)
- DO_KEY(GLFW_KEY_RIGHT, BACKEND_KEYBOARD_RIGHT)
- DO_KEY(GLFW_KEY_ESCAPE, BACKEND_KEYBOARD_ESCAPE)
- DO_KEY(GLFW_KEY_GRAVE_ACCENT, BACKEND_KEYBOARD_BACK_QUOTE)
- DO_KEY(GLFW_KEY_TAB, BACKEND_KEYBOARD_TAB)
- DO_KEY(GLFW_KEY_CAPS_LOCK, BACKEND_KEYBOARD_CAPS_LOCK)
- DO_KEY(GLFW_KEY_LEFT_SHIFT, BACKEND_KEYBOARD_LEFT_SHIFT)
- DO_KEY(GLFW_KEY_LEFT_CONTROL, BACKEND_KEYBOARD_LEFT_CTRL)
- DO_KEY(GLFW_KEY_LEFT_ALT, BACKEND_KEYBOARD_LEFT_ALT)
- DO_KEY(GLFW_KEY_SPACE, BACKEND_KEYBOARD_SPACE)
- DO_KEY(GLFW_KEY_RIGHT_ALT, BACKEND_KEYBOARD_RIGHT_ALT)
- DO_KEY(GLFW_KEY_RIGHT_CONTROL, BACKEND_KEYBOARD_RIGHT_CTRL)
- DO_KEY(GLFW_KEY_RIGHT_SHIFT, BACKEND_KEYBOARD_RIGHT_SHIFT)
- DO_KEY(GLFW_KEY_ENTER, BACKEND_KEYBOARD_ENTER)
- DO_KEY(GLFW_KEY_BACKSPACE, BACKEND_KEYBOARD_BACKSPACE)
- DO_KEY(GLFW_KEY_MINUS, BACKEND_KEYBOARD_MINUS)
- DO_KEY(GLFW_KEY_EQUAL, BACKEND_KEYBOARD_EQUALS)
- DO_KEY(GLFW_KEY_LEFT_BRACKET, BACKEND_KEYBOARD_LEFT_BRACKET)
- DO_KEY(GLFW_KEY_RIGHT_BRACKET, BACKEND_KEYBOARD_RIGHT_BRACKET)
- DO_KEY(GLFW_KEY_BACKSLASH, BACKEND_KEYBOARD_BACK_SLASH)
- DO_KEY(GLFW_KEY_SEMICOLON, BACKEND_KEYBOARD_SEMICOLON)
- DO_KEY(GLFW_KEY_APOSTROPHE, BACKEND_KEYBOARD_APOSTROPHE)
- DO_KEY(GLFW_KEY_COMMA, BACKEND_KEYBOARD_COMMA)
- DO_KEY(GLFW_KEY_PERIOD, BACKEND_KEYBOARD_PERIOD)
- DO_KEY(GLFW_KEY_SLASH, BACKEND_KEYBOARD_FORWARD_SLASH)
-
- default:
- break;
- }
-
- break;
- }
-}
-
-static void WindowFocusCallback(GLFWwindow *window, int focused)
-{
- (void)window;
-
- if (focused)
- ActiveWindow();
- else
- InactiveWindow();
-}
-
-static void WindowSizeCallback(GLFWwindow *window, int width, int height)
-{
- (void)window;
-
- RenderBackend_HandleWindowResize(width, height);
-}
-
-static void DragAndDropCallback(GLFWwindow *window, int count, const char **paths)
-{
- (void)window;
- (void)count;
-
- LoadProfile(paths[0]);
-}
-
-void PlatformBackend_Init(void)
-{
- glfwInit();
-}
-
-void PlatformBackend_Deinit(void)
-{
- if (cursor != NULL)
- glfwDestroyCursor(cursor);
-
- glfwTerminate();
-}
-
-void PlatformBackend_PostWindowCreation(void)
-{
- // Hook callbacks
- glfwSetKeyCallback(window, KeyCallback);
- glfwSetWindowFocusCallback(window, WindowFocusCallback);
- glfwSetWindowSizeCallback(window, WindowSizeCallback);
-}
-
-BOOL PlatformBackend_GetBasePath(char *string_buffer)
-{
- (void)string_buffer;
-
- // GLFW3 doesn't seem to have a mechanism for this
- return FALSE;
-}
-
-void PlatformBackend_HideMouse(void)
-{
- glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
-}
-
-void PlatformBackend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
-{
- // Convert to RGBA, since that's the only think GLFW3 accepts
- unsigned char *rgba_pixels = (unsigned char*)malloc(width * height * 4);
-
- const unsigned char *rgb_pointer = rgb_pixels;
- unsigned char *rgba_pointer = rgba_pixels;
-
- if (rgba_pixels != NULL)
- {
- for (unsigned int y = 0; y < height; ++y)
- {
- for (unsigned int x = 0; x < width; ++x)
- {
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = 0xFF;
- }
- }
-
- GLFWimage glfw_image = {(int)width, (int)height, rgba_pixels};
- glfwSetWindowIcon(window, 1, &glfw_image);
-
- free(rgba_pixels);
- }
-}
-
-void PlatformBackend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
-{
- // Convert to RGBA, since that's the only think GLFW3 accepts
- unsigned char *rgba_pixels = (unsigned char*)malloc(width * height * 4);
-
- const unsigned char *rgb_pointer = rgb_pixels;
- unsigned char *rgba_pointer = rgba_pixels;
-
- if (rgba_pixels != NULL)
- {
- for (unsigned int y = 0; y < height; ++y)
- {
- for (unsigned int x = 0; x < width; ++x)
- {
- if (rgb_pointer[0] == 0xFF && rgb_pointer[1] == 0 && rgb_pointer[2] == 0xFF) // Colour-key
- {
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = 0;
- }
- else
- {
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = *rgb_pointer++;
- *rgba_pointer++ = 0xFF;
- }
- }
- }
-
- GLFWimage glfw_image = {(int)width, (int)height, rgba_pixels};
- cursor = glfwCreateCursor(&glfw_image, 0, 0);
- glfwSetCursor(window, cursor);
-
- free(rgba_pixels);
- }
-}
-
-void PlaybackBackend_EnableDragAndDrop(void)
-{
- glfwSetDropCallback(window, DragAndDropCallback);
-}
-
-BOOL PlatformBackend_SystemTask(void)
-{
- if (glfwWindowShouldClose(window))
- {
- StopOrganyaMusic();
- return FALSE;
- }
-
- memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
-
- glfwPollEvents();
-
- while (!bActive)
- glfwWaitEvents();
-
- return TRUE;
-}
-
-void PlatformBackend_ShowMessageBox(const char *title, const char *message)
-{
- // GLFW3 doesn't have a message box
- printf("ShowMessageBox - '%s' - '%s'\n", title, message);
-}
-
-unsigned long PlatformBackend_GetTicks(void)
-{
- return (unsigned long)(glfwGetTime() * 1000.0);
-}
-
-void PlatformBackend_Delay(unsigned int ticks)
-{
- // GLFW3 doesn't have a delay function, so here's some butt-ugly C++11
- std::this_thread::sleep_for(std::chrono::milliseconds(ticks));
-}
--- a/src/Backends/GLFW3/Platform.h
+++ /dev/null
@@ -1,7 +1,0 @@
-#pragma once
-
-#define GLFW_INCLUDE_NONE
-#include <GLFW/glfw3.h>
-#undef GLFW_INCLUDE_NONE
-
-extern GLFWwindow *window;
--- a/src/Backends/GLFW3/Window-OpenGL3.cpp
+++ b/src/Backends/GLFW3/Window-OpenGL3.cpp
@@ -12,8 +12,8 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
-#include "Platform.h"
+#include "../Misc.h"
+#include "Misc.h"
BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, BOOL fullscreen)
{
@@ -57,7 +57,7 @@
if (GLAD_GL_VERSION_3_2)
{
#endif
- PlatformBackend_PostWindowCreation();
+ Backend_PostWindowCreation();
return TRUE;
#ifndef USE_OPENGLES2
@@ -64,12 +64,12 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Your system does not support OpenGL 3.2");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Your system does not support OpenGL 3.2");
}
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not load OpenGL functions");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not load OpenGL functions");
}
#endif
@@ -77,7 +77,7 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create window");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create window");
}
return FALSE;
--- /dev/null
+++ b/src/Backends/Misc.h
@@ -1,0 +1,101 @@
+#pragma once
+
+#include "../WindowsWrapper.h"
+
+enum
+{
+ // Based on US QWERTY
+ BACKEND_KEYBOARD_A,
+ BACKEND_KEYBOARD_B,
+ BACKEND_KEYBOARD_C,
+ BACKEND_KEYBOARD_D,
+ BACKEND_KEYBOARD_E,
+ BACKEND_KEYBOARD_F,
+ BACKEND_KEYBOARD_G,
+ BACKEND_KEYBOARD_H,
+ BACKEND_KEYBOARD_I,
+ BACKEND_KEYBOARD_J,
+ BACKEND_KEYBOARD_K,
+ BACKEND_KEYBOARD_L,
+ BACKEND_KEYBOARD_M,
+ BACKEND_KEYBOARD_N,
+ BACKEND_KEYBOARD_O,
+ BACKEND_KEYBOARD_P,
+ BACKEND_KEYBOARD_Q,
+ BACKEND_KEYBOARD_R,
+ BACKEND_KEYBOARD_S,
+ BACKEND_KEYBOARD_T,
+ BACKEND_KEYBOARD_U,
+ BACKEND_KEYBOARD_V,
+ BACKEND_KEYBOARD_W,
+ BACKEND_KEYBOARD_X,
+ BACKEND_KEYBOARD_Y,
+ BACKEND_KEYBOARD_Z,
+ BACKEND_KEYBOARD_0,
+ BACKEND_KEYBOARD_1,
+ BACKEND_KEYBOARD_2,
+ BACKEND_KEYBOARD_3,
+ BACKEND_KEYBOARD_4,
+ BACKEND_KEYBOARD_5,
+ BACKEND_KEYBOARD_6,
+ BACKEND_KEYBOARD_7,
+ BACKEND_KEYBOARD_8,
+ BACKEND_KEYBOARD_9,
+ BACKEND_KEYBOARD_F1,
+ BACKEND_KEYBOARD_F2,
+ BACKEND_KEYBOARD_F3,
+ BACKEND_KEYBOARD_F4,
+ BACKEND_KEYBOARD_F5,
+ BACKEND_KEYBOARD_F6,
+ BACKEND_KEYBOARD_F7,
+ BACKEND_KEYBOARD_F8,
+ BACKEND_KEYBOARD_F9,
+ BACKEND_KEYBOARD_F10,
+ BACKEND_KEYBOARD_F11,
+ BACKEND_KEYBOARD_F12,
+ BACKEND_KEYBOARD_UP,
+ BACKEND_KEYBOARD_DOWN,
+ BACKEND_KEYBOARD_LEFT,
+ BACKEND_KEYBOARD_RIGHT,
+ BACKEND_KEYBOARD_ESCAPE,
+ BACKEND_KEYBOARD_BACK_QUOTE,
+ BACKEND_KEYBOARD_TAB,
+ BACKEND_KEYBOARD_CAPS_LOCK,
+ BACKEND_KEYBOARD_LEFT_SHIFT,
+ BACKEND_KEYBOARD_LEFT_CTRL,
+ BACKEND_KEYBOARD_LEFT_ALT,
+ BACKEND_KEYBOARD_SPACE,
+ BACKEND_KEYBOARD_RIGHT_ALT,
+ BACKEND_KEYBOARD_RIGHT_CTRL,
+ BACKEND_KEYBOARD_RIGHT_SHIFT,
+ BACKEND_KEYBOARD_ENTER,
+ BACKEND_KEYBOARD_BACKSPACE,
+ BACKEND_KEYBOARD_MINUS,
+ BACKEND_KEYBOARD_EQUALS,
+ BACKEND_KEYBOARD_LEFT_BRACKET,
+ BACKEND_KEYBOARD_RIGHT_BRACKET,
+ BACKEND_KEYBOARD_BACK_SLASH,
+ BACKEND_KEYBOARD_SEMICOLON,
+ BACKEND_KEYBOARD_APOSTROPHE,
+ BACKEND_KEYBOARD_COMMA,
+ BACKEND_KEYBOARD_PERIOD,
+ BACKEND_KEYBOARD_FORWARD_SLASH,
+ BACKEND_KEYBOARD_TOTAL
+};
+
+extern BOOL bActive;
+extern BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+extern BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+
+void Backend_Init(void);
+void Backend_Deinit(void);
+void Backend_PostWindowCreation(void);
+BOOL Backend_GetBasePath(char *string_buffer);
+void Backend_HideMouse(void);
+void Backend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
+void Backend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
+void PlaybackBackend_EnableDragAndDrop(void);
+BOOL Backend_SystemTask(void);
+void Backend_ShowMessageBox(const char *title, const char *message);
+unsigned long Backend_GetTicks(void);
+void Backend_Delay(unsigned int ticks);
--- a/src/Backends/Platform.h
+++ /dev/null
@@ -1,101 +1,0 @@
-#pragma once
-
-#include "../WindowsWrapper.h"
-
-enum
-{
- // Based on US QWERTY
- BACKEND_KEYBOARD_A,
- BACKEND_KEYBOARD_B,
- BACKEND_KEYBOARD_C,
- BACKEND_KEYBOARD_D,
- BACKEND_KEYBOARD_E,
- BACKEND_KEYBOARD_F,
- BACKEND_KEYBOARD_G,
- BACKEND_KEYBOARD_H,
- BACKEND_KEYBOARD_I,
- BACKEND_KEYBOARD_J,
- BACKEND_KEYBOARD_K,
- BACKEND_KEYBOARD_L,
- BACKEND_KEYBOARD_M,
- BACKEND_KEYBOARD_N,
- BACKEND_KEYBOARD_O,
- BACKEND_KEYBOARD_P,
- BACKEND_KEYBOARD_Q,
- BACKEND_KEYBOARD_R,
- BACKEND_KEYBOARD_S,
- BACKEND_KEYBOARD_T,
- BACKEND_KEYBOARD_U,
- BACKEND_KEYBOARD_V,
- BACKEND_KEYBOARD_W,
- BACKEND_KEYBOARD_X,
- BACKEND_KEYBOARD_Y,
- BACKEND_KEYBOARD_Z,
- BACKEND_KEYBOARD_0,
- BACKEND_KEYBOARD_1,
- BACKEND_KEYBOARD_2,
- BACKEND_KEYBOARD_3,
- BACKEND_KEYBOARD_4,
- BACKEND_KEYBOARD_5,
- BACKEND_KEYBOARD_6,
- BACKEND_KEYBOARD_7,
- BACKEND_KEYBOARD_8,
- BACKEND_KEYBOARD_9,
- BACKEND_KEYBOARD_F1,
- BACKEND_KEYBOARD_F2,
- BACKEND_KEYBOARD_F3,
- BACKEND_KEYBOARD_F4,
- BACKEND_KEYBOARD_F5,
- BACKEND_KEYBOARD_F6,
- BACKEND_KEYBOARD_F7,
- BACKEND_KEYBOARD_F8,
- BACKEND_KEYBOARD_F9,
- BACKEND_KEYBOARD_F10,
- BACKEND_KEYBOARD_F11,
- BACKEND_KEYBOARD_F12,
- BACKEND_KEYBOARD_UP,
- BACKEND_KEYBOARD_DOWN,
- BACKEND_KEYBOARD_LEFT,
- BACKEND_KEYBOARD_RIGHT,
- BACKEND_KEYBOARD_ESCAPE,
- BACKEND_KEYBOARD_BACK_QUOTE,
- BACKEND_KEYBOARD_TAB,
- BACKEND_KEYBOARD_CAPS_LOCK,
- BACKEND_KEYBOARD_LEFT_SHIFT,
- BACKEND_KEYBOARD_LEFT_CTRL,
- BACKEND_KEYBOARD_LEFT_ALT,
- BACKEND_KEYBOARD_SPACE,
- BACKEND_KEYBOARD_RIGHT_ALT,
- BACKEND_KEYBOARD_RIGHT_CTRL,
- BACKEND_KEYBOARD_RIGHT_SHIFT,
- BACKEND_KEYBOARD_ENTER,
- BACKEND_KEYBOARD_BACKSPACE,
- BACKEND_KEYBOARD_MINUS,
- BACKEND_KEYBOARD_EQUALS,
- BACKEND_KEYBOARD_LEFT_BRACKET,
- BACKEND_KEYBOARD_RIGHT_BRACKET,
- BACKEND_KEYBOARD_BACK_SLASH,
- BACKEND_KEYBOARD_SEMICOLON,
- BACKEND_KEYBOARD_APOSTROPHE,
- BACKEND_KEYBOARD_COMMA,
- BACKEND_KEYBOARD_PERIOD,
- BACKEND_KEYBOARD_FORWARD_SLASH,
- BACKEND_KEYBOARD_TOTAL
-};
-
-extern BOOL bActive;
-extern BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-extern BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-
-void PlatformBackend_Init(void);
-void PlatformBackend_Deinit(void);
-void PlatformBackend_PostWindowCreation(void);
-BOOL PlatformBackend_GetBasePath(char *string_buffer);
-void PlatformBackend_HideMouse(void);
-void PlatformBackend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
-void PlatformBackend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
-void PlaybackBackend_EnableDragAndDrop(void);
-BOOL PlatformBackend_SystemTask(void);
-void PlatformBackend_ShowMessageBox(const char *title, const char *message);
-unsigned long PlatformBackend_GetTicks(void);
-void PlatformBackend_Delay(unsigned int ticks);
--- a/src/Backends/Rendering/OpenGL3.cpp
+++ b/src/Backends/Rendering/OpenGL3.cpp
@@ -18,7 +18,7 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
+#include "../Misc.h"
#include "../Window-OpenGL.h"
#include "../../Resource.h"
@@ -275,7 +275,7 @@
{
char buffer[0x200];
glGetShaderInfoLog(vertex_shader, sizeof(buffer), NULL, buffer);
- PlatformBackend_ShowMessageBox("Vertex shader error", buffer);
+ Backend_ShowMessageBox("Vertex shader error", buffer);
return 0;
}
@@ -291,7 +291,7 @@
{
char buffer[0x200];
glGetShaderInfoLog(fragment_shader, sizeof(buffer), NULL, buffer);
- PlatformBackend_ShowMessageBox("Fragment shader error", buffer);
+ Backend_ShowMessageBox("Fragment shader error", buffer);
return 0;
}
@@ -308,7 +308,7 @@
{
char buffer[0x200];
glGetProgramInfoLog(program_id, sizeof(buffer), NULL, buffer);
- PlatformBackend_ShowMessageBox("Shader linker error", buffer);
+ Backend_ShowMessageBox("Shader linker error", buffer);
return 0;
}
--- a/src/Backends/Rendering/SDLSurface.cpp
+++ b/src/Backends/Rendering/SDLSurface.cpp
@@ -8,8 +8,8 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
-#include "../SDL2/Platform.h"
+#include "../Misc.h"
+#include "../SDL2/Misc.h"
typedef struct RenderBackend_Surface
{
@@ -57,7 +57,7 @@
if (framebuffer.sdlsurface != NULL)
{
- PlatformBackend_PostWindowCreation();
+ Backend_PostWindowCreation();
return &framebuffer;
}
--- a/src/Backends/Rendering/SDLTexture.cpp
+++ b/src/Backends/Rendering/SDLTexture.cpp
@@ -12,8 +12,8 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
-#include "../SDL2/Platform.h"
+#include "../Misc.h"
+#include "../SDL2/Misc.h"
#include "../../Draw.h"
#include "../../Ending.h"
#include "../../MapName.h"
@@ -165,7 +165,7 @@
config.delete_texture_callback = GlyphBatch_DestroyTexture;
spritebatch_init(&glyph_batcher, &config, NULL);
- PlatformBackend_PostWindowCreation();
+ Backend_PostWindowCreation();
return &framebuffer;
}
--- a/src/Backends/Rendering/Software.cpp
+++ b/src/Backends/Rendering/Software.cpp
@@ -8,8 +8,8 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
-#include "../SDL2/Platform.h"
+#include "../Misc.h"
+#include "../SDL2/Misc.h"
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
@@ -56,13 +56,13 @@
framebuffer.height = framebuffer_sdlsurface->h;
framebuffer.pitch = framebuffer_sdlsurface->pitch;
- PlatformBackend_PostWindowCreation();
+ Backend_PostWindowCreation();
return &framebuffer;
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (software rendering backend)", "Could not create framebuffer surface");
+ Backend_ShowMessageBox("Fatal error (software rendering backend)", "Could not create framebuffer surface");
}
SDL_DestroyWindow(window);
@@ -69,7 +69,7 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (software rendering backend)", "Could not create window");
+ Backend_ShowMessageBox("Fatal error (software rendering backend)", "Could not create window");
}
return NULL;
--- /dev/null
+++ b/src/Backends/SDL2/Misc.cpp
@@ -1,0 +1,258 @@
+#include "../Misc.h"
+#include "Misc.h"
+
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "SDL.h"
+
+#include "../../WindowsWrapper.h"
+
+#include "Controller.h"
+#include "../Rendering.h"
+#include "../../Main.h"
+#include "../../Organya.h"
+#include "../../Profile.h"
+#include "../../Resource.h"
+
+#define DO_KEY(SDL_KEY, BACKEND_KEY) \
+ case SDL_KEY: \
+ backend_keyboard_state[BACKEND_KEY] = event.key.type == SDL_KEYDOWN; \
+ break;
+
+SDL_Window *window;
+
+BOOL bActive = TRUE;
+BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
+
+static SDL_Surface *cursor_surface;
+static SDL_Cursor *cursor;
+
+void Backend_Init(void)
+{
+ SDL_Init(SDL_INIT_EVENTS);
+
+ SDL_InitSubSystem(SDL_INIT_VIDEO);
+
+ puts("Available SDL2 video drivers:");
+
+ for (int i = 0; i < SDL_GetNumVideoDrivers(); ++i)
+ puts(SDL_GetVideoDriver(i));
+
+ printf("Selected SDL2 video driver: %s\n", SDL_GetCurrentVideoDriver());
+}
+
+void Backend_Deinit(void)
+{
+ if (cursor != NULL)
+ SDL_FreeCursor(cursor);
+
+ if (cursor_surface != NULL)
+ SDL_FreeSurface(cursor_surface);
+
+ SDL_Quit();
+}
+
+void Backend_PostWindowCreation(void)
+{
+
+}
+
+BOOL Backend_GetBasePath(char *string_buffer)
+{
+ char *base_path = SDL_GetBasePath();
+ // Trim the trailing '/'
+ size_t base_path_length = strlen(base_path);
+ base_path[base_path_length - 1] = '\0';
+ strcpy(string_buffer, base_path);
+ SDL_free(base_path);
+
+ return TRUE;
+}
+
+void Backend_HideMouse(void)
+{
+ SDL_ShowCursor(SDL_DISABLE);
+}
+
+void Backend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
+{
+ SDL_Surface *surface = SDL_CreateRGBSurfaceWithFormatFrom((void*)rgb_pixels, width, height, 0, width * 3, SDL_PIXELFORMAT_RGB24);
+ SDL_SetWindowIcon(window, surface);
+ SDL_FreeSurface(surface);
+}
+
+void Backend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
+{
+ cursor_surface = SDL_CreateRGBSurfaceWithFormatFrom((void*)rgb_pixels, width, height, 0, width * 3, SDL_PIXELFORMAT_RGB24);
+ SDL_SetColorKey(cursor_surface, SDL_TRUE, SDL_MapRGB(cursor_surface->format, 0xFF, 0, 0xFF));
+ cursor = SDL_CreateColorCursor(cursor_surface, 0, 0);
+ SDL_SetCursor(cursor);
+}
+
+void PlaybackBackend_EnableDragAndDrop(void)
+{
+ SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
+}
+
+BOOL Backend_SystemTask(void)
+{
+ memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
+
+ while (SDL_PollEvent(NULL) || !bActive)
+ {
+ SDL_Event event;
+
+ if (!SDL_WaitEvent(&event))
+ return FALSE;
+
+ switch (event.type)
+ {
+ case SDL_KEYUP:
+ case SDL_KEYDOWN:
+ switch (event.key.keysym.sym)
+ {
+ DO_KEY(SDLK_a, BACKEND_KEYBOARD_A)
+ DO_KEY(SDLK_b, BACKEND_KEYBOARD_B)
+ DO_KEY(SDLK_c, BACKEND_KEYBOARD_C)
+ DO_KEY(SDLK_d, BACKEND_KEYBOARD_D)
+ DO_KEY(SDLK_e, BACKEND_KEYBOARD_E)
+ DO_KEY(SDLK_f, BACKEND_KEYBOARD_F)
+ DO_KEY(SDLK_g, BACKEND_KEYBOARD_G)
+ DO_KEY(SDLK_h, BACKEND_KEYBOARD_H)
+ DO_KEY(SDLK_i, BACKEND_KEYBOARD_I)
+ DO_KEY(SDLK_j, BACKEND_KEYBOARD_J)
+ DO_KEY(SDLK_k, BACKEND_KEYBOARD_K)
+ DO_KEY(SDLK_l, BACKEND_KEYBOARD_L)
+ DO_KEY(SDLK_m, BACKEND_KEYBOARD_M)
+ DO_KEY(SDLK_n, BACKEND_KEYBOARD_N)
+ DO_KEY(SDLK_o, BACKEND_KEYBOARD_O)
+ DO_KEY(SDLK_p, BACKEND_KEYBOARD_P)
+ DO_KEY(SDLK_q, BACKEND_KEYBOARD_Q)
+ DO_KEY(SDLK_r, BACKEND_KEYBOARD_R)
+ DO_KEY(SDLK_s, BACKEND_KEYBOARD_S)
+ DO_KEY(SDLK_t, BACKEND_KEYBOARD_T)
+ DO_KEY(SDLK_u, BACKEND_KEYBOARD_U)
+ DO_KEY(SDLK_v, BACKEND_KEYBOARD_V)
+ DO_KEY(SDLK_w, BACKEND_KEYBOARD_W)
+ DO_KEY(SDLK_x, BACKEND_KEYBOARD_X)
+ DO_KEY(SDLK_y, BACKEND_KEYBOARD_Y)
+ DO_KEY(SDLK_z, BACKEND_KEYBOARD_Z)
+ DO_KEY(SDLK_0, BACKEND_KEYBOARD_0)
+ DO_KEY(SDLK_1, BACKEND_KEYBOARD_1)
+ DO_KEY(SDLK_2, BACKEND_KEYBOARD_2)
+ DO_KEY(SDLK_3, BACKEND_KEYBOARD_3)
+ DO_KEY(SDLK_4, BACKEND_KEYBOARD_4)
+ DO_KEY(SDLK_5, BACKEND_KEYBOARD_5)
+ DO_KEY(SDLK_6, BACKEND_KEYBOARD_6)
+ DO_KEY(SDLK_7, BACKEND_KEYBOARD_7)
+ DO_KEY(SDLK_8, BACKEND_KEYBOARD_8)
+ DO_KEY(SDLK_9, BACKEND_KEYBOARD_9)
+ DO_KEY(SDLK_F1, BACKEND_KEYBOARD_F1)
+ DO_KEY(SDLK_F2, BACKEND_KEYBOARD_F2)
+ DO_KEY(SDLK_F3, BACKEND_KEYBOARD_F3)
+ DO_KEY(SDLK_F4, BACKEND_KEYBOARD_F4)
+ DO_KEY(SDLK_F5, BACKEND_KEYBOARD_F5)
+ DO_KEY(SDLK_F6, BACKEND_KEYBOARD_F6)
+ DO_KEY(SDLK_F7, BACKEND_KEYBOARD_F7)
+ DO_KEY(SDLK_F8, BACKEND_KEYBOARD_F8)
+ DO_KEY(SDLK_F9, BACKEND_KEYBOARD_F9)
+ DO_KEY(SDLK_F10, BACKEND_KEYBOARD_F10)
+ DO_KEY(SDLK_F11, BACKEND_KEYBOARD_F11)
+ DO_KEY(SDLK_F12, BACKEND_KEYBOARD_F12)
+ DO_KEY(SDLK_UP, BACKEND_KEYBOARD_UP)
+ DO_KEY(SDLK_DOWN, BACKEND_KEYBOARD_DOWN)
+ DO_KEY(SDLK_LEFT, BACKEND_KEYBOARD_LEFT)
+ DO_KEY(SDLK_RIGHT, BACKEND_KEYBOARD_RIGHT)
+ DO_KEY(SDLK_ESCAPE, BACKEND_KEYBOARD_ESCAPE)
+ DO_KEY(SDLK_BACKQUOTE, BACKEND_KEYBOARD_BACK_QUOTE)
+ DO_KEY(SDLK_TAB, BACKEND_KEYBOARD_TAB)
+ DO_KEY(SDLK_CAPSLOCK, BACKEND_KEYBOARD_CAPS_LOCK)
+ DO_KEY(SDLK_LSHIFT, BACKEND_KEYBOARD_LEFT_SHIFT)
+ DO_KEY(SDLK_LCTRL, BACKEND_KEYBOARD_LEFT_CTRL)
+ DO_KEY(SDLK_LALT, BACKEND_KEYBOARD_LEFT_ALT)
+ DO_KEY(SDLK_SPACE, BACKEND_KEYBOARD_SPACE)
+ DO_KEY(SDLK_RALT, BACKEND_KEYBOARD_RIGHT_ALT)
+ DO_KEY(SDLK_RCTRL, BACKEND_KEYBOARD_RIGHT_CTRL)
+ DO_KEY(SDLK_RSHIFT, BACKEND_KEYBOARD_RIGHT_SHIFT)
+ DO_KEY(SDLK_RETURN, BACKEND_KEYBOARD_ENTER)
+ DO_KEY(SDLK_BACKSPACE, BACKEND_KEYBOARD_BACKSPACE)
+ DO_KEY(SDLK_MINUS, BACKEND_KEYBOARD_MINUS)
+ DO_KEY(SDLK_EQUALS, BACKEND_KEYBOARD_EQUALS)
+ DO_KEY(SDLK_LEFTBRACKET, BACKEND_KEYBOARD_LEFT_BRACKET)
+ DO_KEY(SDLK_RIGHTBRACKET, BACKEND_KEYBOARD_RIGHT_BRACKET)
+ DO_KEY(SDLK_BACKSLASH, BACKEND_KEYBOARD_BACK_SLASH)
+ DO_KEY(SDLK_SEMICOLON, BACKEND_KEYBOARD_SEMICOLON)
+ DO_KEY(SDLK_QUOTE, BACKEND_KEYBOARD_APOSTROPHE)
+ DO_KEY(SDLK_COMMA, BACKEND_KEYBOARD_COMMA)
+ DO_KEY(SDLK_PERIOD, BACKEND_KEYBOARD_PERIOD)
+ DO_KEY(SDLK_SLASH, BACKEND_KEYBOARD_FORWARD_SLASH)
+
+ default:
+ break;
+ }
+
+ break;
+
+ case SDL_JOYDEVICEADDED:
+ ControllerBackend_JoystickConnect(event.jdevice.which);
+ break;
+
+ case SDL_JOYDEVICEREMOVED:
+ ControllerBackend_JoystickDisconnect(event.jdevice.which);
+ break;
+
+ case SDL_DROPFILE:
+ LoadProfile(event.drop.file);
+ SDL_free(event.drop.file);
+ break;
+
+ case SDL_WINDOWEVENT:
+ switch (event.window.event)
+ {
+ case SDL_WINDOWEVENT_FOCUS_LOST:
+ InactiveWindow();
+ break;
+
+ case SDL_WINDOWEVENT_FOCUS_GAINED:
+ ActiveWindow();
+ break;
+
+ case SDL_WINDOWEVENT_RESIZED:
+ case SDL_WINDOWEVENT_SIZE_CHANGED:
+ RenderBackend_HandleWindowResize(event.window.data1, event.window.data2);
+ break;
+ }
+
+ break;
+
+ case SDL_QUIT:
+ StopOrganyaMusic();
+ return FALSE;
+
+ case SDL_RENDER_TARGETS_RESET:
+ RenderBackend_HandleRenderTargetLoss();
+ break;
+
+ }
+ }
+
+ return TRUE;
+}
+
+void Backend_ShowMessageBox(const char *title, const char *message)
+{
+ SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, title, message, window);
+}
+
+unsigned long Backend_GetTicks(void)
+{
+ return SDL_GetTicks();
+}
+
+void Backend_Delay(unsigned int ticks)
+{
+ SDL_Delay(ticks);
+}
--- /dev/null
+++ b/src/Backends/SDL2/Misc.h
@@ -1,0 +1,5 @@
+#pragma once
+
+#include "SDL.h"
+
+extern SDL_Window *window;
--- a/src/Backends/SDL2/Platform.cpp
+++ /dev/null
@@ -1,258 +1,0 @@
-#include "../Platform.h"
-#include "Platform.h"
-
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "SDL.h"
-
-#include "../../WindowsWrapper.h"
-
-#include "Controller.h"
-#include "../Rendering.h"
-#include "../../Main.h"
-#include "../../Organya.h"
-#include "../../Profile.h"
-#include "../../Resource.h"
-
-#define DO_KEY(SDL_KEY, BACKEND_KEY) \
- case SDL_KEY: \
- backend_keyboard_state[BACKEND_KEY] = event.key.type == SDL_KEYDOWN; \
- break;
-
-SDL_Window *window;
-
-BOOL bActive = TRUE;
-BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
-
-static SDL_Surface *cursor_surface;
-static SDL_Cursor *cursor;
-
-void PlatformBackend_Init(void)
-{
- SDL_Init(SDL_INIT_EVENTS);
-
- SDL_InitSubSystem(SDL_INIT_VIDEO);
-
- puts("Available SDL2 video drivers:");
-
- for (int i = 0; i < SDL_GetNumVideoDrivers(); ++i)
- puts(SDL_GetVideoDriver(i));
-
- printf("Selected SDL2 video driver: %s\n", SDL_GetCurrentVideoDriver());
-}
-
-void PlatformBackend_Deinit(void)
-{
- if (cursor != NULL)
- SDL_FreeCursor(cursor);
-
- if (cursor_surface != NULL)
- SDL_FreeSurface(cursor_surface);
-
- SDL_Quit();
-}
-
-void PlatformBackend_PostWindowCreation(void)
-{
-
-}
-
-BOOL PlatformBackend_GetBasePath(char *string_buffer)
-{
- char *base_path = SDL_GetBasePath();
- // Trim the trailing '/'
- size_t base_path_length = strlen(base_path);
- base_path[base_path_length - 1] = '\0';
- strcpy(string_buffer, base_path);
- SDL_free(base_path);
-
- return TRUE;
-}
-
-void PlatformBackend_HideMouse(void)
-{
- SDL_ShowCursor(SDL_DISABLE);
-}
-
-void PlatformBackend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
-{
- SDL_Surface *surface = SDL_CreateRGBSurfaceWithFormatFrom((void*)rgb_pixels, width, height, 0, width * 3, SDL_PIXELFORMAT_RGB24);
- SDL_SetWindowIcon(window, surface);
- SDL_FreeSurface(surface);
-}
-
-void PlatformBackend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height)
-{
- cursor_surface = SDL_CreateRGBSurfaceWithFormatFrom((void*)rgb_pixels, width, height, 0, width * 3, SDL_PIXELFORMAT_RGB24);
- SDL_SetColorKey(cursor_surface, SDL_TRUE, SDL_MapRGB(cursor_surface->format, 0xFF, 0, 0xFF));
- cursor = SDL_CreateColorCursor(cursor_surface, 0, 0);
- SDL_SetCursor(cursor);
-}
-
-void PlaybackBackend_EnableDragAndDrop(void)
-{
- SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
-}
-
-BOOL PlatformBackend_SystemTask(void)
-{
- memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
-
- while (SDL_PollEvent(NULL) || !bActive)
- {
- SDL_Event event;
-
- if (!SDL_WaitEvent(&event))
- return FALSE;
-
- switch (event.type)
- {
- case SDL_KEYUP:
- case SDL_KEYDOWN:
- switch (event.key.keysym.sym)
- {
- DO_KEY(SDLK_a, BACKEND_KEYBOARD_A)
- DO_KEY(SDLK_b, BACKEND_KEYBOARD_B)
- DO_KEY(SDLK_c, BACKEND_KEYBOARD_C)
- DO_KEY(SDLK_d, BACKEND_KEYBOARD_D)
- DO_KEY(SDLK_e, BACKEND_KEYBOARD_E)
- DO_KEY(SDLK_f, BACKEND_KEYBOARD_F)
- DO_KEY(SDLK_g, BACKEND_KEYBOARD_G)
- DO_KEY(SDLK_h, BACKEND_KEYBOARD_H)
- DO_KEY(SDLK_i, BACKEND_KEYBOARD_I)
- DO_KEY(SDLK_j, BACKEND_KEYBOARD_J)
- DO_KEY(SDLK_k, BACKEND_KEYBOARD_K)
- DO_KEY(SDLK_l, BACKEND_KEYBOARD_L)
- DO_KEY(SDLK_m, BACKEND_KEYBOARD_M)
- DO_KEY(SDLK_n, BACKEND_KEYBOARD_N)
- DO_KEY(SDLK_o, BACKEND_KEYBOARD_O)
- DO_KEY(SDLK_p, BACKEND_KEYBOARD_P)
- DO_KEY(SDLK_q, BACKEND_KEYBOARD_Q)
- DO_KEY(SDLK_r, BACKEND_KEYBOARD_R)
- DO_KEY(SDLK_s, BACKEND_KEYBOARD_S)
- DO_KEY(SDLK_t, BACKEND_KEYBOARD_T)
- DO_KEY(SDLK_u, BACKEND_KEYBOARD_U)
- DO_KEY(SDLK_v, BACKEND_KEYBOARD_V)
- DO_KEY(SDLK_w, BACKEND_KEYBOARD_W)
- DO_KEY(SDLK_x, BACKEND_KEYBOARD_X)
- DO_KEY(SDLK_y, BACKEND_KEYBOARD_Y)
- DO_KEY(SDLK_z, BACKEND_KEYBOARD_Z)
- DO_KEY(SDLK_0, BACKEND_KEYBOARD_0)
- DO_KEY(SDLK_1, BACKEND_KEYBOARD_1)
- DO_KEY(SDLK_2, BACKEND_KEYBOARD_2)
- DO_KEY(SDLK_3, BACKEND_KEYBOARD_3)
- DO_KEY(SDLK_4, BACKEND_KEYBOARD_4)
- DO_KEY(SDLK_5, BACKEND_KEYBOARD_5)
- DO_KEY(SDLK_6, BACKEND_KEYBOARD_6)
- DO_KEY(SDLK_7, BACKEND_KEYBOARD_7)
- DO_KEY(SDLK_8, BACKEND_KEYBOARD_8)
- DO_KEY(SDLK_9, BACKEND_KEYBOARD_9)
- DO_KEY(SDLK_F1, BACKEND_KEYBOARD_F1)
- DO_KEY(SDLK_F2, BACKEND_KEYBOARD_F2)
- DO_KEY(SDLK_F3, BACKEND_KEYBOARD_F3)
- DO_KEY(SDLK_F4, BACKEND_KEYBOARD_F4)
- DO_KEY(SDLK_F5, BACKEND_KEYBOARD_F5)
- DO_KEY(SDLK_F6, BACKEND_KEYBOARD_F6)
- DO_KEY(SDLK_F7, BACKEND_KEYBOARD_F7)
- DO_KEY(SDLK_F8, BACKEND_KEYBOARD_F8)
- DO_KEY(SDLK_F9, BACKEND_KEYBOARD_F9)
- DO_KEY(SDLK_F10, BACKEND_KEYBOARD_F10)
- DO_KEY(SDLK_F11, BACKEND_KEYBOARD_F11)
- DO_KEY(SDLK_F12, BACKEND_KEYBOARD_F12)
- DO_KEY(SDLK_UP, BACKEND_KEYBOARD_UP)
- DO_KEY(SDLK_DOWN, BACKEND_KEYBOARD_DOWN)
- DO_KEY(SDLK_LEFT, BACKEND_KEYBOARD_LEFT)
- DO_KEY(SDLK_RIGHT, BACKEND_KEYBOARD_RIGHT)
- DO_KEY(SDLK_ESCAPE, BACKEND_KEYBOARD_ESCAPE)
- DO_KEY(SDLK_BACKQUOTE, BACKEND_KEYBOARD_BACK_QUOTE)
- DO_KEY(SDLK_TAB, BACKEND_KEYBOARD_TAB)
- DO_KEY(SDLK_CAPSLOCK, BACKEND_KEYBOARD_CAPS_LOCK)
- DO_KEY(SDLK_LSHIFT, BACKEND_KEYBOARD_LEFT_SHIFT)
- DO_KEY(SDLK_LCTRL, BACKEND_KEYBOARD_LEFT_CTRL)
- DO_KEY(SDLK_LALT, BACKEND_KEYBOARD_LEFT_ALT)
- DO_KEY(SDLK_SPACE, BACKEND_KEYBOARD_SPACE)
- DO_KEY(SDLK_RALT, BACKEND_KEYBOARD_RIGHT_ALT)
- DO_KEY(SDLK_RCTRL, BACKEND_KEYBOARD_RIGHT_CTRL)
- DO_KEY(SDLK_RSHIFT, BACKEND_KEYBOARD_RIGHT_SHIFT)
- DO_KEY(SDLK_RETURN, BACKEND_KEYBOARD_ENTER)
- DO_KEY(SDLK_BACKSPACE, BACKEND_KEYBOARD_BACKSPACE)
- DO_KEY(SDLK_MINUS, BACKEND_KEYBOARD_MINUS)
- DO_KEY(SDLK_EQUALS, BACKEND_KEYBOARD_EQUALS)
- DO_KEY(SDLK_LEFTBRACKET, BACKEND_KEYBOARD_LEFT_BRACKET)
- DO_KEY(SDLK_RIGHTBRACKET, BACKEND_KEYBOARD_RIGHT_BRACKET)
- DO_KEY(SDLK_BACKSLASH, BACKEND_KEYBOARD_BACK_SLASH)
- DO_KEY(SDLK_SEMICOLON, BACKEND_KEYBOARD_SEMICOLON)
- DO_KEY(SDLK_QUOTE, BACKEND_KEYBOARD_APOSTROPHE)
- DO_KEY(SDLK_COMMA, BACKEND_KEYBOARD_COMMA)
- DO_KEY(SDLK_PERIOD, BACKEND_KEYBOARD_PERIOD)
- DO_KEY(SDLK_SLASH, BACKEND_KEYBOARD_FORWARD_SLASH)
-
- default:
- break;
- }
-
- break;
-
- case SDL_JOYDEVICEADDED:
- ControllerBackend_JoystickConnect(event.jdevice.which);
- break;
-
- case SDL_JOYDEVICEREMOVED:
- ControllerBackend_JoystickDisconnect(event.jdevice.which);
- break;
-
- case SDL_DROPFILE:
- LoadProfile(event.drop.file);
- SDL_free(event.drop.file);
- break;
-
- case SDL_WINDOWEVENT:
- switch (event.window.event)
- {
- case SDL_WINDOWEVENT_FOCUS_LOST:
- InactiveWindow();
- break;
-
- case SDL_WINDOWEVENT_FOCUS_GAINED:
- ActiveWindow();
- break;
-
- case SDL_WINDOWEVENT_RESIZED:
- case SDL_WINDOWEVENT_SIZE_CHANGED:
- RenderBackend_HandleWindowResize(event.window.data1, event.window.data2);
- break;
- }
-
- break;
-
- case SDL_QUIT:
- StopOrganyaMusic();
- return FALSE;
-
- case SDL_RENDER_TARGETS_RESET:
- RenderBackend_HandleRenderTargetLoss();
- break;
-
- }
- }
-
- return TRUE;
-}
-
-void PlatformBackend_ShowMessageBox(const char *title, const char *message)
-{
- SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, title, message, window);
-}
-
-unsigned long PlatformBackend_GetTicks(void)
-{
- return SDL_GetTicks();
-}
-
-void PlatformBackend_Delay(unsigned int ticks)
-{
- SDL_Delay(ticks);
-}
--- a/src/Backends/SDL2/Platform.h
+++ /dev/null
@@ -1,5 +1,0 @@
-#pragma once
-
-#include "SDL.h"
-
-extern SDL_Window *window;
--- a/src/Backends/SDL2/Window-OpenGL3.cpp
+++ b/src/Backends/SDL2/Window-OpenGL3.cpp
@@ -11,8 +11,8 @@
#include "../../WindowsWrapper.h"
-#include "../Platform.h"
-#include "Platform.h"
+#include "../Misc.h"
+#include "Misc.h"
#include "../../Resource.h"
static SDL_GLContext context;
@@ -48,7 +48,7 @@
if (GLAD_GL_VERSION_3_2)
{
#endif
- PlatformBackend_PostWindowCreation();
+ Backend_PostWindowCreation();
return TRUE;
#ifndef USE_OPENGLES2
@@ -55,18 +55,18 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Your system does not support OpenGL 3.2");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Your system does not support OpenGL 3.2");
}
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not load OpenGL functions");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not load OpenGL functions");
}
#endif
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "SDL_GL_MakeCurrent failed");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "SDL_GL_MakeCurrent failed");
}
SDL_GL_DeleteContext(context);
@@ -73,7 +73,7 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create OpenGL context");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create OpenGL context");
}
SDL_DestroyWindow(window);
@@ -80,7 +80,7 @@
}
else
{
- PlatformBackend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create window");
+ Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create window");
}
return FALSE;
--- a/src/Draw.cpp
+++ b/src/Draw.cpp
@@ -7,7 +7,7 @@
#include "WindowsWrapper.h"
-#include "Backends/Platform.h"
+#include "Backends/Misc.h"
#include "Backends/Rendering.h"
#include "Bitmap.h"
#include "CommonDefines.h"
@@ -59,12 +59,12 @@
return FALSE;
// Framerate limiter
- timeNow = PlatformBackend_GetTicks();
+ timeNow = Backend_GetTicks();
if (timeNow >= timePrev + 20)
break;
- PlatformBackend_Delay(1);
+ Backend_Delay(1);
}
if (timeNow >= timePrev + 100)
--- a/src/Game.cpp
+++ b/src/Game.cpp
@@ -6,7 +6,7 @@
#include "WindowsWrapper.h"
-#include "Backends/Platform.h"
+#include "Backends/Misc.h"
#include "ArmsItem.h"
#include "Back.h"
#include "Boss.h"
@@ -214,8 +214,8 @@
++gCounter;
}
- wait = PlatformBackend_GetTicks();
- while (PlatformBackend_GetTicks() < wait + 500)
+ wait = Backend_GetTicks();
+ while (Backend_GetTicks() < wait + 500)
{
CortBox(&grcGame, 0x000000);
PutFramePerSecound();
@@ -460,8 +460,8 @@
ChangeMusic(MUS_SILENCE);
// Black screen when option is selected
- wait = PlatformBackend_GetTicks();
- while (PlatformBackend_GetTicks() < wait + 1000)
+ wait = Backend_GetTicks();
+ while (Backend_GetTicks() < wait + 1000)
{
CortBox(&grcGame, 0);
PutFramePerSecound();
@@ -691,9 +691,9 @@
if (!LoadGenericData())
{
#ifdef JAPANESE
- PlatformBackend_ShowMessageBox("エラー", "汎用ファイルが読めない");
+ Backend_ShowMessageBox("エラー", "汎用ファイルが読めない");
#else
- PlatformBackend_ShowMessageBox("Error", "Couldn't read general purpose files");
+ Backend_ShowMessageBox("Error", "Couldn't read general purpose files");
#endif
return FALSE;
@@ -707,9 +707,9 @@
if (!LoadNpcTable(path))
{
#ifdef JAPANESE
- PlatformBackend_ShowMessageBox("エラー", "NPCテーブルが読めない");
+ Backend_ShowMessageBox("エラー", "NPCテーブルが読めない");
#else
- PlatformBackend_ShowMessageBox("Error", "Couldn't read the NPC table");
+ Backend_ShowMessageBox("Error", "Couldn't read the NPC table");
#endif
return FALSE;
--- a/src/Main.cpp
+++ b/src/Main.cpp
@@ -7,7 +7,7 @@
#include "WindowsWrapper.h"
-#include "Backends/Platform.h"
+#include "Backends/Misc.h"
#include "Backends/Rendering.h"
#include "Bitmap.h"
#include "CommonDefines.h"
@@ -64,11 +64,11 @@
if (need_new_base_tick)
{
- base_tick = PlatformBackend_GetTicks();
+ base_tick = Backend_GetTicks();
need_new_base_tick = FALSE;
}
- current_tick = PlatformBackend_GetTicks();
+ current_tick = Backend_GetTicks();
++current_frame;
if (base_tick + 1000 <= current_tick)
@@ -88,10 +88,10 @@
int i;
- PlatformBackend_Init();
+ Backend_Init();
// Get executable's path
- if (!PlatformBackend_GetBasePath(gModulePath))
+ if (!Backend_GetBasePath(gModulePath))
{
// Fall back on argv[0] if the backend cannot provide a path
strcpy(gModulePath, argv[0]);
@@ -222,7 +222,7 @@
{
if (!StartDirectDraw(lpWindowName, windowWidth, windowHeight, 0))
{
- PlatformBackend_Deinit();
+ Backend_Deinit();
return EXIT_FAILURE;
}
}
@@ -230,7 +230,7 @@
{
if (!StartDirectDraw(lpWindowName, windowWidth, windowHeight, 1))
{
- PlatformBackend_Deinit();
+ Backend_Deinit();
return EXIT_FAILURE;
}
}
@@ -254,7 +254,7 @@
#ifdef FIX_BUGS
if (!StartDirectDraw(lpWindowName, windowWidth, windowHeight, 2))
{
- PlatformBackend_Deinit();
+ Backend_Deinit();
return EXIT_FAILURE;
}
#else
@@ -264,7 +264,7 @@
bFullscreen = TRUE;
- PlatformBackend_HideMouse();
+ Backend_HideMouse();
break;
}
@@ -282,7 +282,7 @@
if (window_icon_rgb_pixels != NULL)
{
- PlatformBackend_SetWindowIcon(window_icon_rgb_pixels, window_icon_width, window_icon_height);
+ Backend_SetWindowIcon(window_icon_rgb_pixels, window_icon_width, window_icon_height);
FreeBitmap(window_icon_rgb_pixels);
}
#endif
@@ -296,7 +296,7 @@
if (cursor_rgb_pixels != NULL)
{
- PlatformBackend_SetCursor(cursor_rgb_pixels, cursor_width, cursor_height);
+ Backend_SetCursor(cursor_rgb_pixels, cursor_width, cursor_height);
FreeBitmap(cursor_rgb_pixels);
}
@@ -319,7 +319,7 @@
// Draw to screen
if (!Flip_SystemTask())
{
- PlatformBackend_Deinit();
+ Backend_Deinit();
return EXIT_SUCCESS;
}
@@ -345,7 +345,7 @@
EndDirectSound();
EndDirectDraw();
- PlatformBackend_Deinit();
+ Backend_Deinit();
return EXIT_SUCCESS;
}
@@ -379,7 +379,7 @@
BOOL SystemTask(void)
{
- if (!PlatformBackend_SystemTask())
+ if (!Backend_SystemTask())
return FALSE;
for (unsigned int i = 0; i < BACKEND_KEYBOARD_TOTAL; ++i)
--- a/src/Profile.cpp
+++ b/src/Profile.cpp
@@ -6,7 +6,7 @@
#include "WindowsWrapper.h"
-#include "Backends/Platform.h"
+#include "Backends/Misc.h"
#include "ArmsItem.h"
#include "BossLife.h"
#include "Fade.h"
@@ -247,9 +247,9 @@
if (!TransferStage(13, 200, 10, 8))
{
#ifdef JAPANESE
- PlatformBackend_ShowMessageBox("エラー", "ステージの読み込みに失敗");
+ Backend_ShowMessageBox("エラー", "ステージの読み込みに失敗");
#else
- PlatformBackend_ShowMessageBox("Error", "Failed to load stage");
+ Backend_ShowMessageBox("Error", "Failed to load stage");
#endif
return FALSE;
--- a/src/TextScr.cpp
+++ b/src/TextScr.cpp
@@ -6,7 +6,7 @@
#include "WindowsWrapper.h"
-#include "Backends/Platform.h"
+#include "Backends/Misc.h"
#include "ArmsItem.h"
#include "Boss.h"
#include "BossLife.h"
@@ -726,9 +726,9 @@
if (!TransferStage(z, w, x, y))
{
#ifdef JAPANESE
- PlatformBackend_ShowMessageBox("エラー", "ステージの読み込みに失敗");
+ Backend_ShowMessageBox("エラー", "ステージの読み込みに失敗");
#else
- PlatformBackend_ShowMessageBox("Error", "Failed to load stage");
+ Backend_ShowMessageBox("Error", "Failed to load stage");
#endif
return enum_ESCRETURN_exit;
@@ -1283,10 +1283,10 @@
char str_0[0x40];
#ifdef JAPANESE
sprintf(str_0, "不明のコード:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]);
- PlatformBackend_ShowMessageBox("エラー", str_0);
+ Backend_ShowMessageBox("エラー", str_0);
#else
sprintf(str_0, "Unknown code:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]);
- PlatformBackend_ShowMessageBox("Error", str_0);
+ Backend_ShowMessageBox("Error", str_0);
#endif
return enum_ESCRETURN_exit;