Merge main into feature/ava2-unlock

Conflicts resolved by keeping both sides: AVA2 attribute lock materials
(50348/50349) and battle pass tickets from main alongside the unlock
branch's costume enchants, talismans and new rings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-10-16 18:14:39 +09:00
co-authored by Claude Opus 5.5
556 changed files with 213114 additions and 44 deletions
+22
View File
@@ -48,6 +48,9 @@
#include "UserInterface/CRenderTargetManager.h"
#include "EterBase/Timer.h"
#include "PythonBoot.h"
#ifdef MT_HAS_MESHPORT
#include "transport.h"
#endif
#include "../UserInterface/UserInterface.h"
#include "PythonHost.h"
#include "../EterLib/UIRenderCommands.h"
@@ -252,6 +255,10 @@ void* fiber_main(void*)
}
void init_2v0_gameplay_stubs();
void StopAccountRegistration(); // PORT: drain registration before networking teardown.
#ifdef MT_HAS_MESHPORT
void initMeshPort();
#endif
namespace PythonBoot
{
@@ -901,6 +908,9 @@ bool run_main_script_body(const char* lpCmdLine, std::string* error)
initChat();
initTextTail();
initnet();
#ifdef MT_HAS_MESHPORT
initMeshPort();
#endif
initMiniMap();
initEvent();
initeffect();
@@ -1021,6 +1031,10 @@ namespace PythonBoot
#include "CostumeAttrScript.inc"
#include "PendantScript.inc"
#include "RingsScript.inc"
#include "ItemActionsScript.inc"
#ifdef MT_HAS_MESHPORT
#include "MeshPortScript.inc"
#endif
static void install_script_module(const char* c_szModule, const char* c_szScript)
{
@@ -1076,6 +1090,9 @@ bool RunMainScript(const char* lpCmdLine, std::string* error)
{
install_script_module("mt_autohunt", c_szAutoHuntScript);
install_script_module("mt_register", c_szRegisterScript);
#ifdef MT_HAS_MESHPORT
install_script_module("mt_meshport", c_szMeshPortScript);
#endif
install_script_module("mt_framerate", c_szFrameRateOptionScript);
install_script_module("mt_uiscale", c_szUIScaleOptionScript);
install_script_module("mt_inventory", c_szInventoryPagesScript);
@@ -1110,6 +1127,7 @@ bool RunMainScript(const char* lpCmdLine, std::string* error)
install_script_module("mt_costume_attr", c_szCostumeAttrScript);
install_script_module("mt_pendant", c_szPendantScript);
install_script_module("mt_rings", c_szRingsScript);
install_script_module("mt_item_actions", c_szItemActionsScript);
if (g_touch_input)
install_script_module("mt_mobile_hud", c_szMobileHUDScript);
}
@@ -1214,6 +1232,10 @@ void Stop()
" getattr(_mm.mouseController, 'cursorDict', {}).clear()\n");
PyGILState_Release(gil);
}
StopAccountRegistration();
#ifdef MT_HAS_MESHPORT
mt::meshport::shutdown(); // PORT: join SDK worker and stop mesh before Python/platform teardown.
#endif
g_launcher->Clear();
g_game_singletons.reset();
g_game_application.reset();