53d06c3c267843b081b8338f7c5acbcbdeac1708
- FreeType: add the cff/psaux/pshinter modules (from the pinned 2.13.3 tarball, same sha256). Android's only CJK font is the CFF2 NotoSansCJK-Regular.ttc, which the TrueType-only build could not open, so every Chinese glyph drew as a box. - Font oversample rounds the UI density up: Android's 1760x800 UI on a 2376x1080 screen is 1.35, which rounded to 1x bilevel glyphs stretched 1.35x. Now 2x anti-aliased glyphs are scaled down. macOS 2.0 unchanged. - MainActivity: a launcher start (no intent args) opens the login screen against 192.168.21.203 instead of auto-logging into the in-process fake server; explicit args still select the fake-server smoke flow. - build-android-native.sh: ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON for SDL3 and libmain (LOAD alignment 0x1000 -> 0x4000), with a stamp that rebuilds a cached pre-flag SDL3. Clears Android's 16 KB compat warning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Metin2 原生客户端
40250 客户端的 macOS / Android 移植。SDL3 负责窗口与输入,Vulkan 负责 3D 和 UI 渲染;macOS 上通过 MoltenVK 使用 Metal。40250 的 C++ 逻辑、Python 2.7 脚本和 EPK 资源由 extension/src/port 与 extension/src/platform 提供。运行时不依赖 Godot。
macOS
需要 CMake、SDL3、Vulkan loader、MoltenVK、glslc,以及仓库中的第三方子模块:
git submodule update --init --recursive
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release \
-DMT_BUILD_NATIVE_RENDER=ON -DCMAKE_PREFIX_PATH=/opt/homebrew
cmake --build build-release --target mt_native_render -j8
./build-release/native_render/mt_native_render \
--live-client "/path/to/40250/Client" --login-screen --width 1024 --height 768
Android
./build-android-native.sh Release --install
./push-android-client.sh /path/to/40250/Client
adb shell am start -n org.metin2port.client/.MainActivity
APK 由 SDLActivity、libSDL3.so 和 Vulkan 原生 libmain.so 组成。40250 Client 资源单独复制到应用数据目录;--live-server HOST:AUTH_PORT:GAME_PORT --login-screen 可连接服务器。构建与启动细节见 native_render/README.md。
测试
./script/port_gate.sh macos
port_gate.sh 构建并运行 40250 移植层的 C++ 测试。原生渲染验收入口是 script/native_mac_acceptance.mjs。历史迁移记录保留在 docs/PORT-PLAN.md;其中旧 Godot 路径已经退役。
Languages
C++
80.1%
POV-Ray SDL
10.2%
Python
3.4%
C
3%
HTML
1.2%
Other
2.1%