ref: db2f079266b1c34f42c65034db048e1f20ba3fc6
parent: 0182ab6eb3cb445065b2100f6cfc35d8780016ce
author: Clownacy <Clownacy@users.noreply.github.com>
date: Wed Apr 1 17:52:18 EDT 2020
Cleanup and comments
--- a/src/Backends/Platform/GLFW3.cpp
+++ b/src/Backends/Platform/GLFW3.cpp
@@ -30,173 +30,177 @@
(void)scancode;
(void)mods;
- if (action == GLFW_PRESS)
+ switch (action)
{
- switch (key)
- {
- case GLFW_KEY_ESCAPE:
- gKey |= KEY_ESCAPE;
- break;
+ case GLFW_PRESS:
+ switch (key)
+ {
+ case GLFW_KEY_ESCAPE:
+ gKey |= KEY_ESCAPE;
+ break;
- case GLFW_KEY_W:
- gKey |= KEY_MAP;
- break;
+ case GLFW_KEY_W:
+ gKey |= KEY_MAP;
+ break;
- case GLFW_KEY_LEFT:
- gKey |= KEY_LEFT;
- break;
+ case GLFW_KEY_LEFT:
+ gKey |= KEY_LEFT;
+ break;
- case GLFW_KEY_RIGHT:
- gKey |= KEY_RIGHT;
- break;
+ case GLFW_KEY_RIGHT:
+ gKey |= KEY_RIGHT;
+ break;
- case GLFW_KEY_UP:
- gKey |= KEY_UP;
- break;
+ case GLFW_KEY_UP:
+ gKey |= KEY_UP;
+ break;
- case GLFW_KEY_DOWN:
- gKey |= KEY_DOWN;
- break;
+ case GLFW_KEY_DOWN:
+ gKey |= KEY_DOWN;
+ break;
- case GLFW_KEY_X:
- gKey |= KEY_X;
- break;
+ case GLFW_KEY_X:
+ gKey |= KEY_X;
+ break;
- case GLFW_KEY_Z:
- gKey |= KEY_Z;
- break;
+ case GLFW_KEY_Z:
+ gKey |= KEY_Z;
+ break;
- case GLFW_KEY_S:
- gKey |= KEY_ARMS;
- break;
+ case GLFW_KEY_S:
+ gKey |= KEY_ARMS;
+ break;
- case GLFW_KEY_A:
- gKey |= KEY_ARMSREV;
- break;
+ case GLFW_KEY_A:
+ gKey |= KEY_ARMSREV;
+ break;
- case GLFW_KEY_LEFT_SHIFT:
- case GLFW_KEY_RIGHT_SHIFT:
- gKey |= KEY_SHIFT;
- break;
+ case GLFW_KEY_LEFT_SHIFT:
+ case GLFW_KEY_RIGHT_SHIFT:
+ gKey |= KEY_SHIFT;
+ break;
- case GLFW_KEY_F1:
- gKey |= KEY_F1;
- break;
+ case GLFW_KEY_F1:
+ gKey |= KEY_F1;
+ break;
- case GLFW_KEY_F2:
- gKey |= KEY_F2;
- break;
+ case GLFW_KEY_F2:
+ gKey |= KEY_F2;
+ break;
- case GLFW_KEY_Q:
- gKey |= KEY_ITEM;
- break;
+ case GLFW_KEY_Q:
+ gKey |= KEY_ITEM;
+ break;
- case GLFW_KEY_COMMA:
- gKey |= KEY_ALT_LEFT;
- break;
+ case GLFW_KEY_COMMA:
+ gKey |= KEY_ALT_LEFT;
+ break;
- case GLFW_KEY_PERIOD:
- gKey |= KEY_ALT_DOWN;
- break;
+ case GLFW_KEY_PERIOD:
+ gKey |= KEY_ALT_DOWN;
+ break;
- case GLFW_KEY_SLASH:
- gKey |= KEY_ALT_RIGHT;
- break;
+ case GLFW_KEY_SLASH:
+ gKey |= KEY_ALT_RIGHT;
+ break;
- case GLFW_KEY_L:
- gKey |= KEY_L;
- break;
+ case GLFW_KEY_L:
+ gKey |= KEY_L;
+ break;
- case GLFW_KEY_EQUAL:
- gKey |= KEY_PLUS;
- break;
+ case GLFW_KEY_EQUAL:
+ gKey |= KEY_PLUS;
+ break;
- case GLFW_KEY_F5:
- gbUseJoystick = FALSE;
- break;
- }
- }
- else if (action == GLFW_RELEASE)
- {
- switch (key)
- {
- case GLFW_KEY_ESCAPE:
- gKey &= ~KEY_ESCAPE;
- break;
+ case GLFW_KEY_F5:
+ gbUseJoystick = FALSE;
+ break;
+ }
- case GLFW_KEY_W:
- gKey &= ~KEY_MAP;
- break;
+ break;
- case GLFW_KEY_LEFT:
- gKey &= ~KEY_LEFT;
- break;
+ case GLFW_RELEASE:
+ switch (key)
+ {
+ case GLFW_KEY_ESCAPE:
+ gKey &= ~KEY_ESCAPE;
+ break;
- case GLFW_KEY_RIGHT:
- gKey &= ~KEY_RIGHT;
- break;
+ case GLFW_KEY_W:
+ gKey &= ~KEY_MAP;
+ break;
- case GLFW_KEY_UP:
- gKey &= ~KEY_UP;
- break;
+ case GLFW_KEY_LEFT:
+ gKey &= ~KEY_LEFT;
+ break;
- case GLFW_KEY_DOWN:
- gKey &= ~KEY_DOWN;
- break;
+ case GLFW_KEY_RIGHT:
+ gKey &= ~KEY_RIGHT;
+ break;
- case GLFW_KEY_X:
- gKey &= ~KEY_X;
- break;
+ case GLFW_KEY_UP:
+ gKey &= ~KEY_UP;
+ break;
- case GLFW_KEY_Z:
- gKey &= ~KEY_Z;
- break;
+ case GLFW_KEY_DOWN:
+ gKey &= ~KEY_DOWN;
+ break;
- case GLFW_KEY_S:
- gKey &= ~KEY_ARMS;
- break;
+ case GLFW_KEY_X:
+ gKey &= ~KEY_X;
+ break;
- case GLFW_KEY_A:
- gKey &= ~KEY_ARMSREV;
- break;
+ case GLFW_KEY_Z:
+ gKey &= ~KEY_Z;
+ break;
- case GLFW_KEY_LEFT_SHIFT:
- case GLFW_KEY_RIGHT_SHIFT:
- gKey &= ~KEY_SHIFT;
- break;
+ case GLFW_KEY_S:
+ gKey &= ~KEY_ARMS;
+ break;
- case GLFW_KEY_F1:
- gKey &= ~KEY_F1;
- break;
+ case GLFW_KEY_A:
+ gKey &= ~KEY_ARMSREV;
+ break;
- case GLFW_KEY_F2:
- gKey &= ~KEY_F2;
- break;
+ case GLFW_KEY_LEFT_SHIFT:
+ case GLFW_KEY_RIGHT_SHIFT:
+ gKey &= ~KEY_SHIFT;
+ break;
- case GLFW_KEY_Q:
- gKey &= ~KEY_ITEM;
- break;
+ case GLFW_KEY_F1:
+ gKey &= ~KEY_F1;
+ break;
- case GLFW_KEY_COMMA:
- gKey &= ~KEY_ALT_LEFT;
- break;
+ case GLFW_KEY_F2:
+ gKey &= ~KEY_F2;
+ break;
- case GLFW_KEY_PERIOD:
- gKey &= ~KEY_ALT_DOWN;
- break;
+ case GLFW_KEY_Q:
+ gKey &= ~KEY_ITEM;
+ break;
- case GLFW_KEY_SLASH:
- gKey &= ~KEY_ALT_RIGHT;
- break;
+ case GLFW_KEY_COMMA:
+ gKey &= ~KEY_ALT_LEFT;
+ break;
- case GLFW_KEY_L:
- gKey &= ~KEY_L;
- break;
+ case GLFW_KEY_PERIOD:
+ gKey &= ~KEY_ALT_DOWN;
+ break;
- case GLFW_KEY_EQUAL:
- gKey &= ~KEY_PLUS;
- break;
- }
+ case GLFW_KEY_SLASH:
+ gKey &= ~KEY_ALT_RIGHT;
+ break;
+
+ case GLFW_KEY_L:
+ gKey &= ~KEY_L;
+ break;
+
+ case GLFW_KEY_EQUAL:
+ gKey &= ~KEY_PLUS;
+ break;
+ }
+
+ break;
}
}
@@ -220,6 +224,7 @@
static void DragAndDropCallback(GLFWwindow *window, int count, const char **paths)
{
(void)window;
+ (void)count;
LoadProfile(paths[0]);
}
@@ -247,6 +252,7 @@
BOOL PlatformBackend_GetBasePath(char *string_buffer)
{
+ // GLFW3 doesn't seem to have a mechanism for this
return FALSE;
}
@@ -257,6 +263,7 @@
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;
@@ -284,6 +291,7 @@
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;
@@ -295,7 +303,7 @@
{
for (unsigned int x = 0; x < width; ++x)
{
- if (rgb_pointer[0] == 0xFF && rgb_pointer[1] == 0 && rgb_pointer[2] == 0xFF)
+ if (rgb_pointer[0] == 0xFF && rgb_pointer[1] == 0 && rgb_pointer[2] == 0xFF) // Colour-key
{
*rgba_pointer++ = *rgb_pointer++;
*rgba_pointer++ = *rgb_pointer++;
@@ -338,34 +346,12 @@
while (!bActive)
glfwWaitEvents();
-/*
- while (SDL_PollEvent(NULL) || !bActive)
- {
- SDL_Event event;
-
- if (!SDL_WaitEvent(&event))
- return FALSE;
-
- switch (event.type)
- {
- case SDL_DROPFILE:
- LoadProfile(event.drop.file);
- SDL_free(event.drop.file);
- break;
-
-
- case SDL_RENDER_TARGETS_RESET:
- Backend_HandleRenderTargetLoss();
- break;
-
- }
- }
-*/
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);
}
@@ -376,5 +362,6 @@
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));
}