كل الأنظمة
Window Resize + Mouse
C++Client

Window Resize + Mouse

إصلاح للكلاينت فقط — النقرات والسحب تبقى دقيقة عند تغيير حجم نافذة اللعبة.

WM_SIZE يحدّث SetScreenSize و SetResolution
SetMousePosition يعيّن بكسلات النافذة إلى إحداثيات UI
RunMouseMove attach clamp يستخدم m_iHres/m_iVres الفيزيائية
بدون combo UI scale — بديل خفيف لـ GUI Scale الكامل
جاهز لـ smoke test: وضع نافذة، سحب الحافة، نقر inventory

عندما يغيّر اللاعبون حجم نافذة Metin2 في الوضع النافذي، يتغيّر backbuffer لكن UI غالباً يفترض الحجم القديم — أو الفأرة تستخدم raw pixels بينما الـ widgets mapping مختلف. النقرات تفوت slots الـ inventory وأزرار taskbar وعناصر الحوار.

الحزمة تصلح جزئين حرجين: PythonApplicationProcedure يستجيب لـ WM_SIZE بـ SetScreenSize + SetResolution و OnResolutionUpdate؛ PythonWindowManager يصحح نسب SetMousePosition و clamp أثناء السحب.

C++ للكلاينت فقط — merge لـ 1.Svn patches، rebuild EterPythonLib و UserInterface، انتهى. إذا ثبّت GUI Scale لاحقاً، تلك الحزمة تتضمن already إصلاحات الفأرة/resize plus logical UI zoom.