diff --git a/changelog.txt b/changelog.txt index 2a631fd1..cf5b369e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,9 @@ +05-Nov-2012 - zeromus - support mapper 028 +05-Nov-2012 - AnS - Taseditor: fixed lag adjustments when dealing with previously unknown lag state +30-Oct-2012 - zeromus - default stack pointer to $FD instead of $FF +29-Oct-2012 - CaH4e3 - mapper 252 added 29-Oct-2012 - AnS - Taseditor: update RAM Search and RAM Watch when jumping causes game state to change +21-Oct-2012 - CaH4e3 - sync mappers with fceu-mm 30-Sep-2012 - AnS - added "(Europe)" and "(PAL)" strings to region detection 28-Sep-2012 - AnS - Hexeditor: Ctrl+F opens Find dialog 28-Sep-2012 - AnS - Hexeditor: display 0x5000-0x5FFF contents @@ -6,7 +11,7 @@ 26-Sep-2012 - AnS - Debugger: "Name" button in Bookmarks, total revamp of Bookmarks 26-Sep-2012 - AnS - Debugger: single click on any address copies this address to the "Seek To" field and "Bookmark Add" field 26-Sep-2012 - AnS - Fixed replay engine bug that doubles the last input of the movie -26-Sep-2012 - AnS - Tracer: RTS instructions output caller address/name +26-Sep-2012 - AnS - Tracer: "RTS" instructions now output the subroutine address/name 23-Sep-2012 - AnS - Lua: clear previous frame drawings at the beginning of every frame 23-Sep-2012 - AnS - Debugger: fixed mouseover when using Symbolic debug; mouseover works for the disassembly window too 23-Sep-2012 - CaH4e3 - CDLogger: Now can log VROM access (CHR banks of the ROM) when NewPPU is enabled @@ -39,7 +44,7 @@ 08-Aug-2012 - AnS - Debugger: improved stack display 08-Aug-2012 - AnS - Debugger: doubleclick on the disassembly prompts "Add Execute breakpoint" dialog 08-Aug-2012 - AnS - Debugger: fixed RAM peek by a rightclick on left pane -08-Aug-2012 - AnS - Debugger: ">" shows current line in disassembly +08-Aug-2012 - AnS - Debugger: ">" points at current line in disassembly 08-Aug-2012 - AnS - Debugger: show the number of breakpoints (enabled and total) above the breakpoints list 06-Aug-2012 - CaH4e3 - fixed bug when loading UNF games (#525 ) 06-Aug-2012 - AnS - Tracer also updates its window when user pauses the game, not just when Debugger snaps diff --git a/src/drivers/win/cdlogger.cpp b/src/drivers/win/cdlogger.cpp index 60766bad..7da73dba 100644 --- a/src/drivers/win/cdlogger.cpp +++ b/src/drivers/win/cdlogger.cpp @@ -297,11 +297,13 @@ void SaveCDLogFile(){ //todo make this button work before you've saved as fclose(FP); } -void DoCDLogger() +// returns false if refused to start +bool DoCDLogger() { - if (!GameInfo) { + if (!GameInfo) + { FCEUD_PrintError("You must have a game loaded before you can use the Code Data Logger."); - return; + return false; } if(!hCDLogger) @@ -312,9 +314,11 @@ void DoCDLogger() ShowWindow(hCDLogger, SW_SHOWNORMAL); SetForegroundWindow(hCDLogger); } + return true; } -void UpdateCDLogger(){ +void UpdateCDLogger() +{ if(!hCDLogger)return; char str[50]; @@ -343,8 +347,10 @@ void UpdateCDLogger(){ return; } -void SaveStrippedRom(int invert){ //this is based off of iNesSave() - //todo: make this support nsfs +void SaveStrippedRom(int invert) +{ + //this is based off of iNesSave() + //todo: make this support NSFs const char NESfilter[]="Stripped iNes Rom file (*.NES)\0*.nes\0All Files (*.*)\0*.*\0\0"; const char NSFfilter[]="Stripped NSF file (*.NSF)\0*.nsf\0All Files (*.*)\0*.*\0\0"; char sromfilename[MAX_PATH]; @@ -352,12 +358,17 @@ void SaveStrippedRom(int invert){ //this is based off of iNesSave() OPENFILENAME ofn; int i; - if (GameInfo->type==GIT_NSF) { + if (!GameInfo) + return; + + if (GameInfo->type==GIT_NSF) + { MessageBox(NULL, "Sorry, you're not allowed to save optimized NSFs yet. Please don't optimize individual banks, as there are still some issues with several NSFs to be fixed, and it is easier to fix those issues with as much of the bank data intact as possible.", "Disallowed", MB_OK); return; } - if(codecount == 0){ + if(codecount == 0) + { MessageBox(NULL, "Unable to Generate Stripped Rom. Get Something Logged and try again.", "Error", MB_OK); return; } diff --git a/src/drivers/win/cdlogger.h b/src/drivers/win/cdlogger.h index fb9f481e..882bf678 100644 --- a/src/drivers/win/cdlogger.h +++ b/src/drivers/win/cdlogger.h @@ -1,6 +1,6 @@ //#include // -void DoCDLogger(); +bool DoCDLogger(); void UpdateCDLogger(); //void LogPCM(int romaddress); //No longer used // diff --git a/src/drivers/win/taseditor/greenzone.cpp b/src/drivers/win/taseditor/greenzone.cpp index 8cb7afcb..4ed90ee4 100644 --- a/src/drivers/win/taseditor/greenzone.cpp +++ b/src/drivers/win/taseditor/greenzone.cpp @@ -400,10 +400,10 @@ void GREENZONE::AdjustUp() // reduce Piano Roll piano_roll.UpdateItemCount(); // register changes - int first_input_chanes = history.RegisterAdjustLag(at, -1); + int first_input_changes = history.RegisterAdjustLag(at, -1); // if Input in the frame above currFrameCounter has changed then invalidate Greenzone (rewind 1 frame back) // also if the frame above currFrameCounter is lag frame then rewind 1 frame (invalidate Greenzone), because maybe this frame also needs lag removal - if ((first_input_chanes >= 0 && first_input_chanes < currFrameCounter) || (laglog.GetLagInfoAtFrame(at) != LAGGED_NO)) + if ((first_input_changes >= 0 && first_input_changes < currFrameCounter) || (laglog.GetLagInfoAtFrame(at) != LAGGED_NO)) { // custom invalidation procedure, not retriggering LostPosition/PauseFrame Invalidate(at); diff --git a/src/drivers/win/tracer.cpp b/src/drivers/win/tracer.cpp index e9979ba2..de117d2c 100644 --- a/src/drivers/win/tracer.cpp +++ b/src/drivers/win/tracer.cpp @@ -668,18 +668,24 @@ void EnableTracerMenuItems(void){ } //this returns 1 if the CD logger is activated when needed, or 0 if the user selected no, not to activate it -int PromptForCDLogger(void){ - if((logging_options & (LOG_NEW_INSTRUCTIONS|LOG_NEW_DATA)) && (!FCEUI_GetLoggingCD())){ - if(MessageBox(hTracer,"In order for some of the features you have selected to take effect,\ +int PromptForCDLogger(void) +{ + if ((logging_options & (LOG_NEW_INSTRUCTIONS|LOG_NEW_DATA)) && (!FCEUI_GetLoggingCD())) + { + if (MessageBox(hTracer,"In order for some of the features you have selected to take effect,\ the Code/Data Logger must also be running.\ Would you like to Start the Code/Data Logger Now?","Start Code/Data Logger?", - MB_YESNO) == IDYES){ - DoCDLogger(); - FCEUI_SetLoggingCD(1); - SetDlgItemText(hCDLogger, BTN_CDLOGGER_START_PAUSE, "Pause"); - return 1; + MB_YESNO) == IDYES) + { + if (DoCDLogger()) + { + FCEUI_SetLoggingCD(1); + SetDlgItemText(hCDLogger, BTN_CDLOGGER_START_PAUSE, "Pause"); + return 1; + } + return 0; // CDLogger couldn't start, probably because the game is closed } - return 0; //user selected no so 0 is returned + return 0; // user selected no so 0 is returned } return 1; }