cave-story-solaris/src/Organya.h
Clownacy 5ea356a3bd Weed out a lot of the Windows dependency
Storytime: Cucky's original SDL2 port work involved using SDL2's
threading API to emulate the original WinAPI threading.

I can't be assed with that stuff, so I used the same trick Cucky did
for the Wii port, and hooked Organya up to the SDL2 audio callback.
This actually opens up the possibility for perfectly-synchronised
Organya playback. By that I mean, instead of needing a super
low-latency audio callback, I can have the callback synchronise its
audio mixing with Organya itself. I haven't done it yet, I plan to
soon.
2019-09-04 00:28:23 +01:00

25 lines
659 B
C

#pragma once
#include "WindowsWrapper.h"
#define MAXTRACK 16
#define MAXMELODY 8
#define MAXDRAM 8
extern unsigned short organya_timer;
extern BOOL g_mute[MAXTRACK]; // Used by the debug Mute menu
BOOL MakeOrganyaWave(signed char track, signed char wave_no, signed char pipi);
void OrganyaPlayData();
void SetPlayPointer(long x);
BOOL LoadOrganya(const char *name);
void SetOrganyaPosition(unsigned int x);
unsigned int GetOrganyaPosition();
void PlayOrganyaMusic();
BOOL ChangeOrganyaVolume(signed int volume);
void StopOrganyaMusic();
void SetOrganyaFadeout();
BOOL StartOrganya(const char *wave_filename);
void EndOrganya();
void UpdateOrganya(void);