Sound loading from memory (by using a quick hack)
parent
a9a923e4da
commit
db0928add3
25
src/game.cpp
25
src/game.cpp
|
@ -972,31 +972,6 @@ void the_game(
|
||||||
SoundMaker soundmaker(sound, nodedef);
|
SoundMaker soundmaker(sound, nodedef);
|
||||||
soundmaker.registerReceiver(&eventmgr);
|
soundmaker.registerReceiver(&eventmgr);
|
||||||
|
|
||||||
// Preload sounds
|
|
||||||
#if 0
|
|
||||||
sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_grass_walk1.ogg");
|
|
||||||
sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_grass_walk2.ogg");
|
|
||||||
sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_grass_walk3.ogg");
|
|
||||||
|
|
||||||
sound->loadSound("default_dig_crumbly", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_dig_crumbly1.ogg");
|
|
||||||
sound->loadSound("default_dig_crumbly", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_dig_crumbly2.ogg");
|
|
||||||
|
|
||||||
sound->loadSound("default_dig_cracky", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_dig_cracky1.ogg");
|
|
||||||
|
|
||||||
sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_place_node1.ogg");
|
|
||||||
sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_place_node2.ogg");
|
|
||||||
sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
|
|
||||||
+ "sounds" + DIR_DELIM + "default_place_node3.ogg");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Add chat log output for errors to be shown in chat
|
// Add chat log output for errors to be shown in chat
|
||||||
LogOutputBuffer chat_log_error_buf(LMT_ERROR);
|
LogOutputBuffer chat_log_error_buf(LMT_ERROR);
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ with this program; ifnot, write to the Free Software Foundation, Inc.,
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "utility.h" // myrand()
|
#include "utility.h" // myrand()
|
||||||
|
#include "filesys.h"
|
||||||
|
|
||||||
#define BUFFER_SIZE 30000
|
#define BUFFER_SIZE 30000
|
||||||
|
|
||||||
|
@ -434,9 +435,18 @@ public:
|
||||||
bool loadSoundData(const std::string &name,
|
bool loadSoundData(const std::string &name,
|
||||||
const std::string &filedata)
|
const std::string &filedata)
|
||||||
{
|
{
|
||||||
errorstream<<"OpenALSoundManager: Loading from filedata not"
|
// The vorbis API sucks; just write it to a file and use vorbisfile
|
||||||
" implemented"<<std::endl;
|
// TODO: Actually load it directly from memory
|
||||||
return false;
|
std::string basepath = porting::path_user + DIR_DELIM + "cache" +
|
||||||
|
DIR_DELIM + "tmp";
|
||||||
|
std::string path = basepath + DIR_DELIM + "tmp.ogg";
|
||||||
|
verbosestream<<"OpenALSoundManager::loadSoundData(): Writing "
|
||||||
|
<<"temporary file to ["<<path<<"]"<<std::endl;
|
||||||
|
fs::CreateAllDirs(basepath);
|
||||||
|
std::ofstream of(path.c_str(), std::ios::binary);
|
||||||
|
of.write(filedata.c_str(), filedata.size());
|
||||||
|
of.close();
|
||||||
|
return loadSoundFile(name, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateListener(v3f pos, v3f vel, v3f at, v3f up)
|
void updateListener(v3f pos, v3f vel, v3f at, v3f up)
|
||||||
|
|
Loading…
Reference in New Issue