f9be09d2c2b9598499f2cad1fdbf55708ed77eb6
The controls keyed off CPythonBackground's warp map name, which the loading window sets before the game window exists, so the loading screen already showed them. Also require CPythonNetworkStream's phase to be "Game" (PORT_IsGamePhase, exposed as PythonBoot::InGamePhase). 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 资源由 src/port 与 src/platform 提供。运行时不依赖 Godot。
macOS
需要 CMake、SDL3、Vulkan loader、MoltenVK、glslc(第三方库均已随仓库提供源码,无需子模块):
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/src/host/mt_native_render \
--live-client "/path/to/40250/Client" --login-screen --width 1024 --height 768
Android
./android/build.sh Release --install
./android/push-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 可连接服务器。构建与启动细节见 src/host/README.md。
测试
./script/port_gate.sh macos
port_gate.sh 构建并运行 40250 移植层的 C++ 测试。原生渲染验收入口是 scripts/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%