// Return current map number/total maps in demo std::string NetdemoMaps() { std::vector<int> maptimes = netdemo.getMapChangeTimes(); // Single map demo if (maptimes.empty()) { return ""; } std::ostringstream buffer; size_t current_map = 1; // See if we're in a tic past one of the map change times. for (size_t i = 0;i < maptimes.size();i++) { if (maptimes[i] <= netdemo.calculateTimeElapsed()) { current_map = (i + 1); } } buffer << current_map << "/" << maptimes.size(); return buffer.str(); }
// Return the amount of time elapsed in a netdemo. std::string NetdemoElapsed() { if (!(netdemo.isPlaying() || netdemo.isPaused())) { return ""; } int timeelapsed = netdemo.calculateTimeElapsed(); int hours = timeelapsed / 3600; timeelapsed -= hours * 3600; int minutes = timeelapsed / 60; timeelapsed -= minutes * 60; int seconds = timeelapsed; char str[9]; if (hours) { sprintf(str, "%02d:%02d:%02d", hours, minutes, seconds); } else { sprintf(str, "%02d:%02d", minutes, seconds); } return str; }