Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
A native Mach-O iOS/macOS port of Mario Kart 8 Deluxe, with LAN, online and wireless multiplayer
翻譯準備中
遊戲Rust · CGitHub @c22dev自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A native Mach-O iOS/macOS port of Mario Kart 8 Deluxe, with LAN, online and wireless multiplayer
the Switch and Apple Silicon both run arm64, so the game's code can almost run as is. a few instructions can't run outside a Switch (the x18 register, system calls, system registers), so this project rewrites them with a tool called nxpatch
the rest, most importance peace is nxhost : it plays the role of the Switch's OS (Horizon) for the game, its services (files, saves, controllers, audio, network...) and its graphics API (NVN), which is turned into Metal. The game's shaders are translated to Metal ones and compiled ahead of time too
On macOS, the patched game code is loaded when you launch it. On iOS, and because we don't have JIT, we can't afforc to do that : game code is linked into the app when you build it
On top of that, Mush8 adds LAN Play over the internet (lan-play.com servers) and a wireless mode for nearby devices
Because Nintendo ninjas are always watching, you will need your own dump :
prod.keys.nsp).nsp). To play LAN with a Switch, use the same update as the SwitchFirmware folder dumped from your Switch (fonts, Miis)dlc.nspMush8 will then asks for them : on macOS pick the folder holding them in the launcher, on iOS import them from the app (or copy them in Files → On My iPhone → Mush8)
xcodebuild -downloadComponent MetalToolchain). Without it, Prepare can't compile the game's shaders ahead of time : the game still runs, but compiles them while you play, so new scenes (a race start for example) show black or missing graphics for a momentFor iOS, also :
rustup with rustup toolchain install 1.98.1 and rustup target add aarch64-apple-ios --toolchain 1.98.1xcodegen (brew install xcodegen).ipathe easy way :
./build.sh
The script (should) installs what's missing (Homebrew, Rust...), then asks whether you want the Mac or the iOS version and walks you through the rest. The Mac .app ends up in ~/Downloads/Mush8Output, the iOS one goes straight to your plugged-in iPhone / iPad
By hand, macOS :
./make-app.sh
gives build/Mush8.app. Open it, choose your game files folder and hit Prepare (the first time, it extracts the game and compiles its shaders, a few minutes)
iOS :
./make-ios.sh --install
The signing team is taken from the account signed into Xcode (Settings > Accounts), TEAM=<your team id> overrides it, BUNDLE_ID sets your own app id, FREE=1 signs with the entitlements a free account can get. The first build compiles every shader for iOS, so it takes a while
Or make an .ipa to install with AltStore / SideStore :
./make-ios.sh --ipa
it ends up in build/Mush8.ipa
Tests :
cargo test --workspace
They need no game files and no controller
Pick a mode in the launcher, under Multiplayer :
host:port), Switches on that server includedAny controller normally works (Switch Pro, Joy-Con, DualSense, Xbox...). On macOS the keyboard works too (WASD stick, arrows d-pad, X/Return A, Z/Backspace B, Q/E L/R, 1/3 ZL/ZR, Tab +), on iOS there are touch controls when no controller is connected
An iPhone can be a controller too : open Mush8 on it and tap "Use as a controller". It finds the other Mush8 instance on the same Wi-Fi and joins as the next player
Any browser can be a controller too : turn "Remote controller" and "Browser controllers" on in the launcher and the address shown on the other device
On macOS, if your controller or a part of it (for example rumble) does not work, set "Gamepad driver" to SDL in the launcher
Mush8 loads mods from a mods folder in the same folder as your game files. This works on macOS only for now. Each mod is a folder inside mods, and it must contain a romfs folder, an exefs folder, or both In the launcher, use Game data → Mods → Customize to turn each one on or off
mods/
Peter Griffin/
romfs/
Driver/Ludwig.szs
UI/cmn/menu.sarc/mn_L_CharaIcon_00.szs/timg/__Combined.bntx/tc_Chara_Ludwig.png
UI/EUen/message.sarc/Common.msbt/1029.txt
Faster Items/
exefs/
158C0C7399AABD7BF83795C2EF3484C7.ips
.ipa (AltStore / SideStore) don't get the extended virtual addressing entitlement, so the game runs with a smaller 5 GB memory layoutThanks to everyone who contributed :
Contributions are welcome !
crates/vpx/libvpx/LICENSE and PATENTS) : WebM movies