Expose a playback percentage rather than pointers in TracePlayer

This commit is contained in:
Dr. Chat
2015-11-22 11:36:31 -06:00
parent a59e83e0d0
commit 414519fb6c
3 changed files with 10 additions and 19 deletions

View File

@@ -92,16 +92,17 @@ void TracePlayer::PlayTraceOnThread(const uint8_t* trace_data,
auto command_processor = graphics_system_->command_processor();
command_processor->set_swap_mode(SwapMode::kIgnored);
player_start_ptr_ = trace_data;
player_target_ptr_ = trace_data + trace_size;
player_current_ptr_ = trace_data;
playback_percent_ = 0;
auto trace_end = trace_data + trace_size;
playing_trace_ = true;
auto trace_ptr = trace_data;
bool pending_break = false;
const PacketStartCommand* pending_packet = nullptr;
while (trace_ptr < trace_data + trace_size) {
player_current_ptr_ = trace_ptr;
playback_percent_ = uint32_t(
(float(trace_ptr - trace_data) / float(trace_end - trace_data)) *
10000);
auto type = static_cast<TraceCommandType>(xe::load<uint32_t>(trace_ptr));
switch (type) {