the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 168 lines 4.3 kB view raw
1#pragma once 2class Mob; 3class Options; 4using namespace std; 5#include "..\..\Minecraft.World\SoundTypes.h" 6 7enum eMUSICFILES 8{ 9 eStream_Overworld_Calm1 = 0, 10 eStream_Overworld_Calm2, 11 eStream_Overworld_Calm3, 12 eStream_Overworld_hal1, 13 eStream_Overworld_hal2, 14 eStream_Overworld_hal3, 15 eStream_Overworld_hal4, 16 eStream_Overworld_nuance1, 17 eStream_Overworld_nuance2, 18#ifndef _XBOX 19 // Add the new music tracks 20 eStream_Overworld_Creative1, 21 eStream_Overworld_Creative2, 22 eStream_Overworld_Creative3, 23 eStream_Overworld_Creative4, 24 eStream_Overworld_Creative5, 25 eStream_Overworld_Creative6, 26 eStream_Overworld_Menu1, 27 eStream_Overworld_Menu2, 28 eStream_Overworld_Menu3, 29 eStream_Overworld_Menu4, 30#endif 31 eStream_Overworld_piano1, 32 eStream_Overworld_piano2, 33 eStream_Overworld_piano3, // <-- make piano3 the last overworld one 34 // Nether 35 eStream_Nether1, 36 eStream_Nether2, 37 eStream_Nether3, 38 eStream_Nether4, 39 // The End 40 eStream_end_dragon, 41 eStream_end_end, 42 eStream_CD_1, 43 eStream_CD_2, 44 eStream_CD_3, 45 eStream_CD_4, 46 eStream_CD_5, 47 eStream_CD_6, 48 eStream_CD_7, 49 eStream_CD_8, 50 eStream_CD_9, 51 eStream_CD_10, 52 eStream_CD_11, 53 eStream_CD_12, 54 eStream_Max, 55}; 56 57enum eMUSICTYPE 58{ 59 eMusicType_None, 60 eMusicType_Game, 61 eMusicType_CD, 62}; 63 64 65enum MUSIC_STREAMSTATE 66{ 67 eMusicStreamState_Idle=0, 68 eMusicStreamState_Stop, 69 eMusicStreamState_Stopping, 70 eMusicStreamState_Opening, 71 eMusicStreamState_OpeningCancel, 72 eMusicStreamState_Play, 73 eMusicStreamState_Playing, 74 eMusicStreamState_Completed 75}; 76 77typedef struct 78{ 79 F32 x,y,z,volume,pitch; 80 int iSound; 81 bool bIs3D; 82 bool bUseSoundsPitchVal; 83#ifdef _DEBUG 84 char chName[64]; 85#endif 86} 87AUDIO_INFO; 88 89class SoundEngine : public ConsoleSoundEngine 90{ 91 static const int MAX_SAME_SOUNDS_PLAYING = 8; // 4J added 92public: 93 SoundEngine(); 94 virtual void destroy(); 95#ifdef _DEBUG 96 void GetSoundName(char *szSoundName,int iSound); 97#endif 98 virtual void play(int iSound, float x, float y, float z, float volume, float pitch); 99 virtual void playStreaming(const wstring& name, float x, float y , float z, float volume, float pitch, bool bMusicDelay=true); 100 virtual void playUI(int iSound, float volume, float pitch); 101 virtual void playMusicTick(); 102 virtual void updateMusicVolume(float fVal); 103 virtual void updateSystemMusicPlaying(bool isPlaying); 104 virtual void updateSoundEffectVolume(float fVal); 105 virtual void init(Options *); 106 virtual void tick(shared_ptr<Mob> *players, float a); // 4J - updated to take array of local players rather than single one 107 virtual void add(const wstring& name, File *file); 108 virtual void addMusic(const wstring& name, File *file); 109 virtual void addStreaming(const wstring& name, File *file); 110 virtual char *ConvertSoundPathToName(const wstring& name, bool bConvertSpaces=false); 111 bool isStreamingWavebankReady(); // 4J Added 112 int getMusicID(int iDomain); 113 int getMusicID(const wstring& name); 114 void SetStreamingSounds(int iOverworldMin, int iOverWorldMax, int iNetherMin, int iNetherMax, int iEndMin, int iEndMax, int iCD1); 115 void updateMiles(); // AP added so Vita can update all the Miles functions during the mixer callback 116 void playMusicUpdate(); 117 118private: 119 float getMasterMusicVolume(); 120 // platform specific functions 121#ifdef __PS3__ 122 int initAudioHardware(int iMinSpeakers); 123#else 124 int initAudioHardware(int iMinSpeakers) { return iMinSpeakers;} 125#endif 126 127 int GetRandomishTrack(int iStart,int iEnd); 128 129 HMSOUNDBANK m_hBank; 130 HDIGDRIVER m_hDriver; 131 HSTREAM m_hStream; 132 133 static char m_szSoundPath[]; 134 static char m_szMusicPath[]; 135 static char m_szRedistName[]; 136 static char *m_szStreamFileA[eStream_Max]; 137 138 AUDIO_LISTENER m_ListenerA[MAX_LOCAL_PLAYERS]; 139 int m_validListenerCount; 140 141 142 Random *random; 143 int m_musicID; 144 int m_iMusicDelay; 145 int m_StreamState; 146 int m_MusicType; 147 AUDIO_INFO m_StreamingAudioInfo; 148 wstring m_CDMusic; 149 BOOL m_bSystemMusicPlaying; 150 float m_MasterMusicVolume; 151 float m_MasterEffectsVolume; 152 153 C4JThread *m_openStreamThread; 154 static int OpenStreamThreadProc( void* lpParameter ); 155 char m_szStreamName[255]; 156 int CurrentSoundsPlaying[eSoundType_MAX+eSFX_MAX]; 157 158 // streaming music files - will be different for mash-up packs 159 int m_iStream_Overworld_Min,m_iStream_Overworld_Max; 160 int m_iStream_Nether_Min,m_iStream_Nether_Max; 161 int m_iStream_End_Min,m_iStream_End_Max; 162 int m_iStream_CD_1; 163 bool *m_bHeardTrackA; 164 165#ifdef __ORBIS__ 166 int32_t m_hBGMAudio; 167#endif 168};