Removes the Windows-only BCrypt dependency from XeCryptBnQwNeRsaPubCrypt
and replaces it with a portable modular exponentiation implementation
using 64-bit arithmetic, enabling RSA signature verification on all
platforms. Adds Catch2 tests validating the implementation with a
2048-bit RSA key.
Some games persist BGM volume through their own save files but never
call XMPSetVolume. Add a TitlePatch system that intercepts NtReadFile/
NtWriteFile to apply game-specific logic as well as logic to identify
the memory location that the volume data is read into and monitor that
memory location for changes, updating XMP player volume if it changes
during gameplay.
Includes patches for known games with this issue:
Dead or Alive Xtreme 2 (544307D2), PGR4 (4D5307F9) and PGR3 (4D5307D1)
This should fix crash in 12xxx dashboard while browsing achievements
- Fixed issue with invalid time being presented for some achievements
- Added stub for: XampWebInstrumentationSetProfileCounts
- Added handling (partial or dummy) for SMC actions:
- QUERY_TEMP_SENSOR, QUERY_TRAY, QUERY_AV_PACK, QUERY_SMC_VERSION, QUERY_IR_ADDRESS, QUERY_TILT_SENSOR
- SET_FAN_SPEED_CPU, SET_FAN_SPEED_GPU, SET_DVD_TRAY, SET_IR_ADDRESS, SET_POWER_LED, SET_LEDS
- Stub HalOpenCloseODDTray, XamLoaderGetMediaInfo, XamLoaderGetMediaInfoEx
- Partially Implement HalSendSMCMessage
- Implement XamLoaderGetDvdTrayState
- HalOpenCloseODDTray is used by dash and HalSendSMCMessage can be used by custom dashboards
- Properly implement HalGetCurrentAVPack, and XGetAudioFlags.
- Return proper flags for AV Component, AV Composite, and VGA from xconfig.
- Set to HD to proper value.
- Correct wrong widescreen flag.
- Added some fixes introduced by RodoMa92 in PR198
- Lack of AVX2 extension (should be done differently in the future)
- Disable deprecated-volatile warning
- Added missing override in posix EventInfo, ImGui notification class and XContent class
- Removed not used XAudio2.h include in XMP
- Fixed missing switch-case in XObject
- Added fugly template in native_list.h
- Fixed multiple smaller issues
- Stubbing ExSetXConfigSetting and ExReadModifyWriteXConfigSettingUlong
- ExSetXConfigSetting is a simple value swap from buffer_ptr
- ExReadModifyWriteXConfigSettingUlong handles combined values with buffer_ptr holding the replacement values
- added log to show what the new setting should be and what is being replaced
- To Implement would need to convert settings to strucs
- Adding more information in logs for easier debugging
- XamSetDashContext correction
- XCONFIG_USER_VIDEO_FLAGS reports widescreen when set in config by user
- XCONFIG_SECURED_AV_REGION reports proper values when set in config by user
- Added missing \n