5c8d583b31e51c898b8a2a48a3bddf2320333df0
A chat line keeps the IME focus under a hidden board (interfacemodule __HideWindows for an NPC dialog, the focus handed back by UnlockWindow/DeactivateWindow), and IsPointInsideFocusedWindow only checked its own show flag and rect, so taps on the NPC dialog or the minimap buttons opened the keyboard. Require the whole parent chain to render and the picked window to be the focused one or its child. 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%