Files
4k_synthwave/src/definitions.h

99 lines
2.5 KiB
C

// This header contains necessary structures for setting up correct screen modes,
// pixel formats, audio formats, and so on.
// minify windows.h
#define WIN32_LEAN_AND_MEAN
#define WIN32_EXTRA_LEAN
#define VC_LEANMEAN
#define VC_EXTRALEAN
#pragma pack(push, 8)
#include <windows.h>
#pragma pack(pop)
#include <GL/gl.h>
// global resolution
#define XRES 1920
#define YRES 1080
// declare this symbol if your code uses floating point types
// extern "C" int _fltused;
#pragma data_seg(".pixelfmt")
static const PIXELFORMATDESCRIPTOR pfd = {
#if BREAK_COMPATIBILITY
#if POST_PASS
0, 0, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER, PFD_TYPE_RGBA,
0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0
#else
0, 0, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER, PFD_TYPE_RGBA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0
#endif
#else
sizeof(pfd), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER, PFD_TYPE_RGBA,
32, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 32, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0
#endif
};
#pragma data_seg(".screensettings")
static DEVMODE screenSettings = {
{0}, 0, 0, sizeof(screenSettings), 0, DM_PELSWIDTH|DM_PELSHEIGHT,
{0}, 0, 0, 0, 0, 0, {0}, 0, 0, XRES, YRES, 0, 0,
#if(WINVER >= 0x0400)
0, 0, 0, 0, 0, 0,
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
0, 0
#endif
#endif
};
#if USE_AUDIO
// this file is auto generated by sointu
#include "sointu/song.h"
#ifndef DSBCAPS_TRUEPLAYPOSITION // Not defined in MinGW dsound headers, so let's add it
#define DSBCAPS_TRUEPLAYPOSITION 0x00080000
#endif
#include <mmreg.h>
#include <dsound.h>
SUsample sound_buffer[SU_LENGTH_IN_SAMPLES * SU_CHANNEL_COUNT];
WAVEFORMATEX wave_format = {
#ifdef SU_SAMPLE_FLOAT
WAVE_FORMAT_IEEE_FLOAT,
#else
WAVE_FORMAT_PCM,
#endif
SU_CHANNEL_COUNT,
SU_SAMPLE_RATE,
SU_SAMPLE_RATE * SU_SAMPLE_SIZE * SU_CHANNEL_COUNT,
SU_SAMPLE_SIZE * SU_CHANNEL_COUNT,
SU_SAMPLE_SIZE * 8,
0
};
#pragma data_seg(".descfmt")
DSBUFFERDESC buffer_description = {
sizeof(DSBUFFERDESC),
DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_GLOBALFOCUS | DSBCAPS_TRUEPLAYPOSITION,
SU_LENGTH_IN_SAMPLES * SU_SAMPLE_SIZE * SU_CHANNEL_COUNT,
0,
&wave_format,
0
};
#pragma bss_seg(".syncbuf")
extern "C" {
int _fltused = 1;
float syncBuf[SU_SYNCBUFFER_LENGTH+1];
}
#endif
// currently unused definitions
#ifdef EDITOR_CONTROLS
#define FAIL_KILL false
#define PID_QUALIFIER
#else
#define FAIL_KILL true
#define PID_QUALIFIER const
#endif