* Fix error return on sceKernelMunmap
FreeBSD docs state that len <= 0 is a EINVAL return.
* Early return on ReleaseDirectMemory with len = 0
Calls to these two functions with len = 0 cause an assert in CarveDmemArea. Since there's no memory to release, an early return should be safe here.
* Remove check for negative length in munmap
Addresses review comment
Unity, being the awful game engine it is, checks for a return value of zero to determine if sceKernelLoadStartModule failed. This results in it throwing an error code into sceKernelDlsym's handle parameter when the module it's searching for doesn't exist.
* Handle errors in sceKernelAllocateDirectMemory
* Improve accuracy of error cases
Some of our existing cases are normally EAGAIN returns.
* Improve logging on errors
* Clang
* TEMPORARY HACK FOR NBA TESTS
This will be removed before this PR is marked as ready, and is only here to make sure the other NBA games (and perhaps DOA3) work if some missing init behavior is handled.
* Revert "TEMPORARY HACK FOR NBA TESTS"
This reverts commit a0e27b0229.
* Change error message
* Fix event data for VideoOut events
Fix is based on some decompilation work shared by red_prig.
* Cleanup
* Oops
* Style fixes
* Clang
* Fix libSceVideoOut event idents
Based on some decompilation work, events coming from libSceVideoOut use a separate set of values for identifiers. These values are only converted to OrbisVideoOutEventId values during calls to sceVideoOutGetEventId.
For convenience, I've placed all relevant identifiers into a enum called OrbisVideoOutInternalEventId.
Thanks to @red_prig for the tips.
* Fix?
Seems like `static_cast<u32>(hint) & 0xFF == event.ident` here, and doing those right shifts on the event.ident winds up breaking stuff.
Without this change, the if always fails because event_id was getting set to 0 instead.
* Clang
* handle getdents + fix condition + add info to description
* fix not handling dents errors
* to not overwrite it, only gather separate update entries when normal folder is done
* fix always setting entries to 0 and guest name including "UPDATE"
* reset indexes on completion
* don't use concat, fixes long standing bug
* make sce_module module loading take both paths into account