diff --git a/.gitignore b/.gitignore index aa8ed88e..0ae8d8ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +build /vc/defaultconfig/scmrev.h /vc/.vs /vc/vc14_bin_Debug diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a093236c..6e3aca0b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -181,12 +181,12 @@ else(WIN32) endif() # Check for libminizip - pkg_check_modules( MINIZIP REQUIRED minizip) + # pkg_check_modules( MINIZIP REQUIRED minizip) - if ( ${MINIZIP_FOUND} ) + # if ( ${MINIZIP_FOUND} ) message( STATUS "Using System minizip ${MINIZIP_VERSION}" ) add_definitions( -D_SYSTEM_MINIZIP ${MINIZIP_CFLAGS} ) - endif() + # endif() pkg_check_modules( LIBARCHIVE libarchive) diff --git a/src/CMakeLists.txt.orig b/src/CMakeLists.txt.orig new file mode 100644 index 00000000..a093236c --- /dev/null +++ b/src/CMakeLists.txt.orig @@ -0,0 +1,798 @@ +include(GNUInstallDirs) + +set( APP_NAME fceux) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if (${PUBLIC_RELEASE}) + add_definitions( -DPUBLIC_RELEASE=1 ) +endif() + +if ( ${QT6} ) + set( QT 6 ) +endif() + +if (NOT DEFINED QT) + message( STATUS "Attempting to determine Qt Version...") + find_package( Qt6 COMPONENTS Core QUIET) + + if (${Qt6Core_FOUND}) + message( STATUS "Found Qt Version: ${Qt6Core_VERSION}") + set( QT 6 ) + else() + find_package( Qt5 COMPONENTS Core QUIET) + + if (${Qt5Core_FOUND}) + message( STATUS "Found Qt Version: ${Qt5Core_VERSION}") + set( QT 5 ) + endif() + endif() +endif() + +if ( ${FCEU_PROFILER_ENABLE} ) + message( STATUS "FCEU Profiler Enabled") + add_definitions( -D__FCEU_PROFILER_ENABLE__ ) +endif() + +if ( ${QT} EQUAL 6 ) + message( STATUS "GUI Frontend: Qt6") + set( Qt Qt6 ) + find_package( Qt6 REQUIRED COMPONENTS Widgets OpenGL OpenGLWidgets) + find_package( Qt6 COMPONENTS Help QUIET) + find_package( Qt6 COMPONENTS Qml) + find_package( Qt6 COMPONENTS UiTools) + add_definitions( ${Qt6Widgets_DEFINITIONS} ${Qt6Qml_DEFINITIONS} ${Qt6Help_DEFINITIONS} ${Qt6OpenGLWidgets_DEFINITIONS} ) + # add_definitions(${Qt6UiTools_DEFINITIONS}) # Leave ${Qt6UiTools_DEFINITIONS} out as this is causing a build error + include_directories( ${Qt6Widgets_INCLUDE_DIRS} ${Qt6Qml_INCLUDE_DIRS} ${Qt6UiTools_INCLUDE_DIRS} ${Qt6Help_INCLUDE_DIRS} ${Qt6OpenGLWidgets_INCLUDE_DIRS} ) + + if (${Qt6Help_FOUND}) + message( STATUS "Qt6 Help Module Found") + if (${QHELP}) + add_definitions( -D_USE_QHELP ) + endif() + else() + message( STATUS "Qt6 Help Module Not Found") + endif() + + if (${Qt6Qml_FOUND}) + message( STATUS "Qt6 Qml Module Found") + add_definitions( -D__FCEU_QSCRIPT_ENABLE__ ) + else() + message( STATUS "Qt6 Qml Module Not Found") + endif() + + if (${Qt6UiTools_FOUND}) + message( STATUS "Qt6 UiTools Module Found") + add_definitions( -D__QT_UI_TOOLS__ ) + else() + message( STATUS "Qt6 UiTools Module Not Found") + endif() +else() + message( STATUS "GUI Frontend: Qt5") + set( Qt Qt5 ) + find_package( Qt5 REQUIRED COMPONENTS Widgets OpenGL) + find_package( Qt5 COMPONENTS Help QUIET) + find_package( Qt5 COMPONENTS Qml) + find_package( Qt5 COMPONENTS UiTools) + add_definitions( ${Qt5Widgets_DEFINITIONS} ${Qt5Qml_DEFINITIONS} ${Qt5UiTools_DEFINITIONS} ${Qt5Help_DEFINITIONS} ) + include_directories( ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Qml_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ) + + if (${Qt5Help_FOUND}) + message( STATUS "Qt5 Help Module Found") + if (${QHELP}) + add_definitions( -D_USE_QHELP ) + endif() + else() + message( STATUS "Qt5 Help Module Not Found") + endif() + + if (${Qt5Qml_FOUND}) + message( STATUS "Qt5 Qml Module Found") + add_definitions( -D__FCEU_QSCRIPT_ENABLE__ ) + else() + message( STATUS "Qt5 Qml Module Not Found") + endif() + + if (${Qt5UiTools_FOUND}) + message( STATUS "Qt5 UiTools Module Found") + add_definitions( -D__QT_UI_TOOLS__ ) + else() + message( STATUS "Qt5 UiTools Module Not Found") + endif() +endif() + +if(WIN32) + find_package(OpenGL REQUIRED) + #find_package(Qt5 COMPONENTS Widgets OpenGL REQUIRED) + #add_definitions( ${Qt5Widgets_DEFINITIONS} ) + #include_directories( ${Qt5Widgets_INCLUDE_DIRS} ) + add_definitions( -DMSVC -D_CRT_SECURE_NO_WARNINGS ) + add_definitions( -D__SDL__ -D__QT_DRIVER__ -DQT_DEPRECATED_WARNINGS ) + add_definitions( -DFCEUDEF_DEBUGGER ) + add_definitions( -D_USE_LIBARCHIVE ) + add_definitions( /wd4267 /wd4244 ) + #add_definitions( /wd4018 ) # Integer comparison sign mismatch warnings + include_directories( ${SDL_INSTALL_PREFIX}/SDL2/include ) + include_directories( ${LIBARCHIVE_INSTALL_PREFIX}/libarchive/include ) + include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib ) + set( OPENGL_LDFLAGS OpenGL::GL ) + set( SDL2_LDFLAGS ${SDL_INSTALL_PREFIX}/SDL2/lib/x64/SDL2.lib ) + set( LIBARCHIVE_LDFLAGS ${LIBARCHIVE_INSTALL_PREFIX}/libarchive/lib/archive.lib ) + set( SYS_LIBS wsock32 ws2_32 vfw32 Htmlhelp ) + set(APP_ICON_RESOURCES_WINDOWS ${CMAKE_SOURCE_DIR}/icons/fceux.rc ) + + if ( ${USE_LIBAV} ) + add_definitions( -D_USE_LIBAV ${LIBAV_CFLAGS} ) + include_directories( ${FFMPEG_INSTALL_PREFIX}/ffmpeg/include ) + set( LIBAV_LDFLAGS ${FFMPEG_INSTALL_PREFIX}/ffmpeg/lib/avcodec.lib + ${FFMPEG_INSTALL_PREFIX}/ffmpeg/lib/avformat.lib + ${FFMPEG_INSTALL_PREFIX}/ffmpeg/lib/avutil.lib + ${FFMPEG_INSTALL_PREFIX}/ffmpeg/lib/swscale.lib + ${FFMPEG_INSTALL_PREFIX}/ffmpeg/lib/swresample.lib ) + endif() + +else(WIN32) + # Non Windows System + # UNIX (Linux or Mac OSX) + + if ( ${GLVND} ) + message( STATUS "OpenGL preference: GLVND") + set (OpenGL_GL_PREFERENCE GLVND) + else() + message( STATUS "OpenGL preference: LEGACY") + set (OpenGL_GL_PREFERENCE LEGACY) + endif() + + # Use the built-in cmake find_package functions to find dependencies + # Use package PkgConfig to detect headers/library what find_package cannot find. + find_package(PkgConfig REQUIRED) + find_package(OpenGL REQUIRED) + find_package(ZLIB REQUIRED) + + add_definitions( -Wall -Wno-write-strings -Wno-parentheses -Wno-unused-local-typedefs -fPIC ) + #add_definitions( -Wno-sign-compare ) # Integer comparison sign mismatch warnings + add_definitions( -DFCEUDEF_DEBUGGER ) + + #if ( ${QT6} ) + # find_package( Qt6 COMPONENTS Widgets OpenGL OpenGLWidgets REQUIRED) + # add_definitions( ${Qt6Widgets_DEFINITIONS} ${Qt6OpenGLWidgets_DEFINITIONS} ) + # include_directories( ${Qt6Widgets_INCLUDE_DIRS} ${QtOpenGLWidgets_INCLUDE_DIRS} ) + #else() + # find_package( Qt5 COMPONENTS Widgets OpenGL REQUIRED) + # add_definitions( ${Qt5Widgets_DEFINITIONS} ) + # include_directories( ${Qt5Widgets_INCLUDE_DIRS} ) + #endif() + add_definitions( -D__QT_DRIVER__ -DQT_DEPRECATED_WARNINGS ) + + if ( ${GPROF_ENABLE} ) + add_definitions( -pg ) + set( GPROF_LDFLAGS -pg ) + message( STATUS "GNU Profiling Enabled" ) + endif() + + 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() + message( STATUS "Address Sanitizer Disabled" ) + endif() + + # Check for libminizip + pkg_check_modules( MINIZIP REQUIRED minizip) + + if ( ${MINIZIP_FOUND} ) + message( STATUS "Using System minizip ${MINIZIP_VERSION}" ) + add_definitions( -D_SYSTEM_MINIZIP ${MINIZIP_CFLAGS} ) + endif() + + pkg_check_modules( LIBARCHIVE libarchive) + + if ( ${LIBARCHIVE_FOUND} ) + message( STATUS "Using System Libarchive Library ${LIBARCHIVE_VERSION}" ) + add_definitions( -D_USE_LIBARCHIVE ${LIBARCHIVE_CFLAGS} ) + endif() + + pkg_check_modules( X264 x264) + + if ( ${X264_FOUND} ) + message( STATUS "Using System X264 Encoder Library ${X264_VERSION}" ) + add_definitions( -D_USE_X264 ${X264_CFLAGS} ) + endif() + + pkg_check_modules( X265 x265) + + if ( ${X265_FOUND} ) + message( STATUS "Using System X265 Encoder Library ${X265_VERSION}" ) + add_definitions( -D_USE_X265 ${X265_CFLAGS} ) + endif() + + pkg_check_modules( LIBAV libavcodec libavformat libavutil libswresample libswscale) + + if ( ${LIBAV_FOUND} ) + message( STATUS "Using System Libav Library ${LIBAV_VERSION}" ) + add_definitions( -D_USE_LIBAV ${LIBAV_CFLAGS} ) + endif() + + #find_package(X11) + pkg_check_modules( X11 x11) + + if ( ${X11_FOUND} ) + message( STATUS "Has X11 Library ${X11_VERSION}" ) + add_definitions( -D_HAS_X11 ) + include_directories( ${X11_INCLUDE_DIR} ) + endif() + + pkg_check_modules( XKB xkbcommon) + + if ( ${XKB_FOUND} ) + message( STATUS "Has XKB Library ${XKB_VERSION}" ) + add_definitions( -D_HAS_XKB ${XKB_CFLAGS} ) + endif() + + #pkg_check_modules( GL gl) # Use built in find package instead for OpenGL + + # Check for OpenGL + if ( ${OPENGL_FOUND} ) + include_directories( ${OPENGL_INCLUDE_DIR} ) + endif() + + # Check for SDL2 + pkg_check_modules( SDL2 REQUIRED sdl2) + + if ( ${SDL2_FOUND} ) + add_definitions( ${SDL2_CFLAGS} -D__SDL__ ) + endif() + + # Check for LUA + pkg_search_module( LUA lua5.1 lua-5.1 ) + + add_definitions( -DHAVE_ASPRINTF ) # What system wouldn't have this? + add_definitions( -DLUA_USE_LINUX ) # This needs to be set when link LUA internally for linux and macosx + + if(APPLE) + set( OPENGL_LDFLAGS "-framework OpenGL" ) + else() + set( OPENGL_LDFLAGS ${OPENGL_LIBRARIES} ) + # OpenBSD refuses to implement the POSIX realtime interface and + # refuses to provide a stub library for -ldl + if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") + set( SYS_LIBS -lpthread) + else() + set( SYS_LIBS -lrt -lpthread -ldl) + endif() + endif() + +endif(WIN32) + +if ( ${LUA_FOUND} ) + # Use System LUA + message( STATUS "Using System Lua ${LUA_VERSION}" ) + + add_definitions( -D_S9XLUA_H ${LUA_CFLAGS} ) + + set( LUA_ENGINE_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/lua-engine.cpp ) + +else () + + # Use Internal LUA + message( STATUS "Using Internal Lua" ) + + add_definitions( -D_S9XLUA_H -I${CMAKE_CURRENT_SOURCE_DIR}/lua/src ) + + set( LUA_ENGINE_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lapi.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lauxlib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lbaselib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lcode.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ldblib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ldebug.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ldo.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ldump.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lfunc.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lgc.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/linit.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/liolib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/llex.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lmathlib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lmem.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/loadlib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lobject.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lopcodes.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/loslib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lparser.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lstate.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lstring.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lstrlib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ltable.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ltablib.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/ltm.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lundump.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lvm.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/lzio.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua/src/print.c + ${CMAKE_CURRENT_SOURCE_DIR}/lua-engine.cpp + ) +endif() + +if ( ${ZLIB_FOUND} ) + + message( STATUS "Using System zlib ${ZLIB_VERSION_STRING}" ) + #add_definitions( ${ZLIB_CFLAGS} ) + include_directories( ${ZLIB_INCLUDE_DIRS} ) +else() + + message( STATUS "Using Internal zlib" ) + + set( ZLIB_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/adler32.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/compress.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/crc32.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/deflate.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/gzio.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/infblock.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/infcodes.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/inffast.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/inflate.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/inftrees.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/infutil.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/trees.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/uncompr.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/unzip.c + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/win/zlib/zutil.c + ) +endif() + +include_directories( ${CMAKE_SOURCE_DIR}/src ) +include_directories( ${CMAKE_SOURCE_DIR}/src/drivers ) + +if(APPLE) + add_definitions( -DPSS_STYLE=1 ) +else(APPLE) + if(UNIX) + add_definitions( -DPSS_STYLE=1 ) + endif(UNIX) +endif(APPLE) + +set(SRC_CORE + ${CMAKE_CURRENT_SOURCE_DIR}/asm.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cart.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cheat.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/conddebug.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/config.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/debug.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/debugsymboltable.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drawing.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fceu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fds.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/file.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/emufile.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/filter.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ines.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ld65dbg.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/netplay.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nsf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/oldmovie.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/palette.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/profiler.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ppu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/state.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/unif.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/video.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/vsuni.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/wave.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/x6502.cpp + ${LUA_ENGINE_SOURCE} + ${ZLIB_SOURCE} + ${CMAKE_CURRENT_SOURCE_DIR}/boards/01-222.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/09-034a.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/103.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/106.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/108.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/112.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/116.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/117.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/120.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/121.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/12in1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/151.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/156.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/158B.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/15.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/164.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/168.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/170.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/175.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/176.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/177.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/178.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/183.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/185.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/186.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/187.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/189.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/18.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/190.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/193.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/199.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/206.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/208.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/222.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/225.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/228.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/230.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/232.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/234.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/235.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/244.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/246.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/252.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/253.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/28.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/32.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/33.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/34.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/354.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/413.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/36.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/3d-block.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/40.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/411120-c.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/41.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/42.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/43.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/46.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/50.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/51.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/57.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/603-5052.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/62.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/65.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/67.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/68.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/69.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/71.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/72.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/77.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/79.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/80013-B.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/80.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/8157.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/8237.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/82.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/830118C.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/88.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/8in1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/90.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/91.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/96.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/99.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/a9746.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ac-08.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/addrlatch.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ax5705.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bandai.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bb.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bmc13in1jy110.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bmc42in1r.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bmc64in1nr.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bmc70in1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/BMW8544.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bonza.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bs-5.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/bs4xxxr.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/cheapocabra.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/cityfighter.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/coolboy.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/coolgirl.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/dance2000.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/datalatch.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/dream.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/__dummy_mapper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/edu2000.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/eh8813a.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/emu2413.c + ${CMAKE_CURRENT_SOURCE_DIR}/boards/et-100.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/et-4320.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/F-15.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/famicombox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ffe.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/fk23c.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/fns.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ghostbusters63in1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/gs-2004.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/gs-2013.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/h2288.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/hp10xx_hp20xx.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/hp898f.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/inlnsf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/karaoke.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/kof97.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7010.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7012.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7013.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7016.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7017.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7030.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7031.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7032.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7037.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/ks7057.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/le05.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/lh32.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/lh53.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/malee.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/mihunche.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/mmc1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/mmc2and4.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/mmc3.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/mmc5.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/n106.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/n625092.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/novel.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/onebus.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/pec-586.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/rt-01.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sa-9602b.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sachen.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sb-2000.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sc-127.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sheroes.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/sl1632.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/subor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/super24.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/supervision.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/t-227-1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/t-262.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/tengen.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/tf-1201.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/transformer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/unrom512.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc2and4.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc3.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc5.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc6.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc7.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/vrc7p.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/yoko.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/boards/inx007t.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/arkanoid.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/bworld.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/cursor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/fkb.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/fns.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/ftrainer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/hypershot.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/mahjong.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/mouse.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/oekakids.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/pec586kb.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/powerpad.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/quiz.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/shadow.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/snesmouse.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/suborkb.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/toprider.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/virtualboy.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/lcdcompzapper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/input/zapper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/backward.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/xstring.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/crc32.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/endian.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/general.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/guid.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/md5.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/memory.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/mutex.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/timeStamp.cpp +) + + +set(SRC_DRIVERS_COMMON + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/args.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/cheat.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/configSys.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/hq2x.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/hq3x.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/scale2x.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/scale3x.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/scalebit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/vidblit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/os_utils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/common/nes_ntsc.c +) + +set(SRC_DRIVERS_SDL + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/main.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleWindow.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleViewerGL.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleViewerSDL.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleViewerQWidget.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleViewerInterface.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/InputConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GamePadConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/FamilyKeyboard.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/HotKeyConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TimingConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/FrameTimingStats.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/PaletteConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/PaletteEditor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ColorMenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GuiConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/HelpPages.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/MoviePlay.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/MovieRecord.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/MovieOptions.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/LuaControl.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/CheatsConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GameGenie.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/HexEditor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/MsgLogViewer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/CodeDataLogger.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/SymbolicDebug.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleDebugger.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleUtilities.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleVideoConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleSoundConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/StateRecorderConf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/iNesHeaderEditor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/QtScriptManager.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/SplashScreen.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TraceLogger.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/AboutWindow.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/fceuWrapper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ppuViewer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/NameTableViewer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/RamWatch.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/RamSearch.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/config.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/input.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/nes_shm.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/keyscan.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/sdl-sound.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/sdl-video.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/sdl-joystick.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/sdl-throttle.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/unix-netplay.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/AviRecord.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/AviRiffViewer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/avi-utils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/fileio.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/gwavi.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/TasEditorWindow.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/taseditor_project.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/taseditor_config.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/taseditor_lua.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/markers_manager.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/greenzone.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/selection.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/playback.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/recorder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/history.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/splicer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/inputlog.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/laglog.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/branches.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/bookmarks.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/bookmark.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/snapshot.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/markers.cpp +) + +set(SOURCES ${SRC_CORE} ${SRC_DRIVERS_COMMON} ${SRC_DRIVERS_SDL}) + +# Put build timestamp into BUILD_TS environment variable and from there into +# the FCEUX_BUILD_TIMESTAMP preprocessor definition. +# Note: with CMake >= 3.8.0, this will respect SOURCE_DATE_EPOCH. For more info, +# see . +string(TIMESTAMP BUILD_TS "%H:%M:%S %b %d %Y" UTC) +add_definitions( -DFCEUX_BUILD_TIMESTAMP=\"${BUILD_TS}\" ) + +if (WIN32) +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp + COMMAND ${CMAKE_SOURCE_DIR}/scripts/genGitHdr.bat ${CMAKE_CURRENT_BINARY_DIR} + VERBATIM ) +else() +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp + COMMAND ${CMAKE_SOURCE_DIR}/scripts/genGitHdr.sh ${CMAKE_CURRENT_BINARY_DIR} + VERBATIM ) +endif() + +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp PROPERTY SKIP_AUTOGEN ON) + +if (APPLE) + +set(MACOSX_BUNDLE_ICON_FILE fceux.icns) +set(APP_ICON ${CMAKE_SOURCE_DIR}/fceux.icns ) +set_source_files_properties( ${APP_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" ) + +add_executable( ${APP_NAME} MACOSX_BUNDLE ${APP_ICON} ${SOURCES} ../resources.qrc + ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp) +elseif (WIN32) + +add_executable( ${APP_NAME} ${SOURCES} ../resources.qrc + ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp + ${APP_ICON_RESOURCES_WINDOWS} ) +else() +add_executable( ${APP_NAME} ${SOURCES} ../resources.qrc + ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp) +endif() + +target_link_libraries( ${APP_NAME} + ${ASAN_LDFLAGS} ${GPROF_LDFLAGS} + ${${Qt}Widgets_LIBRARIES} + ${${Qt}Help_LIBRARIES} + ${${Qt}Qml_LIBRARIES} + ${${Qt}UiTools_LIBRARIES} + ${${Qt}OpenGL_LIBRARIES} + ${${Qt}OpenGLWidgets_LIBRARIES} + ${OPENGL_LDFLAGS} + ${SDL2_LDFLAGS} + ${MINIZIP_LDFLAGS} ${ZLIB_LIBRARIES} ${LIBARCHIVE_LDFLAGS} + ${LUA_LDFLAGS} ${X264_LDFLAGS} ${X265_LDFLAGS} ${LIBAV_LDFLAGS} + ${SYS_LIBS} +) + +if (WIN32) + # target_link_libraries( ${APP_NAME} wsock32 ws2_32 ) + + set_target_properties(${APP_NAME} PROPERTIES WIN32_EXECUTABLE TRUE) +endif() + +if (APPLE) + +install( TARGETS ${APP_NAME} + BUNDLE DESTINATION . COMPONENT Runtime + RUNTIME DESTINATION bin COMPONENT Runtime ) + +# Use \$ to defer expansion until install script is called; CPack will call it with its own CMAKE_INSTALL_PREFIX +set(APP \${CMAKE_INSTALL_PREFIX}/${APP_NAME}.app) + +install( DIRECTORY ${CMAKE_SOURCE_DIR}/output/. + DESTINATION ${APP_NAME}.app/Contents/Resources COMPONENT Extra ) + +set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/fceux.icns ) +set(CPACK_GENERATOR "DragNDrop") +include(CPACK) + +# macdeployqt tool that comes with Qt: https://doc.qt.io/qt-5/macos-deployment.html#macdeploy +# Compared to fixup_bundle, correctly finds and installs Qt-specific resources as well as non-Qt dependencies +find_program(MACDEPLOYQT macdeployqt) +if(NOT MACDEPLOYQT) + message(FATAL_ERROR "Could not find macdeployqt executable") +endif() + +find_package(Perl REQUIRED) + +install( CODE " + message(STATUS \"Deploying and fixing up dependencies in app: ${APP}\") + execute_process(COMMAND \"${MACDEPLOYQT}\" \"${APP}\" -verbose=1) + execute_process(COMMAND \"${PERL_EXECUTABLE}\" + \"${CMAKE_SOURCE_DIR}/scripts/macOSX_BundleFix.pl\" + \"${CMAKE_BINARY_DIR}/_CPack_Packages\") + " + COMPONENT Runtime + ) + +else(APPLE) + +install( TARGETS ${APP_NAME} + RUNTIME DESTINATION bin ) + +install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/auxlib.lua DESTINATION share/fceux/luaScripts ) +install( DIRECTORY ${CMAKE_SOURCE_DIR}/output/. DESTINATION share/fceux ) +install( FILES ${CMAKE_SOURCE_DIR}/fceux1.png DESTINATION share/pixmaps ) +install( FILES ${CMAKE_SOURCE_DIR}/fceux.desktop DESTINATION share/applications ) +install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux.6 DESTINATION ${CMAKE_INSTALL_MANDIR}/man6 ) +install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux-net-server.6 DESTINATION ${CMAKE_INSTALL_MANDIR}/man6 ) + +endif(APPLE) diff --git a/src/drivers/Qt/AviRecord.cpp b/src/drivers/Qt/AviRecord.cpp index e6a695d9..8ae5dc86 100644 --- a/src/drivers/Qt/AviRecord.cpp +++ b/src/drivers/Qt/AviRecord.cpp @@ -2216,13 +2216,13 @@ int aviRecordOpenFile( const char *filepath ) date = QDate::currentDate(); - avi_info.add_pair( "ICRD", date.toString(Qt::ISODate).toStdString().c_str() ); + avi_info.add_pair( "ICRD", date.toString(Qt::ISODate).toUtf8().constData() ); - avi_info.add_pair( "ILNG", QLocale::languageToString( locale.language() ).toStdString().c_str() ); + avi_info.add_pair( "ILNG", QLocale::languageToString( locale.language() ).toUtf8().constData() ); - avi_info.add_pair( "IARL", QLocale::countryToString( locale.country() ).toStdString().c_str() ); + avi_info.add_pair( "IARL", QLocale::countryToString( locale.country() ).toUtf8().constData() ); - avi_info.add_pair( "IMED", QSysInfo::prettyProductName().toStdString().c_str() ); + avi_info.add_pair( "IMED", QSysInfo::prettyProductName().toUtf8().constData() ); sprintf( txt, "FCEUX %s", FCEU_VERSION_STRING ); avi_info.add_pair( "ITCH", txt ); @@ -3263,10 +3263,10 @@ void LibavOptionsPage::initCodecLists(void) c = av_codec_iterate( &it ); } - initPixelFormatSelect( videoEncSel->currentText().toStdString().c_str() ); - initSampleFormatSelect( audioEncSel->currentText().toStdString().c_str() ); - initSampleRateSelect( audioEncSel->currentText().toStdString().c_str() ); - initChannelLayoutSelect( audioEncSel->currentText().toStdString().c_str() ); + initPixelFormatSelect( videoEncSel->currentText().toUtf8().constData() ); + initSampleFormatSelect( audioEncSel->currentText().toUtf8().constData() ); + initSampleRateSelect( audioEncSel->currentText().toUtf8().constData() ); + initChannelLayoutSelect( audioEncSel->currentText().toUtf8().constData() ); videoEncSel->model()->sort(0, Qt::AscendingOrder); audioEncSel->model()->sort(0, Qt::AscendingOrder); @@ -3281,7 +3281,7 @@ void LibavOptionsPage::videoCodecChanged(int idx) { const AVCodec *c; - LIBAV::video_st.selEnc = videoEncSel->currentText().toStdString().c_str(); + LIBAV::video_st.selEnc = videoEncSel->currentText().toUtf8().constData(); c = avcodec_find_encoder_by_name( LIBAV::video_st.selEnc.c_str() ); @@ -3296,7 +3296,7 @@ void LibavOptionsPage::audioCodecChanged(int idx) { const AVCodec *c; - LIBAV::audio_st.selEnc = audioEncSel->currentText().toStdString().c_str(); + LIBAV::audio_st.selEnc = audioEncSel->currentText().toUtf8().constData(); c = avcodec_find_encoder_by_name( LIBAV::audio_st.selEnc.c_str() ); @@ -4102,7 +4102,7 @@ void LibavEncOptInputWin::applyChanges(void) { if ( strEntry ) { - av_opt_set( item->obj, item->opt->name, strEntry->text().toStdString().c_str(), 0 ); + av_opt_set( item->obj, item->opt->name, strEntry->text().toUtf8().constData(), 0 ); } } break; diff --git a/src/drivers/Qt/AviRiffViewer.cpp b/src/drivers/Qt/AviRiffViewer.cpp index 03ac9b13..6a7828d0 100644 --- a/src/drivers/Qt/AviRiffViewer.cpp +++ b/src/drivers/Qt/AviRiffViewer.cpp @@ -296,16 +296,16 @@ void AviRiffViewerDialog::openAviFileDialog(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - printf( "AVI Debug movie %s\n", filename.toStdString().c_str() ); + printf( "AVI Debug movie %s\n", filename.toUtf8().constData() ); - lastPath = QFileInfo(filename).absolutePath().toStdString(); + lastPath = QFileInfo(filename).absolutePath().toUtf8().constData(); if ( lastPath.size() > 0 ) { g_config->setOption ("SDL.AviFilePath", lastPath); } - openFile( filename.toStdString().c_str() ); + openFile( filename.toUtf8().constData() ); } //---------------------------------------------------------------------------- int AviRiffViewerDialog::openFile( const char *filepath ) diff --git a/src/drivers/Qt/CheatsConf.cpp b/src/drivers/Qt/CheatsConf.cpp index 7c8b3ec9..3f307bff 100644 --- a/src/drivers/Qt/CheatsConf.cpp +++ b/src/drivers/Qt/CheatsConf.cpp @@ -591,9 +591,9 @@ void GuiCheatsDialog_t::knownValueCallback(void) //printf("Cheat Search Known!\n"); FCEU_WRAPPER_LOCK(); - //printf("'%s'\n", knownValEntry->displayText().toStdString().c_str() ); + //printf("'%s'\n", knownValEntry->displayText().toUtf8().constData() ); - value = strtol(knownValEntry->displayText().toStdString().c_str(), NULL, 16); + value = strtol(knownValEntry->displayText().toUtf8().constData(), NULL, 16); FCEUI_CheatSearchEnd(FCEU_SEARCH_NEWVAL_KNOWN, value, 0); @@ -624,7 +624,7 @@ void GuiCheatsDialog_t::notEqualValueCallback(void) if (checked) { - value = strtol(neValEntry->displayText().toStdString().c_str(), NULL, 16); + value = strtol(neValEntry->displayText().toUtf8().constData(), NULL, 16); FCEUI_CheatSearchEnd(FCEU_SEARCH_PUERLY_RELATIVE_CHANGE, 0, value); } @@ -648,7 +648,7 @@ void GuiCheatsDialog_t::greaterThanValueCallback(void) if (checked) { - value = strtol(grValEntry->displayText().toStdString().c_str(), NULL, 16); + value = strtol(grValEntry->displayText().toUtf8().constData(), NULL, 16); FCEUI_CheatSearchEnd(FCEU_SEARCH_NEWVAL_GT_KNOWN, 0, value); } @@ -672,7 +672,7 @@ void GuiCheatsDialog_t::lessThanValueCallback(void) if (checked) { - value = strtol(ltValEntry->displayText().toStdString().c_str(), NULL, 16); + value = strtol(ltValEntry->displayText().toUtf8().constData(), NULL, 16); FCEUI_CheatSearchEnd(FCEU_SEARCH_NEWVAL_LT_KNOWN, 0, value); } @@ -791,11 +791,11 @@ void GuiCheatsDialog_t::openCheatFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption("SDL.LastOpenFile", filename.toStdString().c_str()); + g_config->setOption("SDL.LastOpenFile", filename.toUtf8().constData()); FCEU_WRAPPER_LOCK(); - fp = fopen(filename.toStdString().c_str(), "r"); + fp = fopen(filename.toUtf8().constData(), "r"); if (fp != NULL) { @@ -862,11 +862,11 @@ void GuiCheatsDialog_t::saveCheatFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - //g_config->setOption ("SDL.LastOpenFile", filename.toStdString().c_str() ); + //g_config->setOption ("SDL.LastOpenFile", filename.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); - fp = FCEUD_UTF8fopen(filename.toStdString().c_str(), "wb"); + fp = FCEUD_UTF8fopen(filename.toUtf8().constData(), "wb"); if (fp != NULL) { @@ -888,11 +888,11 @@ void GuiCheatsDialog_t::addActvCheat(void) int t = 1; std::string name, cmpStr; - a = strtoul(cheatAddrEntry->displayText().toStdString().c_str(), NULL, 16); + a = strtoul(cheatAddrEntry->displayText().toUtf8().constData(), NULL, 16); - v = strtoul(cheatValEntry->displayText().toStdString().c_str(), NULL, 16); + v = strtoul(cheatValEntry->displayText().toUtf8().constData(), NULL, 16); - cmpStr = cheatCmpEntry->displayText().toStdString(); + cmpStr = cheatCmpEntry->displayText().toUtf8().constData(); if (isxdigit(cmpStr[0])) { @@ -903,7 +903,7 @@ void GuiCheatsDialog_t::addActvCheat(void) c = -1; } - name = cheatNameEntry->text().toStdString(); + name = cheatNameEntry->text().toUtf8().constData(); t = typeEntry->currentData().toInt(); @@ -965,11 +965,11 @@ void GuiCheatsDialog_t::updateCheatParameters(void) } //printf("Row: %i \n", row ); - a = strtoul(cheatAddrEntry->displayText().toStdString().c_str(), NULL, 16); + a = strtoul(cheatAddrEntry->displayText().toUtf8().constData(), NULL, 16); - v = strtoul(cheatValEntry->displayText().toStdString().c_str(), NULL, 16); + v = strtoul(cheatValEntry->displayText().toUtf8().constData(), NULL, 16); - cmpStr = cheatCmpEntry->displayText().toStdString(); + cmpStr = cheatCmpEntry->displayText().toUtf8().constData(); //printf("CMP: '%s' \n", cmpStr.c_str() ); @@ -983,7 +983,7 @@ void GuiCheatsDialog_t::updateCheatParameters(void) } //printf("CMP: '%i' 0x%X\n", c, c ); - name = cheatNameEntry->text().toStdString(); + name = cheatNameEntry->text().toUtf8().constData(); //printf("Name: %s \n", name.c_str() ); diff --git a/src/drivers/Qt/CodeDataLogger.cpp b/src/drivers/Qt/CodeDataLogger.cpp index 50b2032a..cc7e3691 100644 --- a/src/drivers/Qt/CodeDataLogger.cpp +++ b/src/drivers/Qt/CodeDataLogger.cpp @@ -479,7 +479,7 @@ void CodeDataLoggerDialog_t::saveCdlFileAs(void) //qDebug() << "selected file path : " << filename.toUtf8(); FCEU_WRAPPER_LOCK(); - strcpy(loadedcdfile, filename.toStdString().c_str()); + strcpy(loadedcdfile, filename.toUtf8().constData()); SaveCDLogFile(); FCEU_WRAPPER_UNLOCK(); } @@ -534,7 +534,7 @@ void CodeDataLoggerDialog_t::loadCdlFile(void) //qDebug() << "selected file path : " << filename.toUtf8(); FCEU_WRAPPER_LOCK(); - LoadCDLog(filename.toStdString().c_str()); + LoadCDLog(filename.toUtf8().constData()); FCEU_WRAPPER_UNLOCK(); return; @@ -617,7 +617,7 @@ void CodeDataLoggerDialog_t::SaveStrippedROM(int invert) } //qDebug() << "selected file path : " << filename.toUtf8(); - FILE *fp = fopen(filename.toStdString().c_str(), "wb"); + FILE *fp = fopen(filename.toUtf8().constData(), "wb"); if (!fp) { FCEUD_PrintError("Error opening target stripped rom file!"); diff --git a/src/drivers/Qt/ColorMenu.cpp b/src/drivers/Qt/ColorMenu.cpp index c91ebe5d..8e33a078 100644 --- a/src/drivers/Qt/ColorMenu.cpp +++ b/src/drivers/Qt/ColorMenu.cpp @@ -119,9 +119,9 @@ void ColorMenuItem::pickerClosed(int ret) colorText = colorPtr->name(); - //printf("Saving '%s' = Color string '%s'\n", confName.c_str(), colorText.toStdString().c_str() ); + //printf("Saving '%s' = Color string '%s'\n", confName.c_str(), colorText.toUtf8().constData() ); - g_config->setOption( confName, colorText.toStdString().c_str() ); + g_config->setOption( confName, colorText.toUtf8().constData() ); g_config->save(); } @@ -140,7 +140,7 @@ void ColorMenuItem::openColorPicker(void) qs = title; qs.replace( "&", "", Qt::CaseInsensitive); // get rid of & accelerator characters - picker = new ColorMenuPickerDialog_t( colorPtr, qs.toStdString().c_str(), parentWidget() ); + picker = new ColorMenuPickerDialog_t( colorPtr, qs.toUtf8().constData(), parentWidget() ); picker->show(); diff --git a/src/drivers/Qt/ConsoleDebugger.cpp b/src/drivers/Qt/ConsoleDebugger.cpp index 09c517ef..c63e6ec1 100644 --- a/src/drivers/Qt/ConsoleDebugger.cpp +++ b/src/drivers/Qt/ConsoleDebugger.cpp @@ -371,7 +371,7 @@ void ConsoleDebugger::ld65ImportDebug(void) debugSymbolTable.loadRegisterMap(); - debugSymbolTable.ld65LoadDebugFile( filename.toStdString().c_str() ); + debugSymbolTable.ld65LoadDebugFile( filename.toUtf8().constData() ); queueUpdate(QAsmView::UPDATE_ALL); @@ -1561,7 +1561,7 @@ void ConsoleDebugger::loadDisplayViews(void) { if ( tabList[k].size() > 0 ) { - //printf(" %i: %s\n", k, tabList[k].toStdString().c_str() ); + //printf(" %i: %s\n", k, tabList[k].toUtf8().constData() ); if ( tabList[k].compare( cpuFrame->objectName() ) == 0 ) { @@ -1634,12 +1634,12 @@ void ConsoleDebugger::saveDisplayViews(void) { QWidget *w = tabView[i][j]->widget(k); - //printf("(%i,%i,%i) %s\n", i, j, k, w->objectName().toStdString().c_str() ); + //printf("(%i,%i,%i) %s\n", i, j, k, w->objectName().toUtf8().constData() ); tabListVal += w->objectName() + ","; } - //printf("(%i,%i) %s\n", i, j, tabListVal.toStdString().c_str() ); + //printf("(%i,%i) %s\n", i, j, tabListVal.toUtf8().constData() ); settings.setValue( key, tabListVal ); } } @@ -1711,7 +1711,7 @@ void ConsoleDebugger::moveTab( QWidget *w, int row, int column) QString txt = p->tabBar()->tabText( idx ); p->removeTab( idx ); tabView[column][row]->addTab(w, txt); - //printf("Move Widget %p to (%i,%i) %s\n", w, row, column, txt.toStdString().c_str() ); + //printf("Move Widget %p to (%i,%i) %s\n", w, row, column, txt.toUtf8().constData() ); } updateTabVisibility(); } @@ -1830,7 +1830,7 @@ void ConsoleDebugger::bmItemDoubleClicked( QTreeWidgetItem *item, int column) //printf("Row: %i Column: %i \n", row, column ); - addr = strtol( item->text(0).toStdString().c_str(), NULL, 16 ); + addr = strtol( item->text(0).toUtf8().constData(), NULL, 16 ); line = asmView->getAsmLineFromAddr( addr ); @@ -1839,7 +1839,7 @@ void ConsoleDebugger::bmItemDoubleClicked( QTreeWidgetItem *item, int column) //---------------------------------------------------------------------------- void ConsoleDebugger::selBmAddrChanged(const QString &txt) { - selBmAddrVal = strtol( txt.toStdString().c_str(), NULL, 16 ); + selBmAddrVal = strtol( txt.toUtf8().constData(), NULL, 16 ); //printf("selBmAddrVal = %04X\n", selBmAddrVal ); } @@ -2129,7 +2129,7 @@ void DebuggerBreakpointEditor::checkDataValid(void) { bool convOk = false; - start_addr = offsetStringToInt( type, addr1->text().toStdString().c_str(), &convOk ); + start_addr = offsetStringToInt( type, addr1->text().toUtf8().constData(), &convOk ); //printf("StartAddr:0x%04X Upper:0x%04X\n", start_addr, addrUpperBound); startAddrValid = convOk && (start_addr >= addrLowerBound) && (start_addr < addrUpperBound); @@ -2143,7 +2143,7 @@ void DebuggerBreakpointEditor::checkDataValid(void) { bool convOk = false; - end_addr = offsetStringToInt( type, addr2->text().toStdString().c_str(), &convOk ); + end_addr = offsetStringToInt( type, addr2->text().toUtf8().constData(), &convOk ); endAddrValid = convOk && (end_addr >= addrLowerBound) && (end_addr < addrUpperBound) && (start_addr < end_addr); @@ -2196,7 +2196,7 @@ void DebuggerBreakpointEditor::conditionTextChanged(const QString &txt) { if ( txt.size() > 0 ) { - Condition *c = generateCondition( txt.toStdString().c_str() ); + Condition *c = generateCondition( txt.toUtf8().constData() ); condValid = (c != nullptr); @@ -2238,14 +2238,14 @@ void DebuggerBreakpointEditor::loadBreakpoint(void) type |= BT_R; } - s = addr1->text().toStdString(); + s = addr1->text().toUtf8().constData(); if ( s.size() > 0 ) { start_addr = offsetStringToInt( type, s.c_str() ); } - s = addr2->text().toStdString(); + s = addr2->text().toUtf8().constData(); if ( s.size() > 0 ) { @@ -2277,8 +2277,8 @@ void DebuggerBreakpointEditor::loadBreakpoint(void) unsigned int retval; std::string nameString, condString; - nameString = name->text().toStdString(); - condString = cond->text().toStdString(); + nameString = name->text().toUtf8().constData(); + condString = cond->text().toUtf8().constData(); retval = NewBreak( nameString.c_str(), start_addr, end_addr, type, condString.c_str(), slot, enable); @@ -2478,7 +2478,7 @@ void ConsoleDebugger::edit_BM_CB(void) printf( "No Item Selected\n"); return; } - s = item->text(0).toStdString(); + s = item->text(0).toUtf8().constData(); addr = strtol( s.c_str(), NULL, 16 ); @@ -2499,7 +2499,7 @@ void ConsoleDebugger::delete_BM_CB(void) printf( "No Item Selected\n"); return; } - s = item->text(0).toStdString(); + s = item->text(0).toUtf8().constData(); addr = strtol( s.c_str(), NULL, 16 ); @@ -2534,7 +2534,7 @@ void ConsoleDebugger::edit_BM_name( int addr ) if ( QDialog::Accepted == ret ) { - bm->name = dialog.textValue().toStdString(); + bm->name = dialog.textValue().toUtf8().constData(); bmListUpdate(false); } } @@ -2764,7 +2764,7 @@ void ConsoleDebugger::breakOnCyclesCB( bool value ) break_on_cycles = value; } - //s = cpuCycExdVal->text().toStdString(); + //s = cpuCycExdVal->text().toUtf8().constData(); //printf("'%s'\n", txt ); @@ -2778,7 +2778,7 @@ void ConsoleDebugger::cpuCycleThresChanged(const QString &txt) { std::string s; - s = txt.toStdString(); + s = txt.toUtf8().constData(); //printf("Cycles: '%s'\n", s.c_str() ); @@ -2802,7 +2802,7 @@ void ConsoleDebugger::breakOnInstructionsCB( bool value ) break_on_instructions = value; } - //s = instrExdVal->text().toStdString(); + //s = instrExdVal->text().toUtf8().constData(); //printf("'%s'\n", txt ); @@ -2816,7 +2816,7 @@ void ConsoleDebugger::instructionsThresChanged(const QString &txt) { std::string s; - s = txt.toStdString(); + s = txt.toUtf8().constData(); //printf("Instructions: '%s'\n", s.c_str() ); @@ -2896,9 +2896,9 @@ void ConsoleDebugger::changeAsmFontCB(void) asmView->setFont( selFont ); asmView->updateAssemblyView(); - //printf("Font Changed to: '%s'\n", font.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", font.toString().toUtf8().constData() ); - g_config->setOption("SDL.DebuggerAsmFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.DebuggerAsmFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -2912,9 +2912,9 @@ void ConsoleDebugger::changeStackFontCB(void) { stackText->setFont( selFont ); - //printf("Font Changed to: '%s'\n", font.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", font.toString().toUtf8().constData() ); - g_config->setOption("SDL.DebuggerStackFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.DebuggerStackFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -2930,9 +2930,9 @@ void ConsoleDebugger::changeCpuFontCB(void) setCpuStatusFont( selFont ); setPpuStatusFont( selFont ); - //printf("Font Changed to: '%s'\n", font.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", font.toString().toUtf8().constData() ); - g_config->setOption("SDL.DebuggerCpuStatusFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.DebuggerCpuStatusFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -3148,7 +3148,7 @@ void ConsoleDebugger::debugRunLine128CB(void) //{ // std::string s; // -// s = seekEntry->displayText().toStdString(); +// s = seekEntry->displayText().toUtf8().constData(); // // //printf("Seek To: '%s'\n", s.c_str() ); // @@ -4122,7 +4122,7 @@ void ConsoleDebugger::setRegsFromEntry(void) std::string s; long int i; - s = pcEntry->displayText().toStdString(); + s = pcEntry->displayText().toUtf8().constData(); if ( s.size() > 0 ) { @@ -4135,7 +4135,7 @@ void ConsoleDebugger::setRegsFromEntry(void) X.PC = i; //printf("Set PC: '%s' %04X\n", s.c_str(), X.PC ); - s = regAEntry->displayText().toStdString(); + s = regAEntry->displayText().toUtf8().constData(); if ( s.size() > 0 ) { @@ -4148,7 +4148,7 @@ void ConsoleDebugger::setRegsFromEntry(void) X.A = i; //printf("Set A: '%s' %02X\n", s.c_str(), X.A ); - s = regXEntry->displayText().toStdString(); + s = regXEntry->displayText().toUtf8().constData(); if ( s.size() > 0 ) { @@ -4161,7 +4161,7 @@ void ConsoleDebugger::setRegsFromEntry(void) X.X = i; //printf("Set X: '%s' %02X\n", s.c_str(), X.X ); - s = regYEntry->displayText().toStdString(); + s = regYEntry->displayText().toUtf8().constData(); if ( s.size() > 0 ) { @@ -8204,7 +8204,7 @@ void DebugBreakOnDialog::setThreshold( unsigned long long int val ) //---------------------------------------------------------------------------- void DebugBreakOnDialog::setThreshold( const QString &text ) { - threshold = strtoull( text.toStdString().c_str(), NULL, 10 ); + threshold = strtoull( text.toUtf8().constData(), NULL, 10 ); updateLabel(); } diff --git a/src/drivers/Qt/ConsoleUtilities.cpp b/src/drivers/Qt/ConsoleUtilities.cpp index fac6d5ec..3546d6c1 100644 --- a/src/drivers/Qt/ConsoleUtilities.cpp +++ b/src/drivers/Qt/ConsoleUtilities.cpp @@ -62,11 +62,11 @@ int getDirFromFile( const char *path, std::string &dir ) if (fi.exists()) { - dir = fi.canonicalPath().toStdString(); + dir = fi.canonicalPath().toUtf8().constData(); } else { - dir = fi.absolutePath().toStdString(); + dir = fi.absolutePath().toUtf8().constData(); } //printf("Dir: '%s'\n", dir.c_str()); } @@ -535,13 +535,13 @@ void fceuDecIntValidtor::setMinMax( long long int min, long long int max) QValidator::State fceuDecIntValidtor::validate(QString &input, int &pos) const { long long int i, v; - //printf("Validate: %i '%s'\n", input.size(), input.toStdString().c_str() ); + //printf("Validate: %i '%s'\n", input.size(), input.toUtf8().constData() ); if ( input.size() == 0 ) { return QValidator::Acceptable; } - std::string s = input.toStdString(); + std::string s = input.toUtf8().constData(); i=0; if (s[i] == '-') @@ -602,14 +602,14 @@ void fceuHexIntValidtor::setMinMax( long long int min, long long int max) QValidator::State fceuHexIntValidtor::validate(QString &input, int &pos) const { long long int i, v; - //printf("Validate: %i '%s'\n", input.size(), input.toStdString().c_str() ); + //printf("Validate: %i '%s'\n", input.size(), input.toUtf8().constData() ); if ( input.size() == 0 ) { return QValidator::Acceptable; } input = input.toUpper(); - std::string s = input.toStdString(); + std::string s = input.toUtf8().constData(); i=0; if (s[i] == '-') diff --git a/src/drivers/Qt/ConsoleWindow.cpp b/src/drivers/Qt/ConsoleWindow.cpp index bcc49353..3b27816e 100644 --- a/src/drivers/Qt/ConsoleWindow.cpp +++ b/src/drivers/Qt/ConsoleWindow.cpp @@ -121,13 +121,13 @@ consoleWin_t::consoleWin_t(QWidget *parent) int setFullScreen = false; //QString libpath = QLibraryInfo::location(QLibraryInfo::PluginsPath); - //printf("LibPath: '%s'\n", libpath.toStdString().c_str() ); + //printf("LibPath: '%s'\n", libpath.toUtf8().constData() ); #ifdef __APPLE__ qt_set_sequence_auto_mnemonic(true); #endif - printf("Running on Platform: %s\n", QGuiApplication::platformName().toStdString().c_str() ); + printf("Running on Platform: %s\n", QGuiApplication::platformName().toUtf8().constData() ); QThread *thread = QThread::currentThread(); @@ -750,12 +750,12 @@ void consoleWin_t::dropEvent(QDropEvent *event) (suffix[0] == 'f') && (suffix[1] == 'c') && ( (suffix[2] == 's') || suffix[2].isDigit() ); - //printf("DragNDrop Suffix: %s\n", suffix.toStdString().c_str() ); + //printf("DragNDrop Suffix: %s\n", suffix.toUtf8().constData() ); if (isStateSaveFile) { FCEU_WRAPPER_LOCK(); - FCEUI_LoadState( filename.toStdString().c_str() ); + FCEUI_LoadState( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); event->accept(); @@ -765,12 +765,12 @@ void consoleWin_t::dropEvent(QDropEvent *event) int luaLoadSuccess; FCEU_WRAPPER_LOCK(); - luaLoadSuccess = FCEU_LoadLuaCode( filename.toStdString().c_str() ); + luaLoadSuccess = FCEU_LoadLuaCode( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); if (luaLoadSuccess) { - g_config->setOption("SDL.LastLoadLua", filename.toStdString().c_str()); + g_config->setOption("SDL.LastLoadLua", filename.toUtf8().constData()); } event->accept(); } @@ -779,12 +779,12 @@ void consoleWin_t::dropEvent(QDropEvent *event) int romLoadSuccess; FCEU_WRAPPER_LOCK(); - romLoadSuccess = LoadGame( filename.toStdString().c_str() ); + romLoadSuccess = LoadGame( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); if (!romLoadSuccess) { - printf("DragNDrop ROM Load Failed for %s\n", filename.toStdString().c_str() ); + printf("DragNDrop ROM Load Failed for %s\n", filename.toUtf8().constData() ); } event->accept(); } @@ -2516,11 +2516,11 @@ void consoleWin_t::openROMFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastOpenFile", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastOpenFile", filename.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); CloseGame (); - LoadGame ( filename.toStdString().c_str() ); + LoadGame ( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); return; @@ -2528,10 +2528,10 @@ void consoleWin_t::openROMFile(void) void consoleWin_t::loadRomRequestCB( QString s ) { - printf("Load ROM Req: '%s'\n", s.toStdString().c_str() ); + printf("Load ROM Req: '%s'\n", s.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); CloseGame (); - LoadGame ( s.toStdString().c_str() ); + LoadGame ( s.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); } @@ -2609,10 +2609,10 @@ void consoleWin_t::loadNSF(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastOpenNSF", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastOpenNSF", filename.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); - LoadGame( filename.toStdString().c_str() ); + LoadGame( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); } @@ -2693,10 +2693,10 @@ void consoleWin_t::loadStateFrom(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastLoadStateFrom", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastLoadStateFrom", filename.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); - FCEUI_LoadState( filename.toStdString().c_str() ); + FCEUI_LoadState( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); } @@ -2784,10 +2784,10 @@ void consoleWin_t::saveStateAs(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastSaveStateAs", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastSaveStateAs", filename.toUtf8().constData() ); FCEU_WRAPPER_LOCK(); - FCEUI_SaveState( filename.toStdString().c_str() ); + FCEUI_SaveState( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); } @@ -3381,7 +3381,7 @@ void consoleWin_t::warnAmbiguousShortcut( QShortcut *shortcut) std::string msg; int c = 0; - sprintf( stmp, "Error: Ambiguous Shortcut Activation for Key Sequence: '%s'\n", shortcut->key().toString().toStdString().c_str() ); + sprintf( stmp, "Error: Ambiguous Shortcut Activation for Key Sequence: '%s'\n", shortcut->key().toString().toUtf8().constData() ); msg.assign( stmp ); @@ -3578,10 +3578,10 @@ void consoleWin_t::loadGameGenieROM(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastOpenFile", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastOpenFile", filename.toUtf8().constData() ); // copy file to proper place (~/.fceux/gg.rom) - std::ifstream f1 ( filename.toStdString().c_str(), std::fstream::binary); + std::ifstream f1 ( filename.toUtf8().constData(), std::fstream::binary); std::string fn_out = FCEU_MakeFName (FCEUMKF_GGROM, 0, ""); std::ofstream f2 (fn_out.c_str (), std::fstream::trunc | std::fstream::binary); @@ -3674,7 +3674,7 @@ void consoleWin_t::fdsLoadBiosFile(void) qDebug() << "selected file path : " << filename.toUtf8(); // copy BIOS file to proper place (~/.fceux/disksys.rom) - std::ifstream fdsBios (filename.toStdString().c_str(), std::fstream::binary); + std::ifstream fdsBios (filename.toUtf8().constData(), std::fstream::binary); std::string output_filename = FCEU_MakeFName (FCEUMKF_FDSROM, 0, ""); std::ofstream outFile (output_filename.c_str (), @@ -4108,9 +4108,9 @@ void consoleWin_t::aviRecordAsStart(void) } qDebug() << "selected file path : " << filename.toUtf8(); - FCEUI_printf ("AVI Recording movie to %s\n", filename.toStdString().c_str() ); + FCEUI_printf ("AVI Recording movie to %s\n", filename.toUtf8().constData() ); - lastPath = QFileInfo(filename).absolutePath().toStdString(); + lastPath = QFileInfo(filename).absolutePath().toUtf8().constData(); if ( lastPath.size() > 0 ) { @@ -4118,7 +4118,7 @@ void consoleWin_t::aviRecordAsStart(void) } FCEU_WRAPPER_LOCK(); - if ( aviRecordOpenFile( filename.toStdString().c_str() ) == 0 ) + if ( aviRecordOpenFile( filename.toUtf8().constData() ) == 0 ) { aviDiskThread->start(); } @@ -4300,9 +4300,9 @@ void consoleWin_t::wavRecordAsStart(void) } qDebug() << "selected file path : " << filename.toUtf8(); - FCEUI_printf ("WAV Recording movie to %s\n", filename.toStdString().c_str() ); + FCEUI_printf ("WAV Recording movie to %s\n", filename.toUtf8().constData() ); - lastPath = QFileInfo(filename).absolutePath().toStdString(); + lastPath = QFileInfo(filename).absolutePath().toUtf8().constData(); if ( lastPath.size() > 0 ) { @@ -4310,7 +4310,7 @@ void consoleWin_t::wavRecordAsStart(void) } FCEU_WRAPPER_LOCK(); - FCEUI_BeginWaveRecord( filename.toStdString().c_str() ); + FCEUI_BeginWaveRecord( filename.toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); } @@ -4969,7 +4969,7 @@ consoleRecentRomAction::consoleRecentRomAction(QString desc, QWidget *parent) QString txt; QFileInfo fi(desc); - path = desc.toStdString(); + path = desc.toUtf8().constData(); txt = fi.fileName(); txt += QString("\t"); diff --git a/src/drivers/Qt/FamilyKeyboard.cpp b/src/drivers/Qt/FamilyKeyboard.cpp index dcf4f229..ca469ac1 100644 --- a/src/drivers/Qt/FamilyKeyboard.cpp +++ b/src/drivers/Qt/FamilyKeyboard.cpp @@ -858,9 +858,9 @@ void FKBConfigDialog::openFontDialog(void) keyboard->setFont( selFont ); keyboard->update(); - //printf("Font Changed to: '%s'\n", font.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", font.toString().toUtf8().constData() ); - g_config->setOption("SDL.FamilyKeyboardFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.FamilyKeyboardFont", selFont.toString().toUtf8().constData() ); QTimer::singleShot( 100, this, SLOT(keyTreeResizeDone(void)) ); } @@ -1191,7 +1191,7 @@ void FKBConfigDialog::mappingLoad(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - mappingLoad( filename.toStdString().c_str() ); + mappingLoad( filename.toUtf8().constData() ); return; } @@ -1432,7 +1432,7 @@ void FKBConfigDialog::mappingSaveAs(void) return; } - saveFileName = filename.toStdString(); + saveFileName = filename.toUtf8().constData(); mappingSave(); } diff --git a/src/drivers/Qt/GameGenie.cpp b/src/drivers/Qt/GameGenie.cpp index 56a3b02d..db849e09 100644 --- a/src/drivers/Qt/GameGenie.cpp +++ b/src/drivers/Qt/GameGenie.cpp @@ -60,14 +60,14 @@ class fceuGGCodeValidtor : public QValidator QValidator::State validate(QString &input, int &pos) const { int i,j, ok; - //printf("Validate: %i '%s'\n", input.size(), input.toStdString().c_str() ); + //printf("Validate: %i '%s'\n", input.size(), input.toUtf8().constData() ); if ( input.size() == 0 ) { return QValidator::Acceptable; } input = input.toUpper(); - std::string s = input.toStdString(); + std::string s = input.toUtf8().constData(); i=0; while ( s[i] != 0 ) @@ -262,19 +262,19 @@ void GameGenieDialog_t::addCheatClicked(void) int a = -1, v = -1, c = -1; std::string name; - name = ggCode->text().toStdString(); + name = ggCode->text().toUtf8().constData(); if ( addr->text().size() > 0 ) { - a = strtol( addr->text().toStdString().c_str(), NULL, 16 ); + a = strtol( addr->text().toUtf8().constData(), NULL, 16 ); } if ( val->text().size() > 0 ) { - v = strtol( val->text().toStdString().c_str(), NULL, 16 ); + v = strtol( val->text().toUtf8().constData(), NULL, 16 ); } if ( cmp->text().size() > 0 ) { - c = strtol( cmp->text().toStdString().c_str(), NULL, 16 ); + c = strtol( cmp->text().toUtf8().constData(), NULL, 16 ); } FCEU_WRAPPER_LOCK(); @@ -288,7 +288,7 @@ void GameGenieDialog_t::romAddrDoubleClicked(QTreeWidgetItem *item, int column) { int addr; - addr = strtol( item->text(0).toStdString().c_str(), NULL, 16 ); + addr = strtol( item->text(0).toUtf8().constData(), NULL, 16 ); printf("ROM Addr: %06X \n", addr ); @@ -300,12 +300,12 @@ void GameGenieDialog_t::addrChanged(const QString &s) int a, v, c = -1; char gg[12]; - a = strtol( s.toStdString().c_str(), NULL, 16 ); - v = strtol( val->text().toStdString().c_str(), NULL, 16 ); + a = strtol( s.toUtf8().constData(), NULL, 16 ); + v = strtol( val->text().toUtf8().constData(), NULL, 16 ); if ( cmp->text().size() > 0 ) { - c = strtol( cmp->text().toStdString().c_str(), NULL, 16 ); + c = strtol( cmp->text().toUtf8().constData(), NULL, 16 ); } EncodeGG( gg, a, v, c ); @@ -320,12 +320,12 @@ void GameGenieDialog_t::cmpChanged(const QString &s) int a, v, c = -1; char gg[12]; - a = strtol( addr->text().toStdString().c_str(), NULL, 16 ); - v = strtol( val->text().toStdString().c_str(), NULL, 16 ); + a = strtol( addr->text().toUtf8().constData(), NULL, 16 ); + v = strtol( val->text().toUtf8().constData(), NULL, 16 ); if ( s.size() > 0 ) { - c = strtol( s.toStdString().c_str(), NULL, 16 ); + c = strtol( s.toUtf8().constData(), NULL, 16 ); } EncodeGG( gg, a, v, c ); @@ -340,12 +340,12 @@ void GameGenieDialog_t::valChanged(const QString &s) int a, v, c = -1; char gg[12]; - a = strtol( addr->text().toStdString().c_str(), NULL, 16 ); - v = strtol( s.toStdString().c_str(), NULL, 16 ); + a = strtol( addr->text().toUtf8().constData(), NULL, 16 ); + v = strtol( s.toUtf8().constData(), NULL, 16 ); if ( cmp->text().size() > 0 ) { - c = strtol( cmp->text().toStdString().c_str(), NULL, 16 ); + c = strtol( cmp->text().toUtf8().constData(), NULL, 16 ); } EncodeGG( gg, a, v, c ); @@ -362,7 +362,7 @@ void GameGenieDialog_t::ggChanged(const QString &s) memset( gg, 0, sizeof(gg) ); - strncpy( gg, ggCode->text().toStdString().c_str(), 8 ); + strncpy( gg, ggCode->text().toUtf8().constData(), 8 ); FCEUI_DecodeGG( gg, &a, &v, &c); @@ -442,15 +442,15 @@ void GameGenieDialog_t::ListGGAddresses(void) if ( addr->text().size() > 0 ) { - a = strtol( addr->text().toStdString().c_str(), NULL, 16 ); + a = strtol( addr->text().toUtf8().constData(), NULL, 16 ); } if ( val->text().size() > 0 ) { - v = strtol( val->text().toStdString().c_str(), NULL, 16 ); + v = strtol( val->text().toUtf8().constData(), NULL, 16 ); } if ( cmp->text().size() > 0 ) { - c = strtol( cmp->text().toStdString().c_str(), NULL, 16 ); + c = strtol( cmp->text().toUtf8().constData(), NULL, 16 ); } // also enable/disable the add GG button here addCheatEmable = (a >= 0) && ( (ggCode->text().size() == 6) || (ggCode->text().size() == 8) ); diff --git a/src/drivers/Qt/GamePadConf.cpp b/src/drivers/Qt/GamePadConf.cpp index aa5a6520..41e0600e 100644 --- a/src/drivers/Qt/GamePadConf.cpp +++ b/src/drivers/Qt/GamePadConf.cpp @@ -607,7 +607,7 @@ void GamePadConfDialog_t::loadMapList(void) for (int i = 0; i < static_cast(fileList.size()); i++) { size_t suffixIdx; - std::string fileName = fileList[i].toStdString(); + std::string fileName = fileList[i].toUtf8().constData(); suffixIdx = fileName.find_last_of('.'); @@ -1103,7 +1103,7 @@ void GamePadConfDialog_t::saveConfig(void) sprintf(stmp, "SDL.Input.GamePad.%u.", portNum); prefix = stmp; - mapName = mapSel->currentText().toStdString(); + mapName = mapSel->currentText().toUtf8().constData(); guid = GamePad[portNum].getGUID(); @@ -1151,7 +1151,7 @@ void GamePadConfDialog_t::newProfileCallback(void) if (QDialog::Accepted == ret) { - createNewProfile(dialog.textValue().toStdString().c_str()); + createNewProfile(dialog.textValue().toUtf8().constData()); } } //---------------------------------------------------- @@ -1164,7 +1164,7 @@ void GamePadConfDialog_t::loadProfileCallback(void) index = devSel->currentIndex(); devIdx = devSel->itemData(index).toInt(); - mapName = mapSel->currentText().toStdString(); + mapName = mapSel->currentText().toUtf8().constData(); GamePad[portNum].setDeviceIndex(devIdx); @@ -1199,7 +1199,7 @@ void GamePadConfDialog_t::saveProfileCallback(void) std::string mapName; char stmp[256]; - mapName = mapSel->currentText().toStdString(); + mapName = mapSel->currentText().toUtf8().constData(); ret = GamePad[portNum].saveCurrentMapToFile(mapName.c_str()); @@ -1222,7 +1222,7 @@ void GamePadConfDialog_t::deleteProfileCallback(void) std::string mapName; char stmp[256]; - mapName = mapSel->currentText().toStdString(); + mapName = mapSel->currentText().toUtf8().constData(); ret = GamePad[portNum].deleteMapping(mapName.c_str()); @@ -2226,7 +2226,7 @@ void GamePadConfigHotKey_t::setKeyNameLbl( QLineEdit *lbl ) void GamePadConfigHotKey_t::keyPressEvent(QKeyEvent *event) { bool isModifier; - //printf("GamePad Hot Key Press: 0x%x '%s'\n", event->key(), event->text().toStdString().c_str() ); + //printf("GamePad Hot Key Press: 0x%x '%s'\n", event->key(), event->text().toUtf8().constData() ); isModifier = (event->key() == Qt::Key_Shift ) || (event->key() == Qt::Key_Control ) || @@ -2241,7 +2241,7 @@ void GamePadConfigHotKey_t::keyPressEvent(QKeyEvent *event) k->keySeq[idx].key = event->key(); k->keySeq[idx].modifier = event->modifiers(); - k->keySeq[idx].name = ks.toString().toStdString(); + k->keySeq[idx].name = ks.toString().toUtf8().constData(); if ( keySeqLbl ) { diff --git a/src/drivers/Qt/GuiConf.cpp b/src/drivers/Qt/GuiConf.cpp index f5fd6526..a1884d60 100644 --- a/src/drivers/Qt/GuiConf.cpp +++ b/src/drivers/Qt/GuiConf.cpp @@ -66,7 +66,7 @@ GuiConfDialog_t::GuiConfDialog_t(QWidget *parent) QSettings settings; //resize( 512, 600 ); - //printf("Style: %s \n", style()->objectName().toStdString().c_str() ); + //printf("Style: %s \n", style()->objectName().toUtf8().constData() ); selStyle = style()->objectName(); @@ -153,7 +153,7 @@ GuiConfDialog_t::GuiConfDialog_t(QWidget *parent) if ( selStyle.compare( styleKeys[i], Qt::CaseInsensitive ) == 0 ) { - //printf("Style Match: %s \n", selStyle.toStdString().c_str() ); + //printf("Style Match: %s \n", selStyle.toUtf8().constData() ); styleComboBox->setCurrentIndex(i); } } @@ -348,7 +348,7 @@ void GuiConfDialog_t::styleChanged(int index) s = styleComboBox->currentText(); - g_config->setOption("SDL.GuiStyle", s.toStdString().c_str() ); + g_config->setOption("SDL.GuiStyle", s.toUtf8().constData() ); g_config->save(); QApplication::setStyle( new fceuStyle() ); @@ -389,7 +389,7 @@ void GuiConfDialog_t::openQss(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } } #ifdef WIN32 @@ -400,7 +400,7 @@ void GuiConfDialog_t::openQss(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif @@ -448,9 +448,9 @@ void GuiConfDialog_t::openQss(void) } qDebug() << "selected file path : " << filename.toUtf8(); - custom_qss_path->setText(filename.toStdString().c_str()); + custom_qss_path->setText(filename.toUtf8().constData()); - g_config->setOption("SDL.QtStyleSheet", filename.toStdString().c_str() ); + g_config->setOption("SDL.QtStyleSheet", filename.toUtf8().constData() ); g_config->save(); QApplication::setStyle( new fceuStyle() ); @@ -493,7 +493,7 @@ void GuiConfDialog_t::openQPal(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } } #ifdef WIN32 @@ -504,7 +504,7 @@ void GuiConfDialog_t::openQPal(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif @@ -552,9 +552,9 @@ void GuiConfDialog_t::openQPal(void) } qDebug() << "selected file path : " << filename.toUtf8(); - custom_qpal_path->setText(filename.toStdString().c_str()); + custom_qpal_path->setText(filename.toUtf8().constData()); - g_config->setOption("SDL.QPaletteFile", filename.toStdString().c_str() ); + g_config->setOption("SDL.QPaletteFile", filename.toUtf8().constData() ); g_config->save(); QApplication::setStyle( new fceuStyle() ); @@ -602,7 +602,7 @@ fceuStyle::fceuStyle(QStyle *style) : QProxyStyle(style) fceuStyle::~fceuStyle(void) { - //printf("Style Deleted: %s\n", objectName().toStdString().c_str() ); + //printf("Style Deleted: %s\n", objectName().toUtf8().constData() ); if ( rccFilePath.size() > 0 ) { @@ -636,11 +636,11 @@ QStyle *fceuStyle::styleBase(QStyle *style) const for (i=0; icolor( g, r ); - fprintf( fp, "%s::%s = %s \n", gTxt, rTxt, c.name().toStdString().c_str() ); + fprintf( fp, "%s::%s = %s \n", gTxt, rTxt, c.name().toUtf8().constData() ); } } } @@ -1200,7 +1200,7 @@ void GuiPaletteEditDialog_t::paletteSaveAs(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } } #ifdef WIN32 @@ -1211,7 +1211,7 @@ void GuiPaletteEditDialog_t::paletteSaveAs(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif @@ -1260,9 +1260,9 @@ void GuiPaletteEditDialog_t::paletteSaveAs(void) } qDebug() << "selected file path : " << filename.toUtf8(); - writeQPaletteToFile( filename.toStdString().c_str(), &pal ); + writeQPaletteToFile( filename.toUtf8().constData(), &pal ); - //g_config->setOption("SDL.QPaletteFile", filename.toStdString().c_str() ); + //g_config->setOption("SDL.QPaletteFile", filename.toUtf8().constData() ); //g_config->save(); //QApplication::setStyle( new fceuStyle() ); @@ -1357,7 +1357,7 @@ void GuiPaletteColorSelect::updateColor(void) txtColor.setRgb( 255, 255, 255 ); } sprintf( stmp, "QLabel { background-color : %s; color : %s; border-color : black; }", - color.name().toStdString().c_str(), txtColor.name().toStdString().c_str() ); + color.name().toUtf8().constData(), txtColor.name().toUtf8().constData() ); lbl->setStyleSheet( stmp ); } diff --git a/src/drivers/Qt/HelpPages.cpp b/src/drivers/Qt/HelpPages.cpp index d20666b9..10f1cca4 100644 --- a/src/drivers/Qt/HelpPages.cpp +++ b/src/drivers/Qt/HelpPages.cpp @@ -73,7 +73,7 @@ void consoleWin_t::OpenHelpWindow(std::string subpage) if ( !QFile( QString::fromStdString(helpFileName) ).exists() ) { // Search for MacOSX DragNDrop Resources - helpFileName = QApplication::applicationDirPath().toStdString() + "/../Resources/fceux.qhc"; + helpFileName = QApplication::applicationDirPath().toUtf8() + "/../Resources/fceux.qhc"; } #endif } @@ -209,9 +209,9 @@ std::string consoleWin_t::findHelpFile(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.HelpFilePath", filename.toStdString().c_str() ); + g_config->setOption ("SDL.HelpFilePath", filename.toUtf8().constData() ); - return filename.toStdString(); + return filename.toUtf8().constData(); } //#if defined(__linux__) || defined(__unix__) || defined(__APPLE__) diff --git a/src/drivers/Qt/HexEditor.cpp b/src/drivers/Qt/HexEditor.cpp index b1c5d8aa..853375e1 100644 --- a/src/drivers/Qt/HexEditor.cpp +++ b/src/drivers/Qt/HexEditor.cpp @@ -1048,7 +1048,7 @@ void HexEditorFindDialog_t::runSearch(void) { int i=0; unsigned char v; - std::string s = searchBox->text().toStdString(); + std::string s = searchBox->text().toUtf8().constData(); std::vector varray; if ( s.size() == 0 ) @@ -1669,7 +1669,7 @@ void HexEditorDialog_t::saveRomFileAs(void) } qDebug() << "selected file path : " << filename.toUtf8(); - iNesSaveAs( filename.toStdString().c_str() ); + iNesSaveAs( filename.toUtf8().constData() ); } //---------------------------------------------------------------------------- void HexEditorDialog_t::loadTableFromFile(void) @@ -1711,7 +1711,7 @@ void HexEditorDialog_t::loadTableFromFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - editor->charTable.loadFromFile( filename.toStdString().c_str() ); + editor->charTable.loadFromFile( filename.toUtf8().constData() ); unloadTableAct->setEnabled( editor->charTable.customMapLoaded ); } @@ -2118,9 +2118,9 @@ void QHexEdit::changeFontRequest(void) calcFontData(); - //printf("Font Changed to: '%s'\n", font.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", font.toString().toUtf8().constData() ); - g_config->setOption("SDL.HexEditFont", font.toString().toStdString().c_str() ); + g_config->setOption("SDL.HexEditFont", font.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -2337,7 +2337,7 @@ void QHexEdit::loadClipboard( const char *txt ) void QHexEdit::pasteFromClipboard(void) { int i, nbytes=0, val, addr; - std::string s = clipboard->text().toStdString(); + std::string s = clipboard->text().toUtf8().constData(); const char *c; unsigned char *buf; @@ -3258,7 +3258,7 @@ void QHexEdit::addBookMarkCB(void) if ( QDialog::Accepted == ret ) { - hbm.addBookMark( ctxAddr, viewMode, dialog.textValue().toStdString().c_str() ); + hbm.addBookMark( ctxAddr, viewMode, dialog.textValue().toUtf8().constData() ); parent->populateBookmarkMenu(); } } diff --git a/src/drivers/Qt/HotKeyConf.cpp b/src/drivers/Qt/HotKeyConf.cpp index 118fb4f7..2c9a0d28 100644 --- a/src/drivers/Qt/HotKeyConf.cpp +++ b/src/drivers/Qt/HotKeyConf.cpp @@ -442,7 +442,7 @@ void HotKeyConfSetDialog_t::assignHotkey(QKeyEvent *event) (k == SDLK_LGUI) || (k == SDLK_RGUI) || (k == SDLK_CAPSLOCK); - //printf("Assign: '%s' %i 0x%08x\n", ks.toString().toStdString().c_str(), event->key(), event->key() ); + //printf("Assign: '%s' %i 0x%08x\n", ks.toString().toUtf8().constData(), event->key(), event->key() ); if ((k != SDLK_UNKNOWN) && !keyIsModifier) { @@ -452,7 +452,7 @@ void HotKeyConfSetDialog_t::assignHotkey(QKeyEvent *event) confName = prefix + Hotkeys[item->hkIdx].getConfigName(); - keyText = ks.toString().toStdString(); + keyText = ks.toString().toUtf8().constData(); g_config->setOption( confName, keyText); diff --git a/src/drivers/Qt/InputConf.cpp b/src/drivers/Qt/InputConf.cpp index 98e4a4b8..602ab069 100644 --- a/src/drivers/Qt/InputConf.cpp +++ b/src/drivers/Qt/InputConf.cpp @@ -492,7 +492,7 @@ void InputConfDialog_t::openLoadPresetFile(void) qDebug() << "selected file path : " << filename.toUtf8(); FCEU_WRAPPER_LOCK(); - loadInputSettingsFromFile(filename.toStdString().c_str()); + loadInputSettingsFromFile(filename.toUtf8().constData()); FCEU_WRAPPER_UNLOCK(); updatePortLabels(); @@ -563,7 +563,7 @@ void InputConfDialog_t::openSavePresetFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - saveInputSettingsToFile(filename.toStdString().c_str()); + saveInputSettingsToFile(filename.toUtf8().constData()); } //---------------------------------------------------------------------------- void InputConfDialog_t::updatePeriodic(void) diff --git a/src/drivers/Qt/LuaControl.cpp b/src/drivers/Qt/LuaControl.cpp index 34fdac29..a12ea4c5 100644 --- a/src/drivers/Qt/LuaControl.cpp +++ b/src/drivers/Qt/LuaControl.cpp @@ -408,7 +408,7 @@ void LuaControlDialog_t::openLuaScriptFile(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption("SDL.LastLoadLua", filename.toStdString().c_str()); + g_config->setOption("SDL.LastLoadLua", filename.toUtf8().constData()); scriptPath->setText(filename); @@ -420,10 +420,10 @@ void LuaControlDialog_t::startLuaScript(void) #ifdef _S9XLUA_H outBuf.clear(); FCEU_WRAPPER_LOCK(); - if (0 == FCEU_LoadLuaCode(scriptPath->text().toStdString().c_str(), scriptArgs->text().toStdString().c_str())) + if (0 == FCEU_LoadLuaCode(scriptPath->text().toUtf8().constData(), scriptArgs->text().toUtf8().constData())) { char error_msg[2048]; - sprintf( error_msg, "Error: Could not open the selected lua script: '%s'\n", scriptPath->text().toStdString().c_str()); + sprintf( error_msg, "Error: Could not open the selected lua script: '%s'\n", scriptPath->text().toUtf8().constData()); FCEUD_PrintError(error_msg); } FCEU_WRAPPER_UNLOCK(); diff --git a/src/drivers/Qt/MoviePlay.cpp b/src/drivers/Qt/MoviePlay.cpp index 5f4ac335..110aa197 100644 --- a/src/drivers/Qt/MoviePlay.cpp +++ b/src/drivers/Qt/MoviePlay.cpp @@ -241,7 +241,7 @@ void MoviePlayDialog_t::updateMovieText(void) } idx = movSelBox->currentIndex(); - path = movSelBox->itemText(idx).toStdString(); + path = movSelBox->itemText(idx).toUtf8().constData(); fp = FCEU_fopen(path.c_str(), 0, "rb", 0); @@ -337,7 +337,7 @@ int MoviePlayDialog_t::addFileToList(const char *file, bool setActive) for (int i = 0; i < movSelBox->count(); i++) { - if (strcmp(file, movSelBox->itemText(i).toStdString().c_str()) == 0) + if (strcmp(file, movSelBox->itemText(i).toUtf8().constData()) == 0) { if (setActive) { @@ -402,7 +402,7 @@ void MoviePlayDialog_t::scanDirectory(const char *dirPath, const char *md5) { QFileInfo fileInfo = list.at(i); - path = std::string(dirPath) + fileInfo.fileName().toStdString(); + path = std::string(dirPath) + fileInfo.fileName().toUtf8().constData(); //printf("File: '%s'\n", path.c_str() ); @@ -465,13 +465,13 @@ void MoviePlayDialog_t::playMovie(void) idx = movSelBox->currentIndex(); - path = movSelBox->itemText(idx).toStdString(); + path = movSelBox->itemText(idx).toUtf8().constData(); replayReadOnlySetting = openReadOnly->isChecked(); if (pauseAtFrame->isChecked()) { - pauseframe = strtol(pauseAtFrameEntry->text().toStdString().c_str(), NULL, 0); + pauseframe = strtol(pauseAtFrameEntry->text().toUtf8().constData(), NULL, 0); } FCEU_WRAPPER_LOCK(); @@ -547,7 +547,7 @@ void MoviePlayDialog_t::openMovie(void) strcpy(md5, md5_asciistr(GameInfo->MD5)); - if (checkMD5Sum(filename.toStdString().c_str(), md5)) + if (checkMD5Sum(filename.toUtf8().constData(), md5)) { md5Match = 1; } @@ -558,11 +558,11 @@ void MoviePlayDialog_t::openMovie(void) } } - addFileToList(filename.toStdString().c_str(), true); + addFileToList(filename.toUtf8().constData(), true); updateMovieText(); - g_config->setOption("SDL.LastOpenMovie", filename.toStdString().c_str()); + g_config->setOption("SDL.LastOpenMovie", filename.toUtf8().constData()); return; } diff --git a/src/drivers/Qt/MovieRecord.cpp b/src/drivers/Qt/MovieRecord.cpp index 16d2cb1a..be3eba9d 100644 --- a/src/drivers/Qt/MovieRecord.cpp +++ b/src/drivers/Qt/MovieRecord.cpp @@ -156,7 +156,7 @@ void MovieRecordDialog_t::setFilePath( QString s ) dirEdit->setText( fi.absolutePath() ); fileEdit->setText( fi.fileName() ); - filepath = s.toStdString(); + filepath = s.toUtf8().constData(); } //---------------------------------------------------------------------------- void MovieRecordDialog_t::stateSelChanged( int idx ) @@ -251,9 +251,9 @@ void MovieRecordDialog_t::setLoadState(void) } qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption ("SDL.LastLoadStateFrom", filename.toStdString().c_str() ); + g_config->setOption ("SDL.LastLoadStateFrom", filename.toUtf8().constData() ); - ic_file = filename.toStdString(); + ic_file = filename.toUtf8().constData(); } //---------------------------------------------------------------------------- void MovieRecordDialog_t::recordMovie(void) @@ -300,7 +300,7 @@ void MovieRecordDialog_t::recordMovie(void) if ( startRecording ) { - std::string s = authorEdit->text().toStdString(); + std::string s = authorEdit->text().toUtf8().constData(); std::wstring author (s.begin (), s.end ()); FCEUI_printf("Recording movie to %s\n", filepath.c_str ()); FCEUI_SaveMovie (filepath.c_str(), flags, author); @@ -362,7 +362,7 @@ void MovieRecordDialog_t::browseFiles(void) g_config->getOption ("SDL.PauseFrame", &pauseframe); g_config->setOption ("SDL.PauseFrame", 0); - FCEUI_printf ("Recording movie to %s\n", filename.toStdString().c_str() ); + FCEUI_printf ("Recording movie to %s\n", filename.toUtf8().constData() ); setFilePath( filename ); return; diff --git a/src/drivers/Qt/PaletteConf.cpp b/src/drivers/Qt/PaletteConf.cpp index c82d624a..7dfe7171 100644 --- a/src/drivers/Qt/PaletteConf.cpp +++ b/src/drivers/Qt/PaletteConf.cpp @@ -516,19 +516,19 @@ void PaletteConfDialog_t::openPaletteFile(void) if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #ifdef __APPLE__ // Search for MacOSX DragNDrop Resources d.setPath(QString(exePath) + "/../Resources/palettes"); - //printf("Looking for: '%s'\n", d.path().toStdString().c_str()); + //printf("Looking for: '%s'\n", d.path().toUtf8().constData()); if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif } @@ -553,12 +553,12 @@ void PaletteConfDialog_t::openPaletteFile(void) d.setPath(QString("/usr/share/fceux/palettes")); } - //printf("Looking for: '%s'\n", d.path().toStdString().c_str()); + //printf("Looking for: '%s'\n", d.path().toUtf8().constData()); if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif @@ -608,14 +608,14 @@ void PaletteConfDialog_t::openPaletteFile(void) if (fceuWrapperTryLock()) { - if (LoadCPalette(filename.toStdString().c_str())) + if (LoadCPalette(filename.toUtf8().constData())) { - g_config->setOption("SDL.Palette", filename.toStdString().c_str()); - custom_palette_path->setText(filename.toStdString().c_str()); + g_config->setOption("SDL.Palette", filename.toUtf8().constData()); + custom_palette_path->setText(filename.toUtf8().constData()); } else { - printf("Error: Failed to Load Palette File: %s \n", filename.toStdString().c_str()); + printf("Error: Failed to Load Palette File: %s \n", filename.toUtf8().constData()); } palupdate = 1; fceuWrapperUnLock(); diff --git a/src/drivers/Qt/PaletteEditor.cpp b/src/drivers/Qt/PaletteEditor.cpp index 8cb5f0c9..fce3e5c9 100644 --- a/src/drivers/Qt/PaletteEditor.cpp +++ b/src/drivers/Qt/PaletteEditor.cpp @@ -335,19 +335,19 @@ void PaletteEditorDialog_t::openPaletteFileDialog(void) if ( d.exists() ) { urls << QUrl::fromLocalFile( d.absolutePath() ); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #ifdef __APPLE__ // Search for MacOSX DragNDrop Resources d.setPath(QString(exePath) + "/../Resources/palettes"); - //printf("Looking for: '%s'\n", d.path().toStdString().c_str()); + //printf("Looking for: '%s'\n", d.path().toUtf8().constData()); if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif } @@ -372,12 +372,12 @@ void PaletteEditorDialog_t::openPaletteFileDialog(void) d.setPath(QString("/usr/share/fceux/palettes")); } - //printf("Looking for: '%s'\n", d.path().toStdString().c_str()); + //printf("Looking for: '%s'\n", d.path().toUtf8().constData()); if (d.exists()) { urls << QUrl::fromLocalFile(d.absolutePath()); - iniPath = d.absolutePath().toStdString(); + iniPath = d.absolutePath().toUtf8().constData(); } #endif @@ -430,8 +430,8 @@ void PaletteEditorDialog_t::openPaletteFileDialog(void) } qDebug() << "selected file path : " << filename.toUtf8(); - palView->loadFromFile( filename.toStdString().c_str() ); - g_config->setOption ("SDL.Palette", filename.toStdString().c_str() ); + palView->loadFromFile( filename.toUtf8().constData() ); + g_config->setOption ("SDL.Palette", filename.toUtf8().constData() ); return; } @@ -483,7 +483,7 @@ void PaletteEditorDialog_t::savePaletteFileDialog(void) } qDebug() << "selected file path : " << filename.toUtf8(); - palView->saveToFile( filename.toStdString().c_str() ); + palView->saveToFile( filename.toUtf8().constData() ); } //---------------------------------------------------------------------------- void PaletteEditorDialog_t::exportPaletteFileDialog(void) @@ -533,7 +533,7 @@ void PaletteEditorDialog_t::exportPaletteFileDialog(void) } qDebug() << "selected file path : " << filename.toUtf8(); - palView->exportToFileACT( filename.toStdString().c_str() ); + palView->exportToFileACT( filename.toUtf8().constData() ); } //---------------------------------------------------------------------------- //---NES Color Palette Viewer diff --git a/src/drivers/Qt/QtScriptManager.cpp b/src/drivers/Qt/QtScriptManager.cpp index f68d39ab..7ca3103c 100644 --- a/src/drivers/Qt/QtScriptManager.cpp +++ b/src/drivers/Qt/QtScriptManager.cpp @@ -510,7 +510,7 @@ void EmuScriptObject::exit() //---------------------------------------------------- void EmuScriptObject::message(const QString& msg) { - FCEU_DispMessage("%s",0, msg.toStdString().c_str()); + FCEU_DispMessage("%s",0, msg.toUtf8().constData()); } //---------------------------------------------------- void EmuScriptObject::speedMode(const QString& mode) @@ -1765,7 +1765,7 @@ void QtScriptInstance::loadObjectChildren(QJSValue& jsObject, QObject* obj) if (!name.isEmpty()) { - //printf("Object: %s.%s\n", obj->objectName().toStdString().c_str(), child->objectName().toStdString().c_str()); + //printf("Object: %s.%s\n", obj->objectName().toUtf8().constData(), child->objectName().toUtf8().constData()); QJSValue newJsObj = engine->newQObject(child); @@ -2754,7 +2754,7 @@ void QScriptDialog_t::openScriptFile(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - g_config->setOption("SDL.LastLoadJs", filename.toStdString().c_str()); + g_config->setOption("SDL.LastLoadJs", filename.toUtf8().constData()); scriptPath->setText(filename); diff --git a/src/drivers/Qt/RamSearch.cpp b/src/drivers/Qt/RamSearch.cpp index 31f615d3..3fd14e3c 100644 --- a/src/drivers/Qt/RamSearch.cpp +++ b/src/drivers/Qt/RamSearch.cpp @@ -127,13 +127,13 @@ public: QValidator::State validate(QString &input, int &pos) const { int i; - //printf("Validate: %i '%s'\n", input.size(), input.toStdString().c_str() ); + //printf("Validate: %i '%s'\n", input.size(), input.toUtf8().constData() ); if (input.size() == 0) { return QValidator::Acceptable; } - std::string s = input.toStdString(); + std::string s = input.toUtf8().constData(); i = 0; if ((s[i] == '-') || (s[i] == '+')) @@ -648,7 +648,7 @@ static int64_t getLineEditValue(QLineEdit *edit, bool forceHex = false) int64_t val = 0; std::string s; - s = edit->text().toStdString(); + s = edit->text().toUtf8().constData(); if (s.size() > 0) { diff --git a/src/drivers/Qt/RamWatch.cpp b/src/drivers/Qt/RamWatch.cpp index 19bf2594..fd5c5174 100644 --- a/src/drivers/Qt/RamWatch.cpp +++ b/src/drivers/Qt/RamWatch.cpp @@ -579,7 +579,7 @@ void RamWatchDialog_t::openListCB(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - loadWatchFile ( filename.toStdString().c_str() ); + loadWatchFile ( filename.toUtf8().constData() ); return; } @@ -639,7 +639,7 @@ void RamWatchDialog_t::appendListCB(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - loadWatchFile( filename.toStdString().c_str(), 1 ); + loadWatchFile( filename.toUtf8().constData(), 1 ); } //---------------------------------------------------------------------------- void RamWatchDialog_t::saveListCB(void) @@ -718,7 +718,7 @@ void RamWatchDialog_t::saveListAs(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - saveWatchFile( filename.toStdString().c_str() ); + saveWatchFile( filename.toUtf8().constData() ); } //---------------------------------------------------------------------------- void ramWatch_t::updateMem (void) @@ -893,7 +893,7 @@ void RamWatchDialog_t::openWatchEditWindow( ramWatch_t *rw, int mode) { int addr = -1, size = 1; - addr = ::strtol( addrEntry->text().toStdString().c_str(), NULL, 16 ); + addr = ::strtol( addrEntry->text().toUtf8().constData(), NULL, 16 ); if ( dataSize4Btn->isChecked() ) { @@ -910,12 +910,12 @@ void RamWatchDialog_t::openWatchEditWindow( ramWatch_t *rw, int mode) if ( (rw == NULL) || mode ) { - ramWatchList.add_entry( notesEntry->text().toStdString().c_str(), + ramWatchList.add_entry( notesEntry->text().toUtf8().constData(), addr, unsignedTypeBtn->isChecked() ? 'u' : 's', size, isSep); } else { - rw->name = notesEntry->text().toStdString(); + rw->name = notesEntry->text().toUtf8().constData(); rw->type = unsignedTypeBtn->isChecked() ? 'u' : 's'; rw->addr = addr; rw->size = size; diff --git a/src/drivers/Qt/SymbolicDebug.cpp b/src/drivers/Qt/SymbolicDebug.cpp index cf9cea88..580a5c4f 100644 --- a/src/drivers/Qt/SymbolicDebug.cpp +++ b/src/drivers/Qt/SymbolicDebug.cpp @@ -794,8 +794,8 @@ int SymbolEditWindow::exec(void) FCEU_WRAPPER_LOCK(); if ( isArrayBox->isChecked() ) { - size = atoi( arraySize->text().toStdString().c_str() ); - init = atoi( arrayInit->text().toStdString().c_str() ); + size = atoi( arraySize->text().toUtf8().constData() ); + init = atoi( arrayInit->text().toUtf8().constData() ); for (i=0; iisChecked() || (i == 0) ) { - sym->commentAssign( commentEntry->toPlainText().toStdString() ); + sym->commentAssign( commentEntry->toPlainText().toUtf8().constData() ); } } sym->trimTrailingSpaces(); @@ -865,8 +865,8 @@ int SymbolEditWindow::exec(void) } else if ( sym == NULL ) { - sym = new debugSymbol_t( addr, nameEntry->text().toStdString().c_str(), - commentEntry->toPlainText().toStdString().c_str()); + sym = new debugSymbol_t( addr, nameEntry->text().toUtf8().constData(), + commentEntry->toPlainText().toUtf8().constData()); if ( debugSymbolTable.addSymbolAtBankOffset( bank, addr, sym ) ) { @@ -879,14 +879,14 @@ int SymbolEditWindow::exec(void) } else { - if ( sym->updateName( nameEntry->text().toStdString().c_str() ) ) + if ( sym->updateName( nameEntry->text().toUtf8().constData() ) ) { if (consoleWindow) { consoleWindow->QueueErrorMsgWindow( debugSymbolTable.errorMessage() ); } } - sym->commentAssign( commentEntry->toPlainText().toStdString().c_str() ); + sym->commentAssign( commentEntry->toPlainText().toUtf8().constData() ); sym->trimTrailingSpaces(); } } @@ -906,7 +906,7 @@ void SymbolEditWindow::determineArrayStart(void) { return; } - strcpy( stmp, nameEntry->text().toStdString().c_str() ); + strcpy( stmp, nameEntry->text().toUtf8().constData() ); // Find Current Array Braces i=0; @@ -967,7 +967,7 @@ void SymbolEditWindow::setSymNameWithArray(int idx) { return; } - strcpy( stmp, nameEntry->text().toStdString().c_str() ); + strcpy( stmp, nameEntry->text().toUtf8().constData() ); // Remove Current Array Braces i=0; diff --git a/src/drivers/Qt/TasEditor/TasEditorWindow.cpp b/src/drivers/Qt/TasEditor/TasEditorWindow.cpp index c2167a4e..370b4743 100644 --- a/src/drivers/Qt/TasEditor/TasEditorWindow.cpp +++ b/src/drivers/Qt/TasEditor/TasEditorWindow.cpp @@ -1301,7 +1301,7 @@ void TasEditorWindow::initHotKeys(void) QKeySequence ks = Hotkeys[i].getKeySeq(); QShortcut *shortcut = Hotkeys[i].getShortcut(); - //printf("HotKey: %i %s\n", i, ks.toString().toStdString().c_str() ); + //printf("HotKey: %i %s\n", i, ks.toString().toUtf8().constData() ); if ( hotkeyShortcut[i] == nullptr ) { @@ -1715,7 +1715,7 @@ bool TasEditorWindow::saveProjectAs(bool save_compact) std::string msg; msg = "Pre-existing TAS project file will be overwritten:\n\n" + - fi.fileName().toStdString() + "\n\nReplace file?"; + fi.fileName().toUtf8() + "\n\nReplace file?"; ret = QMessageBox::warning( this, QObject::tr("Overwrite Warning"), QString::fromStdString(msg), QMessageBox::Yes | QMessageBox::No, QMessageBox::No ); @@ -1727,16 +1727,16 @@ bool TasEditorWindow::saveProjectAs(bool save_compact) } //qDebug() << "selected file path : " << filename.toUtf8(); - project.renameProject( filename.toStdString().c_str(), true); + project.renameProject( filename.toUtf8().constData(), true); if (save_compact) { - project.save( filename.toStdString().c_str(), taseditorConfig.saveCompact_SaveInBinary, taseditorConfig.saveCompact_SaveMarkers, taseditorConfig.saveCompact_SaveBookmarks, taseditorConfig.saveCompact_GreenzoneSavingMode, taseditorConfig.saveCompact_SaveHistory, taseditorConfig.saveCompact_SavePianoRoll, taseditorConfig.saveCompact_SaveSelection); + project.save( filename.toUtf8().constData(), taseditorConfig.saveCompact_SaveInBinary, taseditorConfig.saveCompact_SaveMarkers, taseditorConfig.saveCompact_SaveBookmarks, taseditorConfig.saveCompact_GreenzoneSavingMode, taseditorConfig.saveCompact_SaveHistory, taseditorConfig.saveCompact_SavePianoRoll, taseditorConfig.saveCompact_SaveSelection); } else { - project.save( filename.toStdString().c_str(), taseditorConfig.projectSavingOptions_SaveInBinary, taseditorConfig.projectSavingOptions_SaveMarkers, taseditorConfig.projectSavingOptions_SaveBookmarks, taseditorConfig.projectSavingOptions_GreenzoneSavingMode, taseditorConfig.projectSavingOptions_SaveHistory, taseditorConfig.projectSavingOptions_SavePianoRoll, taseditorConfig.projectSavingOptions_SaveSelection); + project.save( filename.toUtf8().constData(), taseditorConfig.projectSavingOptions_SaveInBinary, taseditorConfig.projectSavingOptions_SaveMarkers, taseditorConfig.projectSavingOptions_SaveBookmarks, taseditorConfig.projectSavingOptions_GreenzoneSavingMode, taseditorConfig.projectSavingOptions_SaveHistory, taseditorConfig.projectSavingOptions_SavePianoRoll, taseditorConfig.projectSavingOptions_SaveSelection); } - addRecentProject( filename.toStdString().c_str() ); + addRecentProject( filename.toUtf8().constData() ); // saved successfully - remove * mark from caption project.reset(); updateCaption(); @@ -1854,7 +1854,7 @@ void TasEditorWindow::openProject(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - loadProject( filename.toStdString().c_str()); + loadProject( filename.toUtf8().constData()); return; } @@ -2030,9 +2030,9 @@ void TasEditorWindow::importMovieFile( const char *path ) QFileInfo fi( path ); // loaded successfully, now register Input changes //char drv[512], dir[512], name[1024], ext[512]; - //splitpath(filename.toStdString().c_str(), drv, dir, name, ext); + //splitpath(filename.toUtf8().constData(), drv, dir, name, ext); //strcat(name, ext); - int result = history.registerImport(md, fi.fileName().toStdString().c_str() ); + int result = history.registerImport(md, fi.fileName().toUtf8().constData() ); if (result >= 0) { greenzone.invalidateAndUpdatePlayback(result); @@ -2137,9 +2137,9 @@ void TasEditorWindow::importMovieFile(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - importMovieFile( filename.toStdString().c_str() ); + importMovieFile( filename.toUtf8().constData() ); - //EMUFILE_FILE ifs( filename.toStdString().c_str(), "rb"); + //EMUFILE_FILE ifs( filename.toUtf8().constData(), "rb"); //// Load Input to temporary moviedata //MovieData md; @@ -2148,9 +2148,9 @@ void TasEditorWindow::importMovieFile(void) // QFileInfo fi( filename ); // // loaded successfully, now register Input changes // //char drv[512], dir[512], name[1024], ext[512]; - // //splitpath(filename.toStdString().c_str(), drv, dir, name, ext); + // //splitpath(filename.toUtf8().constData(), drv, dir, name, ext); // //strcat(name, ext); - // int result = history.registerImport(md, fi.fileName().toStdString().c_str() ); + // int result = history.registerImport(md, fi.fileName().toUtf8().constData() ); // if (result >= 0) // { // greenzone.invalidateAndUpdatePlayback(result); @@ -2256,7 +2256,7 @@ void TasEditorWindow::exportMovieFile(void) return; } - EMUFILE* osRecordingMovie = FCEUD_UTF8_fstream( filename.toStdString().c_str(), "wb"); + EMUFILE* osRecordingMovie = FCEUD_UTF8_fstream( filename.toUtf8().constData(), "wb"); // create copy of current movie data MovieData temp_md = currMovieData; // modify the copy according to selected type of export @@ -2551,7 +2551,7 @@ bool TasEditorWindow::saveCompactGetFilename( QString &outputFilePath ) std::string msg; msg = "Pre-existing TAS project file will be overwritten:\n\n" + - fi.fileName().toStdString() + "\n\nReplace file?"; + fi.fileName().toUtf8() + "\n\nReplace file?"; ret = QMessageBox::warning( this, QObject::tr("Overwrite Warning"), QString::fromStdString(msg), QMessageBox::Yes | QMessageBox::No, QMessageBox::No ); @@ -2683,7 +2683,7 @@ void TasEditorWindow::saveProjectCompactCb(void) if ( saveCompactGetFilename( filename ) ) { - project.save(filename.toStdString().c_str(), taseditorConfig.saveCompact_SaveInBinary, taseditorConfig.saveCompact_SaveMarkers, taseditorConfig.saveCompact_SaveBookmarks, taseditorConfig.saveCompact_GreenzoneSavingMode, taseditorConfig.saveCompact_SaveHistory, taseditorConfig.saveCompact_SavePianoRoll, taseditorConfig.saveCompact_SaveSelection); + project.save(filename.toUtf8().constData(), taseditorConfig.saveCompact_SaveInBinary, taseditorConfig.saveCompact_SaveMarkers, taseditorConfig.saveCompact_SaveBookmarks, taseditorConfig.saveCompact_GreenzoneSavingMode, taseditorConfig.saveCompact_SaveHistory, taseditorConfig.saveCompact_SavePianoRoll, taseditorConfig.saveCompact_SaveSelection); } } } @@ -3113,9 +3113,9 @@ void TasEditorWindow::changePianoRollFontCB(void) { pianoRoll->setFont( selFont ); - //printf("Font Changed to: '%s'\n", selFont.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", selFont.toString().toUtf8().constData() ); - g_config->setOption("SDL.TasPianoRollFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.TasPianoRollFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -3129,9 +3129,9 @@ void TasEditorWindow::changeBookmarksFontCB(void) { bookmarks.setFont( selFont ); - //printf("Font Changed to: '%s'\n", selFont.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", selFont.toString().toUtf8().constData() ); - g_config->setOption("SDL.TasBookmarksFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.TasBookmarksFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -3145,9 +3145,9 @@ void TasEditorWindow::changeBranchesFontCB(void) { branches.setFont( selFont ); - //printf("Font Changed to: '%s'\n", selFont.toString().toStdString().c_str() ); + //printf("Font Changed to: '%s'\n", selFont.toString().toUtf8().constData() ); - g_config->setOption("SDL.TasBranchesFont", selFont.toString().toStdString().c_str() ); + g_config->setOption("SDL.TasBranchesFont", selFont.toString().toUtf8().constData() ); } } //---------------------------------------------------------------------------- @@ -5256,7 +5256,7 @@ void QPianoRoll::dragEnterEvent(QDragEnterEvent *event) QList urls = event->mimeData()->urls(); QFileInfo fi( urls[0].toString( QUrl::PreferLocalFile ) ); - //printf("Suffix: '%s'\n", fi.suffix().toStdString().c_str() ); + //printf("Suffix: '%s'\n", fi.suffix().toUtf8().constData() ); if ( fi.suffix().compare("fm3") == 0) { @@ -5287,14 +5287,14 @@ void QPianoRoll::dropEvent(QDropEvent *event) if ( fi.suffix().compare("fm3") == 0 ) { FCEU_WRAPPER_LOCK(); - tasWin->loadProject( fi.filePath().toStdString().c_str() ); + tasWin->loadProject( fi.filePath().toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); event->accept(); } else if ( fi.suffix().compare("fm2") == 0 ) { FCEU_WRAPPER_LOCK(); - tasWin->importMovieFile( fi.filePath().toStdString().c_str() ); + tasWin->importMovieFile( fi.filePath().toUtf8().constData() ); FCEU_WRAPPER_UNLOCK(); event->accept(); } @@ -7228,7 +7228,7 @@ void TasFindNoteWindow::findNextClicked(void) { return; } - strncpy( markersManager->findNoteString, searchPattern->text().toStdString().c_str(), MAX_NOTE_LEN-1 ); + strncpy( markersManager->findNoteString, searchPattern->text().toUtf8().constData(), MAX_NOTE_LEN-1 ); markersManager->findNoteString[MAX_NOTE_LEN-1] = 0; // scan frames from current Selection to the border @@ -7306,7 +7306,7 @@ TasRecentProjectAction::TasRecentProjectAction(QString desc, QWidget *parent) QString txt; QFileInfo fi(desc); - path = desc.toStdString(); + path = desc.toUtf8().constData(); txt = fi.fileName(); txt += QString("\t"); diff --git a/src/drivers/Qt/TasEditor/markers_manager.cpp b/src/drivers/Qt/TasEditor/markers_manager.cpp index 04b83e07..3337a54b 100644 --- a/src/drivers/Qt/TasEditor/markers_manager.cpp +++ b/src/drivers/Qt/TasEditor/markers_manager.cpp @@ -390,7 +390,7 @@ void MARKERS_MANAGER::updateEditedMarkerNote() { len = MAX_NOTE_LEN-1; } - strncpy( new_text, tasWin->upperMarkerNote->text().toStdString().c_str(), MAX_NOTE_LEN-1 ); + strncpy( new_text, tasWin->upperMarkerNote->text().toUtf8().constData(), MAX_NOTE_LEN-1 ); new_text[len] = 0; // check changes if (strcmp(getNoteCopy(playback->displayedMarkerNumber).c_str(), new_text)) @@ -416,7 +416,7 @@ void MARKERS_MANAGER::updateEditedMarkerNote() { len = MAX_NOTE_LEN-1; } - strncpy( new_text, tasWin->lowerMarkerNote->text().toStdString().c_str(), MAX_NOTE_LEN-1 ); + strncpy( new_text, tasWin->lowerMarkerNote->text().toUtf8().constData(), MAX_NOTE_LEN-1 ); new_text[len] = 0; // check changes diff --git a/src/drivers/Qt/TasEditor/splicer.cpp b/src/drivers/Qt/TasEditor/splicer.cpp index 5881aa47..ad8aadf1 100644 --- a/src/drivers/Qt/TasEditor/splicer.cpp +++ b/src/drivers/Qt/TasEditor/splicer.cpp @@ -497,7 +497,7 @@ bool SPLICER::pasteInputFromClipboard() int num_joypads = joysticksPerFrame[getInputType(currMovieData)]; int pos = *(current_selection->begin()); - std::string stmp = tasWin->clipboard->text().toStdString(); + std::string stmp = tasWin->clipboard->text().toUtf8().constData(); const char *pGlobal = stmp.c_str(); // TAS recording info starts with "TAS " @@ -622,7 +622,7 @@ bool SPLICER::pasteInsertInputFromClipboard(void) int num_joypads = joysticksPerFrame[getInputType(currMovieData)]; bool markers_changed = false; int pos = *current_selection_begin; - std::string stmp = tasWin->clipboard->text().toStdString(); + std::string stmp = tasWin->clipboard->text().toUtf8().constData(); const char *pGlobal = stmp.c_str(); // TAS recording info starts with "TAS " @@ -743,7 +743,7 @@ void SPLICER::checkClipboardContents(void) // check if clipboard contains TAS Editor Input data clipboardSelection.clear(); int current_pos = -1; - std::string stmp = tasWin->clipboard->text().toStdString(); + std::string stmp = tasWin->clipboard->text().toUtf8().constData(); const char *pGlobal = stmp.c_str(); // TAS recording info starts with "TAS " if (pGlobal[0]=='T' && pGlobal[1]=='A' && pGlobal[2]=='S') diff --git a/src/drivers/Qt/TraceLogger.cpp b/src/drivers/Qt/TraceLogger.cpp index 95df40f2..57d705f6 100644 --- a/src/drivers/Qt/TraceLogger.cpp +++ b/src/drivers/Qt/TraceLogger.cpp @@ -614,7 +614,7 @@ void TraceLoggerDialog_t::openLogFile(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - logFilePath = filename.toStdString(); + logFilePath = filename.toUtf8().constData(); g_config->setOption("SDL.TraceLogSaveFilePath", logFilePath); @@ -2133,14 +2133,14 @@ void QTraceLogView::openBpEditWindow(int editIdx, watchpointinfo *wp, traceRecor type |= BT_S; } - s = addr1->text().toStdString(); + s = addr1->text().toUtf8().constData(); if (s.size() > 0) { start_addr = offsetStringToInt(type, s.c_str()); } - s = addr2->text().toStdString(); + s = addr2->text().toUtf8().constData(); if (s.size() > 0) { @@ -2172,8 +2172,8 @@ void QTraceLogView::openBpEditWindow(int editIdx, watchpointinfo *wp, traceRecor unsigned int retval; std::string nameString, condString; - nameString = name->text().toStdString(); - condString = cond->text().toStdString(); + nameString = name->text().toUtf8().constData(); + condString = cond->text().toUtf8().constData(); retval = NewBreak(nameString.c_str(), start_addr, end_addr, type, condString.c_str(), slot, enable); diff --git a/src/drivers/Qt/fceuWrapper.cpp b/src/drivers/Qt/fceuWrapper.cpp index 8f07a421..a7242b1f 100644 --- a/src/drivers/Qt/fceuWrapper.cpp +++ b/src/drivers/Qt/fceuWrapper.cpp @@ -321,9 +321,9 @@ int LoadGame(const char *path, bool silent) // Resolve absolute path to file if ( fi.exists() ) { - //printf("FI: '%s'\n", fi.absoluteFilePath().toStdString().c_str() ); - //printf("FI: '%s'\n", fi.canonicalFilePath().toStdString().c_str() ); - fullpath = fi.canonicalFilePath().toStdString(); + //printf("FI: '%s'\n", fi.absoluteFilePath().toUtf8().constData() ); + //printf("FI: '%s'\n", fi.canonicalFilePath().toUtf8().constData() ); + fullpath = fi.canonicalFilePath().toUtf8().constData(); } else { @@ -689,7 +689,7 @@ static void ShowUsage(const char *prog) j=0; for (i=0; i= 4 ) { @@ -1044,7 +1044,7 @@ int fceuWrapperInit( int argc, char *argv[] ) // Resolve absolute path to file if ( fi.exists() ) { - std::string fullpath = fi.canonicalFilePath().toStdString().c_str(); + std::string fullpath = fi.canonicalFilePath().toUtf8().constData(); error = LoadGame( fullpath.c_str() ); @@ -1117,9 +1117,9 @@ int fceuWrapperInit( int argc, char *argv[] ) // Resolve absolute path to file if ( fi.exists() ) { - //printf("FI: '%s'\n", fi.absoluteFilePath().toStdString().c_str() ); - //printf("FI: '%s'\n", fi.canonicalFilePath().toStdString().c_str() ); - s = fi.canonicalFilePath().toStdString(); + //printf("FI: '%s'\n", fi.absoluteFilePath().toUtf8().constData() ); + //printf("FI: '%s'\n", fi.canonicalFilePath().toUtf8().constData() ); + s = fi.canonicalFilePath().toUtf8().constData(); } //#if defined(__linux__) || defined(__APPLE__) || defined(__unix__) // diff --git a/src/drivers/Qt/iNesHeaderEditor.cpp b/src/drivers/Qt/iNesHeaderEditor.cpp index ebddaf3f..2b29feb9 100644 --- a/src/drivers/Qt/iNesHeaderEditor.cpp +++ b/src/drivers/Qt/iNesHeaderEditor.cpp @@ -827,7 +827,7 @@ bool iNesHeaderEditor_t::openFile(void) if ( GameInfo == NULL ) { - strncpy( LoadedRomFName, filename.toStdString().c_str(), sizeof(LoadedRomFName)-1 ); + strncpy( LoadedRomFName, filename.toUtf8().constData(), sizeof(LoadedRomFName)-1 ); LoadedRomFName[sizeof(LoadedRomFName)-1] = 0; } @@ -881,7 +881,7 @@ void iNesHeaderEditor_t::saveFileAs(void) WriteHeaderData( iNesHdr ); - if ( SaveINESFile( filename.toStdString().c_str(), iNesHdr ) ) + if ( SaveINESFile( filename.toUtf8().constData(), iNesHdr ) ) { // Error } @@ -1414,7 +1414,7 @@ bool iNesHeaderEditor_t::WriteHeaderData(iNES_HEADER* header) // Sub mapper if (ines20) { - strcpy( buf, mapperSubEdit->text().toStdString().c_str() ); + strcpy( buf, mapperSubEdit->text().toUtf8().constData() ); int submapper; if (sscanf(buf, "%d", &submapper) > 0) { @@ -1935,7 +1935,7 @@ bool iNesHeaderEditor_t::WriteHeaderData(iNES_HEADER* header) // Miscellanous ROM(s) if (ines20) { - strcpy( buf, miscRomsEdit->text().toStdString().c_str() ); + strcpy( buf, miscRomsEdit->text().toUtf8().constData() ); int misc_roms = 0; if (sscanf(buf, "%d", &misc_roms) < 1) { diff --git a/src/drivers/Qt/input.cpp b/src/drivers/Qt/input.cpp index 5df0d426..5c00222b 100644 --- a/src/drivers/Qt/input.cpp +++ b/src/drivers/Qt/input.cpp @@ -238,7 +238,7 @@ int hotkey_t::init(QWidget *parent) shortcut = new QShortcut(QKeySequence(QString::fromStdString(keyText)), parent); - //printf("ShortCut: '%s' = '%s'\n", configName, shortcut->key().toString().toStdString().c_str() ); + //printf("ShortCut: '%s' = '%s'\n", configName, shortcut->key().toString().toUtf8().constData() ); conv2SDL(); return 0; @@ -258,7 +258,7 @@ int hotkey_t::readConfig(void) { shortcut->setKey(QString::fromStdString(keyText)); - //printf("ShortCut: '%s' = '%s'\n", configName, shortcut->key().toString().toStdString().c_str() ); + //printf("ShortCut: '%s' = '%s'\n", configName, shortcut->key().toString().toUtf8().constData() ); if (act) { @@ -289,7 +289,7 @@ void hotkey_t::conv2SDL(void) SDL_Keymod m = convQtKey2SDLModifier((Qt::KeyboardModifier)(shortcut->key()[0] & 0xFE000000)); #endif - //printf("Key: '%s' 0x%08x\n", shortcut->key().toString().toStdString().c_str(), shortcut->key()[0] ); + //printf("Key: '%s' 0x%08x\n", shortcut->key().toString().toUtf8().constData(), shortcut->key()[0] ); sdl.value = k; sdl.modifier = m; @@ -327,7 +327,7 @@ int hotkey_t::getString(char *s) if (shortcut) { - strcpy(s, shortcut->key().toString().toStdString().c_str()); + strcpy(s, shortcut->key().toString().toUtf8().constData()); } //if ( sdl.modifier != 0 ) //{ @@ -670,7 +670,7 @@ static std::string GetFilename(const char *title, int mode, const char *filter) if (fileList.size() > 0) { - fname = fileList[0].toStdString(); + fname = fileList[0].toUtf8().constData(); } } @@ -690,7 +690,7 @@ void FCEUD_MovieRecordTo(void) // return; // no filename selected, quit the whole thing //} //std::string s = QInputDialog::getText( consoleWindow, QObject::tr("Movie Recording"), - // QObject::tr("Enter Author Name"), QLineEdit::Normal, QObject::tr(""), &ok ).toStdString(); + // QObject::tr("Enter Author Name"), QLineEdit::Normal, QObject::tr(""), &ok ).toUtf8().constData(); //std::wstring author (s.begin (), s.end ()); diff --git a/src/drivers/Qt/ppuViewer.cpp b/src/drivers/Qt/ppuViewer.cpp index 39071698..944f8471 100644 --- a/src/drivers/Qt/ppuViewer.cpp +++ b/src/drivers/Qt/ppuViewer.cpp @@ -1894,7 +1894,7 @@ void tilePaletteView_t::exportPaletteFileDialog(void) } //qDebug() << "selected file path : " << filename.toUtf8(); - exportActivePaletteACT( filename.toStdString().c_str() ); + exportActivePaletteACT( filename.toUtf8().constData() ); } //---------------------------------------------------- void tilePaletteView_t::openColorPicker(void)