Reasons: 1) It's unsafe - we cannot guarantee that address is still good
while it is used. 2) It's wrong in many modules which are usually just
compare pointer with zero.
Was using fileExists/dirExists before when really should have just been exists. File or Dir doesn't matter and would only create false negatives.
Current working directory shouldn't really be used at all. This is just the folder the application is run from (not even where the .exe resides).
Some of the infos required by vfsLocalDir such as executable may not be portable. Not sure of their intended function as they are never used.
* Removed Plugins.h file as I assume setting up a plugin hell is a bad
idea (does anyone disagree?).
* Removed FnIdGenerator, and moved FnIdGenerator::GenerateFnId to
getFunctionId in Modules.cpp
* Disabled RSX Debugger and Memory Viewer when the emulator is stopped.
* ELF64Loader::LoadPhdrData refactored.
* use one central unified log with channels/priorities ad-hoc listener registration and de-registration
* disable buffering by default
* add multi-threaded ringbuffer implementation
* use buffered listener for the gui (using the ringbuffer)
move module initialization into a module manager, still has some issues like stopping not working and debug crashing
add #idef 0 to modules that aren't in the windows project
don't double initialize and don't de-initialize for now, since many modules don't expect it and it leads to many errors
remove duplicate module lists for empty modules and implemented ones, make Module non-copyable but movable
add secondary project, no real use for it now
add some memleak config to the emucore and add asmjit path to rpcs3
small rebase error fixed to get it to compile again
add filters for emucore
re-add the module manager and static file
WIP commit, linker errors abound
some more abstraction layer stuff
fix the remaining linker errors, re-enable platform specific mouse, pad and keyboard handlers
rebasing
fix memset undefined and re() usage of se_t before declaration
Add wxGUI define by default for cmake builds
fix copy constructors of Datetime header
fix copy constructors of other wx interface classes
remove static declarations of global variables
make wxGLCanvas constructor non-ambiguous even with wx2.8. compat mode, fix wrong std::exception constructor calls
remove duplicate definition for FromUTF8 and ToUTF8
temp changes
make precompiled header slimmer under Linux to increase CI and dev-machine build-times
make sure unused modules don't compile
add unused modules to the VS project to easier keep track of them
* various changes to make it compile with clang
* don't compile recompiler on linux yet but make the CMake build include asmjit already
* add experimental travis bot
* modify yml to match
* try to build and install wxWidgets, since it's not in the travis repo
* use newer cmake version for travis
* add keys with sudo
* use sudo for all apt- commands
* Add additional dependencies
* use version approriate gcc flags for c++11
* try clang, gcc too old
* set c++0x flag for clang
* use gcc 4.8
* use gcc 4.8 and add the repo for it
* use gcc 4.8 even for clang to get newer headers
* fix ambiguous conversions
* add lz from hykem and more explicit conversions from be for x86
* more switch disambiguation
* more switch disambiguation
* add additional unigned int casts to deal with be_t conversion ambiguity
* remove unnecessary clang flag
* add lz.cpp to vcxproj and cast to u32 instead of unsigned int
* correct temporaray #ifdefs
BUGFIX: Add break after NV4097_SET_TEXTURE_BORDER_COLOR in RSXThread.cpp
BUGFIX: Fix parameters passed to RSXTexture::SetControl3 (they were being
passed in reverse order)
BUGFIX: Remove invalid, non-sensical call to glPixelStorei in GLGSRender.h
BUGFIX: Fix signed/unsigned comparison compiler warnings in GLGSRender.h
CHANGE: Make GLFragmentProgram::Decompiler synchronous by default
CHANGE: Update wxWidgets submodule to latest commit
BUGFIX: Fix several memory leaks
ADDED: Created a new MSVC debug configuration to output locations
of allocations that end up leaking after the program
is closed.
BUGFIX: Fix the stupid PadHandler crash due to the lack of a virtual d'tor
* Improved PSF Loader: Now you can get the value of the PARAM.SFO
entries directly with the GetString(key), GetInteger(key) methods.
GameInfo related lines were removed since they have nothing to do with
PSF files.
* cellGame, cellSysutil, and GameViewer are modified because of the PSF
Loader changes.
* Removed unnecessary null pointer checks:
https://github.com/DHrpcs3/rpcs3/issues/126
* Added cellSaveData.cpp to the project.
* Fixed wrong cellSaveData structs.
* Fixed compilation problem caused by the switch/case statements
introduced in sceNpTrophy and TROPUSR.cpp in the last commit
* Added a loader for the TROPUSR.DAT files.
* Added a few structs/enums to sceNpTrophy.h
* Added more sceNpTrophy functions and updated other ones.
* Updated cellHddGame error codes in cellSysutil.h
* Added addresses of cellHddGame to cellSysutil_init.
NOTE: There is a known problem in the `if
(!Emu.GetVFS().ExistsFile(filepath))` in `TROPUSRLoader::Load` which
causes the games to overwrite their TROPUSR.DAT file every time they
boot and they "forget" the unlocked trophies. However, as long as the
game is running the unlocked trophies should be still there.
* TRP Loader and sceNpTrophyRegisterContext improved.
* cellSysutil constants moved to cellSysutil.h
* cellGameBootCheck bug fixed that makes size->hddFreeSizeKB be 0.
* Added system language selector (this is *not* RPCS3's language).
cellSysutilGetSystemParamInt(0x111) will return the selected language.
NOTE: The problems caused by the last commit (pull request #104 merged)
are not yet fixed.
- Removed all scetool dependencies;
- Implemented a key vault to manage PS3 keys internally;
- Implemented SELF decryption;
- Improved PKG handling.
Notes:
- NPDRM SELF files (EBOOT.BIN) can also be decrypted. A valid matching RAP file must be placed under the dev_usb000 folder.
- The source code is considerably commented and several debugging functions were also added in order to aid anyone who wishes to contribute to the engine.
* Fixed incorrect time displayed on NV4097_GET_REPORT.
* Fixed small bug in PKGLoader::UnpackEntry
* Moved some code in SC_Time.cpp
* Auxiliary function declarations of SC_Time.cpp in SC_Time.h
* Updated cellFsUnlink. *This won't work until ExistsFile is fully
implemented*.