131 lines
2.7 KiB
C++
131 lines
2.7 KiB
C++
#ifndef MUSIC_H
|
|
#define MUSIC_H
|
|
|
|
#include "BinaryBlob.h"
|
|
|
|
#define musicroom(rx, ry) ((rx) + ((ry) * 20))
|
|
|
|
/* The amount of "space" for the scale of the user-set volume. */
|
|
#define USER_VOLUME_MAX 256
|
|
|
|
/* It is advised that USER_VOLUME_MAX be divisible by this. */
|
|
#define USER_VOLUME_STEP 32
|
|
|
|
enum
|
|
{
|
|
Music_PATHCOMPLETE = 0,
|
|
Music_PUSHINGONWARDS = 1,
|
|
Music_POSITIVEFORCE = 2,
|
|
Music_POTENTIALFORANYTHING = 3,
|
|
Music_PASSIONFOREXPLORING = 4,
|
|
Music_PAUSE = 5,
|
|
Music_PRESENTINGVVVVVV = 6,
|
|
Music_PLENARY = 7,
|
|
Music_PREDESTINEDFATE = 8,
|
|
Music_POSITIVEFORCEREVERSED = 9,
|
|
Music_POPULARPOTPOURRI = 10,
|
|
Music_PIPEDREAM = 11,
|
|
Music_PRESSURECOOKER = 12,
|
|
Music_PACEDENERGY = 13,
|
|
Music_PIERCINGTHESKY = 14,
|
|
Music_PREDESTINEDFATEREMIX = 15
|
|
};
|
|
|
|
enum
|
|
{
|
|
Sound_FLIP = 0,
|
|
Sound_UNFLIP = 1,
|
|
Sound_CRY = 2,
|
|
Sound_TRINKET = 3,
|
|
Sound_COIN = 4,
|
|
Sound_CHECKPOINT = 5,
|
|
Sound_CRUMBLE = 6,
|
|
Sound_DISAPPEAR = 7,
|
|
Sound_GRAVITYLINE = 8,
|
|
Sound_FLASH = 9,
|
|
Sound_TELEPORT = 10,
|
|
Sound_VIRIDIAN = 11,
|
|
Sound_VERDIGRIS = 12,
|
|
Sound_VICTORIA = 13,
|
|
Sound_VITELLARY = 14,
|
|
Sound_VIOLET = 15,
|
|
Sound_VERMILION = 16,
|
|
Sound_TERMINALTOUCH = 17,
|
|
Sound_GAMESAVED = 18,
|
|
Sound_ALARM = 19,
|
|
Sound_TERMINALTEXT = 20,
|
|
Sound_COUNTDOWN = 21,
|
|
Sound_GO = 22,
|
|
Sound_DESTROY = 23,
|
|
Sound_COMBINE = 24,
|
|
Sound_NEWRECORD = 25,
|
|
Sound_TROPHY = 26,
|
|
Sound_RESCUE = 27
|
|
};
|
|
|
|
class musicclass
|
|
{
|
|
public:
|
|
musicclass(void);
|
|
void init(void);
|
|
void destroy(void);
|
|
|
|
void play(int t);
|
|
void resume(void);
|
|
void resumefade(const int fadein_ms);
|
|
void pause(void);
|
|
void haltdasmusik(void);
|
|
void haltdasmusik(bool from_fade);
|
|
void silencedasmusik(void);
|
|
void fadeMusicVolumeIn(int ms);
|
|
void fadeMusicVolumeOut(const int fadeout_ms);
|
|
void fadeout(const bool quick_fade_ = true);
|
|
void fadein(void);
|
|
void processmusicfadein(void);
|
|
void processmusicfadeout(void);
|
|
void processmusic(void);
|
|
void niceplay(int t);
|
|
|
|
void changemusicarea(int x, int y);
|
|
|
|
int currentsong;
|
|
int haltedsong;
|
|
|
|
void playef(int t);
|
|
void pauseef(void);
|
|
void resumeef(void);
|
|
|
|
bool halted(void);
|
|
void updatemutestate(void);
|
|
|
|
bool safeToProcessMusic;
|
|
|
|
int nicechange; // -1 if no song queued
|
|
bool nicefade;
|
|
|
|
bool m_doFadeInVol;
|
|
bool m_doFadeOutVol;
|
|
int musicVolume;
|
|
|
|
/* 0..USER_VOLUME_MAX */
|
|
int user_music_volume;
|
|
int user_sound_volume;
|
|
|
|
bool quick_fade;
|
|
|
|
// MMMMMM mod settings
|
|
bool mmmmmm;
|
|
bool usingmmmmmm;
|
|
|
|
binaryBlob pppppp_blob;
|
|
binaryBlob mmmmmm_blob;
|
|
int num_pppppp_tracks;
|
|
int num_mmmmmm_tracks;
|
|
};
|
|
|
|
#ifndef MUSIC_DEFINITION
|
|
extern musicclass music;
|
|
#endif
|
|
|
|
#endif /* MUSIC_H */
|