port: FlyingData/Instance/ObjectManager/FlyTrace + effect/fly modules (batch 2 P1)

Verbatim copies of the 40250 flying-object units and the effect/fly
Python modules replace the pending CFlyingManager stand-in and the two
module stubs; initeffect/initfly run after initnet as in 40250 and the
flying manager gets the background as its map manager.
CMapManager::GetTerrainHeight is added over the native height tiles.
login_flow checks playersettingmodule registered the indexed fly data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-24 00:12:19 +09:00
co-authored by Claude Opus 5.5
parent 05de621199
commit 9dcf34dffc
25 changed files with 2312 additions and 182 deletions
@@ -73,54 +73,6 @@ void AddStubConstants_background(PyObject* poModule)
PyModule_AddIntConstant(poModule, "TEXTURE_SORT", CMapOutdoor::TEXTURE_SORT);
}
// 40250 UserInterface/PythonEffectModule.cpp
enum
{
FLY_NONE,
FLY_EXP,
FLY_HP_MEDIUM,
FLY_HP_BIG,
FLY_SP_SMALL,
FLY_SP_MEDIUM,
FLY_SP_BIG,
FLY_FIREWORK1,
FLY_FIREWORK2,
FLY_FIREWORK3,
FLY_FIREWORK4,
FLY_FIREWORK5,
FLY_FIREWORK6,
FLY_FIREWORK_XMAS,
FLY_CHAIN_LIGHTNING,
FLY_HP_SMALL,
FLY_SKILL_MUYEONG,
};
// 40250 UserInterface/PythonEffectModule.cpp
void AddStubConstants_effect(PyObject* poModule)
{
(void) poModule;
PyModule_AddIntConstant(poModule, "INDEX_FLY_TYPE_NORMAL", CFlyingManager::INDEX_FLY_TYPE_NORMAL);
PyModule_AddIntConstant(poModule, "INDEX_FLY_TYPE_FIRE_CRACKER", CFlyingManager::INDEX_FLY_TYPE_FIRE_CRACKER);
PyModule_AddIntConstant(poModule, "INDEX_FLY_TYPE_AUTO_FIRE", CFlyingManager::INDEX_FLY_TYPE_AUTO_FIRE);
PyModule_AddIntConstant(poModule, "FLY_NONE", FLY_NONE);
PyModule_AddIntConstant(poModule, "FLY_EXP", FLY_EXP);
PyModule_AddIntConstant(poModule, "FLY_HP_MEDIUM", FLY_HP_MEDIUM);
PyModule_AddIntConstant(poModule, "FLY_HP_BIG", FLY_HP_BIG);
PyModule_AddIntConstant(poModule, "FLY_SP_SMALL", FLY_SP_SMALL);
PyModule_AddIntConstant(poModule, "FLY_SP_MEDIUM", FLY_SP_MEDIUM);
PyModule_AddIntConstant(poModule, "FLY_SP_BIG", FLY_SP_BIG);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK1", FLY_FIREWORK1);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK2", FLY_FIREWORK2);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK3", FLY_FIREWORK3);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK4", FLY_FIREWORK4);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK5", FLY_FIREWORK5);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK6", FLY_FIREWORK6);
PyModule_AddIntConstant(poModule, "FLY_FIREWORK_XMAS", FLY_FIREWORK_XMAS);
PyModule_AddIntConstant(poModule, "FLY_CHAIN_LIGHTNING", FLY_CHAIN_LIGHTNING);
PyModule_AddIntConstant(poModule, "FLY_HP_SMALL", FLY_HP_SMALL);
PyModule_AddIntConstant(poModule, "FLY_SKILL_MUYEONG", FLY_SKILL_MUYEONG);
}
// 40250 UserInterface/PythonEventManagerMoudle.cpp
void AddStubConstants_event(PyObject* poModule)
{
@@ -144,12 +96,6 @@ void AddStubConstants_exchange(PyObject* poModule)
PyModule_AddIntConstant(poModule, "EXCHANGE_ITEM_MAX_NUM", CPythonExchange::EXCHANGE_ITEM_MAX_NUM);
}
// 40250 UserInterface/PythonFlyModule.cpp
void AddStubConstants_fly(PyObject* poModule)
{
(void) poModule;
}
// 40250 UserInterface/PythonGuild.cpp
void AddStubConstants_guild(PyObject* poModule)
{