diff --git a/CMakeLists.txt b/CMakeLists.txt index fbb8ec18e5..bc777e2c6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,45 +43,6 @@ endif() # Variable to check that people use the good file set(TOP_CMAKE_WAS_SOURCED TRUE) -# Print a clear message that 64bits is not supported -# It would avoid compilation failure later. -# Note: disable the failure in package mode -if(NOT PACKAGE_MODE) - if(CMAKE_SIZEOF_VOID_P MATCHES "8") - message(WARNING " - PCSX2 does not support a 64-bits environment and has no plan to support a 64-bits architecture in the future. - It would need a complete rewrite of the core emulator and a lot of time. - - You can still run a 32-bits binary if you install all 32-bits libraries (runtime and dev).") - endif(CMAKE_SIZEOF_VOID_P MATCHES "8") -endif(NOT PACKAGE_MODE) - -# 64 bits specific configuration -if(CMAKE_SIZEOF_VOID_P MATCHES "8") - # Do not search library in /usr/lib64 - SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF) - # Probably useless but it will not harm - SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m32") - - # Force the search on 32-bits path. - if(EXISTS "/usr/lib32") - set(CMAKE_LIBRARY_ARCHITECTURE "../lib32") - endif() -endif(CMAKE_SIZEOF_VOID_P MATCHES "8") - -# Debian/ubuntu drop /usr/lib32 and move /usr/lib to /usr/lib/i386-linux-gnu -if(EXISTS "/usr/lib/i386-linux-gnu") - set(CMAKE_LIBRARY_ARCHITECTURE "i386-linux-gnu") -endif() - - -# * -fPIC option was removed for multiple reasons. -# - Code only supports the x86 architecture. -# - code uses the ebx register so it's not compliant with PIC. -# - Impacts the performance too much. -# - Only plugins. No package will link to them. -set(CMAKE_POSITION_INDEPENDENT_CODE OFF) - # set module path set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) @@ -103,19 +64,6 @@ include(SelectPcsx2Plugins) # Must be done after SearchForStuff write_svnrev_h() -# add additional project-wide include directories -include_directories(${CMAKE_SOURCE_DIR}/common/include - ${CMAKE_SOURCE_DIR}/common/include/Utilities - ${CMAKE_SOURCE_DIR}/common/include/x86emitter - # File generated by Cmake - ${CMAKE_BINARY_DIR}/common/include - # WORKAROUND Some issue with multiarch on Debian/Ubuntu - /usr/include/i386-linux-gnu - # WORKAROUND Clang integration issue with multiarch on Debian - #/usr/include/i386-linux-gnu/c++ - #/usr/include/i386-linux-gnu/c++/4.8 - ) - # make the translation if(EXISTS "${CMAKE_SOURCE_DIR}/locales") add_subdirectory(locales) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..256f6cd25b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,71 @@ +# Contribution requirement +* be patient + Your contribution will gladly be reviewed but +* discuss with us your future contribution before coding it + Let's avoid duplicate work! Besides specification could be clarified this way. + + +# Window contribution possibility +* check linux chapter ;) Various improvements are actually cross platform! + +# Linux contribution possibility + +You're welcome to the [linux contribution thread](http://forums.pcsx2.net/Thread-Areas-of-interest-for-new-linux-developers) to have full details. Here an handy list of feature that you could implement. Feel free to propse new enhancement. + +## House keeping and general compilation +* clean gcc flags +* clean gcc warning +* support clang (template mess) +* speed comparison clang/gcc +* support avx (gsdx) +* add missing/update copyright header +* LTO support +* PGO support + +## Core +* support XZ compressed iso + +## GSdx +* Fix OpenGL +* implement DX features on OGL (Amsodean's fxaa/video recording ....) +* Fix GLES3 +* add tooltip on gsdx gui +* finish shader subroutine usage (+find a way to clean shader and avoid duplication) +* finish buffer storage +* OSD + +## CDVD +* port CDVDgiga to linux ? + +## zzogl +* reduce gl requirement to 3.3 + gl4 extension +* use multibind +* fix EGL +* port GLSL to window +* Drop old GLSL backend (and much later Nivida CG) +* support wx3.0 + +## Portability +* port GSThread to std::thread +* port core thread to std::thread +* C11 aligned_alloc +* C++11 alignof/alignas syntax +* replace volatile/lock-free queue with real C++ atomic + +## Debian package +* need a refresh to the latest standard +* Clean debian/copyright => debmake -k + + +## QA +* [C++11 auto port](http://clang.llvm.org/extra/clang-modernize.html). Initial requirement: drop XP and support clang/llvm +* [Clean header include](https://code.google.com/p/include-what-you-use/) +* address sanitizer (gcc or clang) +* valgrind (not sure it can run PCSX2, maybe limit the scope to plugin) +* reformat the core/plugin to a constant style with tool like astyle + +# Very very long term feature +Those features will require a lots of work! It would require months if not years. There are listed here for completeness ;) +* PS2 ROM reimplementation (wrongly named HLE bios) +* Android X86 port +* Win/Linux ARM port diff --git a/build.sh b/build.sh index a821f26eef..77d6a3097a 100755 --- a/build.sh +++ b/build.sh @@ -15,7 +15,8 @@ # If not, see . flags="-DCMAKE_BUILD_PO=FALSE" -clean_build=false +clean_build=0 +use_clang=0; for f in $* do @@ -28,7 +29,8 @@ do --gles ) flags="$flags -DGLES_API=TRUE" ;; --sdl2 ) flags="$flags -DSDL2_API=TRUE" ;; --extra ) flags="$flags -DEXTRA_PLUGINS=TRUE" ;; - --clean ) clean_build=true ;; + --clang ) use_clang=1; flags="$flags -DUSE_CLANG=TRUE" ;; + --clean ) clean_build=1 ;; *) # unknown option @@ -47,24 +49,19 @@ do esac done -rm -f install_log.txt - -if [ "$flags" != "" ]; then - echo "Building pcsx2 with $flags" - echo "Building pcsx2 with $flags" > install_log.txt -fi - -if [ "$clean_build" = true ]; then - echo "Doing a clean build." - rm -fr build - # make clean 2>&1 | tee -a ../install_log.txt -fi +[ $clean_build -eq 1 ] && (echo "Doing a clean build."; rm -fr build ) +echo "Building pcsx2 with $flags\n" | tee install_log.txt mkdir -p build cd build -cmake $flags .. 2>&1 | tee -a ../install_log.txt +if [ $use_clang -eq 1 ] +then + CC=clang CXX=clang++ cmake $flags .. 2>&1 | tee -a ../install_log.txt +else + cmake $flags .. 2>&1 | tee -a ../install_log.txt +fi CORE=`grep -w -c processor /proc/cpuinfo` make -j $CORE 2>&1 | tee -a ../install_log.txt diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index babff484c4..29859a1aed 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -1,16 +1,10 @@ -### TODO +### TODO # Hardcode GAMEINDEX_DIR, if default is fine for everybody ### Select the build type # Use Release/Devel/Debug : -DCMAKE_BUILD_TYPE=Release|Devel|Debug # Enable/disable the stripping : -DCMAKE_BUILD_STRIP=TRUE|FALSE # generation .po based on src : -DCMAKE_BUILD_PO=TRUE|FALSE -# Rebuild the ps2hw.dat file : -DREBUILD_SHADER=TRUE -# Build the Replay Loaders : -DBUILD_REPLAY_LOADERS=TRUE|FALSE -# Use GLSL API(else NVIDIA_CG): -DGLSL_API=TRUE|FALSE -# Use EGL (vs GLX) : -DEGL_API=TRUE|FALSE -# Use SDL2 : -DSDL2_API=TRUE|FALSE -# Build all plugins : -DEXTRA_PLUGINS=TRUE|FALSE ### GCC optimization options # control C flags : -DUSER_CMAKE_C_FLAGS="cflags" @@ -18,13 +12,108 @@ # control link flags : -DUSER_CMAKE_LD_FLAGS="ldflags" ### Packaging options -# Installation path : -DPACKAGE_MODE=TRUE(follow FHS)|FALSE(local bin/) # Plugin installation path : -DPLUGIN_DIR="/usr/lib/pcsx2" # GL Shader installation path : -DGLSL_SHADER_DIR="/usr/share/games/pcsx2" # Game DB installation path : -DGAMEINDEX_DIR="/usr/share/games/pcsx2" -# Follow XDG standard : -DXDG_STD=TRUE|FALSE #------------------------------------------------------------------------------- +#------------------------------------------------------------------------------- +# Graphical option +#------------------------------------------------------------------------------- +option(GLSL_API "Replace zzogl CG backend by GLSL (experimental option)") +option(EGL_API "Use EGL on zzogl (experimental/developer option)") +option(GLES_API "Use GLES on GSdx (experimental/developer option)") +option(REBUILD_SHADER "Rebuild glsl/cg shader (developer option)") +option(BUILD_REPLAY_LOADERS "Build GS replayer to ease testing (developer option)") + +#------------------------------------------------------------------------------- +# Path and lib option +#------------------------------------------------------------------------------- +option(PACKAGE_MODE "Use this option to ease packaging of PCSX2 (developer/distribution option)") +option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path") +option(EXTRA_PLUGINS "Build various 'extra' plugins") +# FIXME do a proper detection +set(SDL2_LIBRARY "-lSDL2") +option(SDL2_LIBRARY "Use SDL2 on spu2x and onepad") + +if(PACKAGE_MODE) + if(NOT DEFINED PLUGIN_DIR) + set(PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/lib/games/pcsx2") + endif(NOT DEFINED PLUGIN_DIR) + + if(NOT DEFINED GAMEINDEX_DIR) + set(GAMEINDEX_DIR "${CMAKE_INSTALL_PREFIX}/share/games/pcsx2") + endif(NOT DEFINED GAMEINDEX_DIR) + + # Compile all source codes with these 2 defines + add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR}) +endif(PACKAGE_MODE) + +#------------------------------------------------------------------------------- +# Select the architecture +#------------------------------------------------------------------------------- +option(64BIT_BUILD "Enable a x86_64 build instead of cross compiling (developer option)" OFF) + +# Architecture bitness detection +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(_ARCH_64 1) +else() + set(_ARCH_32 1) +endif() + +# Print a clear message that 64bits is not supported +if(_ARCH_64) + message(WARNING " + PCSX2 does not support a 64-bits environment and has no plan to support a 64-bits architecture in the future. + It would need a complete rewrite of the core emulator and a lot of time. + + You can still run a 32-bits binary if you install all 32-bits libraries (runtime and dev).") +endif() + +# 64 bits cross-compile specific configuration +if(_ARCH_64 AND 64BIT_BUILD) + message("Compiling 64bit build on 64bit architecture") + # Search library in /usr/lib64 + SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON) + # Probably useless but it will not harm + SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m64") + + # Note: /usr/lib64 is already taken care above + + # For Debian/ubuntu multiarch + if(EXISTS "/usr/lib/x86_64-linux-gnu") + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + endif() + + set(ARCH_FLAG "-m64 -msse -msse2 -march=pentium4") + add_definitions(-D_ARCH_64=1) +else() + message("Compiling 32bit build on 32/64bit architecture") + # Do not search library in /usr/lib64 + SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF) + # Probably useless but it will not harm + SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m32") + + # Force the search on 32-bits path. + if(EXISTS "/usr/lib32") + set(CMAKE_LIBRARY_ARCHITECTURE "../lib32") + endif() + # Debian/ubuntu drop /usr/lib32 and move /usr/lib to /usr/lib/i386-linux-gnu + if(EXISTS "/usr/lib/i386-linux-gnu") + set(CMAKE_LIBRARY_ARCHITECTURE "i386-linux-gnu") + endif() + + set(ARCH_FLAG "-m32 -msse -msse2 -march=i686") + add_definitions(-D_ARCH_32=1) +endif() + +# * -fPIC option was removed for multiple reasons. +# - Code only supports the x86 architecture. +# - code uses the ebx register so it's not compliant with PIC. +# - Impacts the performance too much. +# - Only plugins. No package will link to them. +set(CMAKE_POSITION_INDEPENDENT_CODE OFF) + #------------------------------------------------------------------------------- # if no build type is set, use Devel as default # Note without the CMAKE_BUILD_TYPE options the value is still defined to "" @@ -35,21 +124,20 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Debug|Devel|Release") message(STATUS "BuildType set to ${CMAKE_BUILD_TYPE} by default") endif(NOT CMAKE_BUILD_TYPE MATCHES "Debug|Devel|Release") -# Initially stip was disabled on release build but it is not stackstrace friendly! +# Initially strip was disabled on release build but it is not stackstrace friendly! # It only cost several MB so disbable it by default -if(NOT DEFINED CMAKE_BUILD_STRIP) - set(CMAKE_BUILD_STRIP FALSE) -endif(NOT DEFINED CMAKE_BUILD_STRIP) +option(CMAKE_BUILD_STRIP "Srip binaries to save a couple of MB (developer option)") if(NOT DEFINED CMAKE_BUILD_PO) if(CMAKE_BUILD_TYPE STREQUAL "Release") set(CMAKE_BUILD_PO TRUE) message(STATUS "Enable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!") - else(CMAKE_BUILD_TYPE STREQUAL "Release") + else() set(CMAKE_BUILD_PO FALSE) message(STATUS "Disable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!") - endif(CMAKE_BUILD_TYPE STREQUAL "Release") -endif(NOT DEFINED CMAKE_BUILD_PO) + endif() +endif() + #------------------------------------------------------------------------------- # Control GCC flags @@ -58,7 +146,7 @@ endif(NOT DEFINED CMAKE_BUILD_PO) ### Here the list of default value for documentation purpose # ${CMAKE_SHARED_LIBRARY_CXX_FLAGS} = "-fPIC" # ${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} = "-rdynamic" -# +# # ${CMAKE_C_FLAGS} = "-g -O2" # ${CMAKE_CXX_FLAGS} = "-g -O2" # Use in debug mode @@ -91,17 +179,17 @@ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "") #------------------------------------------------------------------------------- # Set some default compiler flags #------------------------------------------------------------------------------- -#set(DEFAULT_WARNINGS "-Wno-write-strings -Wno-format -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-parentheses") # -Wno-attributes: "always_inline function might not be inlinable" <= real spam (thousand of warnings!!!) # -Wstrict-aliasing: to fix one day aliasing issue # -Wno-missing-field-initializers: standard allow to init only the begin of struct/array in static init. Just a silly warning. # -Wno-unused-function: warn for function not used in release build set(DEFAULT_WARNINGS "-Wno-attributes -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-function") set(HARDEING_OPT "-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security") -set(DEFAULT_GCC_FLAG "-m32 -msse -msse2 -march=i686 -pthread ${DEFAULT_WARNINGS} ${HARDEING_OPT}") +set(DEFAULT_GCC_FLAG "${ARCH_FLAG} -pthread ${DEFAULT_WARNINGS} ${HARDEING_OPT}") if(CMAKE_BUILD_TYPE MATCHES "Debug|Devel") set(DEFAULT_GCC_FLAG "-g ${DEFAULT_GCC_FLAG}") endif() +# c++ only flags set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof") #------------------------------------------------------------------------------- @@ -109,18 +197,19 @@ set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof") # Note: string STRIP must be used to remove trailing and leading spaces. # See policy CMP0004 #------------------------------------------------------------------------------- +# TODO: once we completely clean all flags management, this mess could be cleaned ;) ### linker flags if(DEFINED USER_CMAKE_LD_FLAGS) message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_LD_FLAGS at your own risk !!!") string(STRIP "${USER_CMAKE_LD_FLAGS}" USER_CMAKE_LD_FLAGS) -else(DEFINED USER_CMAKE_LD_FLAGS) +else() set(USER_CMAKE_LD_FLAGS "") -endif(DEFINED USER_CMAKE_LD_FLAGS) +endif() # ask the linker to strip the binary -if(CMAKE_BUILD_STRIP) +if(CMAKE_BUILD_STRIP) string(STRIP "${USER_CMAKE_LD_FLAGS} -s" USER_CMAKE_LD_FLAGS) -endif(CMAKE_BUILD_STRIP) +endif() ### c flags @@ -129,7 +218,7 @@ endif(CMAKE_BUILD_STRIP) if(DEFINED USER_CMAKE_C_FLAGS) message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_C_FLAGS at your own risk !!!") string(STRIP "${USER_CMAKE_C_FLAGS}" CMAKE_C_FLAGS) -endif(DEFINED USER_CMAKE_C_FLAGS) +endif() # Use some default machine flags string(STRIP "${CMAKE_C_FLAGS} ${DEFAULT_GCC_FLAG}" CMAKE_C_FLAGS) @@ -140,86 +229,6 @@ string(STRIP "${CMAKE_C_FLAGS} ${DEFAULT_GCC_FLAG}" CMAKE_C_FLAGS) if(DEFINED USER_CMAKE_CXX_FLAGS) message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_CXX_FLAGS at your own risk !!!") string(STRIP "${USER_CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS) -endif(DEFINED USER_CMAKE_CXX_FLAGS) +endif() # Use some default machine flags string(STRIP "${CMAKE_CXX_FLAGS} ${DEFAULT_CPP_FLAG}" CMAKE_CXX_FLAGS) - -#------------------------------------------------------------------------------- -# Default package option -#------------------------------------------------------------------------------- -if(NOT DEFINED PACKAGE_MODE) - set(PACKAGE_MODE FALSE) -endif(NOT DEFINED PACKAGE_MODE) - -if(PACKAGE_MODE) - if(NOT DEFINED PLUGIN_DIR) - set(PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/lib/games/pcsx2") - endif(NOT DEFINED PLUGIN_DIR) - - if(NOT DEFINED GAMEINDEX_DIR) - set(GAMEINDEX_DIR "${CMAKE_INSTALL_PREFIX}/share/games/pcsx2") - endif(NOT DEFINED GAMEINDEX_DIR) - - # Compile all source codes with these 3 defines - add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR}) -endif(PACKAGE_MODE) - -#------------------------------------------------------------------------------- -# Select nvidia cg shader api by default (zzogl only) -#------------------------------------------------------------------------------- -if(NOT DEFINED GLSL_API) - set(GLSL_API FALSE) -endif(NOT DEFINED GLSL_API) - -#------------------------------------------------------------------------------- -# Select GLX API by default (zzogl only) -#------------------------------------------------------------------------------- -if(NOT DEFINED EGL_API) - set(EGL_API FALSE) -else() - message(STATUS "EGL is experimental and not expected to work yet!!!") -endif() - -#------------------------------------------------------------------------------- -# Select opengl api by default (gsdx) -#------------------------------------------------------------------------------- -if(NOT DEFINED GLES_API) - set(GLES_API FALSE) -endif() - -#------------------------------------------------------------------------------- -# Select SDL1 by default (spu2x and onepad) -#------------------------------------------------------------------------------- -# FIXME do a proper detection -set(SDL2_LIBRARY "-lSDL2") -if(NOT DEFINED SDL2_API) - set(SDL2_API FALSE) -endif() - -#------------------------------------------------------------------------------- -# Use the precompiled shader file by default (both zzogl&gsdx) -#------------------------------------------------------------------------------- -if(NOT DEFINED REBUILD_SHADER) - set(REBUILD_SHADER FALSE) -endif(NOT DEFINED REBUILD_SHADER) - -#------------------------------------------------------------------------------- -# Build the replay loaders by default -#------------------------------------------------------------------------------- -if(NOT DEFINED BUILD_REPLAY_LOADERS) - set(BUILD_REPLAY_LOADERS TRUE) -endif(NOT DEFINED BUILD_REPLAY_LOADERS) - -#------------------------------------------------------------------------------- -# Use PCSX2 default path (not XDG) -#------------------------------------------------------------------------------- -if (NOT DEFINED XDG_STD) - set(XDG_STD FALSE) -endif (NOT DEFINED XDG_STD) - -#------------------------------------------------------------------------------- -# Use only main plugin (faster compilation time) -#------------------------------------------------------------------------------- -if (NOT DEFINED EXTRA_PLUGINS) - set(EXTRA_PLUGINS FALSE) -endif() diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index b3cfc7580b..ae6c055511 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -143,7 +143,7 @@ if(wxWidgets_FOUND) if(Linux) # Force the use of 32 bit library configuration on # 64 bits machine with 32 bits library in /usr/lib32 - if(CMAKE_SIZEOF_VOID_P MATCHES "8") + if(_ARCH_64 AND !64BIT_BUILD) ## There is no guarantee that wx-config is a link to a 32 bits library. So you need to force the destinity # Library can go into 3 path major paths (+ multiarch but you will see that later when implementation is done) # 1/ /usr/lib32 (32 bits only) @@ -181,3 +181,18 @@ endif() if(ZLIB_FOUND) include_directories(${ZLIB_INCLUDE_DIRS}) endif() + +#---------------------------------------- +# Use project-wide include directories +#---------------------------------------- +include_directories(${CMAKE_SOURCE_DIR}/common/include + ${CMAKE_SOURCE_DIR}/common/include/Utilities + ${CMAKE_SOURCE_DIR}/common/include/x86emitter + # File generated by Cmake + ${CMAKE_BINARY_DIR}/common/include + # WORKAROUND Some issue with multiarch on Debian/Ubuntu + /usr/include/i386-linux-gnu + # WORKAROUND Clang integration issue with multiarch on Debian + #/usr/include/i386-linux-gnu/c++ + #/usr/include/i386-linux-gnu/c++/4.8 + ) diff --git a/common/include/Utilities/Console.h b/common/include/Utilities/Console.h index 12a737c558..3a29fe3445 100644 --- a/common/include/Utilities/Console.h +++ b/common/include/Utilities/Console.h @@ -129,32 +129,32 @@ struct IConsoleWriter // struct NullConsoleWriter { - void WriteRaw( const wxString& fmt ) {} - void DoWriteLn( const wxString& fmt ) {} - void DoSetColor( ConsoleColors color ) {} - void DoWriteFromStdout( const wxString& fmt ) {} + void WriteRaw( const wxString& ) {} + void DoWriteLn( const wxString& ) {} + void DoSetColor( ConsoleColors ) {} + void DoWriteFromStdout( const wxString& ) {} void Newline() {} - void SetTitle( const wxString& title ) {} + void SetTitle( const wxString& ) {} ConsoleColors GetColor() const { return Color_Current; } - const NullConsoleWriter& SetColor( ConsoleColors color ) const { return *this; } + const NullConsoleWriter& SetColor( ConsoleColors ) const { return *this; } const NullConsoleWriter& ClearColor() const { return *this; } - const NullConsoleWriter& SetIndent( int tabcount=1 ) const { return *this; } + const NullConsoleWriter& SetIndent( int =1 ) const { return *this; } - NullConsoleWriter Indent( int tabcount=1 ) const { return NullConsoleWriter(); } + NullConsoleWriter Indent( int =1 ) const { return NullConsoleWriter(); } - bool FormatV( const char* fmt, va_list args ) const { return false; } - bool WriteLn( ConsoleColors color, const char* fmt, ... ) const { return false; } - bool WriteLn( const char* fmt, ... ) const { return false; } - bool Error( const char* fmt, ... ) const { return false; } - bool Warning( const char* fmt, ... ) const { return false; } + bool FormatV( const char* , va_list ) const { return false; } + bool WriteLn( ConsoleColors , const char* , ... ) const { return false; } + bool WriteLn( const char* , ... ) const { return false; } + bool Error( const char* , ... ) const { return false; } + bool Warning( const char* , ... ) const { return false; } - bool FormatV( const wxChar* fmt, va_list args ) const { return false; } - bool WriteLn( ConsoleColors color, const wxChar* fmt, ... ) const { return false; } - bool WriteLn( const wxChar* fmt, ... ) const { return false; } - bool Error( const wxChar* fmt, ... ) const { return false; } - bool Warning( const wxChar* fmt, ... ) const { return false; } + bool FormatV( const wxChar* , va_list ) const { return false; } + bool WriteLn( ConsoleColors , const wxChar* , ... ) const { return false; } + bool WriteLn( const wxChar* , ... ) const { return false; } + bool Error( const wxChar* , ... ) const { return false; } + bool Warning( const wxChar* , ... ) const { return false; } }; // -------------------------------------------------------------------------------------- diff --git a/common/include/Utilities/PageFaultSource.h b/common/include/Utilities/PageFaultSource.h index a4d971b010..3fab19a942 100644 --- a/common/include/Utilities/PageFaultSource.h +++ b/common/include/Utilities/PageFaultSource.h @@ -52,12 +52,12 @@ public: OnPageFaultEvent( evtinfo, handled ); } - virtual void DispatchEvent( const PageFaultInfo& evtinfo ) + virtual void DispatchEvent( const PageFaultInfo& ) { pxFailRel( "Don't call me, damnit. Use DispatchException instead." ); } - virtual void OnPageFaultEvent( const PageFaultInfo& evtinfo, bool& handled ) {} + virtual void OnPageFaultEvent( const PageFaultInfo& , bool& ) {} }; // -------------------------------------------------------------------------------------- diff --git a/common/include/Utilities/PersistentThread.h b/common/include/Utilities/PersistentThread.h index 7abc454549..c4de3dd4d4 100644 --- a/common/include/Utilities/PersistentThread.h +++ b/common/include/Utilities/PersistentThread.h @@ -44,7 +44,7 @@ namespace Threading void SetThread( pxThread& thr ) { m_thread = &thr; } void SetThread( pxThread* thr ) { m_thread = thr; } - void DispatchEvent( const int& params ) + void DispatchEvent( const int& ) { OnThreadCleanup(); } diff --git a/common/include/Utilities/SafeArray.h b/common/include/Utilities/SafeArray.h index 96c373cb26..1e46d299bc 100644 --- a/common/include/Utilities/SafeArray.h +++ b/common/include/Utilities/SafeArray.h @@ -92,8 +92,8 @@ public: // Gets a pointer to the element directly after the last element in the array. // This is equivalent to doing GetPtr(GetLength()), except that this call *avoids* // the out-of-bounds assertion check that typically occurs when you do that. :) - T* GetPtrEnd( uint idx=0 ) { return &m_ptr[m_size]; } - const T* GetPtrEnd( uint idx=0 ) const { return &m_ptr[m_size]; } + T* GetPtrEnd() { return &m_ptr[m_size]; } + const T* GetPtrEnd() const { return &m_ptr[m_size]; } // Gets an element of this memory allocation much as if it were an array. // DevBuilds : Generates assertion if the index is invalid. diff --git a/common/include/Utilities/TraceLog.h b/common/include/Utilities/TraceLog.h index 021be06e04..cbdf963007 100644 --- a/common/include/Utilities/TraceLog.h +++ b/common/include/Utilities/TraceLog.h @@ -143,7 +143,7 @@ public: return false; } - virtual void ApplyPrefix( FastFormatAscii& ascii ) const {} + virtual void ApplyPrefix( FastFormatAscii& ) const {} virtual void DoWrite( const char* fmt ) const=0; }; diff --git a/common/include/Utilities/wxGuiTools.h b/common/include/Utilities/wxGuiTools.h index 949d123b2e..d1e7430b99 100644 --- a/common/include/Utilities/wxGuiTools.h +++ b/common/include/Utilities/wxGuiTools.h @@ -91,7 +91,7 @@ struct pxAlignmentType return Apply().Border( dir, padding ); } - wxSizerFlags Proportion( int prop ) const + wxSizerFlags Proportion() const { return Apply().Proportion( intval ); } @@ -127,7 +127,7 @@ struct pxStretchType return Apply().Border( dir, padding ); } - wxSizerFlags Proportion( int prop ) const + wxSizerFlags Proportion() const { return Apply().Proportion( intval ); } @@ -438,7 +438,7 @@ public: // NOTE: Enabling system menu on dialogs usually doesn't work, and might cause // other unwanted behavior, such as a missing close button. - pxDialogCreationFlags SystemMenu( bool enable=true ) const + pxDialogCreationFlags SystemMenu( bool =true ) const { return pxDialogCreationFlags(*this).SetSystemMenu( false ); } @@ -648,7 +648,7 @@ public: protected: // line may be empty - virtual void OnOutputLine(const wxString& line) { } + virtual void OnOutputLine(const wxString&) { } // called at the start of every new line (except the very first one) virtual void OnNewLine() { } diff --git a/common/include/x86emitter/x86types.h b/common/include/x86emitter/x86types.h index 9c5ead8fc7..8d99e7005f 100644 --- a/common/include/x86emitter/x86types.h +++ b/common/include/x86emitter/x86types.h @@ -366,13 +366,15 @@ template< typename T > void xWrite( T val ); xRegisterSSE& operator++() { - ++Id &= (iREGCNT_XMM-1); + ++Id; + Id &= (iREGCNT_XMM - 1); return *this; } xRegisterSSE& operator--() { - --Id &= (iREGCNT_XMM-1); + --Id; + Id &= (iREGCNT_XMM - 1); return *this; } diff --git a/locales/it_IT/pcsx2_Iconized.po b/locales/it_IT/pcsx2_Iconized.po index 8c7b46db80..f803a78f34 100644 --- a/locales/it_IT/pcsx2_Iconized.po +++ b/locales/it_IT/pcsx2_Iconized.po @@ -1,11 +1,11 @@ -# Copyright (C) 2013 PCSX2 Team +# Copyright (C) 2014 PCSX2 Team # This file is distributed under the same license as the PCSX2 package. msgid "" msgstr "" -"Project-Id-Version: PCSX2 1.2.0\n" +"Project-Id-Version: PCSX2 1.3.0\n" "Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n" -"POT-Creation-Date: 2014-04-06 11:47+0200\n" -"PO-Revision-Date: 2013-12-31 16:22+0100\n" +"POT-Creation-Date: 2014-06-23 21:24+0100\n" +"PO-Revision-Date: 2014-06-27 09:57+0100\n" "Last-Translator: Leucos\n" "Language-Team: Leucos \n" "Language: it_IT\n" @@ -14,8 +14,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-KeywordsList: pxE;pxEt\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n" -"X-Generator: Poedit 1.5.5\n" +"X-Poedit-Basepath: ..\\..\n" +"X-Generator: Poedit 1.6.5\n" "X-Poedit-SearchPath-0: pcsx2\n" "X-Poedit-SearchPath-1: common\n" @@ -444,7 +444,7 @@ msgstr "" "automaticamente \n" "quando si preme ESC o si mette in pausa l'emulazione." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:67 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:69 msgid "" "Known to affect following games:\n" " * Digital Devil Saga (Fixes FMV and crashes)\n" @@ -456,7 +456,7 @@ msgstr "" " * SSX (corregge errori nella grafica e crash)\n" " * Resident Evil: Dead Aim (causa texture alterate)" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:76 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:78 msgid "" "Known to affect following games:\n" " * Bleach Blade Battler\n" @@ -468,7 +468,7 @@ msgstr "" " * Growlanser II e III\n" " * Wizardry" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:81 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:83 msgid "" "Known to affect following games:\n" " * Mana Khemia 1 (Going \"off campus\")\n" @@ -476,7 +476,7 @@ msgstr "" "Ha effetto in questi giochi:\n" " * Mana Khemia 1 (Going \"off campus\")\n" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:86 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:88 msgid "" "Known to affect following games:\n" " * Test Drive Unlimited\n" @@ -486,23 +486,29 @@ msgstr "" " * Test Drive Unlimited\n" " * Transformers" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:110 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:116 +msgid "" +"It's better to enable 'Automatic game fixes' at the main menu instead, and " +"leave this page empty. ('Automatic' means: selectively use specific tested " +"fixes for specific games)" +msgstr "" +"È preferibile attivare l'opzione 'GameFix automatici' nel menu principale, e " +"lasciare quindi le opzioni di questa pagina non selezionate.\n" +"('automatici' significa un'attivazione selettiva di GameFix specifici e " +"testati per specifici giochi)" + +#: pcsx2/gui/Panels/GameFixesPanel.cpp:120 msgid "" "Gamefixes can work around wrong emulation in some titles. \n" -"They may also cause compatibility or performance issues. \n" +"They may also cause compatibility or performance issues.\n" "\n" -"It's better to enable 'Automatic game fixes' at the main menu instead, and " -"leave this page empty. \n" -"('Automatic' means: selectively use specific tested fixes for specific games)" +"The safest way to make sure that all game fixes are completely disabled." msgstr "" -"I GameFix possono correggere i problemi di emulazione in alcuni giochi.\n" -"Possono tuttavia causare problemi di compatibilità e di prestazioni in altri " -"giochi.\n" +"I GameFix possono aggirare problemi nell'emulazione di alcuni titoli.\n" +"Possono tuttavia causare problemi di compatibilità o prestazioni.\n" "\n" -"È consigliato attivare l'opzione 'GameFix automatici' nel menu 'Sistema', " -"lasciando quindi le opzioni di questo pannello non selezionate.\n" -"('automatici' significa: uso selettivo di GameFix specifici per specifici " -"giochi)" +"Il modo più sicuro per accertarsi che tutti i GameFix siano completamente " +"disabilitati." #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:735 #, c-format @@ -801,7 +807,7 @@ msgstr "" "disattivata (la schermata visualizzata sarà in pratica spazzatura " "poligonale)." -#: pcsx2/vtlb.cpp:731 +#: pcsx2/vtlb.cpp:800 msgid "" "Your system is too low on virtual resources for PCSX2 to run. This can be " "caused by having a small or disabled swapfile, or by other programs that are " diff --git a/locales/it_IT/pcsx2_Main.po b/locales/it_IT/pcsx2_Main.po index b6e9e29458..6897762991 100644 --- a/locales/it_IT/pcsx2_Main.po +++ b/locales/it_IT/pcsx2_Main.po @@ -1,11 +1,11 @@ -# Copyright (C) 2013 PCSX2 Team +# Copyright (C) 2014 PCSX2 Team # This file is distributed under the same license as the PCSX2 package. msgid "" msgstr "" -"Project-Id-Version: PCSX2 1.2.0\n" +"Project-Id-Version: PCSX2 1.3.0\n" "Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n" -"POT-Creation-Date: 2014-04-06 11:47+0200\n" -"PO-Revision-Date: 2013-12-31 16:21+0100\n" +"POT-Creation-Date: 2014-06-23 21:22+0100\n" +"PO-Revision-Date: 2014-06-23 21:23+0100\n" "Last-Translator: Leucos\n" "Language-Team: Leucos \n" "Language: it_IT\n" @@ -14,24 +14,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-KeywordsList: _;pxL;_d;pxDt;_t;pxLt\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n" -"X-Generator: Poedit 1.5.5\n" +"X-Poedit-Basepath: ..\\..\n" +"X-Generator: Poedit 1.6.5\n" "X-Poedit-SearchPath-0: pcsx2\n" "X-Poedit-SearchPath-1: common\n" -#: common/include/Utilities/Exceptions.h:187 -msgid "No reason given." -msgstr "Nessuna spiegazione fornita." - -#: common/include/Utilities/Exceptions.h:226 -msgid "Parse error" -msgstr "Errore d'interpretazione" - -#: common/include/Utilities/Exceptions.h:250 -msgid "Your machine's hardware is incapable of running PCSX2. Sorry dood." -msgstr "" -"L'hardware del tuo sistema non è in grado di eseguire PCSX2. Ci dispiace." - #: common/src/Utilities/Exceptions.cpp:219 msgid "Oh noes! Out of memory!" msgstr "O no! Memoria esaurita!" @@ -97,7 +84,7 @@ msgstr "" "Include la processazione degli eventi d'inattività ed alcuni altri utilizzi " "non comuni di eventi." -#: pcsx2/CDVD/InputIsoFile.cpp:231 +#: pcsx2/CDVD/InputIsoFile.cpp:235 msgid "Unrecognized ISO image file format" msgstr "Formato file immagine ISO non riconosciuto" @@ -116,7 +103,7 @@ msgstr "" "causato da un tipo di immagine ISO non supportato o da un bug nel supporto " "immagini ISO di PCSX2." -#: pcsx2/MTGS.cpp:867 +#: pcsx2/MTGS.cpp:871 msgid "" "The MTGS thread has become unresponsive while waiting for the GS plugin to " "open." @@ -124,14 +111,14 @@ msgstr "" "Durante l'attesa per l'apertura del plugin GS il thread MTGS ha smesso di " "rispondere." -#: pcsx2/PluginManager.cpp:712 +#: pcsx2/PluginManager.cpp:716 msgid "" "The savestate cannot be loaded, as it appears to be corrupt or incomplete." msgstr "" "Il salvataggio di stato non può essere caricato, in quanto pare essere " "corrotto o incompleto." -#: pcsx2/PluginManager.cpp:722 +#: pcsx2/PluginManager.cpp:726 #, c-format msgid "" "%s plugin failed to open. Your computer may have insufficient resources, or " @@ -140,7 +127,7 @@ msgstr "" "Non è stato possibile avviare il plugin %s. Il computer potrebbe non " "possedere risorse sufficienti o avere driver/hardware incompatibili." -#: pcsx2/PluginManager.cpp:729 +#: pcsx2/PluginManager.cpp:733 #, c-format msgid "" "%s plugin failed to initialize. Your system may have insufficient memory or " @@ -149,18 +136,18 @@ msgstr "" "Non è stato possibile inizializzare il plugin %s. Il sistema potrebbe non " "disporre della memoria sufficiente o delle risorse richieste." -#: pcsx2/PluginManager.cpp:835 +#: pcsx2/PluginManager.cpp:839 #, c-format msgid "The configured %s plugin file was not found" msgstr "Non è stato possibile trovare il file del plugin %s configurato" -#: pcsx2/PluginManager.cpp:839 +#: pcsx2/PluginManager.cpp:843 #, c-format msgid "The configured %s plugin file is not a valid dynamic library" msgstr "" "Il plugin %s configurato non è una libreria di collegamento dinamico valida" -#: pcsx2/PluginManager.cpp:857 +#: pcsx2/PluginManager.cpp:861 #, c-format msgid "" "The configured %s plugin is not a PCSX2 plugin, or is for an older " @@ -169,13 +156,13 @@ msgstr "" "Il plugin %s configurato non è un plugin di PCSX2 o è realizzato per una " "versione precedente di PCSX2 e non più supportata." -#: pcsx2/PluginManager.cpp:882 +#: pcsx2/PluginManager.cpp:886 msgid "" "The plugin reports that your hardware or software/drivers are not supported." msgstr "" "Il plugin riporta che l'hardware, il software o i driver non sono supportati." -#: pcsx2/PluginManager.cpp:903 +#: pcsx2/PluginManager.cpp:907 msgid "" "Configured plugin is not a PCSX2 plugin, or is for an older unsupported " "version of PCSX2." @@ -183,7 +170,7 @@ msgstr "" "Il plugin configurato non è un plugin di PCSX2 o è realizzato per una " "versione di PCSX2 precedente e non più supportata." -#: pcsx2/PluginManager.cpp:929 +#: pcsx2/PluginManager.cpp:933 #, c-format msgid "" "Configured %s plugin is not a valid PCSX2 plugin, or is for an older " @@ -192,15 +179,15 @@ msgstr "" "Il plugin %s configurato non è un plugin di PCSX2 valido o è realizzato per " "una versione di PCSX2 precedente e non più supportata." -#: pcsx2/PluginManager.cpp:1358 +#: pcsx2/PluginManager.cpp:1362 msgid "Internal Memorycard Plugin failed to initialize." msgstr "Non è stato possibile inizializzare il plugin interno Memory Card." -#: pcsx2/PluginManager.cpp:1755 +#: pcsx2/PluginManager.cpp:1759 msgid "Unloaded Plugin" msgstr "Plugin Scaricato" -#: pcsx2/SaveState.cpp:342 +#: pcsx2/SaveState.cpp:343 msgid "Cannot load savestate. It is of an unknown or unsupported version." msgstr "" "Impossibile caricare il salvataggio di stato. La sua versione è sconosciuta " @@ -367,10 +354,6 @@ msgstr "" msgid "Detailed logging of CDVD hardware." msgstr "Log dettagliato dell'hardware CDVD." -#: pcsx2/System.h:221 pcsx2/System.h:222 pcsx2/System.h:223 -msgid "PCSX2 Message" -msgstr "PCSX2 - Messaggio" - #: pcsx2/ZipTools/thread_gzip.cpp:82 msgid "" "The savestate was not properly saved. The temporary file was created " @@ -529,15 +512,15 @@ msgstr "" "Premi OK per usare il plugin configurato predefinito, o Annulla per chiudere " "%s." -#: pcsx2/gui/AppInit.cpp:509 -msgid "PCSX2 Error: Hardware Deficiency" -msgstr "Errore di PCSX2: Hardware non compatibile" - #: pcsx2/gui/AppInit.cpp:509 pcsx2/gui/AppInit.cpp:521 #, c-format msgid "Press OK to close %s." msgstr "Premi OK per chiudere %s." +#: pcsx2/gui/AppInit.cpp:509 +msgid "PCSX2 Error: Hardware Deficiency" +msgstr "Errore di PCSX2: Hardware non compatibile" + #: pcsx2/gui/AppInit.cpp:522 #, c-format msgid "%s Critical Error" @@ -653,14 +636,14 @@ msgstr "Termina" msgid "Executing PS2 Virtual Machine..." msgstr "Avvio esecuzione Macchina virtuale PS2..." -#: pcsx2/gui/AppRes.cpp:72 -msgid "Browse for an Iso that is not in your recent history." -msgstr "Sfoglia le cartelle per una ISO non presente tra quelle recenti." - #: pcsx2/gui/AppRes.cpp:72 msgid "Browse..." msgstr "Sfoglia..." +#: pcsx2/gui/AppRes.cpp:72 +msgid "Browse for an Iso that is not in your recent history." +msgstr "Sfoglia le cartelle per una ISO non presente tra quelle recenti." + #: pcsx2/gui/AppUserMode.cpp:95 msgid "The following folders exist, but are not writable:" msgstr "" @@ -700,40 +683,34 @@ msgstr "" "Prova ad eliminare manualmente il file chiamato \"portable.ini\" dalla tua " "cartella d'installazione." -#: pcsx2/gui/ApplyState.h:55 -msgid "Cannot apply new settings, one of the settings is invalid." -msgstr "" -"Impossibile applicare le nuove impostazioni, una delle impostazioni non è " -"valida." - #: pcsx2/gui/ConsoleLogger.cpp:120 msgid "Save log question" msgstr "Conferma salvataggio log" -#: pcsx2/gui/ConsoleLogger.cpp:417 -msgid "Fits a lot of log in a microcosmically small area." -msgstr "Infila un mucchio di log in un'area microcosmicamente piccola." - #: pcsx2/gui/ConsoleLogger.cpp:417 msgid "Small" msgstr "Piccolo" -#: pcsx2/gui/ConsoleLogger.cpp:419 -msgid "It's what I use (the programmer guy)." -msgstr "È quello che uso io (il programmatore)." +#: pcsx2/gui/ConsoleLogger.cpp:417 +msgid "Fits a lot of log in a microcosmically small area." +msgstr "Infila un mucchio di log in un'area microcosmicamente piccola." #: pcsx2/gui/ConsoleLogger.cpp:419 pcsx2/gui/Panels/CpuPanel.cpp:38 msgid "Normal" msgstr "Normale" -#: pcsx2/gui/ConsoleLogger.cpp:421 -msgid "Its nice and readable." -msgstr "È bello e leggibile." +#: pcsx2/gui/ConsoleLogger.cpp:419 +msgid "It's what I use (the programmer guy)." +msgstr "È quello che uso io (il programmatore)." #: pcsx2/gui/ConsoleLogger.cpp:421 msgid "Large" msgstr "Grande" +#: pcsx2/gui/ConsoleLogger.cpp:421 +msgid "Its nice and readable." +msgstr "È bello e leggibile." + #: pcsx2/gui/ConsoleLogger.cpp:423 msgid "Huge" msgstr "Enorme" @@ -742,13 +719,17 @@ msgstr "Enorme" msgid "In case you have a really high res display." msgstr "Nel caso tu possieda uno schermo veramente ad alta risoluzione." +#: pcsx2/gui/ConsoleLogger.cpp:427 +msgid "Light theme" +msgstr "Tema chiaro" + #: pcsx2/gui/ConsoleLogger.cpp:427 msgid "Default soft-tone color scheme." msgstr "Schema predefinito a colori tenui." -#: pcsx2/gui/ConsoleLogger.cpp:427 -msgid "Light theme" -msgstr "Tema chiaro" +#: pcsx2/gui/ConsoleLogger.cpp:428 +msgid "Dark theme" +msgstr "Tema scuro" #: pcsx2/gui/ConsoleLogger.cpp:428 msgid "" @@ -758,10 +739,6 @@ msgstr "" "Schema classico a colore nero, per la gente che si diverte ad avere il testo " "marchiato a fuoco nei propri nervi ottici." -#: pcsx2/gui/ConsoleLogger.cpp:428 -msgid "Dark theme" -msgstr "Tema scuro" - #: pcsx2/gui/ConsoleLogger.cpp:431 msgid "Always on Top" msgstr "Sempre in primo piano" @@ -841,23 +818,23 @@ msgstr "&Log" msgid "&Sources" msgstr "&Fonti" -#: pcsx2/gui/Debugger/DisassemblyDialog.cpp:112 +#: pcsx2/gui/Debugger/DisassemblyDialog.cpp:127 msgid "panel" -msgstr "" +msgstr "pannello" #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:35 #, c-format msgid "About %s" msgstr "Informazioni su %s" -#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 -msgid "Betatesting" -msgstr "Betatesting" - #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 msgid "Previous versions" msgstr "Versioni precedenti" +#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 +msgid "Betatesting" +msgstr "Betatesting" + #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 msgid "Webmasters" msgstr "Webmaster" @@ -887,9 +864,8 @@ msgid "PCSX2 Official Website and Forums" msgstr "Sito Web e Forum ufficiali di PCSX2" #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:106 -#, fuzzy msgid "PCSX2 Official Git Repository at GitHub" -msgstr "Repository Svn ufficiale di PCSX2 presso GitHub" +msgstr "Repository Git ufficiale di PCSX2 presso GitHub" #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:110 msgid "I've seen enough" @@ -1045,15 +1021,15 @@ msgstr "" "comporti \n" "in modo imprevedibile (anche se non è un'eventualità così probabile)." +#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47 +msgid "Settings" +msgstr "Impostazioni" + #: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47 #, c-format msgid "Select a folder for %s settings" msgstr "Seleziona una cartella per le impostazioni di %s" -#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47 -msgid "Settings" -msgstr "Impostazioni" - #: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:76 msgid "Language selector" msgstr "Selettore Lingua" @@ -1283,7 +1259,7 @@ msgstr "" "È un errore rilasciare più file su di una finestra di %s. Per favore uno " "alla volta, grazie." -#: pcsx2/gui/IsoDropTarget.cpp:87 pcsx2/gui/MainMenuClicks.cpp:339 +#: pcsx2/gui/IsoDropTarget.cpp:87 pcsx2/gui/MainMenuClicks.cpp:342 msgid "Confirm PS2 Reset" msgstr "Conferma reset della PS2" @@ -1339,14 +1315,14 @@ msgid "&Debug" msgstr "&Debug" #: pcsx2/gui/MainFrame.cpp:360 -#, fuzzy, c-format +#, c-format msgid "%s %d.%d.%d" -msgstr "%s %d.%d.%d %s" +msgstr "%s %d.%d.%d" #: pcsx2/gui/MainFrame.cpp:365 -#, fuzzy, c-format +#, c-format msgid "%s %d.%d.%d-%lld%s (git) %s" -msgstr "%s %d.%d.%d.%d%s (svn) %s" +msgstr "%s %d.%d.%d-%lld%s (git) %s" #: pcsx2/gui/MainFrame.cpp:402 pcsx2/gui/MainFrame.cpp:404 #: pcsx2/gui/MainFrame.cpp:410 @@ -1379,7 +1355,6 @@ msgid "Enable Cheats" msgstr "Abilita Cheat" #: pcsx2/gui/MainFrame.cpp:430 -#, fuzzy msgid "Enable Widescreen Patches" msgstr "Abilita le Patch Widescreen" @@ -1503,7 +1478,7 @@ msgstr "Informazioni su..." #: pcsx2/gui/MainFrame.cpp:519 msgid "Open Debug Window..." -msgstr "" +msgstr "Apri Finestra di Debug..." #: pcsx2/gui/MainFrame.cpp:521 msgid "Logging..." @@ -1660,27 +1635,32 @@ msgstr "Immagini disco (%s)" msgid "Blockdumps (%s)" msgstr "Blockdump (%s)" -#: pcsx2/gui/MainMenuClicks.cpp:267 pcsx2/gui/MainMenuClicks.cpp:288 +#: pcsx2/gui/MainMenuClicks.cpp:267 +#, c-format +msgid "Compressed (%s)" +msgstr "File compressi (%s)" + +#: pcsx2/gui/MainMenuClicks.cpp:270 pcsx2/gui/MainMenuClicks.cpp:291 msgid "All Files (*.*)" msgstr "Tutti i file (*.*)" -#: pcsx2/gui/MainMenuClicks.cpp:270 +#: pcsx2/gui/MainMenuClicks.cpp:273 msgid "Select CDVD source iso..." msgstr "Seleziona origine ISO del CDVD..." -#: pcsx2/gui/MainMenuClicks.cpp:287 +#: pcsx2/gui/MainMenuClicks.cpp:290 msgid "Select ELF file..." msgstr "Seleziona un file ELF..." -#: pcsx2/gui/MainMenuClicks.cpp:313 +#: pcsx2/gui/MainMenuClicks.cpp:316 msgid "ISO file not found!" msgstr "File ISO non trovato!" -#: pcsx2/gui/MainMenuClicks.cpp:315 +#: pcsx2/gui/MainMenuClicks.cpp:318 msgid "An error occurred while trying to open the file:" msgstr "Un errore si è verificato provando ad aprire il file:" -#: pcsx2/gui/MainMenuClicks.cpp:316 +#: pcsx2/gui/MainMenuClicks.cpp:319 msgid "" "Error: The configured ISO file does not exist. Click OK to select a new ISO " "source for CDVD." @@ -1688,7 +1668,7 @@ msgstr "" "Errore: Il file ISO configurato non esiste. Fai clic su OK per selezionare " "una nuova origine ISO per il CDVD." -#: pcsx2/gui/MainMenuClicks.cpp:387 +#: pcsx2/gui/MainMenuClicks.cpp:390 msgid "" "You have selected the following ISO image into PCSX2:\n" "\n" @@ -1987,11 +1967,11 @@ msgstr "Cerca" msgid "Gamefixes" msgstr "GameFix" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:38 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:40 msgid "VU Add Hack - Fixes Tri-Ace games boot crash." msgstr "VU Add Hack - Corregge il crash all'avvio dei giochi Tri-Ace." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:39 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:41 msgid "" "Games that need this hack to boot:\n" " * Star Ocean 3\n" @@ -2003,84 +1983,84 @@ msgstr "" " * Radiata Stories\n" " * Valkyrie Profile 2" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:42 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:44 msgid "VU Clip Flag Hack - For Persona games (SuperVU recompiler only!)" msgstr "" "VU Clip Flag Hack - Per i giochi della serie Persona (solo per il " "ricompilatore superVU!)" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:46 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:48 msgid "FPU Compare Hack - For Digimon Rumble Arena 2." msgstr "FPU Compare Hack - Per Digimon Rumble Arena 2." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:50 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:52 msgid "FPU Multiply Hack - For Tales of Destiny." msgstr "FPU Multiply Hack - Per Tales of Destiny." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:54 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:56 msgid "FPU Negative Div Hack - For Gundam games." msgstr "FPU Negative Div Hack - Per i giochi della serie Gundam." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:58 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:60 msgid "VU XGkick Hack - For Erementar Gerad." msgstr "VU XGkick Hack - Per Erementar Gerad." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:62 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:64 msgid "FFX videos fix - Fixes bad graphics overlay in FFX videos." msgstr "" "FFX video fix - Corregge i problemi grafici negli overlay dei video in FFX." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:66 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:68 msgid "EE timing hack - Multi purpose hack. Try if all else fails." msgstr "" "EE timing hack - Hack multiscopo. Provalo se tutto il resto non funziona." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:71 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:73 msgid "" "Skip MPEG hack - Skips videos/FMVs in games to avoid game hanging/freezes." msgstr "" "Skip MPEG hack - Salta i video/FMV presenti nei giochi per evitare stalli/" "blocchi." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:75 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:77 msgid "OPH Flag hack - Try if your game freezes showing the same frame." msgstr "" "OPH Flag hack - Provalo se il tuo gioco si blocca mostrando lo stesso " "fotogramma." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:80 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:82 msgid "Ignore DMAC writes when it is busy." msgstr "Ignora le scritture DMAC quando è occupata." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:85 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:87 msgid "Simulate VIF1 FIFO read ahead. Fixes slow loading games." msgstr "Simula read ahead FIFO VIF. Corregge i giochi con caricamenti lenti." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:90 -msgid "Delay VIF1 Stalls (VIF1 FIFO) - For SOCOM 2 HUD." -msgstr "Ritarda le pause di VIF1 (VIF1 FIFO) - Per l'HUD di SOCOM 2." +#: pcsx2/gui/Panels/GameFixesPanel.cpp:92 +msgid "" +"Delay VIF1 Stalls (VIF1 FIFO) - For SOCOM 2 HUD & Spy Hunter loading hang." +msgstr "" +"Ritarda le pause di VIF1 (VIF1 FIFO) - Per l'HUD di SOCOM 2 e il bloco del " +"caricamento di Spy Hunter." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:94 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:96 msgid "Ignore Bus Direction on Path3 Transfer - Used for Hotwheels" msgstr "" "Ignora la Direzione del Bus nel Trasferimento Path3 - Utilizzato per " "Hotwheels." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:98 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:100 msgid "Switch to GSdx software rendering when a FMV plays" msgstr "Passa al rendering software di GSdx quando viene riprodotto un FMV." -#: pcsx2/gui/Panels/GameFixesPanel.cpp:109 +#: pcsx2/gui/Panels/GameFixesPanel.cpp:104 +msgid "Preload TLB hack to avoid tlb miss on Goemon" +msgstr "Hack di precaricamento TLB per evitare TLB miss in Goemon" + +#: pcsx2/gui/Panels/GameFixesPanel.cpp:115 msgid "Enable manual game fixes [Not recommended]" msgstr "Abilita GameFix manuali [non consigliato]" -#: pcsx2/gui/Panels/GameFixesPanel.cpp:114 -msgid "" -"The safest way to make sure that all game fixes are completely disabled." -msgstr "" -"Il modo più sicuro per accertarsi che tutti i GameFix siano completamente " -"disattivati." - #: pcsx2/gui/Panels/LogOptionsPanels.cpp:249 msgid "Enable Trace Logging" msgstr "Abilita i Trace Log" @@ -2172,6 +2152,10 @@ msgstr "Crea una memory card assegnata alla Porta selezionata." msgid "Delete memory file?" msgstr "Eliminare il file della memory card?" +#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763 +msgid "Failed: Can only duplicate an existing card." +msgstr "Fallita: Si possono copiare solo memory card esistenti." + #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:774 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781 @@ -2179,10 +2163,6 @@ msgstr "Eliminare il file della memory card?" msgid "Duplicate memory card" msgstr "Copia memory card" -#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763 -msgid "Failed: Can only duplicate an existing card." -msgstr "Fallita: Si possono copiare solo memory card esistenti." - #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781 msgid "" "Select a name for the duplicate\n" @@ -2310,22 +2290,22 @@ msgstr "Ultima modifica" msgid "Created on" msgstr "Creata il" -#: pcsx2/gui/Panels/MemoryCardListView.cpp:158 -msgid "No" -msgstr "No" - #: pcsx2/gui/Panels/MemoryCardListView.cpp:158 msgid "Yes" msgstr "Sì" -#: pcsx2/gui/Panels/MemoryCardListView.cpp:159 -msgid "PS2" -msgstr "PS2" +#: pcsx2/gui/Panels/MemoryCardListView.cpp:158 +msgid "No" +msgstr "No" #: pcsx2/gui/Panels/MemoryCardListView.cpp:159 msgid "PSX" msgstr "PSX" +#: pcsx2/gui/Panels/MemoryCardListView.cpp:159 +msgid "PS2" +msgstr "PS2" + #: pcsx2/gui/Panels/MemoryCardListView.cpp:172 msgid "[-- Unused cards --]" msgstr "[-- Card inutilizzate --]" @@ -2743,6 +2723,47 @@ msgstr "" "Estensioni %s non trovate. microVU richiede una CPU del sistema host con " "estensioni MMX, SSE ed SSE2." +#: common/include/Utilities/Exceptions.h:187 +msgid "No reason given." +msgstr "Nessuna spiegazione fornita." + +#: common/include/Utilities/Exceptions.h:226 +msgid "Parse error" +msgstr "Errore d'interpretazione" + +#: common/include/Utilities/Exceptions.h:250 +msgid "Your machine's hardware is incapable of running PCSX2. Sorry dood." +msgstr "" +"L'hardware del tuo sistema non è in grado di eseguire PCSX2. Ci dispiace." + +#: pcsx2/System.h:221 pcsx2/System.h:222 pcsx2/System.h:223 +msgid "PCSX2 Message" +msgstr "PCSX2 - Messaggio" + +#: pcsx2/gui/ApplyState.h:55 +msgid "Cannot apply new settings, one of the settings is invalid." +msgstr "" +"Impossibile applicare le nuove impostazioni, una delle impostazioni non è " +"valida." + +#~ msgid "" +#~ "Gamefixes can work around wrong emulation in some titles. \n" +#~ "They may also cause compatibility or performance issues.\n" +#~ "\n" +#~ "The safest way to make sure that all game fixes are completely disabled." +#~ msgstr "" +#~ "I GameFix possono aggirare i problemi di emulazione di alcuni titoli. \n" +#~ "Possono inoltre causare problemi di compatibilità e di prestazioni.\n" +#~ "\n" +#~ "Il modo più sicuro per accertarsi che tutti i GameFix siano completamente " +#~ "disabilitati." + +#~ msgid "" +#~ "The safest way to make sure that all game fixes are completely disabled." +#~ msgstr "" +#~ "Il modo più sicuro per accertarsi che tutti i GameFix siano completamente " +#~ "disattivati." + #~ msgid "(modded)" #~ msgstr "(modificato)" diff --git a/pcsx2/Cache.cpp b/pcsx2/Cache.cpp index 440bfb679b..51907dd028 100644 --- a/pcsx2/Cache.cpp +++ b/pcsx2/Cache.cpp @@ -179,25 +179,24 @@ void writeCache128(u32 mem, const mem128_t* value){ } u8 readCache8(u32 mem) { - int i, number; + int number; - i = getFreeCache(mem,0,&number); - CACHE_LOG("readCache %8.8x from %d, way %d QW %x u8 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem&0xf)]); + int i = getFreeCache(mem,0,&number); if(i == -1) { u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; s32 ppf=mem+vmv; return *(u8*)ppf; } + + CACHE_LOG("readCache %8.8x from %d, way %d QW %x u8 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem & 0xf)]); return pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem&0xf)]; } u16 readCache16(u32 mem) { - int i, number; + int number; - i = getFreeCache(mem,0,&number); - CACHE_LOG("readCache %8.8x from %d, way %d QW %x u16 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem&0xf)>>1]); - + int i = getFreeCache(mem,0,&number); if(i == -1) { u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; @@ -205,34 +204,37 @@ u16 readCache16(u32 mem) { return *(u16*)ppf; } + CACHE_LOG("readCache %8.8x from %d, way %d QW %x u16 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem & 0xf) >> 1]); return pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem&0xf)>>1]; } u32 readCache32(u32 mem) { - int i, number; + int number; - i = getFreeCache(mem,0,&number); - CACHE_LOG("readCache %8.8x from %d, way %d QW %x u32 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem&0xf)>>2]); + int i = getFreeCache(mem,0,&number); if(i == -1) { u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; s32 ppf=mem+vmv; return *(u32*)ppf; } + + CACHE_LOG("readCache %8.8x from %d, way %d QW %x u32 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem & 0xf) >> 2]); return pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem&0xf)>>2]; } u64 readCache64(u32 mem) { - int i, number; + int number; - i = getFreeCache(mem,0,&number); - CACHE_LOG("readCache %8.8x from %d, way %d QW %x u64 part %x Really Reading %x_%x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem&0xf)>>3]); + int i = getFreeCache(mem,0,&number); if(i == -1) { u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; s32 ppf=mem+vmv; return *(u64*)ppf; } + + CACHE_LOG("readCache %8.8x from %d, way %d QW %x u64 part %x Really Reading %x_%x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem & 0xf) >> 3]); return pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem&0xf)>>3]; } diff --git a/pcsx2/DebugTools/DisR3000A.cpp b/pcsx2/DebugTools/DisR3000A.cpp index c3bd7df1f1..5898eafabe 100644 --- a/pcsx2/DebugTools/DisR3000A.cpp +++ b/pcsx2/DebugTools/DisR3000A.cpp @@ -68,17 +68,17 @@ typedef char* (*TdisR3000AF)(u32 code, u32 pc); #define _Branch_ (pc + 4 + ((short)_Im_ * 4)) #define _OfB_ _Im_, _nRs_ -#define dName(i) sprintf(ostr, "%s %-7s,", ostr, i) -#define dGPR(i) sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.r[i], disRNameGPR[i]) -#define dCP0(i) sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.CP0.r[i], disRNameCP0[i]) -#define dHI() sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.n.hi, "hi") -#define dLO() sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.n.lo, "lo") -#define dImm() sprintf(ostr, "%s %4.4x (%d),", ostr, _Im_, _Im_) -#define dTarget() sprintf(ostr, "%s %8.8x,", ostr, _Target_) -#define dSa() sprintf(ostr, "%s %2.2x (%d),", ostr, _Sa_, _Sa_) -#define dOfB() sprintf(ostr, "%s %4.4x (%8.8x (%s)),", ostr, _Im_, psxRegs.GPR.r[_Rs_], disRNameGPR[_Rs_]) -#define dOffset() sprintf(ostr, "%s %8.8x,", ostr, _Branch_) -#define dCode() sprintf(ostr, "%s %8.8x,", ostr, (code >> 6) & 0xffffff) +#define dName(i) sprintf(ostr + strlen(ostr), " %-7s,", i) +#define dGPR(i) sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.r[i], disRNameGPR[i]) +#define dCP0(i) sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.CP0.r[i], disRNameCP0[i]) +#define dHI() sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.n.hi, "hi") +#define dLO() sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.n.lo, "lo") +#define dImm() sprintf(ostr + strlen(ostr), " %4.4x (%d),", _Im_, _Im_) +#define dTarget() sprintf(ostr + strlen(ostr), " %8.8x,", _Target_) +#define dSa() sprintf(ostr + strlen(ostr), " %2.2x (%d),", _Sa_, _Sa_) +#define dOfB() sprintf(ostr + strlen(ostr), " %4.4x (%8.8x (%s)),", _Im_, psxRegs.GPR.r[_Rs_], disRNameGPR[_Rs_]) +#define dOffset() sprintf(ostr + strlen(ostr), " %8.8x,", _Branch_) +#define dCode() sprintf(ostr + strlen(ostr), " %8.8x,", (code >> 6) & 0xffffff) /********************************************************* * Arithmetic with immediate operand * diff --git a/pcsx2/Gif_Unit.h b/pcsx2/Gif_Unit.h index f44c747ce0..5f6664047b 100644 --- a/pcsx2/Gif_Unit.h +++ b/pcsx2/Gif_Unit.h @@ -648,6 +648,7 @@ struct Gif_Unit { } void PrintPathInfo(GIF_PATH path) { + (void)path; // avoid silly warning GUNIT_LOG("Gif Path %d - [hasData = %d][state = %d]", path, gifPath[path].hasDataRemaining(), gifPath[path].state); } diff --git a/pcsx2/HwRead.cpp b/pcsx2/HwRead.cpp index a03a7ea067..8dc6dec5f7 100644 --- a/pcsx2/HwRead.cpp +++ b/pcsx2/HwRead.cpp @@ -177,6 +177,7 @@ mem32_t __fastcall _hwRead32(u32 mem) } } break; + default: break; } //Hack for Transformers and Test Drive Unlimited to simulate filling the VIF FIFO //It actually stalls VIF a few QW before the end of the transfer, so we need to pretend its all gone @@ -302,6 +303,7 @@ static void _hwRead64(u32 mem, mem64_t* result ) } } return; + default: break; } *result = _hwRead32( mem ); diff --git a/pcsx2/HwWrite.cpp b/pcsx2/HwWrite.cpp index e11b5e2af4..cf2716f71e 100644 --- a/pcsx2/HwWrite.cpp +++ b/pcsx2/HwWrite.cpp @@ -425,6 +425,8 @@ void __fastcall _hwWrite128(u32 mem, const mem128_t* srcval) } return; + + default: break; } // All upper bits of all non-FIFO 128-bit HW writes are almost certainly disregarded. --air diff --git a/pcsx2/IopBios.h b/pcsx2/IopBios.h index b8d3dece5e..7b97a8ecab 100644 --- a/pcsx2/IopBios.h +++ b/pcsx2/IopBios.h @@ -42,9 +42,9 @@ public: virtual void close() = 0; - virtual int lseek(s32 offset, s32 whence) { return -IOP_EIO; } - virtual int read(void *buf, u32 count) { return -IOP_EIO; } - virtual int write(void *buf, u32 count) { return -IOP_EIO; } + virtual int lseek(s32 , s32 ) { return -IOP_EIO; } + virtual int read(void *, u32 ) { return -IOP_EIO; } + virtual int write(void *, u32 ) { return -IOP_EIO; } }; class IOManDir { diff --git a/pcsx2/Memory.cpp b/pcsx2/Memory.cpp index bcae88394c..a9ffe7b2ab 100644 --- a/pcsx2/Memory.cpp +++ b/pcsx2/Memory.cpp @@ -262,6 +262,7 @@ static mem8_t __fastcall _ext_memRead8 (u32 mem) Console.WriteLn("DEV9 read8 %8.8lx: %2.2lx", mem & ~0xa4000000, retval); return retval; } + default: break; } MEM_LOG("Unknown Memory Read8 from address %8.8x", mem); @@ -291,6 +292,8 @@ static mem16_t __fastcall _ext_memRead16(u32 mem) case 8: // spu2 return SPU2read(mem); + + default: break; } MEM_LOG("Unknown Memory read16 from address %8.8x", mem); cpuTlbMissR(mem, cpuRegs.branch); @@ -310,6 +313,7 @@ static mem32_t __fastcall _ext_memRead32(u32 mem) Console.WriteLn("DEV9 read32 %8.8lx: %8.8lx", mem & ~0xa4000000, retval); return retval; } + default: break; } MEM_LOG("Unknown Memory read32 from address %8.8x (Status=%8.8x)", mem, cpuRegs.CP0.n.Status.val); @@ -324,6 +328,7 @@ static void __fastcall _ext_memRead64(u32 mem, mem64_t *out) { case 6: // gsm *out = gsRead64(mem); return; + default: break; } MEM_LOG("Unknown Memory read64 from address %8.8x", mem); @@ -340,6 +345,7 @@ static void __fastcall _ext_memRead128(u32 mem, mem128_t *out) case 6: // gsm CopyQWC(out,PS2GS_BASE(mem)); return; + default: break; } MEM_LOG("Unknown Memory read128 from address %8.8x", mem); @@ -358,6 +364,7 @@ static void __fastcall _ext_memWrite8 (u32 mem, mem8_t value) DEV9write8(mem & ~0xa4000000, value); Console.WriteLn("DEV9 write8 %8.8lx: %2.2lx", mem & ~0xa4000000, value); return; + default: break; } MEM_LOG("Unknown Memory write8 to address %x with data %2.2x", mem, value); @@ -379,6 +386,7 @@ static void __fastcall _ext_memWrite16(u32 mem, mem16_t value) return; case 8: // spu2 SPU2write(mem, value); return; + default: break; } MEM_LOG("Unknown Memory write16 to address %x with data %4.4x", mem, value); cpuTlbMissW(mem, cpuRegs.branch); @@ -394,6 +402,7 @@ static void __fastcall _ext_memWrite32(u32 mem, mem32_t value) DEV9write32(mem & ~0xa4000000, value); Console.WriteLn("DEV9 write32 %8.8lx: %8.8lx", mem & ~0xa4000000, value); return; + default: break; } MEM_LOG("Unknown Memory write32 to address %x with data %8.8x", mem, value); cpuTlbMissW(mem, cpuRegs.branch); diff --git a/pcsx2/System/SysThreads.h b/pcsx2/System/SysThreads.h index 853ad4d735..f786a5319f 100644 --- a/pcsx2/System/SysThreads.h +++ b/pcsx2/System/SysThreads.h @@ -236,7 +236,7 @@ public: IEventListener_SysState() {} virtual ~IEventListener_SysState() throw() {} - virtual void DispatchEvent( const SysStateUnlockedParams& status ) + virtual void DispatchEvent( const SysStateUnlockedParams& ) { SysStateAction_OnUnlocked(); } diff --git a/pcsx2/VUmicro.h b/pcsx2/VUmicro.h index 097231ab2c..5ddb7719b5 100644 --- a/pcsx2/VUmicro.h +++ b/pcsx2/VUmicro.h @@ -177,10 +177,10 @@ public: void Step(); void Execute(u32 cycles); - void Clear(u32 addr, u32 size) {} + void Clear(u32 , u32 ) {} uint GetCacheReserve() const { return 0; } - void SetCacheReserve( uint reserveInMegs ) const {} + void SetCacheReserve( uint ) const {} }; class InterpVU1 : public BaseVUmicroCPU @@ -198,11 +198,11 @@ public: void Step(); void Execute(u32 cycles); - void Clear(u32 addr, u32 size) {} + void Clear(u32 , u32 ) {} void ResumeXGkick() {} uint GetCacheReserve() const { return 0; } - void SetCacheReserve( uint reserveInMegs ) const {} + void SetCacheReserve( uint ) const {} }; // -------------------------------------------------------------------------------------- diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index edcf8b39ae..c2dd42db24 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -443,7 +443,12 @@ vifOp(vifCode_Nop) { GetVifX.cmd = 0; GetVifX.pass = 0; vifExecQueue(idx); - if(GetVifX.vifpacketsize > 1) + + //If the top bit was set to interrupt, we don't want it to take commands from a bad code if it's interpreted as a nop by us. + //Onimusha - Blade Warriors + if ((vifXRegs.code & 0x80000000) && (vifXRegs.code & 0xFFFFF) != 0) GetVifX.irq = 0; + + if (GetVifX.vifpacketsize > 1) { if(((data[1] >> 24) & 0x7f) == 0x6) //is mskpath3 next { @@ -470,6 +475,9 @@ vifOp(vifCode_Null) { } vifX.cmd = 0; vifX.pass = 0; + + //If the top bit was set to interrupt, we don't want it to take commands from a bad code + if (vifXRegs.code & 0x80000000) vifX.irq = 0; } pass2 { Console.Error("Vif%d bad vifcode! [CMD = %x]", idx, vifX.cmd); } pass3 { VifCodeLog("Null"); } diff --git a/pcsx2/x86/microVU_Analyze.inl b/pcsx2/x86/microVU_Analyze.inl index 9ba36e66a7..fe0a74f017 100644 --- a/pcsx2/x86/microVU_Analyze.inl +++ b/pcsx2/x86/microVU_Analyze.inl @@ -463,7 +463,7 @@ __ri int mVUbranchCheck(mV) { if(mVUlow.branch == 2 || mVUlow.branch == 10) //Needs linking, we can only guess this if the next is not conditional { - if(branchType <= 2 && branchType >= 9) //First branch is not conditional so we know what the link will be + if(branchType <= 2 || branchType >= 9) //First branch is not conditional so we know what the link will be { //So we can let the existing evil block do its thing! We know where to get the addr :) DevCon.Warning("yo"); DevCon.Warning("yo"); diff --git a/plugins/zerogs/dx/GSmain.cpp b/plugins/zerogs/dx/GSmain.cpp index 90031c1c8e..33e03afe34 100644 --- a/plugins/zerogs/dx/GSmain.cpp +++ b/plugins/zerogs/dx/GSmain.cpp @@ -417,8 +417,8 @@ s32 CALLBACK GSopen(void *pDsp, char *Title, int multithread) { } if( conf.aa ) { char strtitle[64]; - sprintf(strtitle, "anti-aliasing - %s", s_aa[conf.aa], 1000); - ZeroGS::AddMessage(strtitle); + sprintf(strtitle, "anti-aliasing - %s", s_aa[conf.aa]); + ZeroGS::AddMessage(strtitle, 1000); } if( conf.options & GSOPTION_WIDESCREEN ) { ZeroGS::AddMessage("16:9 widescreen - on", 1000);