Split SDL2 code from Main.cpp
This commit is contained in:
parent
51562f6fd8
commit
3a5a5044b1
5 changed files with 286 additions and 238 deletions
|
@ -163,8 +163,10 @@ add_executable(CSE2 WIN32
|
||||||
"src/ValueView.cpp"
|
"src/ValueView.cpp"
|
||||||
"src/ValueView.h"
|
"src/ValueView.h"
|
||||||
"src/WindowsWrapper.h"
|
"src/WindowsWrapper.h"
|
||||||
"src/Backends/Rendering.h"
|
"src/Backends/Platform/SDL2.cpp"
|
||||||
"src/Backends/Audio.h"
|
"src/Backends/Audio.h"
|
||||||
|
"src/Backends/Platform.h"
|
||||||
|
"src/Backends/Rendering.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(RESOURCES
|
set(RESOURCES
|
||||||
|
|
11
src/Backends/Platform.h
Normal file
11
src/Backends/Platform.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "../WindowsWrapper.h"
|
||||||
|
|
||||||
|
extern BOOL bActive;
|
||||||
|
|
||||||
|
void PlatformBackend_Init(void);
|
||||||
|
|
||||||
|
void PlatformBackend_GetBasePath(char *string_buffer);
|
||||||
|
|
||||||
|
BOOL PlatformBackend_SystemTask(void);
|
254
src/Backends/Platform/SDL2.cpp
Normal file
254
src/Backends/Platform/SDL2.cpp
Normal file
|
@ -0,0 +1,254 @@
|
||||||
|
#include "../Platform.h"
|
||||||
|
|
||||||
|
#include "SDL.h"
|
||||||
|
|
||||||
|
#include "../Rendering.h"
|
||||||
|
|
||||||
|
#include "../../WindowsWrapper.h"
|
||||||
|
|
||||||
|
#include "../../KeyControl.h"
|
||||||
|
#include "../../Main.h"
|
||||||
|
#include "../../Organya.h"
|
||||||
|
#include "../../Profile.h"
|
||||||
|
|
||||||
|
BOOL bActive = TRUE;
|
||||||
|
|
||||||
|
void PlatformBackend_Init(void)
|
||||||
|
{
|
||||||
|
SDL_Init(SDL_INIT_EVENTS);
|
||||||
|
|
||||||
|
#ifdef _WIN32 // On Windows, we use native icons instead (so we can give the taskbar and window separate icons, like the original EXE does)
|
||||||
|
SDL_SetHint(SDL_HINT_WINDOWS_INTRESOURCE_ICON, "101");
|
||||||
|
SDL_SetHint(SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL, "102");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SDL_InitSubSystem(SDL_INIT_VIDEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlatformBackend_GetBasePath(char *string_buffer)
|
||||||
|
{
|
||||||
|
char *base_path = SDL_GetBasePath();
|
||||||
|
size_t base_path_length = strlen(base_path);
|
||||||
|
base_path[base_path_length - 1] = '\0';
|
||||||
|
strcpy(string_buffer, base_path);
|
||||||
|
SDL_free(base_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL PlatformBackend_SystemTask(void)
|
||||||
|
{
|
||||||
|
while (SDL_PollEvent(NULL) || !bActive)
|
||||||
|
{
|
||||||
|
SDL_Event event;
|
||||||
|
|
||||||
|
if (!SDL_WaitEvent(&event))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
switch (event.type)
|
||||||
|
{
|
||||||
|
case SDL_KEYDOWN:
|
||||||
|
switch (event.key.keysym.sym)
|
||||||
|
{
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
gKey |= KEY_ESCAPE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_w:
|
||||||
|
gKey |= KEY_MAP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_LEFT:
|
||||||
|
gKey |= KEY_LEFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_RIGHT:
|
||||||
|
gKey |= KEY_RIGHT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_UP:
|
||||||
|
gKey |= KEY_UP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_DOWN:
|
||||||
|
gKey |= KEY_DOWN;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_x:
|
||||||
|
gKey |= KEY_X;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_z:
|
||||||
|
gKey |= KEY_Z;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_s:
|
||||||
|
gKey |= KEY_ARMS;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_a:
|
||||||
|
gKey |= KEY_ARMSREV;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_LSHIFT:
|
||||||
|
case SDLK_RSHIFT:
|
||||||
|
gKey |= KEY_SHIFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_F1:
|
||||||
|
gKey |= KEY_F1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_F2:
|
||||||
|
gKey |= KEY_F2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_q:
|
||||||
|
gKey |= KEY_ITEM;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_COMMA:
|
||||||
|
gKey |= KEY_ALT_LEFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_PERIOD:
|
||||||
|
gKey |= KEY_ALT_DOWN;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_SLASH:
|
||||||
|
gKey |= KEY_ALT_RIGHT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_l:
|
||||||
|
gKey |= KEY_L;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_PLUS:
|
||||||
|
gKey |= KEY_PLUS;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_F5:
|
||||||
|
gbUseJoystick = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDL_KEYUP:
|
||||||
|
switch (event.key.keysym.sym)
|
||||||
|
{
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
gKey &= ~KEY_ESCAPE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_w:
|
||||||
|
gKey &= ~KEY_MAP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_LEFT:
|
||||||
|
gKey &= ~KEY_LEFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_RIGHT:
|
||||||
|
gKey &= ~KEY_RIGHT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_UP:
|
||||||
|
gKey &= ~KEY_UP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_DOWN:
|
||||||
|
gKey &= ~KEY_DOWN;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_x:
|
||||||
|
gKey &= ~KEY_X;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_z:
|
||||||
|
gKey &= ~KEY_Z;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_s:
|
||||||
|
gKey &= ~KEY_ARMS;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_a:
|
||||||
|
gKey &= ~KEY_ARMSREV;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_LSHIFT:
|
||||||
|
case SDLK_RSHIFT:
|
||||||
|
gKey &= ~KEY_SHIFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_F1:
|
||||||
|
gKey &= ~KEY_F1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_F2:
|
||||||
|
gKey &= ~KEY_F2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_q:
|
||||||
|
gKey &= ~KEY_ITEM;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_COMMA:
|
||||||
|
gKey &= ~KEY_ALT_LEFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_PERIOD:
|
||||||
|
gKey &= ~KEY_ALT_DOWN;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_SLASH:
|
||||||
|
gKey &= ~KEY_ALT_RIGHT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_l:
|
||||||
|
gKey &= ~KEY_L;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDLK_PLUS:
|
||||||
|
gKey &= ~KEY_PLUS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
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:
|
||||||
|
Backend_HandleWindowResize();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDL_QUIT:
|
||||||
|
StopOrganyaMusic();
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
case SDL_RENDER_TARGETS_RESET:
|
||||||
|
Backend_HandleRenderTargetLoss();
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
248
src/Main.cpp
248
src/Main.cpp
|
@ -5,10 +5,9 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "SDL.h"
|
|
||||||
|
|
||||||
#include "WindowsWrapper.h"
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
|
#include "Backends/Platform.h"
|
||||||
#include "Backends/Rendering.h"
|
#include "Backends/Rendering.h"
|
||||||
#include "CommonDefines.h"
|
#include "CommonDefines.h"
|
||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
|
@ -33,7 +32,6 @@ BOOL gbUseJoystick = FALSE;
|
||||||
|
|
||||||
int gJoystickButtonTable[8];
|
int gJoystickButtonTable[8];
|
||||||
|
|
||||||
static BOOL bActive = TRUE;
|
|
||||||
static BOOL bFps = FALSE;
|
static BOOL bFps = FALSE;
|
||||||
|
|
||||||
static int windowWidth;
|
static int windowWidth;
|
||||||
|
@ -90,14 +88,10 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
SDL_Init(SDL_INIT_EVENTS);
|
PlatformBackend_Init();
|
||||||
|
|
||||||
// Get executable's path
|
// Get executable's path
|
||||||
char *base_path = SDL_GetBasePath();
|
PlatformBackend_GetBasePath(gModulePath);
|
||||||
size_t base_path_length = strlen(base_path);
|
|
||||||
base_path[base_path_length - 1] = '\0';
|
|
||||||
strcpy(gModulePath, base_path);
|
|
||||||
SDL_free(base_path);
|
|
||||||
|
|
||||||
// Get path of the data folder
|
// Get path of the data folder
|
||||||
strcpy(gDataPath, gModulePath);
|
strcpy(gDataPath, gModulePath);
|
||||||
|
@ -194,13 +188,6 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
RECT unused_rect = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
RECT unused_rect = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
||||||
|
|
||||||
#ifdef _WIN32 // On Windows, we use native icons instead (so we can give the taskbar and window separate icons, like the original EXE does)
|
|
||||||
SDL_SetHint(SDL_HINT_WINDOWS_INTRESOURCE_ICON, "101");
|
|
||||||
SDL_SetHint(SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL, "102");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SDL_InitSubSystem(SDL_INIT_VIDEO);
|
|
||||||
|
|
||||||
switch (conf.display_mode)
|
switch (conf.display_mode)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -255,14 +242,14 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
bFullscreen = TRUE;
|
bFullscreen = TRUE;
|
||||||
|
|
||||||
SDL_ShowCursor(SDL_DISABLE);
|
//SDL_ShowCursor(SDL_DISABLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG_SAVE
|
#ifdef DEBUG_SAVE
|
||||||
SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
|
//SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
|
||||||
#endif
|
#endif
|
||||||
|
/*
|
||||||
// Set up the cursor
|
// Set up the cursor
|
||||||
size_t resource_size;
|
size_t resource_size;
|
||||||
const unsigned char *resource_data = FindResource("CURSOR_NORMAL", "CURSOR", &resource_size);
|
const unsigned char *resource_data = FindResource("CURSOR_NORMAL", "CURSOR", &resource_size);
|
||||||
|
@ -271,7 +258,7 @@ int main(int argc, char *argv[])
|
||||||
SDL_SetColorKey(cursor_surface, SDL_TRUE, SDL_MapRGB(cursor_surface->format, 0xFF, 0, 0xFF));
|
SDL_SetColorKey(cursor_surface, SDL_TRUE, SDL_MapRGB(cursor_surface->format, 0xFF, 0, 0xFF));
|
||||||
SDL_Cursor *cursor = SDL_CreateColorCursor(cursor_surface, 0, 0);
|
SDL_Cursor *cursor = SDL_CreateColorCursor(cursor_surface, 0, 0);
|
||||||
SDL_SetCursor(cursor);
|
SDL_SetCursor(cursor);
|
||||||
|
*/
|
||||||
if (IsKeyFile("fps"))
|
if (IsKeyFile("fps"))
|
||||||
bFps = TRUE;
|
bFps = TRUE;
|
||||||
|
|
||||||
|
@ -291,8 +278,8 @@ int main(int argc, char *argv[])
|
||||||
// Draw to screen
|
// Draw to screen
|
||||||
if (!Flip_SystemTask())
|
if (!Flip_SystemTask())
|
||||||
{
|
{
|
||||||
SDL_FreeCursor(cursor);
|
// SDL_FreeCursor(cursor);
|
||||||
SDL_FreeSurface(cursor_surface);
|
// SDL_FreeSurface(cursor_surface);
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -317,10 +304,10 @@ int main(int argc, char *argv[])
|
||||||
EndTextObject();
|
EndTextObject();
|
||||||
EndDirectSound();
|
EndDirectSound();
|
||||||
EndDirectDraw();
|
EndDirectDraw();
|
||||||
|
/*
|
||||||
SDL_FreeCursor(cursor);
|
SDL_FreeCursor(cursor);
|
||||||
SDL_FreeSurface(cursor_surface);
|
SDL_FreeSurface(cursor_surface);
|
||||||
|
*/
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,220 +340,9 @@ void JoystickProc(void);
|
||||||
|
|
||||||
BOOL SystemTask(void)
|
BOOL SystemTask(void)
|
||||||
{
|
{
|
||||||
while (SDL_PollEvent(NULL) || !bActive)
|
if (!PlatformBackend_SystemTask())
|
||||||
{
|
|
||||||
SDL_Event event;
|
|
||||||
|
|
||||||
if (!SDL_WaitEvent(&event))
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
switch (event.type)
|
|
||||||
{
|
|
||||||
case SDL_KEYDOWN:
|
|
||||||
switch (event.key.keysym.sym)
|
|
||||||
{
|
|
||||||
case SDLK_ESCAPE:
|
|
||||||
gKey |= KEY_ESCAPE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_w:
|
|
||||||
gKey |= KEY_MAP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_LEFT:
|
|
||||||
gKey |= KEY_LEFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_RIGHT:
|
|
||||||
gKey |= KEY_RIGHT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_UP:
|
|
||||||
gKey |= KEY_UP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_DOWN:
|
|
||||||
gKey |= KEY_DOWN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_x:
|
|
||||||
gKey |= KEY_X;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_z:
|
|
||||||
gKey |= KEY_Z;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_s:
|
|
||||||
gKey |= KEY_ARMS;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_a:
|
|
||||||
gKey |= KEY_ARMSREV;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_LSHIFT:
|
|
||||||
case SDLK_RSHIFT:
|
|
||||||
gKey |= KEY_SHIFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_F1:
|
|
||||||
gKey |= KEY_F1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_F2:
|
|
||||||
gKey |= KEY_F2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_q:
|
|
||||||
gKey |= KEY_ITEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_COMMA:
|
|
||||||
gKey |= KEY_ALT_LEFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_PERIOD:
|
|
||||||
gKey |= KEY_ALT_DOWN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_SLASH:
|
|
||||||
gKey |= KEY_ALT_RIGHT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_l:
|
|
||||||
gKey |= KEY_L;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_PLUS:
|
|
||||||
gKey |= KEY_PLUS;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_F5:
|
|
||||||
gbUseJoystick = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDL_KEYUP:
|
|
||||||
switch (event.key.keysym.sym)
|
|
||||||
{
|
|
||||||
case SDLK_ESCAPE:
|
|
||||||
gKey &= ~KEY_ESCAPE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_w:
|
|
||||||
gKey &= ~KEY_MAP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_LEFT:
|
|
||||||
gKey &= ~KEY_LEFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_RIGHT:
|
|
||||||
gKey &= ~KEY_RIGHT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_UP:
|
|
||||||
gKey &= ~KEY_UP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_DOWN:
|
|
||||||
gKey &= ~KEY_DOWN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_x:
|
|
||||||
gKey &= ~KEY_X;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_z:
|
|
||||||
gKey &= ~KEY_Z;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_s:
|
|
||||||
gKey &= ~KEY_ARMS;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_a:
|
|
||||||
gKey &= ~KEY_ARMSREV;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_LSHIFT:
|
|
||||||
case SDLK_RSHIFT:
|
|
||||||
gKey &= ~KEY_SHIFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_F1:
|
|
||||||
gKey &= ~KEY_F1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_F2:
|
|
||||||
gKey &= ~KEY_F2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_q:
|
|
||||||
gKey &= ~KEY_ITEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_COMMA:
|
|
||||||
gKey &= ~KEY_ALT_LEFT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_PERIOD:
|
|
||||||
gKey &= ~KEY_ALT_DOWN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_SLASH:
|
|
||||||
gKey &= ~KEY_ALT_RIGHT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_l:
|
|
||||||
gKey &= ~KEY_L;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDLK_PLUS:
|
|
||||||
gKey &= ~KEY_PLUS;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
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:
|
|
||||||
Backend_HandleWindowResize();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDL_QUIT:
|
|
||||||
StopOrganyaMusic();
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
case SDL_RENDER_TARGETS_RESET:
|
|
||||||
Backend_HandleRenderTargetLoss();
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run joystick code
|
// Run joystick code
|
||||||
if (gbUseJoystick)
|
if (gbUseJoystick)
|
||||||
JoystickProc();
|
JoystickProc();
|
||||||
|
|
|
@ -7,7 +7,12 @@ extern char gDataPath[MAX_PATH];
|
||||||
|
|
||||||
extern BOOL bFullscreen;
|
extern BOOL bFullscreen;
|
||||||
|
|
||||||
|
extern BOOL gbUseJoystick;
|
||||||
|
|
||||||
void PutFramePerSecound(void);
|
void PutFramePerSecound(void);
|
||||||
unsigned long GetFramePerSecound(void);
|
unsigned long GetFramePerSecound(void);
|
||||||
|
|
||||||
|
void InactiveWindow(void);
|
||||||
|
void ActiveWindow(void);
|
||||||
|
|
||||||
BOOL SystemTask(void);
|
BOOL SystemTask(void);
|
||||||
|
|
Loading…
Add table
Reference in a new issue