📈 GH Trending Explorer 🎲 Surprise me

← all repos

sydeEvans / d2r-android

git clone https://github.com/sydeEvans/d2r-android.git v0.6.1 · 2d ago

—

—
stars, 24h
+25
stars, 7 days · #1,509
+25
stars, 30 days · #9,931
25
★ total · +25% this week
5
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
LicenseMIT
Created2026-10-16 (4d ago)
Last push2d ago
Watchers0
OwnerUser

Links

README excerpt
# D2R Android
Runs the **original ARM64 build of Diablo II: Resurrected** natively on Android (NVN → Vulkan rendering, AAudio sound, touch and gamepad input); the repository holds only the host/port code and tools, and **no game content**.
中文:README.zh-CN.md
## Quick start
**Option 1: download the built artifacts (recommended)**
From Releases (CI publishes one whenever a `v*` tag is pushed):
1. `D2R-Android-port.apk` — the phone app. It contains **no game data**; the data comes from the package below.
2. `d2r-package-kit- .zip` — the kit for your PC: the source (the packing tools live in it) + the `d2r-package` skill + that APK + a one-page readme.
Then:
1. Open the extracted kit in an AI agent (Claude Code or similar) and say: **"use the d2r-package skill to build my package and install it on my phone"**.
2. The agent reads `.claude/skills/d2r-package/SKILL.md` and walks you through preparing **your own** game files (`.nsz` / `.nsp` / `.xci`) and `prod.keys`, then builds the data package locally (about an hour; `--reuse` makes later runs a few minutes).
3. Following the skill's "install straight from adb" section, the agent installs the APK and pushes the package; you finish with two taps on the phone: import the package, then start the game.
Your keys and game files never leave your computer.
**Option 2: build it yourself (Linux x86_64)**
 [code] 
To embed the game code in the APK instead of importing it, first generate the modules from your own game files as the build notes describe, then pass `--game-source ` to `build.py`.
## Screens
Captured on the device (OPPO OPD2409 / Adreno 830). The block in the top-left corner of the game frames is the debug overlay, live: frame rate, frame time, CPU / GPU time, power draw and draw counts.
**Launcher** — package import, display profile, output resolution, save import / export. It is an ordinary app screen, so it has no frame overlay:
**Hero selection** — the character came back after importing a save from a backup:
**Camp** — Act I camp, measured 60.0 FPS / 16.7 ms per frame:
## Progress (2026-10-17)
- The game's ARM64 code runs on an Android host with NVN → Vulkan; AAudio sound, system-keyboard name entry, virtual stick and buttons, **gamepad support (D-pad and ZL/ZR included)** and an FPS/CPU/GPU overlay (off by default, switchable from the in-game menu).
- **Launcher**: data-package import, display profile, output resolution (follow profile / 1080p / 1440p), save import/export.
- **In-game menu** (on the system back key, modelled on Eden): frame rate display, on-screen controls, quality (four internal 3D resolution steps, effective immediately), export save, import save, exit. An accidental edge swipe no longer quits the run.
- **Lifecycle**: going to the background asks the game to save before suspending, and the process is kept (window and swapchain rebuilt on return); tapping the icon after backgrounding goes straight back into the game.
- **Performance**: camp on OPD2409 / Adreno 830 averages a