movie.cpp, tasedit.cpp, tasedit.h: Invalidate greenzone when re-recording earlier portions of a movie.
condebug.cpp: Fix comments to match code.
This commit is contained in:
parent
a6bcf003d5
commit
d8f2b333b7
|
@ -1,3 +1,4 @@
|
||||||
|
11-nov-2010 - mart0258 - TasEdit - Invalidate greenzone when re-recording earlier portions of a movie.
|
||||||
09-oct-2010 - zeromus - fix bug in new ppu that made some intensify bits not get applied to output (fixes flashing siren screen in werefolf
|
09-oct-2010 - zeromus - fix bug in new ppu that made some intensify bits not get applied to output (fixes flashing siren screen in werefolf
|
||||||
09-oct-2010 - gocha - win32 - Ram Watch - fix the multiple selection of watches
|
09-oct-2010 - gocha - win32 - Ram Watch - fix the multiple selection of watches
|
||||||
09-oct-2010 - gocha - Win32 - Ram Search - multiple selection of addresses, fix restoration of the selection range
|
09-oct-2010 - gocha - Win32 - Ram Search - multiple selection of addresses, fix restoration of the selection range
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
* Compare -> Sum {('==' | '!=' | '<=' | '>=' | '<' | '>') Sum}
|
* Compare -> Sum {('==' | '!=' | '<=' | '>=' | '<' | '>') Sum}
|
||||||
* Sum -> Product {('+' | '-') Product}
|
* Sum -> Product {('+' | '-') Product}
|
||||||
* Product -> Primitive {('*' | '/') Primitive}
|
* Product -> Primitive {('*' | '/') Primitive}
|
||||||
* Primitive -> Number | Address | Register | Flag | '(' Connect ')'
|
* Primitive -> Number | Address | Register | Flag | PC Bank | '(' Connect ')'
|
||||||
* Number -> '#' [1-9A-F]*
|
* Number -> '#' [1-9A-F]*
|
||||||
* Address -> '$' [1-9A-F]* | '$' '[' Connect ']'
|
* Address -> '$' [1-9A-F]* | '$' '[' Connect ']'
|
||||||
* Register -> 'A' | 'X' | 'Y' | 'R'
|
* Register -> 'A' | 'X' | 'Y' | 'R'
|
||||||
|
@ -228,7 +228,7 @@ Condition* Primitive(const char** str, Condition* c)
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
else if (isBank(next)) /* Registers */
|
else if (isBank(next)) /* PC Bank */
|
||||||
{
|
{
|
||||||
if (c->type1 == TYPE_NO)
|
if (c->type1 == TYPE_NO)
|
||||||
{
|
{
|
||||||
|
@ -322,9 +322,9 @@ Condition* Primitive(const char** str, Condition* c)
|
||||||
Condition* Term(const char** str)
|
Condition* Term(const char** str)
|
||||||
{
|
{
|
||||||
Condition* t;
|
Condition* t;
|
||||||
Condition* t1;
|
Condition* t1;
|
||||||
Condition* mid;
|
Condition* mid;
|
||||||
|
|
||||||
t = (Condition*)FCEU_dmalloc(sizeof(Condition));
|
t = (Condition*)FCEU_dmalloc(sizeof(Condition));
|
||||||
if (!t)
|
if (!t)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -262,7 +262,7 @@ bool JumpToFrame(int index)
|
||||||
/* Handle jumps outside greenzone. */
|
/* Handle jumps outside greenzone. */
|
||||||
if (index>currMovieData.greenZoneCount)
|
if (index>currMovieData.greenZoneCount)
|
||||||
{
|
{
|
||||||
if (JumpToFrame(currMovieData.greenZoneCount))
|
if (JumpToFrame(currMovieData.greenZoneCount-1))
|
||||||
{
|
{
|
||||||
if (FCEUI_EmulationPaused())
|
if (FCEUI_EmulationPaused())
|
||||||
FCEUI_ToggleEmulationPause();
|
FCEUI_ToggleEmulationPause();
|
||||||
|
@ -278,8 +278,8 @@ bool JumpToFrame(int index)
|
||||||
if (static_cast<unsigned int>(index)<currMovieData.records.size() &&
|
if (static_cast<unsigned int>(index)<currMovieData.records.size() &&
|
||||||
currMovieData.loadTasSavestate(index))
|
currMovieData.loadTasSavestate(index))
|
||||||
{
|
{
|
||||||
currFrameCounter = index;
|
currFrameCounter = index;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -357,7 +357,6 @@ void DoubleClick(LPNMITEMACTIVATE info)
|
||||||
currMovieData.records[index].toggleBit(joy,bit);
|
currMovieData.records[index].toggleBit(joy,bit);
|
||||||
|
|
||||||
ListView_Update(hwndList,index);
|
ListView_Update(hwndList,index);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InvalidateGreenZone(index);
|
InvalidateGreenZone(index);
|
||||||
|
@ -970,6 +969,23 @@ static void Export()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Truncate()
|
||||||
|
{
|
||||||
|
int frame = currFrameCounter;
|
||||||
|
|
||||||
|
if (selectionFrames.size()>0)
|
||||||
|
{
|
||||||
|
frame=*selectionFrames.begin();
|
||||||
|
JumpToFrame(frame);
|
||||||
|
}
|
||||||
|
|
||||||
|
currMovieData.truncateAt(frame+1);
|
||||||
|
InvalidateGreenZone(frame);
|
||||||
|
currMovieData.TryDumpIncremental();
|
||||||
|
UpdateTasEdit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//likewise, handles a changed item range from the listview
|
//likewise, handles a changed item range from the listview
|
||||||
static void ItemRangeChanged(NMLVODSTATECHANGE* info)
|
static void ItemRangeChanged(NMLVODSTATECHANGE* info)
|
||||||
{
|
{
|
||||||
|
@ -1156,11 +1172,7 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
case ID_CONTEXT_SELECTED_TRUNCATE:
|
case ID_CONTEXT_SELECTED_TRUNCATE:
|
||||||
case ID_CONTEXT_STRAY_TRUNCATE:
|
case ID_CONTEXT_STRAY_TRUNCATE:
|
||||||
case IDC_HACKY1:
|
case IDC_HACKY1:
|
||||||
//hacky1: delete all items after the current selection
|
Truncate();
|
||||||
currMovieData.truncateAt(currFrameCounter+1);
|
|
||||||
InvalidateGreenZone(currFrameCounter);
|
|
||||||
currMovieData.TryDumpIncremental();
|
|
||||||
UpdateTasEdit();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDC_HACKY2:
|
case IDC_HACKY2:
|
||||||
|
|
|
@ -3,3 +3,4 @@
|
||||||
void DoTasEdit();
|
void DoTasEdit();
|
||||||
void UpdateTasEdit();
|
void UpdateTasEdit();
|
||||||
void CreateProject(MovieData data);
|
void CreateProject(MovieData data);
|
||||||
|
void InvalidateGreenZone(int after);
|
||||||
|
|
|
@ -1113,6 +1113,10 @@ void FCEUMOV_AddInputState()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (currMovieData.greenZoneCount>currFrameCounter+1)
|
||||||
|
{
|
||||||
|
InvalidateGreenZone(currFrameCounter);
|
||||||
|
}
|
||||||
joyports[0].log(mr);
|
joyports[0].log(mr);
|
||||||
joyports[1].log(mr);
|
joyports[1].log(mr);
|
||||||
mr->commands = 0;
|
mr->commands = 0;
|
||||||
|
|
Loading…
Reference in New Issue