virtual bool SetOrder(ALuint order) { std::vector<char> data(16384); ALuint total = 0; while(1) { fstream->read(&data[total], data.size()-total); if(fstream->gcount() == 0) break; total += fstream->gcount(); data.resize(total*2); } data.resize(total); ModPlugFile *newMod = ModPlug_Load(&data[0], data.size()); if(!newMod) { SetError("Could not reload data"); return false; } ModPlug_Unload(modFile); modFile = newMod; // There seems to be no way to tell if the seek succeeds ModPlug_SeekOrder(modFile, order); lastOrder = order; return true; }
void sfMod::Mod::SeekOrder(int order) { ModPlug_SeekOrder(file_, order); }