First step to help refactor Module management.
Add every module in the static ModuleInfo list. Module without id are assigned
to 0xffff.
The init function is called after constructor and take a pointer to Module
as an input.
This pointer is used to set the Module's global pointer in its file.
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.
* Replace `int` with `s32` as return type for syscalls.
* Renamed `SC_Something.*` files with the proper lv2 name
`sys_something.*`.
* Moving away from the lv2, those functions and folders that doesn't
correspond to lv2 functions. E.g. module functions from sys_io,
sysPrxForUser, cellGcmSys.
* Splitted some files (memory -> memory+mmapper) and merged other ones
(event+event_flag ->event, spu+spu_thread -> spu), according to common
sense, PSDevWiki docs, and checking firmware files.
* Removed external functions from `SysCalls.h`.
NOTE: What should we do about: cellGcmCallback? It's not a lv2 syscall
but it appears on the sc_table and it is actually called in games. Is
this some kind of hack?
* 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
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
* 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.
* Restored deleted functions in FuncList.cpp
* Fixed bugs in TRPLoader.
* Implemented some sceNpTrophy syscalls.
* Added sceNp headers (required for sceNpTrophy).
* Updated .gitignore to ignore trophies.
NOTE: Thanks to the new sceNpTrophy syscalls, RPCS3 can install the
trophy contents in dev_hdd0/home/00000001/trophy/. Remember this is
still on an experimental stage.