Big disgusting backend rework
We need to avoid `WindowsWrapper.h` in the backends whenever we can, to avoid name collisions (the Wii U homebrew library) defines its own BOOL/TRUE/FALSE, which really doesn't work with CSE2.
This commit is contained in:
parent
fd0733f6e7
commit
c51a074fad
25 changed files with 128 additions and 145 deletions
|
@ -2,17 +2,15 @@
|
|||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "../WindowsWrapper.h"
|
||||
|
||||
typedef struct AudioBackend_Sound AudioBackend_Sound;
|
||||
|
||||
BOOL AudioBackend_Init(void);
|
||||
bool AudioBackend_Init(void);
|
||||
void AudioBackend_Deinit(void);
|
||||
|
||||
AudioBackend_Sound* AudioBackend_CreateSound(unsigned int frequency, const unsigned char *samples, size_t length);
|
||||
void AudioBackend_DestroySound(AudioBackend_Sound *sound);
|
||||
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping);
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, bool looping);
|
||||
void AudioBackend_StopSound(AudioBackend_Sound *sound);
|
||||
void AudioBackend_RewindSound(AudioBackend_Sound *sound);
|
||||
|
||||
|
@ -20,4 +18,4 @@ void AudioBackend_SetSoundFrequency(AudioBackend_Sound *sound, unsigned int freq
|
|||
void AudioBackend_SetSoundVolume(AudioBackend_Sound *sound, long volume);
|
||||
void AudioBackend_SetSoundPan(AudioBackend_Sound *sound, long pan);
|
||||
|
||||
void AudioBackend_SetOrganyaTimer(unsigned short timer);
|
||||
void AudioBackend_SetOrganyaCallback(void (*callback)(void), unsigned int milliseconds);
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
#include "SDL.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
#include "../../Organya.h"
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "SoftwareMixer.h"
|
||||
|
||||
|
@ -18,7 +16,8 @@ static SDL_AudioDeviceID device_id;
|
|||
|
||||
static unsigned long output_frequency;
|
||||
|
||||
static unsigned short organya_timer;
|
||||
static void (*organya_callback)(void);
|
||||
static unsigned int organya_callback_milliseconds;
|
||||
|
||||
static void Callback(void *user_data, Uint8 *stream_uint8, int len)
|
||||
{
|
||||
|
@ -30,7 +29,7 @@ static void Callback(void *user_data, Uint8 *stream_uint8, int len)
|
|||
for (unsigned int i = 0; i < frames_total * 2; ++i)
|
||||
stream[i] = 0.0f;
|
||||
|
||||
if (organya_timer == 0)
|
||||
if (organya_callback_milliseconds == 0)
|
||||
{
|
||||
Mixer_MixSounds(stream, frames_total);
|
||||
}
|
||||
|
@ -49,8 +48,8 @@ static void Callback(void *user_data, Uint8 *stream_uint8, int len)
|
|||
|
||||
if (organya_countdown == 0)
|
||||
{
|
||||
organya_countdown = (organya_timer * output_frequency) / 1000; // organya_timer is in milliseconds, so convert it to audio frames
|
||||
UpdateOrganya();
|
||||
organya_countdown = (organya_callback_milliseconds * output_frequency) / 1000; // organya_timer is in milliseconds, so convert it to audio frames
|
||||
organya_callback();
|
||||
}
|
||||
|
||||
const unsigned int frames_to_do = MIN(organya_countdown, frames_total - frames_done);
|
||||
|
@ -63,13 +62,13 @@ static void Callback(void *user_data, Uint8 *stream_uint8, int len)
|
|||
}
|
||||
}
|
||||
|
||||
BOOL AudioBackend_Init(void)
|
||||
bool AudioBackend_Init(void)
|
||||
{
|
||||
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
|
||||
{
|
||||
std::string errorMessage = std::string("'SDL_InitSubSystem(SDL_INIT_AUDIO)' failed: ") + SDL_GetError();
|
||||
Backend_ShowMessageBox("Fatal error (SDL2 audio backend)", errorMessage.c_str());
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
Backend_PrintInfo("Available SDL audio drivers:");
|
||||
|
@ -91,7 +90,7 @@ BOOL AudioBackend_Init(void)
|
|||
{
|
||||
std::string error_message = std::string("'SDL_OpenAudioDevice' failed: ") + SDL_GetError();
|
||||
Backend_ShowMessageBox("Fatal error (SDL2 audio backend)", error_message.c_str());
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
output_frequency = obtained_specification.freq;
|
||||
|
@ -101,7 +100,7 @@ BOOL AudioBackend_Init(void)
|
|||
|
||||
Backend_PrintInfo("Selected SDL audio driver: %s", SDL_GetCurrentAudioDriver());
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void AudioBackend_Deinit(void)
|
||||
|
@ -134,7 +133,7 @@ void AudioBackend_DestroySound(AudioBackend_Sound *sound)
|
|||
SDL_UnlockAudioDevice(device_id);
|
||||
}
|
||||
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping)
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, bool looping)
|
||||
{
|
||||
if (sound == NULL)
|
||||
return;
|
||||
|
@ -206,11 +205,12 @@ void AudioBackend_SetSoundPan(AudioBackend_Sound *sound, long pan)
|
|||
SDL_UnlockAudioDevice(device_id);
|
||||
}
|
||||
|
||||
void AudioBackend_SetOrganyaTimer(unsigned short timer)
|
||||
void AudioBackend_SetOrganyaCallback(void (*callback)(void), unsigned int milliseconds)
|
||||
{
|
||||
SDL_LockAudioDevice(device_id);
|
||||
|
||||
organya_timer = timer;
|
||||
organya_callback = callback;
|
||||
organya_callback_milliseconds = milliseconds;
|
||||
|
||||
SDL_UnlockAudioDevice(device_id);
|
||||
}
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
#include "../../../external/miniaudio.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
#include "../../Organya.h"
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "SoftwareMixer.h"
|
||||
|
||||
|
@ -21,7 +19,8 @@ static ma_mutex organya_mutex;
|
|||
|
||||
static unsigned long output_frequency;
|
||||
|
||||
static unsigned short organya_timer;
|
||||
static void (*organya_callback)(void);
|
||||
static unsigned int organya_callback_milliseconds;
|
||||
|
||||
static void Callback(ma_device *device, void *output_stream, const void *input_stream, ma_uint32 frames_total)
|
||||
{
|
||||
|
@ -32,7 +31,7 @@ static void Callback(ma_device *device, void *output_stream, const void *input_s
|
|||
|
||||
ma_mutex_lock(&organya_mutex);
|
||||
|
||||
if (organya_timer == 0)
|
||||
if (organya_callback_milliseconds == 0)
|
||||
{
|
||||
ma_mutex_lock(&mutex);
|
||||
Mixer_MixSounds(stream, frames_total);
|
||||
|
@ -53,8 +52,8 @@ static void Callback(ma_device *device, void *output_stream, const void *input_s
|
|||
|
||||
if (organya_countdown == 0)
|
||||
{
|
||||
organya_countdown = (organya_timer * output_frequency) / 1000; // organya_timer is in milliseconds, so convert it to audio frames
|
||||
UpdateOrganya();
|
||||
organya_countdown = (organya_callback_milliseconds * output_frequency) / 1000; // organya_timer is in milliseconds, so convert it to audio frames
|
||||
organya_callback();
|
||||
}
|
||||
|
||||
const unsigned int frames_to_do = MIN(organya_countdown, frames_total - frames_done);
|
||||
|
@ -71,7 +70,7 @@ static void Callback(ma_device *device, void *output_stream, const void *input_s
|
|||
ma_mutex_unlock(&organya_mutex);
|
||||
}
|
||||
|
||||
BOOL AudioBackend_Init(void)
|
||||
bool AudioBackend_Init(void)
|
||||
{
|
||||
ma_device_config config = ma_device_config_init(ma_device_type_playback);
|
||||
config.playback.pDeviceID = NULL;
|
||||
|
@ -103,7 +102,7 @@ BOOL AudioBackend_Init(void)
|
|||
|
||||
Mixer_Init(device.sampleRate);
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -132,7 +131,7 @@ BOOL AudioBackend_Init(void)
|
|||
}
|
||||
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void AudioBackend_Deinit(void)
|
||||
|
@ -172,7 +171,7 @@ void AudioBackend_DestroySound(AudioBackend_Sound *sound)
|
|||
ma_mutex_unlock(&mutex);
|
||||
}
|
||||
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping)
|
||||
void AudioBackend_PlaySound(AudioBackend_Sound *sound, bool looping)
|
||||
{
|
||||
if (sound == NULL)
|
||||
return;
|
||||
|
@ -244,11 +243,12 @@ void AudioBackend_SetSoundPan(AudioBackend_Sound *sound, long pan)
|
|||
ma_mutex_unlock(&mutex);
|
||||
}
|
||||
|
||||
void AudioBackend_SetOrganyaTimer(unsigned short timer)
|
||||
void AudioBackend_SetOrganyaCallback(void (*callback)(void), unsigned int milliseconds)
|
||||
{
|
||||
ma_mutex_lock(&organya_mutex);
|
||||
|
||||
organya_timer = timer;
|
||||
organya_callback = callback;
|
||||
organya_callback_milliseconds = milliseconds;
|
||||
|
||||
ma_mutex_unlock(&organya_mutex);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#include "../Controller.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define GLFW_INCLUDE_NONE
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "Window.h"
|
||||
#include "../Rendering.h"
|
||||
#include "../../Attributes.h"
|
||||
|
@ -25,7 +23,7 @@
|
|||
keyboard_state[BACKEND_KEY] = action == GLFW_PRESS; \
|
||||
break;
|
||||
|
||||
static BOOL keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
static bool keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
|
||||
static GLFWcursor* cursor;
|
||||
|
||||
|
@ -155,16 +153,16 @@ static void ErrorCallback(int code, const char *description)
|
|||
Backend_PrintError("GLFW error received (%d): %s", code, description);
|
||||
}
|
||||
|
||||
BOOL Backend_Init(void)
|
||||
bool Backend_Init(void)
|
||||
{
|
||||
glfwSetErrorCallback(ErrorCallback);
|
||||
|
||||
if (glfwInit() == GL_TRUE)
|
||||
return TRUE;
|
||||
return true;
|
||||
|
||||
Backend_ShowMessageBox("Fatal error", "Could not initialise GLFW3");
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void Backend_Deinit(void)
|
||||
|
@ -183,12 +181,12 @@ void Backend_PostWindowCreation(void)
|
|||
glfwSetWindowSizeCallback(window, WindowSizeCallback);
|
||||
}
|
||||
|
||||
BOOL Backend_GetBasePath(char *string_buffer)
|
||||
bool Backend_GetBasePath(char *string_buffer)
|
||||
{
|
||||
(void)string_buffer;
|
||||
|
||||
// GLFW3 doesn't seem to have a mechanism for this
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void Backend_HideMouse(void)
|
||||
|
@ -270,12 +268,12 @@ void PlaybackBackend_EnableDragAndDrop(void)
|
|||
glfwSetDropCallback(window, DragAndDropCallback);
|
||||
}
|
||||
|
||||
BOOL Backend_SystemTask(BOOL active)
|
||||
bool Backend_SystemTask(bool active)
|
||||
{
|
||||
if (glfwWindowShouldClose(window))
|
||||
{
|
||||
StopOrganyaMusic();
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (active)
|
||||
|
@ -283,10 +281,10 @@ BOOL Backend_SystemTask(BOOL active)
|
|||
else
|
||||
glfwWaitEvents();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void Backend_GetKeyboardState(BOOL *out_keyboard_state)
|
||||
void Backend_GetKeyboardState(bool *out_keyboard_state)
|
||||
{
|
||||
memcpy(out_keyboard_state, keyboard_state, sizeof(keyboard_state));
|
||||
}
|
||||
|
|
|
@ -11,13 +11,11 @@
|
|||
#endif
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
|
||||
GLFWwindow *window;
|
||||
|
||||
BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, BOOL fullscreen)
|
||||
bool WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, BOOL fullscreen)
|
||||
{
|
||||
#ifdef USE_OPENGLES2
|
||||
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API);
|
||||
|
@ -61,7 +59,7 @@ BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_wid
|
|||
#endif
|
||||
Backend_PostWindowCreation();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
#ifndef USE_OPENGLES2
|
||||
}
|
||||
else
|
||||
|
@ -82,7 +80,7 @@ BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_wid
|
|||
Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", "Could not create window");
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void WindowBackend_OpenGL_DestroyWindow(void)
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
#endif
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
|
||||
GLFWwindow *window;
|
||||
|
@ -26,7 +24,7 @@ static float framebuffer_y_ratio;
|
|||
|
||||
static GLuint screen_texture_id;
|
||||
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, BOOL fullscreen, size_t *pitch)
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, bool fullscreen, size_t *pitch)
|
||||
{
|
||||
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 1);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "../Attributes.h"
|
||||
#include "../WindowsWrapper.h"
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -84,16 +83,16 @@ enum
|
|||
BACKEND_KEYBOARD_TOTAL
|
||||
};
|
||||
|
||||
BOOL Backend_Init(void);
|
||||
bool Backend_Init(void);
|
||||
void Backend_Deinit(void);
|
||||
void Backend_PostWindowCreation(void);
|
||||
BOOL Backend_GetBasePath(char *string_buffer);
|
||||
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(BOOL active);
|
||||
void Backend_GetKeyboardState(BOOL *keyboard_state);
|
||||
bool Backend_SystemTask(bool active);
|
||||
void Backend_GetKeyboardState(bool *keyboard_state);
|
||||
void Backend_ShowMessageBox(const char *title, const char *message);
|
||||
ATTRIBUTE_FORMAT_PRINTF(1, 2) void Backend_PrintError(const char *format, ...);
|
||||
ATTRIBUTE_FORMAT_PRINTF(1, 2) void Backend_PrintInfo(const char *format, ...);
|
||||
|
|
|
@ -1,22 +1,28 @@
|
|||
#pragma once
|
||||
|
||||
#include "../WindowsWrapper.h"
|
||||
|
||||
typedef struct RenderBackend_Surface RenderBackend_Surface;
|
||||
typedef struct RenderBackend_Glyph RenderBackend_Glyph;
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen);
|
||||
typedef struct RenderBackend_Rect
|
||||
{
|
||||
long left;
|
||||
long top;
|
||||
long right;
|
||||
long bottom;
|
||||
} RenderBackend_Rect;
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, bool fullscreen);
|
||||
void RenderBackend_Deinit(void);
|
||||
void RenderBackend_DrawScreen(void);
|
||||
void RenderBackend_ClearScreen(void);
|
||||
RenderBackend_Surface* RenderBackend_CreateSurface(unsigned int width, unsigned int height);
|
||||
void RenderBackend_FreeSurface(RenderBackend_Surface *surface);
|
||||
BOOL RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface);
|
||||
bool RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface);
|
||||
void RenderBackend_RestoreSurface(RenderBackend_Surface *surface);
|
||||
unsigned char* RenderBackend_LockSurface(RenderBackend_Surface *surface, unsigned int *pitch, unsigned int width, unsigned int height);
|
||||
void RenderBackend_UnlockSurface(RenderBackend_Surface *surface, unsigned int width, unsigned int height);
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect, RenderBackend_Surface *destination_surface, long x, long y, BOOL colour_key);
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RECT *rect, unsigned char red, unsigned char green, unsigned char blue);
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RenderBackend_Rect *rect, RenderBackend_Surface *destination_surface, long x, long y, bool colour_key);
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RenderBackend_Rect *rect, unsigned char red, unsigned char green, unsigned char blue);
|
||||
RenderBackend_Glyph* RenderBackend_LoadGlyph(const unsigned char *pixels, unsigned int width, unsigned int height, int pitch);
|
||||
void RenderBackend_UnloadGlyph(RenderBackend_Glyph *glyph);
|
||||
void RenderBackend_PrepareToDrawGlyphs(RenderBackend_Surface *destination_surface, const unsigned char *colour_channels);
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
#include "../Rendering.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -584,7 +583,7 @@ static void PostGLCallCallback(const char *name, void *function_pointer, int len
|
|||
// Render-backend initialisation
|
||||
// ====================
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, bool fullscreen)
|
||||
{
|
||||
#ifndef USE_OPENGLES2
|
||||
glad_set_post_callback(PostGLCallCallback);
|
||||
|
@ -855,11 +854,11 @@ void RenderBackend_FreeSurface(RenderBackend_Surface *surface)
|
|||
free(surface);
|
||||
}
|
||||
|
||||
BOOL RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
bool RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
{
|
||||
(void)surface;
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void RenderBackend_RestoreSurface(RenderBackend_Surface *surface)
|
||||
|
@ -897,7 +896,7 @@ void RenderBackend_UnlockSurface(RenderBackend_Surface *surface, unsigned int wi
|
|||
// Drawing
|
||||
// ====================
|
||||
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect, RenderBackend_Surface *destination_surface, long x, long y, BOOL colour_key)
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RenderBackend_Rect *rect, RenderBackend_Surface *destination_surface, long x, long y, bool colour_key)
|
||||
{
|
||||
if (source_surface == NULL || destination_surface == NULL)
|
||||
return;
|
||||
|
@ -976,7 +975,7 @@ void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect,
|
|||
}
|
||||
}
|
||||
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RECT *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RenderBackend_Rect *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
static unsigned char last_red;
|
||||
static unsigned char last_green;
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
|
||||
#include "SDL.h"
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
#include "../SDL2/Window.h"
|
||||
|
||||
|
@ -31,7 +29,7 @@ static RenderBackend_Surface framebuffer;
|
|||
static unsigned char glyph_colour_channels[3];
|
||||
static SDL_Surface *glyph_destination_sdlsurface;
|
||||
|
||||
static void RectToSDLRect(const RECT *rect, SDL_Rect *sdl_rect)
|
||||
static void RectToSDLRect(const RenderBackend_Rect *rect, SDL_Rect *sdl_rect)
|
||||
{
|
||||
sdl_rect->x = (int)rect->left;
|
||||
sdl_rect->y = (int)rect->top;
|
||||
|
@ -45,7 +43,7 @@ static void RectToSDLRect(const RECT *rect, SDL_Rect *sdl_rect)
|
|||
sdl_rect->h = 0;
|
||||
}
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, bool fullscreen)
|
||||
{
|
||||
window = SDL_CreateWindow(window_title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screen_width, screen_height, 0);
|
||||
|
||||
|
@ -130,11 +128,11 @@ void RenderBackend_FreeSurface(RenderBackend_Surface *surface)
|
|||
free(surface);
|
||||
}
|
||||
|
||||
BOOL RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
bool RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
{
|
||||
(void)surface;
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void RenderBackend_RestoreSurface(RenderBackend_Surface *surface)
|
||||
|
@ -161,7 +159,7 @@ void RenderBackend_UnlockSurface(RenderBackend_Surface *surface, unsigned int wi
|
|||
(void)height;
|
||||
}
|
||||
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect, RenderBackend_Surface *destination_surface, long x, long y, BOOL colour_key)
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RenderBackend_Rect *rect, RenderBackend_Surface *destination_surface, long x, long y, bool colour_key)
|
||||
{
|
||||
if (source_surface == NULL || destination_surface == NULL)
|
||||
return;
|
||||
|
@ -183,7 +181,7 @@ void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect,
|
|||
Backend_PrintError("Couldn't blit surface: %s", SDL_GetError());
|
||||
}
|
||||
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RECT *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RenderBackend_Rect *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
if (surface == NULL)
|
||||
return;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#include "../Rendering.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
|
@ -26,7 +25,7 @@ typedef struct RenderBackend_Surface
|
|||
unsigned char *pixels;
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
BOOL lost;
|
||||
bool lost;
|
||||
|
||||
struct RenderBackend_Surface *next;
|
||||
struct RenderBackend_Surface *prev;
|
||||
|
@ -51,7 +50,7 @@ static unsigned char glyph_colour_channels[3];
|
|||
|
||||
static spritebatch_t glyph_batcher;
|
||||
|
||||
static void RectToSDLRect(const RECT *rect, SDL_Rect *sdl_rect)
|
||||
static void RectToSDLRect(const RenderBackend_Rect *rect, SDL_Rect *sdl_rect)
|
||||
{
|
||||
sdl_rect->x = (int)rect->left;
|
||||
sdl_rect->y = (int)rect->top;
|
||||
|
@ -126,7 +125,7 @@ static void GlyphBatch_DestroyTexture(SPRITEBATCH_U64 texture_id, void *udata)
|
|||
SDL_DestroyTexture((SDL_Texture*)texture_id);
|
||||
}
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, bool fullscreen)
|
||||
{
|
||||
Backend_PrintInfo("Available SDL render drivers:");
|
||||
|
||||
|
@ -254,7 +253,7 @@ RenderBackend_Surface* RenderBackend_CreateSurface(unsigned int width, unsigned
|
|||
|
||||
surface->width = width;
|
||||
surface->height = height;
|
||||
surface->lost = FALSE;
|
||||
surface->lost = false;
|
||||
|
||||
// Add to linked-list
|
||||
surface->prev = NULL;
|
||||
|
@ -282,14 +281,14 @@ void RenderBackend_FreeSurface(RenderBackend_Surface *surface)
|
|||
free(surface);
|
||||
}
|
||||
|
||||
BOOL RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
bool RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
{
|
||||
return surface->lost;
|
||||
}
|
||||
|
||||
void RenderBackend_RestoreSurface(RenderBackend_Surface *surface)
|
||||
{
|
||||
surface->lost = FALSE;
|
||||
surface->lost = false;
|
||||
}
|
||||
|
||||
unsigned char* RenderBackend_LockSurface(RenderBackend_Surface *surface, unsigned int *pitch, unsigned int width, unsigned int height)
|
||||
|
@ -349,7 +348,7 @@ void RenderBackend_UnlockSurface(RenderBackend_Surface *surface, unsigned int wi
|
|||
free(buffer);
|
||||
}
|
||||
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect, RenderBackend_Surface *destination_surface, long x, long y, BOOL colour_key)
|
||||
void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RenderBackend_Rect *rect, RenderBackend_Surface *destination_surface, long x, long y, bool colour_key)
|
||||
{
|
||||
if (source_surface == NULL || destination_surface == NULL)
|
||||
return;
|
||||
|
@ -370,7 +369,7 @@ void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect,
|
|||
Backend_PrintError("Couldn't copy part of texture to rendering target: %s", SDL_GetError());
|
||||
}
|
||||
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RECT *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RenderBackend_Rect *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
if (surface == NULL)
|
||||
return;
|
||||
|
@ -474,7 +473,7 @@ void RenderBackend_FlushGlyphs(void)
|
|||
void RenderBackend_HandleRenderTargetLoss(void)
|
||||
{
|
||||
for (RenderBackend_Surface *surface = surface_list_head; surface != NULL; surface = surface->next)
|
||||
surface->lost = TRUE;
|
||||
surface->lost = true;
|
||||
}
|
||||
|
||||
void RenderBackend_HandleWindowResize(unsigned int width, unsigned int height)
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
#include "../Window-Software.h"
|
||||
#include "../../Attributes.h"
|
||||
|
@ -33,7 +31,7 @@ static RenderBackend_Surface framebuffer;
|
|||
static unsigned char glyph_colour_channels[3];
|
||||
static RenderBackend_Surface *glyph_destination_surface;
|
||||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, bool fullscreen)
|
||||
{
|
||||
size_t pitch;
|
||||
framebuffer.pixels = WindowBackend_Software_CreateWindow(window_title, screen_width, screen_height, fullscreen, &pitch);
|
||||
|
@ -91,11 +89,11 @@ void RenderBackend_FreeSurface(RenderBackend_Surface *surface)
|
|||
free(surface);
|
||||
}
|
||||
|
||||
BOOL RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
bool RenderBackend_IsSurfaceLost(RenderBackend_Surface *surface)
|
||||
{
|
||||
(void)surface;
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void RenderBackend_RestoreSurface(RenderBackend_Surface *surface)
|
||||
|
@ -122,12 +120,12 @@ void RenderBackend_UnlockSurface(RenderBackend_Surface *surface, unsigned int wi
|
|||
(void)height;
|
||||
}
|
||||
|
||||
ATTRIBUTE_HOT void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RECT *rect, RenderBackend_Surface *destination_surface, long x, long y, BOOL colour_key)
|
||||
ATTRIBUTE_HOT void RenderBackend_Blit(RenderBackend_Surface *source_surface, const RenderBackend_Rect *rect, RenderBackend_Surface *destination_surface, long x, long y, bool colour_key)
|
||||
{
|
||||
if (source_surface == NULL || destination_surface == NULL)
|
||||
return;
|
||||
|
||||
RECT rect_clamped;
|
||||
RenderBackend_Rect rect_clamped;
|
||||
|
||||
rect_clamped.left = rect->left;
|
||||
rect_clamped.top = rect->top;
|
||||
|
@ -205,12 +203,12 @@ ATTRIBUTE_HOT void RenderBackend_Blit(RenderBackend_Surface *source_surface, con
|
|||
}
|
||||
}
|
||||
|
||||
ATTRIBUTE_HOT void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RECT *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
ATTRIBUTE_HOT void RenderBackend_ColourFill(RenderBackend_Surface *surface, const RenderBackend_Rect *rect, unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
if (surface == NULL)
|
||||
return;
|
||||
|
||||
RECT rect_clamped;
|
||||
RenderBackend_Rect rect_clamped;
|
||||
|
||||
rect_clamped.left = rect->left;
|
||||
rect_clamped.top = rect->top;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include "Controller.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "SDL.h"
|
||||
|
||||
|
|
|
@ -2,7 +2,5 @@
|
|||
|
||||
#include "SDL.h"
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
void ControllerBackend_JoystickConnect(Sint32 joystick_id);
|
||||
void ControllerBackend_JoystickDisconnect(Sint32 joystick_id);
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
#include "../Misc.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
|
||||
#include "SDL.h"
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "Controller.h"
|
||||
#include "Window.h"
|
||||
#include "../Rendering.h"
|
||||
|
@ -23,13 +20,13 @@
|
|||
keyboard_state[BACKEND_KEY] = event.key.type == SDL_KEYDOWN; \
|
||||
break;
|
||||
|
||||
static BOOL keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
static bool keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
|
||||
static unsigned char *cursor_surface_pixels;
|
||||
static SDL_Surface *cursor_surface;
|
||||
static SDL_Cursor *cursor;
|
||||
|
||||
BOOL Backend_Init(void)
|
||||
bool Backend_Init(void)
|
||||
{
|
||||
if (SDL_Init(SDL_INIT_EVENTS) == 0)
|
||||
{
|
||||
|
@ -46,7 +43,7 @@ BOOL Backend_Init(void)
|
|||
{
|
||||
Backend_PrintInfo("Selected SDL video driver: %s", driver);
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -67,7 +64,7 @@ BOOL Backend_Init(void)
|
|||
Backend_ShowMessageBox("Fatal error", error_message.c_str());
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void Backend_Deinit(void)
|
||||
|
@ -88,11 +85,11 @@ void Backend_PostWindowCreation(void)
|
|||
|
||||
}
|
||||
|
||||
BOOL Backend_GetBasePath(char *string_buffer)
|
||||
bool Backend_GetBasePath(char *string_buffer)
|
||||
{
|
||||
char *base_path = SDL_GetBasePath();
|
||||
if (base_path == NULL)
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
// Trim the trailing '/'
|
||||
size_t base_path_length = strlen(base_path);
|
||||
|
@ -100,7 +97,7 @@ BOOL Backend_GetBasePath(char *string_buffer)
|
|||
strcpy(string_buffer, base_path);
|
||||
SDL_free(base_path);
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void Backend_HideMouse(void)
|
||||
|
@ -155,14 +152,14 @@ void PlaybackBackend_EnableDragAndDrop(void)
|
|||
SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
|
||||
}
|
||||
|
||||
BOOL Backend_SystemTask(BOOL active)
|
||||
bool Backend_SystemTask(bool active)
|
||||
{
|
||||
if (SDL_PollEvent(NULL) || !active)
|
||||
{
|
||||
SDL_Event event;
|
||||
|
||||
if (!SDL_WaitEvent(&event))
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
switch (event.type)
|
||||
{
|
||||
|
@ -286,7 +283,7 @@ BOOL Backend_SystemTask(BOOL active)
|
|||
|
||||
case SDL_QUIT:
|
||||
StopOrganyaMusic();
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
case SDL_RENDER_TARGETS_RESET:
|
||||
RenderBackend_HandleRenderTargetLoss();
|
||||
|
@ -295,10 +292,10 @@ BOOL Backend_SystemTask(BOOL active)
|
|||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void Backend_GetKeyboardState(BOOL *out_keyboard_state)
|
||||
void Backend_GetKeyboardState(bool *out_keyboard_state)
|
||||
{
|
||||
memcpy(out_keyboard_state, keyboard_state, sizeof(keyboard_state));
|
||||
}
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
#endif
|
||||
#include "SDL.h"
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
#include "../../Resource.h"
|
||||
|
||||
|
@ -20,7 +18,7 @@ SDL_Window *window;
|
|||
|
||||
static SDL_GLContext context;
|
||||
|
||||
BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, BOOL fullscreen)
|
||||
bool WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, bool fullscreen)
|
||||
{
|
||||
#ifdef USE_OPENGLES2
|
||||
if (SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES) < 0)
|
||||
|
@ -67,7 +65,7 @@ BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_wid
|
|||
#endif
|
||||
Backend_PostWindowCreation();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
#ifndef USE_OPENGLES2
|
||||
}
|
||||
else
|
||||
|
@ -103,7 +101,7 @@ BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_wid
|
|||
Backend_ShowMessageBox("Fatal error (OpenGL rendering backend)", error_message.c_str());
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
void WindowBackend_OpenGL_DestroyWindow(void)
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
|
||||
#include "SDL.h"
|
||||
|
||||
#include "../../WindowsWrapper.h"
|
||||
|
||||
#include "../Misc.h"
|
||||
|
||||
SDL_Window *window;
|
||||
|
@ -16,7 +14,7 @@ SDL_Window *window;
|
|||
static SDL_Surface *window_sdlsurface;
|
||||
static SDL_Surface *framebuffer_sdlsurface;
|
||||
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, BOOL fullscreen, size_t *pitch)
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, bool fullscreen, size_t *pitch)
|
||||
{
|
||||
window = SDL_CreateWindow(window_title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screen_width, screen_height, 0);
|
||||
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
#include "../WindowsWrapper.h"
|
||||
|
||||
BOOL WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, BOOL fullscreen);
|
||||
bool WindowBackend_OpenGL_CreateWindow(const char *window_title, int *screen_width, int *screen_height, bool fullscreen);
|
||||
void WindowBackend_OpenGL_DestroyWindow(void);
|
||||
void WindowBackend_OpenGL_Display(void);
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "../WindowsWrapper.h"
|
||||
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, BOOL fullscreen, size_t *pitch);
|
||||
unsigned char* WindowBackend_Software_CreateWindow(const char *window_title, int screen_width, int screen_height, bool fullscreen, size_t *pitch);
|
||||
void WindowBackend_Software_DestroyWindow(void);
|
||||
void WindowBackend_Software_Display(void);
|
||||
void WindowBackend_Software_HandleWindowResize(unsigned int width, unsigned int height);
|
||||
|
|
22
src/Draw.cpp
22
src/Draw.cpp
|
@ -412,7 +412,7 @@ BOOL MakeSurface_Generic(int bxsize, int bysize, SurfaceID surf_no, BOOL bSystem
|
|||
|
||||
void BackupSurface(SurfaceID surf_no, const RECT *rect)
|
||||
{
|
||||
static RECT scaled_rect;
|
||||
static RenderBackend_Rect scaled_rect;
|
||||
scaled_rect.left = rect->left * magnification;
|
||||
scaled_rect.top = rect->top * magnification;
|
||||
scaled_rect.right = rect->right * magnification;
|
||||
|
@ -423,9 +423,12 @@ void BackupSurface(SurfaceID surf_no, const RECT *rect)
|
|||
|
||||
void PutBitmap3(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID surf_no) // Transparency
|
||||
{
|
||||
static RECT rcWork;
|
||||
static RenderBackend_Rect rcWork;
|
||||
|
||||
rcWork = *rect;
|
||||
rcWork.left = rect->left;
|
||||
rcWork.top = rect->top;
|
||||
rcWork.right = rect->right;
|
||||
rcWork.bottom = rect->bottom;
|
||||
|
||||
if (x + rect->right - rect->left > rcView->right)
|
||||
rcWork.right -= (x + rect->right - rect->left) - rcView->right;
|
||||
|
@ -455,9 +458,12 @@ void PutBitmap3(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID su
|
|||
|
||||
void PutBitmap4(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID surf_no) // No Transparency
|
||||
{
|
||||
static RECT rcWork;
|
||||
static RenderBackend_Rect rcWork;
|
||||
|
||||
rcWork = *rect;
|
||||
rcWork.left = rect->left;
|
||||
rcWork.top = rect->top;
|
||||
rcWork.right = rect->right;
|
||||
rcWork.bottom = rect->bottom;
|
||||
|
||||
if (x + rect->right - rect->left > rcView->right)
|
||||
rcWork.right -= (x + rect->right - rect->left) - rcView->right;
|
||||
|
@ -487,7 +493,7 @@ void PutBitmap4(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID su
|
|||
|
||||
void Surface2Surface(int x, int y, const RECT *rect, int to, int from)
|
||||
{
|
||||
static RECT rcWork;
|
||||
static RenderBackend_Rect rcWork;
|
||||
|
||||
rcWork.left = rect->left * magnification;
|
||||
rcWork.top = rect->top * magnification;
|
||||
|
@ -505,7 +511,7 @@ unsigned long GetCortBoxColor(unsigned long col)
|
|||
|
||||
void CortBox(const RECT *rect, unsigned long col)
|
||||
{
|
||||
static RECT dst_rect;
|
||||
static RenderBackend_Rect dst_rect;
|
||||
dst_rect.left = rect->left * magnification;
|
||||
dst_rect.top = rect->top * magnification;
|
||||
dst_rect.right = rect->right * magnification;
|
||||
|
@ -520,7 +526,7 @@ void CortBox(const RECT *rect, unsigned long col)
|
|||
|
||||
void CortBox2(const RECT *rect, unsigned long col, SurfaceID surf_no)
|
||||
{
|
||||
static RECT dst_rect;
|
||||
static RenderBackend_Rect dst_rect;
|
||||
dst_rect.left = rect->left * magnification;
|
||||
dst_rect.top = rect->top * magnification;
|
||||
dst_rect.right = rect->right * magnification;
|
||||
|
|
|
@ -19,7 +19,7 @@ BOOL InitDirectInput(void)
|
|||
|
||||
BOOL GetJoystickStatus(JOYSTICK_STATUS *status)
|
||||
{
|
||||
BOOL *buttons;
|
||||
bool *buttons;
|
||||
unsigned int button_count;
|
||||
|
||||
short *axes;
|
||||
|
@ -63,7 +63,7 @@ BOOL GetJoystickStatus(JOYSTICK_STATUS *status)
|
|||
|
||||
BOOL ResetJoystickStatus(void)
|
||||
{
|
||||
BOOL *buttons;
|
||||
bool *buttons;
|
||||
unsigned int button_count;
|
||||
|
||||
short *axes;
|
||||
|
|
|
@ -395,7 +395,7 @@ BOOL SystemTask(void)
|
|||
return FALSE;
|
||||
} while(!bActive);
|
||||
|
||||
BOOL keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
bool keyboard_state[BACKEND_KEYBOARD_TOTAL];
|
||||
Backend_GetKeyboardState(keyboard_state);
|
||||
|
||||
for (unsigned int i = 0; i < BACKEND_KEYBOARD_TOTAL; ++i)
|
||||
|
|
|
@ -398,6 +398,11 @@ void PlayDramObject(unsigned char key, int mode, signed char track)
|
|||
|
||||
ORGDATA org_data;
|
||||
|
||||
static void OrganyaCallback(void)
|
||||
{
|
||||
org_data.PlayData();
|
||||
}
|
||||
|
||||
OrgData::OrgData(void)
|
||||
{
|
||||
for (int i = 0; i < MAXTRACK; i++)
|
||||
|
@ -830,7 +835,7 @@ void PlayOrganyaMusic(void)
|
|||
if (!audio_backend_initialised)
|
||||
return;
|
||||
|
||||
AudioBackend_SetOrganyaTimer(org_data.info.wait);
|
||||
AudioBackend_SetOrganyaCallback(OrganyaCallback, org_data.info.wait);
|
||||
}
|
||||
|
||||
BOOL ChangeOrganyaVolume(signed int volume)
|
||||
|
@ -850,7 +855,7 @@ void StopOrganyaMusic(void)
|
|||
if (!audio_backend_initialised)
|
||||
return;
|
||||
|
||||
AudioBackend_SetOrganyaTimer(0);
|
||||
AudioBackend_SetOrganyaCallback(NULL, 0);
|
||||
|
||||
// Stop notes
|
||||
for (int i = 0; i < MAXMELODY; i++)
|
||||
|
@ -873,7 +878,7 @@ void EndOrganya(void)
|
|||
if (!audio_backend_initialised)
|
||||
return;
|
||||
|
||||
AudioBackend_SetOrganyaTimer(0);
|
||||
AudioBackend_SetOrganyaCallback(NULL, 0);
|
||||
|
||||
// Release everything related to org
|
||||
org_data.ReleaseNote();
|
||||
|
@ -884,8 +889,3 @@ void EndOrganya(void)
|
|||
ReleaseOrganyaObject(i);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateOrganya(void)
|
||||
{
|
||||
org_data.PlayData();
|
||||
}
|
||||
|
|
|
@ -20,4 +20,3 @@ void StopOrganyaMusic(void);
|
|||
void SetOrganyaFadeout(void);
|
||||
BOOL StartOrganya(const char *wave_filename);
|
||||
void EndOrganya(void);
|
||||
void UpdateOrganya(void);
|
||||
|
|
Loading…
Add table
Reference in a new issue