| 503 | } |
| 504 | |
| 505 | void UpdateContextMenuItems(HMENU context, int whichContext) |
| 506 | { |
| 507 | string undoLoadstate = "Undo loadstate"; |
| 508 | string redoLoadstate = "Redo loadstate"; |
| 509 | string undoSavestate = "Undo savestate"; |
| 510 | string redoSavestate = "Redo savestate"; |
| 511 | |
| 512 | CheckMenuItem(context,ID_CONTEXT_FULLSAVESTATES,MF_BYCOMMAND | (fullSaveStateLoads ? MF_CHECKED : MF_UNCHECKED)); |
| 513 | |
| 514 | if (FCEUMOV_Mode(MOVIEMODE_PLAY | MOVIEMODE_RECORD)) |
| 515 | EnableMenuItem(context, FCEUX_CONTEXT_TOGGLE_RECORDING, MF_BYCOMMAND | MF_ENABLED); |
| 516 | else |
| 517 | EnableMenuItem(context, FCEUX_CONTEXT_TOGGLE_RECORDING, MF_BYCOMMAND | MF_GRAYED); |
| 518 | |
| 519 | if (FCEUMOV_Mode(MOVIEMODE_PLAY | MOVIEMODE_RECORD)) |
| 520 | { |
| 521 | EnableMenuItem(context, FCEUX_CONTEXT_INSERT_1_FRAME, MF_BYCOMMAND | MF_ENABLED); |
| 522 | EnableMenuItem(context, FCEUX_CONTEXT_DELETE_1_FRAME, MF_BYCOMMAND | MF_ENABLED); |
| 523 | EnableMenuItem(context, FCEUX_CONTEXT_TRUNCATE_MOVIE, MF_BYCOMMAND | MF_ENABLED); |
| 524 | } else |
| 525 | { |
| 526 | EnableMenuItem(context, FCEUX_CONTEXT_INSERT_1_FRAME, MF_BYCOMMAND | MF_GRAYED); |
| 527 | EnableMenuItem(context, FCEUX_CONTEXT_DELETE_1_FRAME, MF_BYCOMMAND | MF_GRAYED); |
| 528 | EnableMenuItem(context, FCEUX_CONTEXT_TRUNCATE_MOVIE, MF_BYCOMMAND | MF_GRAYED); |
| 529 | } |
| 530 | if (movieRecordMode == MOVIE_RECORD_MODE_TRUNCATE) CheckMenuRadioItem(context, FCEUX_CONTEXT_RECORDMODE_TRUNCATE, FCEUX_CONTEXT_RECORDMODE_INSERT, FCEUX_CONTEXT_RECORDMODE_TRUNCATE, MF_BYCOMMAND); |
| 531 | if (movieRecordMode == MOVIE_RECORD_MODE_OVERWRITE) CheckMenuRadioItem(context, FCEUX_CONTEXT_RECORDMODE_TRUNCATE, FCEUX_CONTEXT_RECORDMODE_INSERT, FCEUX_CONTEXT_RECORDMODE_OVERWRITE, MF_BYCOMMAND); |
| 532 | if (movieRecordMode == MOVIE_RECORD_MODE_INSERT) CheckMenuRadioItem(context, FCEUX_CONTEXT_RECORDMODE_TRUNCATE, FCEUX_CONTEXT_RECORDMODE_INSERT, FCEUX_CONTEXT_RECORDMODE_INSERT, MF_BYCOMMAND); |
| 533 | |
| 534 | //Undo Loadstate |
| 535 | if (CheckBackupSaveStateExist() && (undoLS || redoLS)) |
| 536 | EnableMenuItem(context,FCEUX_CONTEXT_UNDOLOADSTATE,MF_BYCOMMAND | MF_ENABLED); |
| 537 | else |
| 538 | EnableMenuItem(context,FCEUX_CONTEXT_UNDOLOADSTATE,MF_BYCOMMAND | MF_GRAYED); |
| 539 | if (redoLS) |
| 540 | ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOLOADSTATE, redoLoadstate, context); |
| 541 | else |
| 542 | ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOLOADSTATE, undoLoadstate, context); |
| 543 | |
| 544 | //Undo Savestate |
| 545 | if (undoSS || redoSS) //If undo or redo, enable Undo savestate, else keep it gray |
| 546 | EnableMenuItem(context,FCEUX_CONTEXT_UNDOSAVESTATE,MF_BYCOMMAND | MF_ENABLED); |
| 547 | else |
| 548 | EnableMenuItem(context,FCEUX_CONTEXT_UNDOSAVESTATE,MF_BYCOMMAND | MF_GRAYED); |
| 549 | if (redoSS) |
| 550 | ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOSAVESTATE, redoSavestate, context); |
| 551 | else |
| 552 | ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOSAVESTATE, undoSavestate, context); |
| 553 | |
| 554 | //Rewind to last auto-save |
| 555 | if(EnableAutosave && AutoSS) |
| 556 | EnableMenuItem(context,FCEUX_CONTEXT_REWINDTOLASTAUTO,MF_BYCOMMAND | MF_ENABLED); |
| 557 | else |
| 558 | EnableMenuItem(context,FCEUX_CONTEXT_REWINDTOLASTAUTO,MF_BYCOMMAND | MF_GRAYED); |
| 559 | |
| 560 | //Load last ROM |
| 561 | if (recent_files[0]) |
| 562 | EnableMenuItem(context,FCEUX_CONTEXT_RECENTROM1,MF_BYCOMMAND | MF_ENABLED); |
no test coverage detected