* red lines for lag frames, "Show lag frames" in View menu,
* "||" button also cancels turbo-seeking * different method of accounting tweakCount: increment once per greenzone invalidation
This commit is contained in:
parent
9a76571490
commit
5a2d97662f
|
@ -68,6 +68,7 @@ extern bool oldInputDisplay;
|
||||||
extern bool fullSaveStateLoads;
|
extern bool fullSaveStateLoads;
|
||||||
extern int frameSkipAmt;
|
extern int frameSkipAmt;
|
||||||
extern bool TASEdit_follow_playback;
|
extern bool TASEdit_follow_playback;
|
||||||
|
extern bool TASEdit_show_lag_frames;
|
||||||
|
|
||||||
//window positions and sizes:
|
//window positions and sizes:
|
||||||
extern int ChtPosX,ChtPosY;
|
extern int ChtPosX,ChtPosY;
|
||||||
|
@ -284,6 +285,7 @@ static CFGSTRUCT fceuconfig[] = {
|
||||||
AC(AutoFireOffset),
|
AC(AutoFireOffset),
|
||||||
AC(DesynchAutoFire),
|
AC(DesynchAutoFire),
|
||||||
AC(TASEdit_follow_playback),
|
AC(TASEdit_follow_playback),
|
||||||
|
AC(TASEdit_show_lag_frames),
|
||||||
AC(lagCounterDisplay),
|
AC(lagCounterDisplay),
|
||||||
AC(oldInputDisplay),
|
AC(oldInputDisplay),
|
||||||
AC(movieSubtitles),
|
AC(movieSubtitles),
|
||||||
|
|
|
@ -44,6 +44,7 @@ static struct
|
||||||
{ EMUCMD_LOAD_STATE, SCAN_P, }, //most people use the loadslotx / savestlotx style system which requires hogging all th F Keys.
|
{ EMUCMD_LOAD_STATE, SCAN_P, }, //most people use the loadslotx / savestlotx style system which requires hogging all th F Keys.
|
||||||
{ EMUCMD_MOVIE_FRAME_DISPLAY_TOGGLE, SCAN_PERIOD, },
|
{ EMUCMD_MOVIE_FRAME_DISPLAY_TOGGLE, SCAN_PERIOD, },
|
||||||
{ EMUCMD_MOVIE_INPUT_DISPLAY_TOGGLE, SCAN_COMMA, },
|
{ EMUCMD_MOVIE_INPUT_DISPLAY_TOGGLE, SCAN_COMMA, },
|
||||||
|
{ EMUCMD_MISC_DISPLAY_LAGCOUNTER_TOGGLE, SCAN_SLASH, },
|
||||||
{ EMUCMD_MOVIE_READONLY_TOGGLE, SCAN_Q, },
|
{ EMUCMD_MOVIE_READONLY_TOGGLE, SCAN_Q, },
|
||||||
{ EMUCMD_SAVE_STATE_SLOT_0, SCAN_F10 | CMD_KEY_SHIFT, },
|
{ EMUCMD_SAVE_STATE_SLOT_0, SCAN_F10 | CMD_KEY_SHIFT, },
|
||||||
{ EMUCMD_SAVE_STATE_SLOT_1, SCAN_F1 | CMD_KEY_SHIFT, },
|
{ EMUCMD_SAVE_STATE_SLOT_1, SCAN_F1 | CMD_KEY_SHIFT, },
|
||||||
|
|
|
@ -246,6 +246,8 @@ BEGIN
|
||||||
END
|
END
|
||||||
POPUP "&View"
|
POPUP "&View"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
MENUITEM "Show &lag frames", ID_VIEW_SHOW_LAG_FRAMES
|
||||||
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Follow playback", ID_VIEW_FOLLOW_PLAYBACK
|
MENUITEM "&Follow playback", ID_VIEW_FOLLOW_PLAYBACK
|
||||||
END
|
END
|
||||||
POPUP "&Help"
|
POPUP "&Help"
|
||||||
|
|
|
@ -808,6 +808,7 @@
|
||||||
#define ID_GAME_USECONFIG 40417
|
#define ID_GAME_USECONFIG 40417
|
||||||
#define FCEUX_CONTEXT_GUICONFIG 40418
|
#define FCEUX_CONTEXT_GUICONFIG 40418
|
||||||
#define ID_VIEW_FOLLOW_PLAYBACK 40419
|
#define ID_VIEW_FOLLOW_PLAYBACK 40419
|
||||||
|
#define ID_VIEW_SHOW_LAG_FRAMES 40420
|
||||||
#define IDC_DEBUGGER_ICONTRAY 55535
|
#define IDC_DEBUGGER_ICONTRAY 55535
|
||||||
#define MW_ValueLabel2 65423
|
#define MW_ValueLabel2 65423
|
||||||
#define MW_ValueLabel1 65426
|
#define MW_ValueLabel1 65426
|
||||||
|
@ -817,7 +818,7 @@
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 160
|
#define _APS_NEXT_RESOURCE_VALUE 160
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40420
|
#define _APS_NEXT_COMMAND_VALUE 40421
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1261
|
#define _APS_NEXT_CONTROL_VALUE 1261
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,6 +23,7 @@ using namespace std;
|
||||||
|
|
||||||
int TasEdit_wndx, TasEdit_wndy;
|
int TasEdit_wndx, TasEdit_wndy;
|
||||||
bool TASEdit_follow_playback = true;
|
bool TASEdit_follow_playback = true;
|
||||||
|
bool TASEdit_show_lag_frames = true;
|
||||||
|
|
||||||
string tasedithelp = "{16CDE0C4-02B0-4A60-A88D-076319909A4D}"; //Name of TASEdit Help page
|
string tasedithelp = "{16CDE0C4-02B0-4A60-A88D-076319909A4D}"; //Name of TASEdit Help page
|
||||||
|
|
||||||
|
@ -112,9 +113,15 @@ static LONG CustomDraw(NMLVCUSTOMDRAW* msg)
|
||||||
msg->clrTextBk = CUR_FRAMENUM_COLOR;
|
msg->clrTextBk = CUR_FRAMENUM_COLOR;
|
||||||
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
||||||
{
|
{
|
||||||
// TODO: redline for lag frames
|
if (TASEdit_show_lag_frames && currMovieData.frames_flags[cell_y] && (currMovieData.frames_flags[cell_y] & LAG_FLAG_BIT))
|
||||||
|
{
|
||||||
|
// lag frame
|
||||||
|
msg->clrTextBk = LAG_FRAMENUM_COLOR;
|
||||||
|
} else
|
||||||
|
{
|
||||||
// green zone frame
|
// green zone frame
|
||||||
msg->clrTextBk = GREENZONE_FRAMENUM_COLOR;
|
msg->clrTextBk = GREENZONE_FRAMENUM_COLOR;
|
||||||
|
}
|
||||||
} else msg->clrTextBk = NORMAL_FRAMENUM_COLOR;
|
} else msg->clrTextBk = NORMAL_FRAMENUM_COLOR;
|
||||||
} else if((cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 0 || (cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 2)
|
} else if((cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 0 || (cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 2)
|
||||||
{
|
{
|
||||||
|
@ -125,9 +132,15 @@ static LONG CustomDraw(NMLVCUSTOMDRAW* msg)
|
||||||
msg->clrTextBk = CUR_INPUT_COLOR1;
|
msg->clrTextBk = CUR_INPUT_COLOR1;
|
||||||
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
||||||
{
|
{
|
||||||
// TODO: redline for lag frames
|
if (TASEdit_show_lag_frames && currMovieData.frames_flags[cell_y] && (currMovieData.frames_flags[cell_y] & LAG_FLAG_BIT))
|
||||||
|
{
|
||||||
|
// lag frame
|
||||||
|
msg->clrTextBk = LAG_INPUT_COLOR1;
|
||||||
|
} else
|
||||||
|
{
|
||||||
// green zone frame
|
// green zone frame
|
||||||
msg->clrTextBk = GREENZONE_INPUT_COLOR1;
|
msg->clrTextBk = GREENZONE_INPUT_COLOR1;
|
||||||
|
}
|
||||||
} else msg->clrTextBk = NORMAL_INPUT_COLOR1;
|
} else msg->clrTextBk = NORMAL_INPUT_COLOR1;
|
||||||
} else if((cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 1 || (cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 3)
|
} else if((cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 1 || (cell_x - COLUMN_JOYPAD1_A) / NUM_JOYPAD_BUTTONS == 3)
|
||||||
{
|
{
|
||||||
|
@ -138,9 +151,15 @@ static LONG CustomDraw(NMLVCUSTOMDRAW* msg)
|
||||||
msg->clrTextBk = CUR_INPUT_COLOR2;
|
msg->clrTextBk = CUR_INPUT_COLOR2;
|
||||||
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
} else if(cell_y < currMovieData.greenZoneCount && !currMovieData.savestates[cell_y].empty())
|
||||||
{
|
{
|
||||||
// TODO: redline for lag frames
|
if (TASEdit_show_lag_frames && currMovieData.frames_flags[cell_y] && (currMovieData.frames_flags[cell_y] & LAG_FLAG_BIT))
|
||||||
|
{
|
||||||
|
// lag frame
|
||||||
|
msg->clrTextBk = LAG_INPUT_COLOR2;
|
||||||
|
} else
|
||||||
|
{
|
||||||
// green zone frame
|
// green zone frame
|
||||||
msg->clrTextBk = GREENZONE_INPUT_COLOR2;
|
msg->clrTextBk = GREENZONE_INPUT_COLOR2;
|
||||||
|
}
|
||||||
} else msg->clrTextBk = NORMAL_INPUT_COLOR2;
|
} else msg->clrTextBk = NORMAL_INPUT_COLOR2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -264,9 +283,15 @@ void LockGreenZone(int newstart)
|
||||||
|
|
||||||
void InvalidateGreenZone(int after)
|
void InvalidateGreenZone(int after)
|
||||||
{
|
{
|
||||||
currMovieData.greenZoneCount = std::min(after+1,currMovieData.greenZoneCount);
|
if (currMovieData.greenZoneCount > after+1)
|
||||||
|
{
|
||||||
|
currMovieData.greenZoneCount = after+1;
|
||||||
|
// increase tweakCount
|
||||||
|
currMovieData.tweakCount++;
|
||||||
|
InvalidateRect(hwndTasEdit,0,FALSE);
|
||||||
if (currFrameCounter >= currMovieData.greenZoneCount)
|
if (currFrameCounter >= currMovieData.greenZoneCount)
|
||||||
JumpToFrame(currMovieData.greenZoneCount-1);
|
JumpToFrame(currMovieData.greenZoneCount-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A function that tries jumping to a given frame. If unsuccessful, it than tries to jump to
|
/* A function that tries jumping to a given frame. If unsuccessful, it than tries to jump to
|
||||||
|
@ -287,7 +312,7 @@ bool JumpToFrame(int index)
|
||||||
if (FCEUI_EmulationPaused())
|
if (FCEUI_EmulationPaused())
|
||||||
FCEUI_ToggleEmulationPause();
|
FCEUI_ToggleEmulationPause();
|
||||||
|
|
||||||
turbo=currMovieData.greenZoneCount+60<index; // turbo unless close
|
turbo = (currMovieData.greenZoneCount-1+FRAMES_TOO_FAR < index);
|
||||||
pauseframe=index+1;
|
pauseframe=index+1;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -299,11 +324,9 @@ bool JumpToFrame(int index)
|
||||||
{
|
{
|
||||||
currFrameCounter = index;
|
currFrameCounter = index;
|
||||||
return true;
|
return true;
|
||||||
} else
|
}
|
||||||
{
|
|
||||||
int i = (index > 0) ? index-1 : 0;
|
|
||||||
//if (i >= static_cast<int>(currMovieData.records.size())) i = currMovieData.records.size()-1;
|
|
||||||
//Search for an earlier frame with savestate
|
//Search for an earlier frame with savestate
|
||||||
|
int i = (index>0)? index-1 : 0;
|
||||||
for (; i > 0; --i)
|
for (; i > 0; --i)
|
||||||
{
|
{
|
||||||
if (currMovieData.loadTasSavestate(i)) break;
|
if (currMovieData.loadTasSavestate(i)) break;
|
||||||
|
@ -311,7 +334,7 @@ bool JumpToFrame(int index)
|
||||||
// continue from the frame
|
// continue from the frame
|
||||||
currFrameCounter = i;
|
currFrameCounter = i;
|
||||||
if (FCEUI_EmulationPaused()) FCEUI_ToggleEmulationPause();
|
if (FCEUI_EmulationPaused()) FCEUI_ToggleEmulationPause();
|
||||||
turbo=i+60<index; // turbo unless close
|
turbo = (i+FRAMES_TOO_FAR < index);
|
||||||
pauseframe=index+1;
|
pauseframe=index+1;
|
||||||
if (!i)
|
if (!i)
|
||||||
{
|
{
|
||||||
|
@ -320,18 +343,6 @@ bool JumpToFrame(int index)
|
||||||
MovieData::dumpSavestateTo(&currMovieData.savestates[0],0);
|
MovieData::dumpSavestateTo(&currMovieData.savestates[0],0);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
/*
|
|
||||||
// Simply do a reset.
|
|
||||||
if (index==0)
|
|
||||||
{
|
|
||||||
poweron(false);
|
|
||||||
currFrameCounter=0;
|
|
||||||
MovieData::dumpSavestateTo(&currMovieData.savestates[0],0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoubleClick(LPNMITEMACTIVATE info)
|
void DoubleClick(LPNMITEMACTIVATE info)
|
||||||
|
@ -1237,6 +1248,12 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
case TASEDIT_PLAYSTOP:
|
case TASEDIT_PLAYSTOP:
|
||||||
//Pause/Unpses (Play/Stop) movie
|
//Pause/Unpses (Play/Stop) movie
|
||||||
FCEUI_ToggleEmulationPause();
|
FCEUI_ToggleEmulationPause();
|
||||||
|
// also cancel turbo-seeking
|
||||||
|
if (FCEUI_EmulationPaused())
|
||||||
|
{
|
||||||
|
turbo = false;
|
||||||
|
pauseframe = -1;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case TASEDIT_REWIND_FULL:
|
case TASEDIT_REWIND_FULL:
|
||||||
//rewinds to beginning of greenzone
|
//rewinds to beginning of greenzone
|
||||||
|
@ -1254,6 +1271,13 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED);
|
CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED);
|
||||||
FollowPlayback();
|
FollowPlayback();
|
||||||
break;
|
break;
|
||||||
|
case ID_VIEW_SHOW_LAG_FRAMES:
|
||||||
|
//switch "Show lag frames" flag
|
||||||
|
TASEdit_show_lag_frames ^= 1;
|
||||||
|
CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED);
|
||||||
|
RedrawList();
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1286,6 +1310,7 @@ void DoTasEdit()
|
||||||
hrmenu = LoadMenu(fceu_hInstance,"TASEDITCONTEXTMENUS");
|
hrmenu = LoadMenu(fceu_hInstance,"TASEDITCONTEXTMENUS");
|
||||||
// check option ticks
|
// check option ticks
|
||||||
CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED);
|
CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED);
|
||||||
|
CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED);
|
||||||
|
|
||||||
if(hwndTasEdit)
|
if(hwndTasEdit)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "movie.h"
|
#include "movie.h"
|
||||||
|
|
||||||
|
#define FRAMES_TOO_FAR 60
|
||||||
#define NUM_JOYPADS 4
|
#define NUM_JOYPADS 4
|
||||||
#define NUM_JOYPAD_BUTTONS 8
|
#define NUM_JOYPAD_BUTTONS 8
|
||||||
// listview column names
|
// listview column names
|
||||||
|
@ -44,13 +45,13 @@
|
||||||
#define GREENZONE_FRAMENUM_COLOR 0xDCFFDC
|
#define GREENZONE_FRAMENUM_COLOR 0xDCFFDC
|
||||||
#define LAG_FRAMENUM_COLOR 0xDAD9FE
|
#define LAG_FRAMENUM_COLOR 0xDAD9FE
|
||||||
#define NORMAL_INPUT_COLOR1 0xF0F0F0
|
#define NORMAL_INPUT_COLOR1 0xF0F0F0
|
||||||
#define CUR_INPUT_COLOR1 0xFBEDB7
|
#define CUR_INPUT_COLOR1 0xF7E9B2
|
||||||
#define GREENZONE_INPUT_COLOR1 0xC3FFC3
|
#define GREENZONE_INPUT_COLOR1 0xC3FFC3
|
||||||
#define LAG_INPUT_COLOR1 0xC9C3FF
|
#define LAG_INPUT_COLOR1 0xCCC8EE
|
||||||
#define NORMAL_INPUT_COLOR2 0xDEDEDE
|
#define NORMAL_INPUT_COLOR2 0xDEDEDE
|
||||||
#define CUR_INPUT_COLOR2 0xE4D8A8
|
#define CUR_INPUT_COLOR2 0xE4D8A8
|
||||||
#define GREENZONE_INPUT_COLOR2 0xAEE2AE
|
#define GREENZONE_INPUT_COLOR2 0xAEE2AE
|
||||||
#define LAG_INPUT_COLOR2 0xAFAADC
|
#define LAG_INPUT_COLOR2 0xB8B3E2
|
||||||
|
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
void DoTasEdit();
|
void DoTasEdit();
|
||||||
|
|
|
@ -706,8 +706,6 @@ void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int ski
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
currMovieData.TryDumpIncremental();
|
|
||||||
|
|
||||||
if (lagFlag)
|
if (lagFlag)
|
||||||
{
|
{
|
||||||
lagCounter++;
|
lagCounter++;
|
||||||
|
@ -715,6 +713,9 @@ void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int ski
|
||||||
}
|
}
|
||||||
else justLagged = false;
|
else justLagged = false;
|
||||||
|
|
||||||
|
// auto-savestates for TASEditor
|
||||||
|
currMovieData.TryDumpIncremental();
|
||||||
|
|
||||||
if (movieSubtitles)
|
if (movieSubtitles)
|
||||||
ProcessSubtitles();
|
ProcessSubtitles();
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,6 +130,14 @@ void MovieData::TryDumpIncremental()
|
||||||
currMovieData.insertEmpty(-1, 1 + currFrameCounter - (int)currMovieData.records.size());
|
currMovieData.insertEmpty(-1, 1 + currFrameCounter - (int)currMovieData.records.size());
|
||||||
//always log savestates in taseditor mode
|
//always log savestates in taseditor mode
|
||||||
currMovieData.storeTasSavestate(currFrameCounter, Z_DEFAULT_COMPRESSION);
|
currMovieData.storeTasSavestate(currFrameCounter, Z_DEFAULT_COMPRESSION);
|
||||||
|
// also log frame_flags
|
||||||
|
if (currFrameCounter > 0)
|
||||||
|
{
|
||||||
|
if ((int)currMovieData.frames_flags.size() <= currFrameCounter)
|
||||||
|
currMovieData.frames_flags.resize(currFrameCounter+1);
|
||||||
|
// lagFlag indicates that lag was in previous frame
|
||||||
|
currMovieData.frames_flags[currFrameCounter-1] = (lagFlag)?LAG_FLAG_BIT:0;
|
||||||
|
}
|
||||||
// update greenzone upper limit
|
// update greenzone upper limit
|
||||||
if (currMovieData.greenZoneCount <= currFrameCounter)
|
if (currMovieData.greenZoneCount <= currFrameCounter)
|
||||||
currMovieData.greenZoneCount = currFrameCounter+1;
|
currMovieData.greenZoneCount = currFrameCounter+1;
|
||||||
|
@ -904,7 +912,6 @@ void MovieData::storeTasSavestate(int frame, int compression_level)
|
||||||
savestates.resize(frame+1);
|
savestates.resize(frame+1);
|
||||||
|
|
||||||
MovieData::dumpSavestateTo(&savestates[frame],compression_level);
|
MovieData::dumpSavestateTo(&savestates[frame],compression_level);
|
||||||
tweakCount++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//begin playing an existing movie
|
//begin playing an existing movie
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __MOVIE_H_
|
#ifndef __MOVIE_H_
|
||||||
#define __MOVIE_H_
|
#define __MOVIE_H_
|
||||||
|
|
||||||
|
#define LAG_FLAG_BIT 1
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -173,6 +175,7 @@ public:
|
||||||
std::vector<uint8> savestate;
|
std::vector<uint8> savestate;
|
||||||
std::vector<MovieRecord> records;
|
std::vector<MovieRecord> records;
|
||||||
std::vector<std::vector<uint8> > savestates;
|
std::vector<std::vector<uint8> > savestates;
|
||||||
|
std::vector<uint8> frames_flags;
|
||||||
std::vector<std::wstring> comments;
|
std::vector<std::wstring> comments;
|
||||||
std::vector<std::string> subtitles;
|
std::vector<std::string> subtitles;
|
||||||
//this is the RERECORD COUNT. please rename variable.
|
//this is the RERECORD COUNT. please rename variable.
|
||||||
|
|
Loading…
Reference in New Issue