port: P3-e PythonMiniMap + miniMap module (1:1 40250)

Copy PythonMiniMap.cpp/PythonMiniMapModule.cpp and PRTerrainLib/StdAfx.cpp
verbatim, drop the pending stand-in and the miniMap module stub, register
initMiniMap() after initnet(). PR_FLOAT_TO_INTASM uses lrintf off MSVC;
D3DXColorModulate added. CMapOutdoor is not ported, so the pending
CMapManager::IsMapOutdoor() returns false (DIVERGENT) and the minimap's terrain
and atlas paths stay on 40250's no-outdoor-map branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-24 01:18:57 +09:00
co-authored by Claude Opus 5.5
parent 070a27b2cb
commit 7358bf444a
18 changed files with 2429 additions and 158 deletions
@@ -11,7 +11,6 @@ void AddStubConstants_eventMgr(PyObject* poModule);
void AddStubConstants_guild(PyObject* poModule);
void AddStubConstants_ime(PyObject* poModule);
void AddStubConstants_messenger(PyObject* poModule);
void AddStubConstants_miniMap(PyObject* poModule);
void AddStubConstants_profiler(PyObject* poModule);
void AddStubConstants_quest(PyObject* poModule);
void AddStubConstants_safebox(PyObject* poModule);
@@ -341,64 +340,6 @@ PyMethodDef methods_messenger[] = {
{ "SetMessengerHandler", stub_messenger_SetMessengerHandler, METH_VARARGS },
{ NULL, NULL }
};
// 40250 UserInterface/PythonMiniMapModule.cpp: miniMap export names.
PyObject* stub_miniMap_SetScale(PyObject*, PyObject*) { return stub_call_named("miniMap.SetScale", Py_BuildNone()); }
PyObject* stub_miniMap_ScaleUp(PyObject*, PyObject*) { return stub_call_named("miniMap.ScaleUp", Py_BuildNone()); }
PyObject* stub_miniMap_ScaleDown(PyObject*, PyObject*) { return stub_call_named("miniMap.ScaleDown", Py_BuildNone()); }
PyObject* stub_miniMap_SetMiniMapSize(PyObject*, PyObject*) { return stub_call_named("miniMap.SetMiniMapSize", Py_BuildNone()); }
PyObject* stub_miniMap_SetCenterPosition(PyObject*, PyObject*) { return stub_call_named("miniMap.SetCenterPosition", Py_BuildNone()); }
PyObject* stub_miniMap_Destroy(PyObject*, PyObject*) { return stub_call_named("miniMap.Destroy", Py_BuildNone()); }
PyObject* stub_miniMap_Create(PyObject*, PyObject*) { return stub_call_named("miniMap.Create", Py_BuildNone()); }
PyObject* stub_miniMap_Update(PyObject*, PyObject*) { return stub_call_named("miniMap.Update", Py_BuildNone()); }
PyObject* stub_miniMap_Render(PyObject*, PyObject*) { return stub_call_named("miniMap.Render", Py_BuildNone()); }
PyObject* stub_miniMap_Show(PyObject*, PyObject*) { return stub_call_named("miniMap.Show", Py_BuildNone()); }
PyObject* stub_miniMap_Hide(PyObject*, PyObject*) { return stub_call_named("miniMap.Hide", Py_BuildNone()); }
PyObject* stub_miniMap_isShow(PyObject*, PyObject*) { return stub_call_named("miniMap.isShow", Py_BuildValue("b", 0)); }
PyObject* stub_miniMap_GetInfo(PyObject*, PyObject*) { return stub_call_named("miniMap.GetInfo", Py_BuildValue("isiil", 0, "", 0, 0, 0L)); }
PyObject* stub_miniMap_LoadAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.LoadAtlas", Py_BuildNone()); }
PyObject* stub_miniMap_UpdateAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.UpdateAtlas", Py_BuildNone()); }
PyObject* stub_miniMap_RenderAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.RenderAtlas", Py_BuildNone()); }
PyObject* stub_miniMap_ShowAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.ShowAtlas", Py_BuildNone()); }
PyObject* stub_miniMap_HideAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.HideAtlas", Py_BuildNone()); }
PyObject* stub_miniMap_isShowAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.isShowAtlas", Py_BuildValue("b", 0)); }
PyObject* stub_miniMap_IsAtlas(PyObject*, PyObject*) { return stub_call_named("miniMap.IsAtlas", Py_BuildValue("b", 0)); }
PyObject* stub_miniMap_GetAtlasInfo(PyObject*, PyObject*) { return stub_call_named("miniMap.GetAtlasInfo", Py_BuildValue("isiili", 0, "", 0, 0, 0L, 0)); }
PyObject* stub_miniMap_GetAtlasSize(PyObject*, PyObject*) { return stub_call_named("miniMap.GetAtlasSize", Py_BuildValue("bii", 0, 0, 0)); }
PyObject* stub_miniMap_AddWayPoint(PyObject*, PyObject*) { return stub_call_named("miniMap.AddWayPoint", Py_BuildNone()); }
PyObject* stub_miniMap_RemoveWayPoint(PyObject*, PyObject*) { return stub_call_named("miniMap.RemoveWayPoint", Py_BuildNone()); }
PyObject* stub_miniMap_RegisterAtlasWindow(PyObject*, PyObject*) { return stub_call_named("miniMap.RegisterAtlasWindow", Py_BuildNone()); }
PyObject* stub_miniMap_UnregisterAtlasWindow(PyObject*, PyObject*) { return stub_call_named("miniMap.UnregisterAtlasWindow", Py_BuildNone()); }
PyObject* stub_miniMap_GetGuildAreaID(PyObject*, PyObject*) { return stub_call_named("miniMap.GetGuildAreaID", Py_BuildValue("i", 0)); }
PyMethodDef methods_miniMap[] = {
{ "SetScale", stub_miniMap_SetScale, METH_VARARGS },
{ "ScaleUp", stub_miniMap_ScaleUp, METH_VARARGS },
{ "ScaleDown", stub_miniMap_ScaleDown, METH_VARARGS },
{ "SetMiniMapSize", stub_miniMap_SetMiniMapSize, METH_VARARGS },
{ "SetCenterPosition", stub_miniMap_SetCenterPosition, METH_VARARGS },
{ "Destroy", stub_miniMap_Destroy, METH_VARARGS },
{ "Create", stub_miniMap_Create, METH_VARARGS },
{ "Update", stub_miniMap_Update, METH_VARARGS },
{ "Render", stub_miniMap_Render, METH_VARARGS },
{ "Show", stub_miniMap_Show, METH_VARARGS },
{ "Hide", stub_miniMap_Hide, METH_VARARGS },
{ "isShow", stub_miniMap_isShow, METH_VARARGS },
{ "GetInfo", stub_miniMap_GetInfo, METH_VARARGS },
{ "LoadAtlas", stub_miniMap_LoadAtlas, METH_VARARGS },
{ "UpdateAtlas", stub_miniMap_UpdateAtlas, METH_VARARGS },
{ "RenderAtlas", stub_miniMap_RenderAtlas, METH_VARARGS },
{ "ShowAtlas", stub_miniMap_ShowAtlas, METH_VARARGS },
{ "HideAtlas", stub_miniMap_HideAtlas, METH_VARARGS },
{ "isShowAtlas", stub_miniMap_isShowAtlas, METH_VARARGS },
{ "IsAtlas", stub_miniMap_IsAtlas, METH_VARARGS },
{ "GetAtlasInfo", stub_miniMap_GetAtlasInfo, METH_VARARGS },
{ "GetAtlasSize", stub_miniMap_GetAtlasSize, METH_VARARGS },
{ "AddWayPoint", stub_miniMap_AddWayPoint, METH_VARARGS },
{ "RemoveWayPoint", stub_miniMap_RemoveWayPoint, METH_VARARGS },
{ "RegisterAtlasWindow", stub_miniMap_RegisterAtlasWindow, METH_VARARGS },
{ "UnregisterAtlasWindow", stub_miniMap_UnregisterAtlasWindow, METH_VARARGS },
{ "GetGuildAreaID", stub_miniMap_GetGuildAreaID, METH_VARARGS },
{ NULL, NULL }
};
// 40250 UserInterface/PythonProfilerModule.cpp: profiler export names.
PyObject* stub_profiler_Push(PyObject*, PyObject*) { return stub_call_named("profiler.Push", Py_BuildNone()); }
PyObject* stub_profiler_Pop(PyObject*, PyObject*) { return stub_call_named("profiler.Pop", Py_BuildNone()); }
@@ -731,11 +672,6 @@ void init_2v0_gameplay_stubs() {
PyModule_AddIntConstant(module, "__port_stub__", 1);
AddStubConstants_messenger(module);
}
{
PyObject* module = Py_InitModule("miniMap", methods_miniMap);
PyModule_AddIntConstant(module, "__port_stub__", 1);
AddStubConstants_miniMap(module);
}
{
PyObject* module = Py_InitModule("profiler", methods_profiler);
PyModule_AddIntConstant(module, "__port_stub__", 1);