Old claim: "Unsupported or unexpected states strictly throw std::runtime_error.
what() is printed to stderr and the process terminates."
What the code does: the code throws several exception types, not only
std::runtime_error. For example the input mapping throws std::invalid_argument
for a stick deadzone out of range, and an unimplemented export throws
std::runtime_error. An exception that nothing catches reaches the libc
terminate handler, which prints the exception's what() and aborts.
Permalinks at b1b5353cfc:
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/InputMapping.cpp#L272
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1020
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1022
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/exception/Runtime.cpp#L76
3.0 KiB
English | Português (Brasil) | Español | 简体中文 | Русский
简介
将可执行文件自动移植到 Linux 和 Windows 的工具。
仅 relinker 的构建可在 macOS 上运行,包括 Apple silicon。
网页转换器 - 文件保留在你的设备上。
包含一个 relinker,可将可执行文件转换为目标系统的原生格式,以及适用于动态链接的系统 prx 库实现。无需模拟,也没有独立的运行时进程。
Discord、使用说明、构建说明、架构、项目技术债务、代码风格约定、贡献指南
状态
* 系统库:项目目前已知函数(在 core/libs/prx 中声明)的百分比,而非 PS5 全部系统函数的百分比。随着声明的函数增多,总数会增长。
不支持或意外的状态会抛出 C++ 异常,通常是 std::runtime_error。没有被捕获的异常会把其 what() 输出到 stderr,然后进程终止。
着色器重编译器可成功生成 SPIR-V(使用 ANYPS5_ENABLE_SPIRV_TOOLS 构建时通过 Spirv-Tools 验证)。
兼容性
每个游戏的状态和测试报告都在 Game bring-up 讨论区,每个游戏一个帖子。
输入映射
支持 SDL 映射的游戏手柄,包括摇杆和扳机。键盘和鼠标操作可通过 anyps5-input.ini 文件配置。支持的设备和配置格式请参阅输入映射。
免责声明
本项目旨在用于互操作性、研究、保存和兼容性目的。本项目不包含、不分发也不需要任何受版权保护的软件、固件、加密密钥或专有库。用户有责任确保与本项目一起使用的任何二进制文件均按照适用法律及其各自的许可条款获取和使用。
AnyPS5 是一个独立项目,与 Sony Interactive Entertainment 没有关联,也未获得其授权或认可。“PlayStation”和“PS5”是 Sony Interactive Entertainment Inc. 的商标。
许可证
本项目仅依据 GNU General Public License 第 2 版授权。