* Test
* More robust logic for storing and freeing dummy data
Anything heap allocated is invalidated when the function returns. Use malloc to allocate the string instead, and make sure to free those allocations in sceSslFreeCaCerts.
* added extraction to users based on npcommid
* npcommids are stored in elf_info now
Made nptrophy to work correcty with npcommids
* fixed loading of keymanager
* make linux happy
* partial trophy rewrite with lanugages support
* fixed troph file naming
* code cleanup
* simd implementation and better buffer support
* reduce logging in audioout
* added openal libs
* added sceAudioOutGetSystemState
* fixed backend
* initial audio out openal support , still not working properly
* cleanups
* fixed converters for openal
* basic work for openal and audio3d
* clang
* better conversion?
* trying to fix conversions
* better conversions?
* more safe format conversions
* improved audioout conversions
* seems better
* smoother
* increased buffers
* reduce spamming log
* added SIMD version of convertors
* some corrections to audio3d
* support for AL_EXT_FLOAT32 extension and fallbacks if not available
* added device selection
* use ALC_ALL_DEVICES_SPECIFIER
* no it will not work this way
* improved device detection
* fixed audio3d again
* proper device register in openal
* some openal audio3d improvements based on the sdl one
* clang
Now that dynamic HLE loads happen after the eboot loads, HLEs for most "preload" modules wouldn't detect if you didn't have libSceRtc dumped. This was because, while we stored all the new symbols from the HLE lib, we weren't relocating loaded modules to use these symbols.
Keeping my heap API definition fixes though, since that's a valid change.
Also adding back libScePadTracker LLE, shadow removed it during rebase, but it should still "work" with these changes.
* improve signal emulation
* make the sce function use the new posix ones
* ifdefing away the issues
* fix me being very tired yesterday night
* let macOS handle SIGRT signals with the native sigaction call instead of an early error return
* windows still has no clue what the fuck is going on
* the loathsome clang-formatter
* fix oact
* return the guest handler, not the host one
* Clear any existing signal mask for game threads.
* don't rely on implementation specific things
* Fix Windows support and sceKernelRaiseException bug
* Review suggestions
@kalaposfos13 suggested I push these.
---------
Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
* Replace sysmodule enums with table
Dumped this from the 12.52 module, using a script I created.
* Better documentation
* Separate from system libraries
That system folder is going to be getting quite large if I left all the sysmodule stuff in there.
* More arrays from library
* Found another preload list
Ghidra really hates decompiling libSceSysmodule, so I didn't notice this one at first.
Also documented specific versions tied to each preload list.
* Start work on implementation
* Some basic implementations
* Initial stub for module loading
Just enough to see if the logic functions appropriately.
* Clang
* sceSysmoduleLoadModule
Now I need to get sceSysmodulePreloadModuleForLibkernel done so that we don't have bugs from not loading internal LLEs.
* sceSysmoduleLoadModuleInternal
* sceSysmodulePreloadModuleForLibkernel
I have successfully broken quite literally everything.
I shall debug this tomorrow.
* Slight fix
* Maybe fix?
* Change log
Enjoy the log spam 😄
* Increased defined stub count
Now that libc and libSceLibcInternal loads later, all the auto stubs are getting consumed by it.
* sceSysmoduleUnloadModule stub
Also a couple fixes. Sysmodule does pass argc and argv to game modules, but only after loading them once to check binaries.
Shouldn't matter for the most part.
* Clang
* Less stubs
2 thousand is seemingly enough.
* sceSysmoduleLoadModuleInternalWithArg
Doesn't hurt to have, since Apex Legends calls it.
* Oops
* Oops 2
* Rename isModuleLoaded to getModuleHandle
Review comment
* Remove debug game module loads
These cases only trigger when specific sceRegMgr key values are set, and for our purposes, we can treat that case as false.
* Allow preloading to fail
For kalaposfos
* Clang