shithub: cstory

Download patch

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));
 }