~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Source/Core/Core/Src/FifoPlayer/FifoPlaybackAnalyzer.h

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2013 Dolphin Emulator Project
 
2
// Licensed under GPLv2
 
3
// Refer to the license.txt file included.
 
4
 
 
5
#ifndef _FIFOPLAYBACKANALYZER_H_
 
6
#define _FIFOPLAYBACKANALYZER_H_
 
7
 
 
8
#include "FifoAnalyzer.h"
 
9
#include "FifoDataFile.h"
 
10
 
 
11
#include <string>
 
12
#include <vector>
 
13
 
 
14
struct AnalyzedFrameInfo
 
15
{
 
16
        std::vector<u32> objectStarts;
 
17
        std::vector<u32> objectEnds;
 
18
        std::vector<MemoryUpdate> memoryUpdates;
 
19
};
 
20
 
 
21
class FifoPlaybackAnalyzer
 
22
{
 
23
public:
 
24
        FifoPlaybackAnalyzer();
 
25
 
 
26
        void AnalyzeFrames(FifoDataFile *file, std::vector<AnalyzedFrameInfo> &frameInfo);
 
27
 
 
28
private:
 
29
        struct MemoryRange
 
30
        {
 
31
                u32 begin;
 
32
                u32 end;
 
33
        };
 
34
 
 
35
        void AddMemoryUpdate(MemoryUpdate memUpdate, AnalyzedFrameInfo &frameInfo);
 
36
        
 
37
        u32 DecodeCommand(u8 *data);
 
38
        void LoadBP(u32 value0);
 
39
 
 
40
        void StoreEfbCopyRegion();
 
41
        void StoreWrittenRegion(u32 address, u32 size);
 
42
 
 
43
        bool m_DrawingObject;
 
44
 
 
45
        std::vector<MemoryRange> m_WrittenMemory;
 
46
 
 
47
        BPMemory m_BpMem;
 
48
        FifoAnalyzer::CPMemory m_CpMem;
 
49
};
 
50
 
 
51
#endif