* Fixes PSP emulation with the following changes:
1. Reserved Memory cannot be mapped, this seems to be incorrect and the
PSP emulation relies on reserving then mapping memory at startup.
From other logs, this may affect PS2 emulation as well.
2. Temp directory output may have garbase and the API is not null
terminating the output, resulting in failures when the file
path is not valid.
3. Fix misaligned images when viewport is sized for PSP.
This fixes garbage in movies on the PSP emulator, making the
movies viewable, scaled correctly for the screen.
4. Some PSP moves render incorrectly without sceVideodec2GetAvcPictureInfo
5. Fix dirty hash size calculation and RGB4444 mapping to fix textures
These changes combined allow Jean d'Arc, LocoRoco and Patapon to run
decently.
* fix formatting
* null terminate the temp path rather than using memset
* fix memory mapping in a more correct way
* revert RGB4444 changes as it breaks other games color mapping
* Remove checks for module version_major and version_minor
Following this rule broke linking for some libraries, and introduced extra effort needed to get some homebrew running.
* Clang
* Fix rebase
* Disable libSceSsl HLE
Real hardware uses a title workaround to determine if base libSceSsl is needed. Currently, this title workaround applies to absolutely nothing.
Older games aren't fond of how our sceVideodec2GetPictureInfo implementation outputs AVC picture info after the struct size increase.
Adding the old struct, and additional code using it for these games works around this problem.
* Update file_system.cpp
* libSceVideodec2 struct fixes
Our code was based on an old version of the libSceVideodec2 library. Based on what I've decompiled, these structs changed somewhere around firmware 6.50, and newer versions of the library have these flexible checks to accommodate both variants of the structs.
* Static assert for AvcPictureInfo struct
All the other Videodec2 structs have static asserts, might as well use one here too.
* Initialize new values
Set proper values for frameFormat and framePitchInBytes.
`frame->linesize[0]` appears to be in bytes already, I'm not sure if that means framePitch is being set wrong though.
* core: Split error codes into separate files
* Reduces build times and is cleaner
* core: Bring structs and enums to codebase style
* core: More style changes