1 Star 0 Fork 0

GXR / max_nx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Max Payne Mobile Nintendo Switch port

This is a wrapper/port of the Android version of Max Payne Mobile. It loads the original game binary, patches it and runs it. This is probably not entirely stable yet, so expect issues.

This is a port of the PS Vita version adapted to work on the Switch with AArch64 .so files.

How to install

This requires access to the following system calls:

  • svcMapProcessCodeMemory (0x77)
  • svcUnmapProcessCodeMemory (0x78)
  • svcSetProcessMemoryPermission (0x73)

I actually have no idea what that entails except the fact that you have to be running a CFW. Good luck.

You're going to need:

  • .apk file for version 1.7 (latest version at the time of writing) that includes arm64-v8a libraries;
  • .obb file for version 1.6 or 1.7 (usually located at /sdcard/android/obb/com.rockstar.maxpayne/main.3.com.rockstar.maxpayne.obb).

Both files can be obtained from your phone if you have a copy of the game installed. Both files can be opened or extracted with anything that can extract .zip files.

To install:

  1. Create a folder called maxpayne in the switch folder on your SD card.
  2. Extract the contents of the assets folder from your .apk to /switch/maxpayne/.
  3. Extract lib/arm64-v8a/libMaxPayne.so from your .apk to /switch/maxpayne/.
  4. Extract the contents of the .obb file into /switch/maxpayne/. You can skip all the .msf files except for MaxPayneSoundsv2.msf and any extra languages that you want.
  5. Extract the contents of the .zip file from the latest release into /switch/maxpayne/. Replace everything.

Notes

This will not work in applet/album mode: even though MEMORY_MB can very well be lowered to 232MB in config.h, there's still 0MB left after the newlib heap is allocated. This can probably be fixed later. For now use a game override or NSP hbmenu.

The port has an extra config file, located at /switch/maxpayne/config.txt. It is created when you first run the game and allows you to tweak some internal settings. For more detailed descriptions of said settings check the wiki article.

The game will show an error message if it detects that anything is wrong. Please read those and check the relevant parts of your setup.

If the error says Could not find symbol ..., that likely means you have the wrong .apk or .so file. You need version 1.7, others will not work. Make sure also that you've extracted libMaxPayne.so from the arm64-v8a subfolder.

If the game crashes on startup, please post an issue with your last crash report attached.

How to build

You're going to need devkitA64 and the following libraries:

  • switch-mesa
  • switch-libdrm_nouveau
  • switch-sdl2
  • devkitpro-pkgbuild-helpers
  • openal-soft

After you've obtained all the dependencies and ensured devkitA64 is properly installed and the DEVKITPRO environment variable is set, build this repository using the commands:

git clone https://github.com/fgsfdsfgs/max_nx.git && cd max_nx
source $DEVKITPRO/switchvars.sh
make

Credits

  • TheOfficialFloW for the method and work on the PS Vita port;
  • Rinnegatamante, Bythos, frangarcj, CBPS for help with the PS Vita port;
  • Freakler for providing the icon;
  • Switchbrew for libnx.
The MIT License (MIT) Copyright (C) 2021 Andy Nguyen, fgsfds Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
C
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/gxrsprite/max_nx.git
git@gitee.com:gxrsprite/max_nx.git
gxrsprite
max_nx
max_nx
master

搜索帮助