* Tasedit: forced read-only behaviour when seeking or holding turbo
* Tasedit: "Auto-restore last position" checkbox in playback controls; if checked: after every greenzone invalidation playback cursor tries to jump to last position * Tasedit: copied "Insert number of Frames" from stray-click menu to context menu * Tasedit: fixed item drawing method, no more flicker and slowdowns * updated contents of changelog.txt and Authors.txt, changed version.h
This commit is contained in:
parent
19c607f530
commit
fd82c1ee2d
|
@ -64,6 +64,9 @@ Driver maintenance and refactoring
|
||||||
DWEdit
|
DWEdit
|
||||||
Debugger additions
|
Debugger additions
|
||||||
|
|
||||||
|
AnS - ansstuff at yandex dot ru (sf:ansstuff)
|
||||||
|
TASEdit enhancements
|
||||||
|
|
||||||
---------linux devvers---------
|
---------linux devvers---------
|
||||||
>= 2.0 - These guys concentrated on keeping fceux the premiere
|
>= 2.0 - These guys concentrated on keeping fceux the premiere
|
||||||
linux-portable nes emu
|
linux-portable nes emu
|
||||||
|
|
|
@ -1,6 +1,25 @@
|
||||||
-r**** - FCEUX 2.1.5 release
|
|
||||||
30-Jul-2001 - mart0258 - Ram Search updates list when emulator is paused (on Power, or when resetting search)
|
17-sept-2011 - AnS - Tasedit: forced read-only behaviour when seeking or holding turbo; "Auto-restore last position" checkbox in playback controls; also fixed item drawing method, no more flicker and slowdowns
|
||||||
4-Jul-2011 - FatRatKnight - Lua console now gets the proper file path when selecting a file from the recent menu.
|
12-sept-2011 - prg318 - sdl: rename InputType to CurInputType due to variable of same name in src/movie.h
|
||||||
|
12-sept-2011 - AnS - Tasedit: rewrote project save/load functions; various bugfixes; Added string "Tweak Count" to Replay loading dialog
|
||||||
|
6-sept-2011 - AnS - Tasedit: red lines for lag frames; different method of accounting tweakCount
|
||||||
|
6-sept-2011 - AnS - fixed bug when trying to open Replay dialog without having ROM loaded
|
||||||
|
3-sept-2011 - AnS - Tasedit: tweaks and bugfixes
|
||||||
|
3-sept-2011 - CaH4e3 - fixed bus conflict emulation, no kage no densetsu bug anymore
|
||||||
|
31-Aug-2011 - AnS - Tasedit: Added 4 pads support; also now current frame is shown by blue line; minor cleanups.
|
||||||
|
30-Aug-2011 - mart0258 - Ram Search updates list when emulator is paused (on Power, or when resetting search)
|
||||||
|
25-Aug-2011 - zeromus - win32: fix context menus to use rightclicks in context menus correctly
|
||||||
|
19-Aug-2011 - CaH4e3 - PAL/NTSC noise fixed
|
||||||
|
18-Jul-2011 - zeromus - slightly improve hud text rendering wrapping
|
||||||
|
16-Jul-2011 - adelikat - Add Button Count lua script written by Brandon Evans
|
||||||
|
15-Jul-2011 - prg318 - sdl: patch to resolve 'XKeysymToString' complication errors on debian sid and osx (thanks antonio ospite!)
|
||||||
|
6-Jul-2011 - plombo - sdl: fixed --nogui option and removed SDL.NoGUI from fceux.cfg
|
||||||
|
5-Jul-2011 - FatRatKnight - Lua console now gets the proper file path when selecting a file from the recent menu.
|
||||||
|
|
||||||
|
---r2206 - FCEUX 2.1.5 Released---
|
||||||
|
---June 21 2011---
|
||||||
|
|
||||||
|
16-Jun-2011 - zeromus - win32: poll hotkeys while no rom is loaded
|
||||||
1-jun-2011 - prg318 - sdl - print usage when --help is passed even if SDL fails
|
1-jun-2011 - prg318 - sdl - print usage when --help is passed even if SDL fails
|
||||||
plombo - added stock icons to menu items
|
plombo - added stock icons to menu items
|
||||||
plombo - added new gamepad configuration dialog
|
plombo - added new gamepad configuration dialog
|
||||||
|
@ -34,8 +53,9 @@ plombo - added new gamepad configuration dialog
|
||||||
06-june-2010 - FatRatKnight - Added a return value to gui.text: The X position where the function would paint the next character.
|
06-june-2010 - FatRatKnight - Added a return value to gui.text: The X position where the function would paint the next character.
|
||||||
02-june-2010 - adelikat - Win32 - Movie Options Dialog - Fix so Full Savestate Load checkbox is updated on load
|
02-june-2010 - adelikat - Win32 - Movie Options Dialog - Fix so Full Savestate Load checkbox is updated on load
|
||||||
|
|
||||||
---r1984 - FCEUX 2.1.4a Release---
|
---r1984 - FCEUX 2.1.4a Released---
|
||||||
---June 1 2010---
|
---June 1 2010---
|
||||||
|
|
||||||
01-june-2010 - zeromus - fix crash bug in fcm convert
|
01-june-2010 - zeromus - fix crash bug in fcm convert
|
||||||
01-june-2010 - adelikat - fix logic error in read-only loadstate of movies, should not improperly report savestate after movie errors
|
01-june-2010 - adelikat - fix logic error in read-only loadstate of movies, should not improperly report savestate after movie errors
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Current Contributors:\n\
|
||||||
punkrockguy318 (Lukas Sabota)\n\
|
punkrockguy318 (Lukas Sabota)\n\
|
||||||
Plombo (Bryan Cain)\n\
|
Plombo (Bryan Cain)\n\
|
||||||
qeed, QFox, Shinydoofy, ugetab\n\
|
qeed, QFox, Shinydoofy, ugetab\n\
|
||||||
CaH4e3, gocha, Acmlm, DWEdit\n\
|
CaH4e3, gocha, Acmlm, DWEdit, AnS\n\
|
||||||
\n\
|
\n\
|
||||||
FCEUX 2.0:\n\
|
FCEUX 2.0:\n\
|
||||||
mz, nitsujrehtona, Lukas Sabota,\n\
|
mz, nitsujrehtona, Lukas Sabota,\n\
|
||||||
|
|
|
@ -70,6 +70,7 @@ extern int frameSkipAmt;
|
||||||
extern bool TASEdit_follow_playback;
|
extern bool TASEdit_follow_playback;
|
||||||
extern bool TASEdit_show_lag_frames;
|
extern bool TASEdit_show_lag_frames;
|
||||||
extern bool TASEdit_show_tweak_count;
|
extern bool TASEdit_show_tweak_count;
|
||||||
|
extern bool TASEdit_restore_position;
|
||||||
|
|
||||||
//window positions and sizes:
|
//window positions and sizes:
|
||||||
extern int ChtPosX,ChtPosY;
|
extern int ChtPosX,ChtPosY;
|
||||||
|
@ -288,6 +289,7 @@ static CFGSTRUCT fceuconfig[] = {
|
||||||
AC(TASEdit_follow_playback),
|
AC(TASEdit_follow_playback),
|
||||||
AC(TASEdit_show_lag_frames),
|
AC(TASEdit_show_lag_frames),
|
||||||
AC(TASEdit_show_tweak_count),
|
AC(TASEdit_show_tweak_count),
|
||||||
|
AC(TASEdit_restore_position),
|
||||||
AC(lagCounterDisplay),
|
AC(lagCounterDisplay),
|
||||||
AC(oldInputDisplay),
|
AC(oldInputDisplay),
|
||||||
AC(movieSubtitles),
|
AC(movieSubtitles),
|
||||||
|
|
|
@ -329,13 +329,14 @@ TASEDITCONTEXTMENUS MENU
|
||||||
BEGIN
|
BEGIN
|
||||||
POPUP "Stray"
|
POPUP "Stray"
|
||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "Insert Frames", MENU_CONTEXT_STRAY_INSERTFRAMES
|
MENUITEM "Insert number of Frames", MENU_CONTEXT_STRAY_INSERTFRAMES
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Truncate", ID_CONTEXT_STRAY_TRUNCATE
|
MENUITEM "Truncate", ID_CONTEXT_STRAY_TRUNCATE
|
||||||
END
|
END
|
||||||
POPUP "Selected"
|
POPUP "Selected"
|
||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "Insert Frame(s)", ID_CONTEXT_SELECTED_INSERTFRAMES
|
MENUITEM "Insert Frame(s)", ID_CONTEXT_SELECTED_INSERTFRAMES
|
||||||
|
MENUITEM "Insert number of Frames", ID_CONTEXT_SELECTED_INSERTFRAMES2
|
||||||
MENUITEM "Delete Frame(s)", ID_CONTEXT_SELECTED_DELETEFRAMES
|
MENUITEM "Delete Frame(s)", ID_CONTEXT_SELECTED_DELETEFRAMES
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Paste to New", ID_CONTEXT_SELECTED_PASTETONEW, INACTIVE
|
MENUITEM "Paste to New", ID_CONTEXT_SELECTED_PASTETONEW, INACTIVE
|
||||||
|
@ -1334,31 +1335,27 @@ BEGIN
|
||||||
EDITTEXT IDC_LABEL_TWEAKCOUNT,76,100,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
|
EDITTEXT IDC_LABEL_TWEAKCOUNT,76,100,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
TASEDIT DIALOGEX 0, 0, 474, 383
|
TASEDIT DIALOGEX 0, 0, 462, 382
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TAS Editor"
|
CAPTION "TAS Editor"
|
||||||
MENU TASEDITMENU
|
MENU TASEDITMENU
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,11,324,365
|
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,5,324,370
|
||||||
PUSHBUTTON "Truncate",IDC_HACKY1,348,46,51,16
|
PUSHBUTTON "<<",TASEDIT_REWIND_FULL,341,14,22,14
|
||||||
LTEXT "Any number of these icon buttons are pressed",IDC_STATIC,402,84,47,34
|
PUSHBUTTON "<",TASEDIT_REWIND,363,14,22,14
|
||||||
PUSHBUTTON "<<",TASEDIT_REWIND_FULL,348,22,22,14
|
PUSHBUTTON "||",TASEDIT_PLAYSTOP,385,14,22,14
|
||||||
PUSHBUTTON "<",TASEDIT_REWIND,370,22,22,14
|
PUSHBUTTON ">",TASEDIT_FOWARD,407,14,22,14
|
||||||
PUSHBUTTON "||",TASEDIT_PLAYSTOP,392,22,22,14
|
PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,429,14,22,14
|
||||||
PUSHBUTTON ">",TASEDIT_FOWARD,414,22,22,14
|
GROUPBOX "Playback control",IDC_STATIC,337,5,118,41,BS_CENTER,WS_EX_RIGHT
|
||||||
PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,436,22,22,14
|
GROUPBOX "Project Input Logs",IDC_STATIC,337,246,118,129,BS_CENTER,WS_EX_RIGHT
|
||||||
GROUPBOX "Frames",IDC_STATIC,344,11,120,176
|
CONTROL "",IDC_LIST2,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,342,257,109,114
|
||||||
GROUPBOX "Project Input Logs",IDC_STATIC,344,201,120,175
|
LTEXT "Tweak Count",IDC_TWEAKCOUNT,344,113,84,8
|
||||||
PUSHBUTTON "Record P1",IDC_BUTTON5,348,95,50,14,WS_DISABLED
|
GROUPBOX "Recording input",IDC_STATIC,337,47,118,62,BS_CENTER,WS_EX_RIGHT
|
||||||
PUSHBUTTON "Record P2",IDC_BUTTON7,348,79,50,14,WS_DISABLED
|
CONTROL " Auto-restore last position",CHECK_AUTORESTORE_PLAYBACK,
|
||||||
LTEXT "After current frame",IDC_STATIC,348,62,67,11
|
"Button",BS_AUTOCHECKBOX,343,32,105,12
|
||||||
PUSHBUTTON "Union Mode",IDC_BUTTON8,348,111,50,14,WS_DISABLED
|
GROUPBOX "Bookmarks",IDC_STATIC,337,145,118,101,BS_CENTER,WS_EX_RIGHT
|
||||||
EDITTEXT IDC_EDIT1,348,149,40,14,ES_AUTOHSCROLL
|
CONTROL "",IDC_LIST3,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSCROLL | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,342,156,109,86
|
||||||
PUSHBUTTON "Send",IDC_BUTTON9,392,148,31,14,WS_DISABLED
|
|
||||||
LTEXT "Sends to Notes column",IDC_STATIC,348,137,74,8
|
|
||||||
CONTROL "",IDC_LIST2,"SysListView32",LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,348,216,114,156
|
|
||||||
LTEXT "Tweak Count",IDC_TWEAKCOUNT,348,175,71,8
|
|
||||||
END
|
END
|
||||||
|
|
||||||
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
||||||
|
@ -1770,6 +1767,10 @@ BEGIN
|
||||||
BOTTOMMARGIN, 108
|
BOTTOMMARGIN, 108
|
||||||
END
|
END
|
||||||
|
|
||||||
|
"QUIZKINGDIALOG", DIALOG
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
"SOUNDCONFIG", DIALOG
|
"SOUNDCONFIG", DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 10
|
LEFTMARGIN, 10
|
||||||
|
@ -1816,6 +1817,10 @@ BEGIN
|
||||||
BOTTOMMARGIN, 121
|
BOTTOMMARGIN, 121
|
||||||
END
|
END
|
||||||
|
|
||||||
|
"ROMPATCHER", DIALOG
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
"GGCONV", DIALOG
|
"GGCONV", DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
END
|
END
|
||||||
|
@ -1849,9 +1854,9 @@ BEGIN
|
||||||
"TASEDIT", DIALOG
|
"TASEDIT", DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 464
|
RIGHTMARGIN, 454
|
||||||
TOPMARGIN, 11
|
TOPMARGIN, 5
|
||||||
BOTTOMMARGIN, 376
|
BOTTOMMARGIN, 375
|
||||||
END
|
END
|
||||||
|
|
||||||
"ASSEMBLER", DIALOG
|
"ASSEMBLER", DIALOG
|
||||||
|
|
|
@ -393,6 +393,7 @@
|
||||||
#define IDC_EDIT1 1147
|
#define IDC_EDIT1 1147
|
||||||
#define IDC_BUTTON9 1148
|
#define IDC_BUTTON9 1148
|
||||||
#define IDC_LIST2 1149
|
#define IDC_LIST2 1149
|
||||||
|
#define IDC_LIST3 1150
|
||||||
#define CHECK_SOUND_MUTETURBO 1179
|
#define CHECK_SOUND_MUTETURBO 1179
|
||||||
#define IDC_EDIT_AUTHOR 1180
|
#define IDC_EDIT_AUTHOR 1180
|
||||||
#define MEMW_STATIC 1181
|
#define MEMW_STATIC 1181
|
||||||
|
@ -489,6 +490,7 @@
|
||||||
#define IDC_MOVIE_CLOSEAFTERPLAYBACK 1258
|
#define IDC_MOVIE_CLOSEAFTERPLAYBACK 1258
|
||||||
#define IDC_C_WATCH_SEPARATE 1259
|
#define IDC_C_WATCH_SEPARATE 1259
|
||||||
#define IDC_TWEAKCOUNT 1260
|
#define IDC_TWEAKCOUNT 1260
|
||||||
|
#define CHECK_AUTORESTORE_PLAYBACK 1261
|
||||||
#define MENU_NETWORK 40040
|
#define MENU_NETWORK 40040
|
||||||
#define MENU_PALETTE 40041
|
#define MENU_PALETTE 40041
|
||||||
#define MENU_SOUND 40042
|
#define MENU_SOUND 40042
|
||||||
|
@ -811,6 +813,10 @@
|
||||||
#define ID_VIEW_FOLLOW_PLAYBACK 40419
|
#define ID_VIEW_FOLLOW_PLAYBACK 40419
|
||||||
#define ID_VIEW_SHOW_LAG_FRAMES 40420
|
#define ID_VIEW_SHOW_LAG_FRAMES 40420
|
||||||
#define ID_VIEW_SHOW_TWEAK_COUNT 40421
|
#define ID_VIEW_SHOW_TWEAK_COUNT 40421
|
||||||
|
#define ID_SELECTED_INSERTFRAMES 40422
|
||||||
|
#define ID_CONTEXT_SELECTED_INSERTFRAME 40423
|
||||||
|
#define ID_SELECTED_INSERTFRAMES40424 40424
|
||||||
|
#define ID_CONTEXT_SELECTED_INSERTFRAMES2 40425
|
||||||
#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
|
||||||
|
@ -820,8 +826,8 @@
|
||||||
#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 40422
|
#define _APS_NEXT_COMMAND_VALUE 40426
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1261
|
#define _APS_NEXT_CONTROL_VALUE 1262
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,10 +21,14 @@ using namespace std;
|
||||||
//to change header font
|
//to change header font
|
||||||
//http://forums.devx.com/archive/index.php/t-37234.html
|
//http://forums.devx.com/archive/index.php/t-37234.html
|
||||||
|
|
||||||
|
int old_movie_readonly = -1;
|
||||||
|
|
||||||
|
// vars saved in cfg file
|
||||||
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;
|
bool TASEdit_show_lag_frames = true;
|
||||||
bool TASEdit_show_tweak_count = false;
|
bool TASEdit_show_tweak_count = false;
|
||||||
|
bool TASEdit_restore_position = false;
|
||||||
|
|
||||||
string tasedithelp = "{16CDE0C4-02B0-4A60-A88D-076319909A4D}"; //Name of TASEdit Help page
|
string tasedithelp = "{16CDE0C4-02B0-4A60-A88D-076319909A4D}"; //Name of TASEdit Help page
|
||||||
char buttonNames[NUM_JOYPAD_BUTTONS][2] = {"A", "B", "S", "T", "U", "D", "L", "R"};
|
char buttonNames[NUM_JOYPAD_BUTTONS][2] = {"A", "B", "S", "T", "U", "D", "L", "R"};
|
||||||
|
@ -34,6 +38,7 @@ HWND hwndTasEdit = 0;
|
||||||
static HMENU hmenu, hrmenu;
|
static HMENU hmenu, hrmenu;
|
||||||
static int lastCursor;
|
static int lastCursor;
|
||||||
static HWND hwndList, hwndHeader, hwndTweakCount;
|
static HWND hwndList, hwndHeader, hwndTweakCount;
|
||||||
|
static RECT rectTweakCount;
|
||||||
static WNDPROC hwndHeader_oldWndproc, hwndList_oldWndProc;
|
static WNDPROC hwndHeader_oldWndproc, hwndList_oldWndProc;
|
||||||
|
|
||||||
typedef std::set<int> TSelectionFrames;
|
typedef std::set<int> TSelectionFrames;
|
||||||
|
@ -171,27 +176,6 @@ static LONG CustomDraw(NMLVCUSTOMDRAW* msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterTasEdit()
|
|
||||||
{
|
|
||||||
if (movieMode == MOVIEMODE_INACTIVE)
|
|
||||||
{
|
|
||||||
FCEUI_StopMovie();
|
|
||||||
CreateCleanMovie();
|
|
||||||
//reset the rom
|
|
||||||
poweron(true);
|
|
||||||
currFrameCounter = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//use current movie to create a new project
|
|
||||||
FCEUI_StopMovie();
|
|
||||||
}
|
|
||||||
// pause the emulator and enter tasedit mode
|
|
||||||
FCEUI_SetEmulationPaused(1);
|
|
||||||
movieMode = MOVIEMODE_TASEDIT;
|
|
||||||
currMovieData.TryDumpIncremental();
|
|
||||||
FCEU_DispMessage("Tasedit engaged",0);
|
|
||||||
}
|
|
||||||
void ExitTasEdit()
|
void ExitTasEdit()
|
||||||
{
|
{
|
||||||
movieMode = MOVIEMODE_INACTIVE;
|
movieMode = MOVIEMODE_INACTIVE;
|
||||||
|
@ -211,8 +195,6 @@ void UpdateTasEdit()
|
||||||
FCEUI_ToggleEmulationPause();
|
FCEUI_ToggleEmulationPause();
|
||||||
turbo = false;
|
turbo = false;
|
||||||
}
|
}
|
||||||
else if (turbo && (currFrameCounter &0xf))
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//update the number of items
|
//update the number of items
|
||||||
|
@ -225,15 +207,15 @@ void UpdateTasEdit()
|
||||||
//update the cursor
|
//update the cursor
|
||||||
if(currFrameCounter != lastCursor)
|
if(currFrameCounter != lastCursor)
|
||||||
{
|
{
|
||||||
//update the old and new rows
|
|
||||||
ListView_Update(hwndList,lastCursor);
|
|
||||||
ListView_Update(hwndList,currFrameCounter);
|
|
||||||
lastCursor = currFrameCounter;
|
|
||||||
FollowPlayback();
|
FollowPlayback();
|
||||||
|
//update the old and new rows
|
||||||
|
ListView_RedrawItems(hwndList,lastCursor,lastCursor);
|
||||||
|
ListView_RedrawItems(hwndList,currFrameCounter,currFrameCounter);
|
||||||
|
UpdateWindow(hwndList);
|
||||||
|
lastCursor = currFrameCounter;
|
||||||
}
|
}
|
||||||
|
// update window caption
|
||||||
static int old_movie_readonly=-1;
|
if ((!old_movie_readonly) == movie_readonly)
|
||||||
if ((!old_movie_readonly) == movie_readonly) //Originally (old_movie_readonly = movie_readonly)
|
|
||||||
{
|
{
|
||||||
old_movie_readonly = movie_readonly;
|
old_movie_readonly = movie_readonly;
|
||||||
if (movie_readonly)
|
if (movie_readonly)
|
||||||
|
@ -254,6 +236,10 @@ void RedrawTasedit()
|
||||||
{
|
{
|
||||||
InvalidateRect(hwndTasEdit,0,FALSE);
|
InvalidateRect(hwndTasEdit,0,FALSE);
|
||||||
}
|
}
|
||||||
|
void RedrawTweakCount()
|
||||||
|
{
|
||||||
|
InvalidateRect(hwndTasEdit,&rectTweakCount,FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
enum ECONTEXTMENU
|
enum ECONTEXTMENU
|
||||||
{
|
{
|
||||||
|
@ -310,10 +296,22 @@ void InvalidateGreenZone(int after)
|
||||||
currMovieData.greenZoneCount = after+1;
|
currMovieData.greenZoneCount = after+1;
|
||||||
// increase tweakCount
|
// increase tweakCount
|
||||||
currMovieData.tweakCount++;
|
currMovieData.tweakCount++;
|
||||||
RedrawTasedit();
|
RedrawTweakCount();
|
||||||
|
// either set playback cursor to the end of greenzone or run seeking to restore playback position
|
||||||
if (currFrameCounter >= currMovieData.greenZoneCount)
|
if (currFrameCounter >= currMovieData.greenZoneCount)
|
||||||
|
{
|
||||||
|
if (TASEdit_restore_position)
|
||||||
|
{
|
||||||
|
JumpToFrame(currFrameCounter);
|
||||||
|
turbo = true;
|
||||||
|
} else
|
||||||
|
{
|
||||||
JumpToFrame(currMovieData.greenZoneCount-1);
|
JumpToFrame(currMovieData.greenZoneCount-1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// redraw list even if greenzone didn't change
|
||||||
|
RedrawList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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
|
||||||
|
@ -331,12 +329,9 @@ bool JumpToFrame(int index)
|
||||||
if (JumpToFrame(currMovieData.greenZoneCount-1))
|
if (JumpToFrame(currMovieData.greenZoneCount-1))
|
||||||
{
|
{
|
||||||
// continue from the end of greenzone
|
// continue from the end of greenzone
|
||||||
if (FCEUI_EmulationPaused())
|
if (FCEUI_EmulationPaused()) FCEUI_ToggleEmulationPause();
|
||||||
FCEUI_ToggleEmulationPause();
|
|
||||||
|
|
||||||
turbo = (currMovieData.greenZoneCount-1+FRAMES_TOO_FAR < index);
|
turbo = (currMovieData.greenZoneCount-1+FRAMES_TOO_FAR < index);
|
||||||
pauseframe=index+1;
|
pauseframe = index+1;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -403,13 +398,9 @@ void DoubleClick(LPNMITEMACTIVATE info)
|
||||||
{
|
{
|
||||||
//update one row
|
//update one row
|
||||||
currMovieData.records[index].toggleBit(joy,bit);
|
currMovieData.records[index].toggleBit(joy,bit);
|
||||||
|
//ListView_RedrawItems(hwndList,index,index);
|
||||||
ListView_Update(hwndList,index);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InvalidateGreenZone(index);
|
InvalidateGreenZone(index);
|
||||||
//redraw everything to show the reduced green zone
|
|
||||||
RedrawList();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -440,8 +431,6 @@ static void InsertFrames()
|
||||||
currMovieData.insertEmpty(*it,1);
|
currMovieData.insertEmpty(*it,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currFrameCounter>=*selectionFrames.begin())
|
|
||||||
JumpToFrame(*selectionFrames.begin());
|
|
||||||
InvalidateGreenZone(*selectionFrames.begin());
|
InvalidateGreenZone(*selectionFrames.begin());
|
||||||
UpdateTasEdit();
|
UpdateTasEdit();
|
||||||
RedrawList();
|
RedrawList();
|
||||||
|
@ -468,15 +457,9 @@ static void DeleteFrames()
|
||||||
|
|
||||||
int index = *selectionFrames.begin();
|
int index = *selectionFrames.begin();
|
||||||
if (index>0) --index;
|
if (index>0) --index;
|
||||||
InvalidateGreenZone(index);
|
|
||||||
|
|
||||||
//in the particular case of deletion, we need to make sure we reset currFrameCounter to something reasonable
|
|
||||||
//why not the current green zone max?
|
|
||||||
if (currFrameCounter>=index)
|
|
||||||
JumpToFrame(index);
|
|
||||||
ClearSelection();
|
ClearSelection();
|
||||||
|
InvalidateGreenZone(index);
|
||||||
UpdateTasEdit();
|
UpdateTasEdit();
|
||||||
RedrawList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//the column set operation, for setting a button for a span of selected values
|
//the column set operation, for setting a button for a span of selected values
|
||||||
|
@ -518,17 +501,8 @@ static void ColumnSet(int column)
|
||||||
for(TSelectionFrames::iterator it(selectionFrames.begin()); it != selectionFrames.end(); it++)
|
for(TSelectionFrames::iterator it(selectionFrames.begin()); it != selectionFrames.end(); it++)
|
||||||
{
|
{
|
||||||
currMovieData.records[*it].setBitValue(joy,button,newValue);
|
currMovieData.records[*it].setBitValue(joy,button,newValue);
|
||||||
//we would do this if we wanted to update the affected record. but that results in big operations
|
|
||||||
//redrawing once per item set, which causes it to flicker and take forever.
|
|
||||||
//so now we rely on the update at the end.
|
|
||||||
//ListView_Update(hwndList,*it);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//reduce the green zone
|
|
||||||
InvalidateGreenZone(*selectionFrames.begin());
|
InvalidateGreenZone(*selectionFrames.begin());
|
||||||
|
|
||||||
//redraw everything to show the reduced green zone
|
|
||||||
RedrawList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Highlights all frames in current input log
|
//Highlights all frames in current input log
|
||||||
|
@ -696,11 +670,8 @@ static bool Paste()
|
||||||
|
|
||||||
pGlobal = strchr(pGlobal, '\n');
|
pGlobal = strchr(pGlobal, '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invalidate and redraw.
|
|
||||||
InvalidateGreenZone(*selectionFrames.begin());
|
InvalidateGreenZone(*selectionFrames.begin());
|
||||||
RedrawList();
|
result = true;
|
||||||
result=true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalUnlock(hGlobal);
|
GlobalUnlock(hGlobal);
|
||||||
|
@ -809,9 +780,9 @@ static void InitDialog()
|
||||||
//setup columns
|
//setup columns
|
||||||
LVCOLUMN lvc;
|
LVCOLUMN lvc;
|
||||||
int colidx=0;
|
int colidx=0;
|
||||||
// arrow column - it's kinda obsolete now
|
// arrow column
|
||||||
lvc.mask = LVCF_WIDTH;
|
lvc.mask = LVCF_WIDTH;
|
||||||
lvc.cx = 12;
|
lvc.cx = 14;
|
||||||
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
// frame number column
|
// frame number column
|
||||||
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
|
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
|
||||||
|
@ -819,7 +790,7 @@ static void InitDialog()
|
||||||
lvc.pszText = "Frame#";
|
lvc.pszText = "Frame#";
|
||||||
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
// pads columns
|
// pads columns
|
||||||
lvc.cx = 20;
|
lvc.cx = 21;
|
||||||
// add pads 1 and 2
|
// add pads 1 and 2
|
||||||
for (int joy = 0; joy < 2; ++joy)
|
for (int joy = 0; joy < 2; ++joy)
|
||||||
{
|
{
|
||||||
|
@ -839,7 +810,7 @@ void AddFourscoreColumns()
|
||||||
{
|
{
|
||||||
LVCOLUMN lvc;
|
LVCOLUMN lvc;
|
||||||
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
|
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
|
||||||
lvc.cx = 20;
|
lvc.cx = 21;
|
||||||
int colidx = COLUMN_JOYPAD3_A;
|
int colidx = COLUMN_JOYPAD3_A;
|
||||||
for (int joy = 0; joy < 2; ++joy)
|
for (int joy = 0; joy < 2; ++joy)
|
||||||
{
|
{
|
||||||
|
@ -1052,9 +1023,7 @@ static void Truncate()
|
||||||
|
|
||||||
currMovieData.truncateAt(frame+1);
|
currMovieData.truncateAt(frame+1);
|
||||||
InvalidateGreenZone(frame);
|
InvalidateGreenZone(frame);
|
||||||
//currMovieData.TryDumpIncremental();
|
|
||||||
UpdateTasEdit();
|
UpdateTasEdit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//likewise, handles a changed item range from the listview
|
//likewise, handles a changed item range from the listview
|
||||||
|
@ -1111,7 +1080,6 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
else
|
else
|
||||||
sprintf(temp,"");
|
sprintf(temp,"");
|
||||||
SetWindowText(hwndTweakCount,temp);
|
SetWindowText(hwndTweakCount,temp);
|
||||||
RedrawTasedit();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
@ -1121,19 +1089,20 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
|
|
||||||
hwndList = GetDlgItem(hwndDlg,IDC_LIST1);
|
hwndList = GetDlgItem(hwndDlg,IDC_LIST1);
|
||||||
hwndTweakCount = GetDlgItem(hwndDlg,IDC_TWEAKCOUNT);
|
hwndTweakCount = GetDlgItem(hwndDlg,IDC_TWEAKCOUNT);
|
||||||
|
GetClientRect(hwndTweakCount, &rectTweakCount);
|
||||||
InitDialog();
|
InitDialog();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_MOVE: {
|
case WM_MOVE:
|
||||||
if (!IsIconic(hwndDlg)) {
|
{
|
||||||
|
if (!IsIconic(hwndDlg))
|
||||||
|
{
|
||||||
RECT wrect;
|
RECT wrect;
|
||||||
GetWindowRect(hwndDlg,&wrect);
|
GetWindowRect(hwndDlg,&wrect);
|
||||||
TasEdit_wndx = wrect.left;
|
TasEdit_wndx = wrect.left;
|
||||||
TasEdit_wndy = wrect.top;
|
TasEdit_wndy = wrect.top;
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
WindowBoundsCheckNoResize(TasEdit_wndx,TasEdit_wndy,wrect.right);
|
WindowBoundsCheckNoResize(TasEdit_wndx,TasEdit_wndy,wrect.right);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1254,16 +1223,8 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
case ID_EDIT_TRUNCATE:
|
case ID_EDIT_TRUNCATE:
|
||||||
case ID_CONTEXT_SELECTED_TRUNCATE:
|
case ID_CONTEXT_SELECTED_TRUNCATE:
|
||||||
case ID_CONTEXT_STRAY_TRUNCATE:
|
case ID_CONTEXT_STRAY_TRUNCATE:
|
||||||
case IDC_HACKY1:
|
|
||||||
Truncate();
|
Truncate();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDC_HACKY2:
|
|
||||||
//hacky2: delete earlier savestates (conserve memory)
|
|
||||||
//LockGreenZone(currFrameCounter);
|
|
||||||
//UpdateTasEdit();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ACCEL_CTRL_B:
|
case ACCEL_CTRL_B:
|
||||||
case ID_EDIT_BRANCH:
|
case ID_EDIT_BRANCH:
|
||||||
case ID_CONTEXT_SELECTED_BRANCH:
|
case ID_CONTEXT_SELECTED_BRANCH:
|
||||||
|
@ -1276,13 +1237,23 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MENU_CONTEXT_STRAY_INSERTFRAMES:
|
case MENU_CONTEXT_STRAY_INSERTFRAMES:
|
||||||
|
case ID_CONTEXT_SELECTED_INSERTFRAMES2:
|
||||||
{
|
{
|
||||||
int frames;
|
int frames;
|
||||||
if(CWin32InputBox::GetInteger("Insert Frames", "How many frames?", frames, hwndDlg) == IDOK)
|
if(CWin32InputBox::GetInteger("Insert Frames", "How many frames?", frames, hwndDlg) == IDOK)
|
||||||
{
|
{
|
||||||
|
if (selectionFrames.size())
|
||||||
|
{
|
||||||
|
// insert at selection
|
||||||
|
int index = *selectionFrames.begin();
|
||||||
|
currMovieData.insertEmpty(index,frames);
|
||||||
|
InvalidateGreenZone(index);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
// insert at playback cursor
|
||||||
currMovieData.insertEmpty(currFrameCounter,frames);
|
currMovieData.insertEmpty(currFrameCounter,frames);
|
||||||
InvalidateGreenZone(currFrameCounter);
|
InvalidateGreenZone(currFrameCounter);
|
||||||
RedrawList();
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1341,8 +1312,11 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
//switch "Show Tweak count" flag
|
//switch "Show Tweak count" flag
|
||||||
TASEdit_show_tweak_count ^= 1;
|
TASEdit_show_tweak_count ^= 1;
|
||||||
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
|
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
|
||||||
|
RedrawTweakCount();
|
||||||
//RedrawList();
|
break;
|
||||||
|
case CHECK_AUTORESTORE_PLAYBACK:
|
||||||
|
TASEdit_restore_position ^= 1;
|
||||||
|
CheckDlgButton(hwndTasEdit,CHECK_AUTORESTORE_PLAYBACK,TASEdit_restore_position?BST_CHECKED:BST_UNCHECKED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1365,13 +1339,32 @@ void FollowPlayback()
|
||||||
if (TASEdit_follow_playback) ListView_EnsureVisible(hwndList,currFrameCounter,FALSE);
|
if (TASEdit_follow_playback) ListView_EnsureVisible(hwndList,currFrameCounter,FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoTasEdit()
|
void EnterTasEdit()
|
||||||
{
|
{
|
||||||
if(!FCEU_IsValidUI(FCEUI_TASEDIT)) return;
|
if(!FCEU_IsValidUI(FCEUI_TASEDIT)) return;
|
||||||
|
|
||||||
lastCursor = -1;
|
lastCursor = -1;
|
||||||
EnterTasEdit();
|
|
||||||
|
|
||||||
|
// either start new project or use current movie
|
||||||
|
if (movieMode == MOVIEMODE_INACTIVE)
|
||||||
|
{
|
||||||
|
FCEUI_StopMovie();
|
||||||
|
CreateCleanMovie();
|
||||||
|
//reset the rom
|
||||||
|
poweron(true);
|
||||||
|
currFrameCounter = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//use current movie to create a new project
|
||||||
|
FCEUI_StopMovie();
|
||||||
|
}
|
||||||
|
// pause the emulator and enter tasedit mode
|
||||||
|
FCEUI_SetEmulationPaused(1);
|
||||||
|
FCEU_DispMessage("Tasedit engaged",0);
|
||||||
|
movieMode = MOVIEMODE_TASEDIT;
|
||||||
|
currMovieData.TryDumpIncremental();
|
||||||
|
// window stuff
|
||||||
if(!hwndTasEdit) hwndTasEdit = CreateDialog(fceu_hInstance,"TASEDIT",hAppWnd,WndprocTasEdit);
|
if(!hwndTasEdit) hwndTasEdit = CreateDialog(fceu_hInstance,"TASEDIT",hAppWnd,WndprocTasEdit);
|
||||||
if(hwndTasEdit)
|
if(hwndTasEdit)
|
||||||
{
|
{
|
||||||
|
@ -1383,6 +1376,7 @@ void DoTasEdit()
|
||||||
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);
|
CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED);
|
||||||
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
|
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
|
||||||
|
CheckDlgButton(hwndTasEdit,CHECK_AUTORESTORE_PLAYBACK,TASEdit_restore_position?BST_CHECKED:BST_UNCHECKED);
|
||||||
|
|
||||||
SetWindowPos(hwndTasEdit,HWND_TOP,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER);
|
SetWindowPos(hwndTasEdit,HWND_TOP,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER);
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,8 @@
|
||||||
#define LAG_INPUT_COLOR2 0xB8B3E2
|
#define LAG_INPUT_COLOR2 0xB8B3E2
|
||||||
|
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
void DoTasEdit();
|
void EnterTasEdit();
|
||||||
|
void ExitTasEdit();
|
||||||
void UpdateTasEdit();
|
void UpdateTasEdit();
|
||||||
void InvalidateGreenZone(int after);
|
void InvalidateGreenZone(int after);
|
||||||
bool JumpToFrame(int index);
|
bool JumpToFrame(int index);
|
||||||
|
@ -63,5 +64,6 @@ int FindBeginningOfGreenZone(int starting_index);
|
||||||
void FollowPlayback();
|
void FollowPlayback();
|
||||||
void AddFourscoreColumns();
|
void AddFourscoreColumns();
|
||||||
void RemoveFourscoreColumns();
|
void RemoveFourscoreColumns();
|
||||||
void EnterTasEdit();
|
void RedrawList();
|
||||||
void ExitTasEdit();
|
void RedrawTasedit();
|
||||||
|
void RedrawTweakCount();
|
|
@ -1904,7 +1904,7 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
|
||||||
// Removing this tool since it is redundant to both
|
// Removing this tool since it is redundant to both
|
||||||
case ACCEL_CTRL_E:
|
case ACCEL_CTRL_E:
|
||||||
case MENU_TASEDIT:
|
case MENU_TASEDIT:
|
||||||
DoTasEdit();
|
EnterTasEdit();
|
||||||
break;
|
break;
|
||||||
case MENU_CONVERT_MOVIE:
|
case MENU_CONVERT_MOVIE:
|
||||||
ConvertFCM(hWnd);
|
ConvertFCM(hWnd);
|
||||||
|
|
|
@ -1094,23 +1094,23 @@ void FCEUMOV_AddInputState()
|
||||||
if(movieMode == MOVIEMODE_TASEDIT)
|
if(movieMode == MOVIEMODE_TASEDIT)
|
||||||
{
|
{
|
||||||
MovieRecord* mr = &currMovieData.records[currFrameCounter];
|
MovieRecord* mr = &currMovieData.records[currFrameCounter];
|
||||||
if(movie_readonly)
|
if(movie_readonly || turbo || pauseframe > currFrameCounter)
|
||||||
{
|
{
|
||||||
|
// do not record buttons
|
||||||
//reset if necessary
|
//reset if necessary
|
||||||
if(mr->command_reset())
|
if(mr->command_reset()) ResetNES();
|
||||||
ResetNES();
|
|
||||||
|
|
||||||
joyports[0].load(mr);
|
joyports[0].load(mr);
|
||||||
joyports[1].load(mr);
|
joyports[1].load(mr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// record buttons
|
||||||
if (currMovieData.greenZoneCount>currFrameCounter+1)
|
if (currMovieData.greenZoneCount>currFrameCounter+1)
|
||||||
{
|
{
|
||||||
|
|
||||||
InvalidateGreenZone(currFrameCounter);
|
InvalidateGreenZone(currFrameCounter);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// TODO: multitracking
|
||||||
|
|
||||||
joyports[0].log(mr);
|
joyports[0].log(mr);
|
||||||
joyports[1].log(mr);
|
joyports[1].log(mr);
|
||||||
mr->commands = 0;
|
mr->commands = 0;
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
#include "utils/guid.h"
|
#include "utils/guid.h"
|
||||||
#include "utils/md5.h"
|
#include "utils/md5.h"
|
||||||
|
|
||||||
extern int InputType[3];
|
|
||||||
|
|
||||||
struct FCEUFILE;
|
struct FCEUFILE;
|
||||||
|
|
||||||
enum EMOVIE_FLAG
|
enum EMOVIE_FLAG
|
||||||
|
|
|
@ -58,8 +58,8 @@
|
||||||
#define FCEU_COMPILER_DETAIL ""
|
#define FCEU_COMPILER_DETAIL ""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FCEU_VERSION_NUMERIC 21040
|
#define FCEU_VERSION_NUMERIC 21060
|
||||||
#define FCEU_VERSION_STRING "2.1.5" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
|
#define FCEU_VERSION_STRING "2.1.6" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
|
||||||
#define FCEU_NAME_AND_VERSION FCEU_NAME " " FCEU_VERSION_STRING
|
#define FCEU_NAME_AND_VERSION FCEU_NAME " " FCEU_VERSION_STRING
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue