diff options
author | Automerge Bot <bot@example.com> | 2022-08-21 03:27:35 +0300 |
---|---|---|
committer | Automerge Bot <bot@example.com> | 2022-08-21 03:27:35 +0300 |
commit | bd654cf2b2521560e8ca1bcd76e6572b1167e3ca (patch) | |
tree | 211a871a03f13f425518bdde056eaa4f7b43a60c | |
parent | e8cac2c6fad9632eb648d8ee6609260889627e71 (diff) | |
parent | f7e7773b5ab7599eb30c10e4b90c356d4542d068 (diff) |
Merge branch 'master' of https://github.com/TASVideos/fceux into coolgirl
-rw-r--r-- | src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/drivers/Qt/CheatsConf.cpp | 17 | ||||
-rw-r--r-- | src/drivers/Qt/CheatsConf.h | 2 | ||||
-rw-r--r-- | src/drivers/Qt/HexEditor.cpp | 2 | ||||
-rw-r--r-- | src/drivers/Qt/ppuViewer.cpp | 2 | ||||
-rw-r--r-- | src/drivers/win/cheat.cpp | 2 | ||||
-rw-r--r-- | src/input.cpp | 13 | ||||
-rw-r--r-- | src/input.h | 2 | ||||
-rw-r--r-- | src/movie.cpp | 1 |
9 files changed, 27 insertions, 15 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4d3c887f..89f0c073 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -87,6 +87,7 @@ else(WIN32) if ( ${ASAN_ENABLE} ) add_definitions( -fsanitize=address -fsanitize=bounds-strict ) + add_definitions( -fsanitize=undefined -fno-sanitize=vptr ) set( ASAN_LDFLAGS -lasan -lubsan) message( STATUS "Address Sanitizer Enabled" ) else() diff --git a/src/drivers/Qt/CheatsConf.cpp b/src/drivers/Qt/CheatsConf.cpp index f9af2ad1..d995700d 100644 --- a/src/drivers/Qt/CheatsConf.cpp +++ b/src/drivers/Qt/CheatsConf.cpp @@ -670,7 +670,7 @@ void GuiCheatsDialog_t::lessThanValueCallback(void) FCEU_WRAPPER_UNLOCK(); } //---------------------------------------------------------------------------- -int GuiCheatsDialog_t::activeCheatListCB(char *name, uint32 a, uint8 v, int c, int s, int type, void *data) +int GuiCheatsDialog_t::activeCheatListCB(const char *name, uint32 a, uint8 v, int c, int s, int type, void *data) { QTreeWidgetItem *item; char codeStr[32]; @@ -710,7 +710,7 @@ int GuiCheatsDialog_t::activeCheatListCB(char *name, uint32 a, uint8 v, int c, i return 1; } //---------------------------------------------------------------------------- -static int activeCheatListCB(char *name, uint32 a, uint8 v, int c, int s, int type, void *data) +static int activeCheatListCB(const char *name, uint32 a, uint8 v, int c, int s, int type, void *data) { return win->activeCheatListCB(name, a, v, c, s, type, data); } @@ -971,7 +971,7 @@ void GuiCheatsDialog_t::updateCheatParameters(void) FCEU_WRAPPER_LOCK(); - FCEUI_SetCheat(row, name.c_str(), a, v, c, s, type); + FCEUI_SetCheat(row, &name, a, v, c, s, type); FCEU_WRAPPER_UNLOCK(); @@ -983,7 +983,7 @@ void GuiCheatsDialog_t::actvCheatItemClicked(QTreeWidgetItem *item, int column) uint32 a = 0; uint8 v = 0; int c = -1, s = 0, type = 0; - char *name = NULL; + std::string name; char stmp[64]; int row = actvCheatList->indexOfTopLevelItem(item); @@ -1021,14 +1021,7 @@ void GuiCheatsDialog_t::actvCheatItemClicked(QTreeWidgetItem *item, int column) cheatCmpEntry->setText(tr("")); } - if (name != NULL) - { - cheatNameEntry->setText(tr(name)); - } - else - { - cheatNameEntry->setText(tr("")); - } + cheatNameEntry->setText(tr(name.c_str())); } //---------------------------------------------------------------------------- void GuiCheatsDialog_t::globalEnableCheats(int state) diff --git a/src/drivers/Qt/CheatsConf.h b/src/drivers/Qt/CheatsConf.h index 40b2836a..c06e9f75 100644 --- a/src/drivers/Qt/CheatsConf.h +++ b/src/drivers/Qt/CheatsConf.h @@ -30,7 +30,7 @@ public: int addSearchResult(uint32_t a, uint8_t last, uint8_t current); - int activeCheatListCB(char *name, uint32 a, uint8 v, int c, int s, int type, void *data); + int activeCheatListCB(const char *name, uint32 a, uint8 v, int c, int s, int type, void *data); void showActiveCheatList(bool redraw); diff --git a/src/drivers/Qt/HexEditor.cpp b/src/drivers/Qt/HexEditor.cpp index ed78bf07..b7f1931c 100644 --- a/src/drivers/Qt/HexEditor.cpp +++ b/src/drivers/Qt/HexEditor.cpp @@ -3243,7 +3243,7 @@ void QHexEdit::addBookMarkCB(void) } } //---------------------------------------------------------------------------- -static int RamFreezeCB(char *name, uint32 a, uint8 v, int compare,int s,int type, void *data) +static int RamFreezeCB(const char *name, uint32 a, uint8 v, int compare,int s,int type, void *data) { return ((QHexEdit*)data)->FreezeRam( name, a, v, compare, s, type ); } diff --git a/src/drivers/Qt/ppuViewer.cpp b/src/drivers/Qt/ppuViewer.cpp index 101e26de..d151da42 100644 --- a/src/drivers/Qt/ppuViewer.cpp +++ b/src/drivers/Qt/ppuViewer.cpp @@ -1133,7 +1133,7 @@ void ppuPatternView_t::paintEvent(QPaintEvent *event) xx = 0; yy = 0; - showSelector = (cycleCount < 20); + showSelector = (cycleCount < 20) && (selTile.x() >= 0) && (selTile.y() >= 0); if ( mode == 1 ) { diff --git a/src/drivers/win/cheat.cpp b/src/drivers/win/cheat.cpp index ce6ee616..0153d281 100644 --- a/src/drivers/win/cheat.cpp +++ b/src/drivers/win/cheat.cpp @@ -1084,6 +1084,8 @@ void UpdateCheatListGroupBoxUI() SetDlgItemText(hCheat, IDC_GROUPBOX_CHEATLIST, temp);
EnableWindow(GetDlgItem(hCheat, IDC_BTN_CHEAT_EXPORTTOFILE), cheats != 0);
+
+ CheckDlgButton(hCheat,IDC_CHEAT_GLOBAL_SWITCH,globalCheatDisabled?BST_UNCHECKED:BST_CHECKED);
}
//Used by cheats and external dialogs such as hex editor to update items in the cheat search dialog
diff --git a/src/input.cpp b/src/input.cpp index 530f6948..c1dcd536 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -798,6 +798,7 @@ static void RamSearchOpLTE(void); static void RamSearchOpGTE(void);
static void RamSearchOpEQ(void);
static void RamSearchOpNE(void);
+static void ToggleCheats(void);
static void DebuggerStepInto(void);
static void FA_SkipLag(void);
static void OpenRom(void);
@@ -945,6 +946,7 @@ struct EMUCMDTABLE FCEUI_CommandTable[]= { EMUCMD_TOOL_RAMSEARCHGTE, EMUCMDTYPE_TOOL, RamSearchOpGTE, 0, 0, "Ram Search - Greater Than or Equal", 0},
{ EMUCMD_TOOL_RAMSEARCHEQ, EMUCMDTYPE_TOOL, RamSearchOpEQ, 0, 0, "Ram Search - Equal", 0},
{ EMUCMD_TOOL_RAMSEARCHNE, EMUCMDTYPE_TOOL, RamSearchOpNE, 0, 0, "Ram Search - Not Equal", 0},
+ { EMUCMD_TOOL_TOGGLECHEATS, EMUCMDTYPE_TOOL, ToggleCheats, 0, 0, "Toggle Cheats", 0},
{ EMUCMD_RERECORD_DISPLAY_TOGGLE, EMUCMDTYPE_MISC, FCEUI_MovieToggleRerecordDisplay,0, 0, "Toggle Rerecord Display", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_REWIND, EMUCMDTYPE_TASEDITOR, TaseditorRewindOn, TaseditorRewindOff, 0, "Frame Rewind", EMUCMDFLAG_TASEDITOR },
@@ -1268,6 +1270,17 @@ static void RamSearchOpNE(void) { #endif
}
+extern int globalCheatDisabled;
+static void ToggleCheats()
+{
+ FCEUI_GlobalToggleCheat(globalCheatDisabled);
+ FCEU_DispMessage("%d cheats active", 0, FrozenAddressCount);
+ #ifdef __WIN_DRIVER__
+ UpdateCheatRelatedWindow();
+ UpdateCheatListGroupBoxUI();
+ #endif
+}
+
static void DebuggerStepInto()
{
#ifdef __WIN_DRIVER__
diff --git a/src/input.h b/src/input.h index 0f89fca9..9928839f 100644 --- a/src/input.h +++ b/src/input.h @@ -259,6 +259,8 @@ enum EMUCMD EMUCMD_MOVIE_RECORD_MODE_OVERWRITE,
EMUCMD_MOVIE_RECORD_MODE_INSERT,
+ EMUCMD_TOOL_TOGGLECHEATS,
+
EMUCMD_MAX
};
diff --git a/src/movie.cpp b/src/movie.cpp index 6e6140cd..9bc3eb99 100644 --- a/src/movie.cpp +++ b/src/movie.cpp @@ -409,6 +409,7 @@ MovieData::MovieData() , rerecordCount(0)
, binaryFlag(false)
, loadFrameCount(-1)
+ , fourscore(false)
, microphone(false)
, RAMInitOption(0)
, RAMInitSeed(0)
|