port: P3-d PythonTextTail + textTail module (1:1 40250)
Copy PythonTextTail.cpp/PythonTextTailModule.cpp verbatim, drop the pending stand-in and the textTail module stub, register initTextTail() after initChat() and call CPythonTextTail::Initialize() in Create as 40250 does. Implement CScreen::ProjectPosition/UnprojectPosition (were stubs) with D3DXVec3Project/Unproject, and ApplicationStringTable_GetString(DWORD) over UserInterface.rc's English string table. port.login_flow projects the ground item's name tail in an ALT frame and picks it back by screen position. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
72b19b677d
commit
070a27b2cb
@@ -19,7 +19,6 @@ void AddStubConstants_shop(PyObject* poModule);
|
||||
void AddStubConstants_skill(PyObject* poModule);
|
||||
void AddStubConstants_snd(PyObject* poModule);
|
||||
void AddStubConstants_systemSetting(PyObject* poModule);
|
||||
void AddStubConstants_textTail(PyObject* poModule);
|
||||
void AddStubConstants_udp(PyObject* poModule);
|
||||
|
||||
namespace {
|
||||
@@ -691,46 +690,6 @@ PyMethodDef methods_systemSetting[] = {
|
||||
{ "SetShadowLevel", stub_systemSetting_SetShadowLevel, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonTextTailModule.cpp: textTail export names.
|
||||
PyObject* stub_textTail_Clear(PyObject*, PyObject*) { return stub_call_named("textTail.Clear", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_UpdateAllTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.UpdateAllTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_UpdateShowingTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.UpdateShowingTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_Render(PyObject*, PyObject*) { return stub_call_named("textTail.Render", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_ShowCharacterTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.ShowCharacterTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_ShowItemTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.ShowItemTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_GetPosition(PyObject*, PyObject*) { return stub_call_named("textTail.GetPosition", Py_BuildValue("fff", 0.0, 0.0, 0.0)); }
|
||||
PyObject* stub_textTail_IsChat(PyObject*, PyObject*) { return stub_call_named("textTail.IsChat", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_textTail_ArrangeTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.ArrangeTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_HideAllTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.HideAllTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_ShowAllTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.ShowAllTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_Pick(PyObject*, PyObject*) { return stub_call_named("textTail.Pick", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_textTail_SelectItemName(PyObject*, PyObject*) { return stub_call_named("textTail.SelectItemName", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_EnablePKTitle(PyObject*, PyObject*) { return stub_call_named("textTail.EnablePKTitle", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_RegisterCharacterTextTail(PyObject*, PyObject*) { return stub_call_named("textTail.RegisterCharacterTextTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_RegisterChatTail(PyObject*, PyObject*) { return stub_call_named("textTail.RegisterChatTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_RegisterInfoTail(PyObject*, PyObject*) { return stub_call_named("textTail.RegisterInfoTail", Py_BuildNone()); }
|
||||
PyObject* stub_textTail_AttachTitle(PyObject*, PyObject*) { return stub_call_named("textTail.AttachTitle", Py_BuildNone()); }
|
||||
PyMethodDef methods_textTail[] = {
|
||||
{ "Clear", stub_textTail_Clear, METH_VARARGS },
|
||||
{ "UpdateAllTextTail", stub_textTail_UpdateAllTextTail, METH_VARARGS },
|
||||
{ "UpdateShowingTextTail", stub_textTail_UpdateShowingTextTail, METH_VARARGS },
|
||||
{ "Render", stub_textTail_Render, METH_VARARGS },
|
||||
{ "ShowCharacterTextTail", stub_textTail_ShowCharacterTextTail, METH_VARARGS },
|
||||
{ "ShowItemTextTail", stub_textTail_ShowItemTextTail, METH_VARARGS },
|
||||
{ "GetPosition", stub_textTail_GetPosition, METH_VARARGS },
|
||||
{ "IsChat", stub_textTail_IsChat, METH_VARARGS },
|
||||
{ "ArrangeTextTail", stub_textTail_ArrangeTextTail, METH_VARARGS },
|
||||
{ "HideAllTextTail", stub_textTail_HideAllTextTail, METH_VARARGS },
|
||||
{ "ShowAllTextTail", stub_textTail_ShowAllTextTail, METH_VARARGS },
|
||||
{ "Pick", stub_textTail_Pick, METH_VARARGS },
|
||||
{ "SelectItemName", stub_textTail_SelectItemName, METH_VARARGS },
|
||||
{ "EnablePKTitle", stub_textTail_EnablePKTitle, METH_VARARGS },
|
||||
{ "RegisterCharacterTextTail", stub_textTail_RegisterCharacterTextTail, METH_VARARGS },
|
||||
{ "RegisterChatTail", stub_textTail_RegisterChatTail, METH_VARARGS },
|
||||
{ "RegisterInfoTail", stub_textTail_RegisterInfoTail, METH_VARARGS },
|
||||
{ "AttachTitle", stub_textTail_AttachTitle, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonNetworkDatagramModule.cpp: udp export names.
|
||||
PyObject* stub_udp_Enable(PyObject*, PyObject*) { return stub_call_named("udp.Enable", Py_BuildNone()); }
|
||||
PyObject* stub_udp_Disable(PyObject*, PyObject*) { return stub_call_named("udp.Disable", Py_BuildNone()); }
|
||||
@@ -812,11 +771,6 @@ void init_2v0_gameplay_stubs() {
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_systemSetting(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("textTail", methods_textTail);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_textTail(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("udp", methods_udp);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
|
||||
Reference in New Issue
Block a user