port: P3-c PythonExchange + exchange module (1:1 40250)
Copy PythonExchange.cpp/PythonExchangeModule.cpp verbatim, drop the pending stand-in and the exchange module stub, register initTrade() after initNonPlayer(). The fake server answers CG_EXCHANGE START with the partner's item + gold and CANCEL with END; port.login_flow drives the exchange round-trip through the Python exchange/net modules and uiexchange. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
9298500df9
commit
72b19b677d
@@ -81,13 +81,6 @@ void AddStubConstants_eventMgr(PyObject* poModule)
|
||||
(void) poModule;
|
||||
}
|
||||
|
||||
// 40250 UserInterface/PythonExchangeModule.cpp
|
||||
void AddStubConstants_exchange(PyObject* poModule)
|
||||
{
|
||||
(void) poModule;
|
||||
PyModule_AddIntConstant(poModule, "EXCHANGE_ITEM_MAX_NUM", CPythonExchange::EXCHANGE_ITEM_MAX_NUM);
|
||||
}
|
||||
|
||||
// 40250 UserInterface/PythonGuild.cpp
|
||||
void AddStubConstants_guild(PyObject* poModule)
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
void AddStubConstants_background(PyObject* poModule);
|
||||
void AddStubConstants_event(PyObject* poModule);
|
||||
void AddStubConstants_eventMgr(PyObject* poModule);
|
||||
void AddStubConstants_exchange(PyObject* poModule);
|
||||
void AddStubConstants_guild(PyObject* poModule);
|
||||
void AddStubConstants_ime(PyObject* poModule);
|
||||
void AddStubConstants_messenger(PyObject* poModule);
|
||||
@@ -187,46 +186,6 @@ PyMethodDef methods_eventMgr[] = {
|
||||
{ "Update", stub_eventMgr_Update, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonExchangeModule.cpp: exchange export names.
|
||||
PyObject* stub_exchange_InitTrading(PyObject*, PyObject*) { return stub_call_named("exchange.InitTrading", Py_BuildNone()); }
|
||||
PyObject* stub_exchange_isTrading(PyObject*, PyObject*) { return stub_call_named("exchange.isTrading", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetElkFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetElkFromSelf", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetElkFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetElkFromTarget", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemVnumFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemVnumFromSelf", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemVnumFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemVnumFromTarget", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemCountFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemCountFromSelf", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemCountFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemCountFromTarget", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetAcceptFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetAcceptFromSelf", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetAcceptFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetAcceptFromTarget", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetNameFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetNameFromSelf", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_exchange_GetNameFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetNameFromTarget", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_exchange_GetItemMetinSocketFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemMetinSocketFromTarget", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemMetinSocketFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemMetinSocketFromSelf", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_exchange_GetItemAttributeFromTarget(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemAttributeFromTarget", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_exchange_GetItemAttributeFromSelf(PyObject*, PyObject*) { return stub_call_named("exchange.GetItemAttributeFromSelf", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_exchange_GetElkMode(PyObject*, PyObject*) { return stub_call_named("exchange.GetElkMode", Py_BuildValue("b", 0)); }
|
||||
PyObject* stub_exchange_SetElkMode(PyObject*, PyObject*) { return stub_call_named("exchange.SetElkMode", Py_BuildNone()); }
|
||||
PyMethodDef methods_exchange[] = {
|
||||
{ "InitTrading", stub_exchange_InitTrading, METH_VARARGS },
|
||||
{ "isTrading", stub_exchange_isTrading, METH_VARARGS },
|
||||
{ "GetElkFromSelf", stub_exchange_GetElkFromSelf, METH_VARARGS },
|
||||
{ "GetElkFromTarget", stub_exchange_GetElkFromTarget, METH_VARARGS },
|
||||
{ "GetItemVnumFromSelf", stub_exchange_GetItemVnumFromSelf, METH_VARARGS },
|
||||
{ "GetItemVnumFromTarget", stub_exchange_GetItemVnumFromTarget, METH_VARARGS },
|
||||
{ "GetItemCountFromSelf", stub_exchange_GetItemCountFromSelf, METH_VARARGS },
|
||||
{ "GetItemCountFromTarget", stub_exchange_GetItemCountFromTarget, METH_VARARGS },
|
||||
{ "GetAcceptFromSelf", stub_exchange_GetAcceptFromSelf, METH_VARARGS },
|
||||
{ "GetAcceptFromTarget", stub_exchange_GetAcceptFromTarget, METH_VARARGS },
|
||||
{ "GetNameFromSelf", stub_exchange_GetNameFromSelf, METH_VARARGS },
|
||||
{ "GetNameFromTarget", stub_exchange_GetNameFromTarget, METH_VARARGS },
|
||||
{ "GetItemMetinSocketFromTarget", stub_exchange_GetItemMetinSocketFromTarget, METH_VARARGS },
|
||||
{ "GetItemMetinSocketFromSelf", stub_exchange_GetItemMetinSocketFromSelf, METH_VARARGS },
|
||||
{ "GetItemAttributeFromTarget", stub_exchange_GetItemAttributeFromTarget, METH_VARARGS },
|
||||
{ "GetItemAttributeFromSelf", stub_exchange_GetItemAttributeFromSelf, METH_VARARGS },
|
||||
{ "GetElkMode", stub_exchange_GetElkMode, METH_VARARGS },
|
||||
{ "SetElkMode", stub_exchange_SetElkMode, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonGuild.cpp: guild export names.
|
||||
PyObject* stub_guild_IsGuildEnable(PyObject*, PyObject*) { return stub_call_named("guild.IsGuildEnable", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_guild_GuildIDToMarkID(PyObject*, PyObject*) { return stub_call_named("guild.GuildIDToMarkID", Py_BuildValue("i", 0)); }
|
||||
@@ -798,11 +757,6 @@ void init_2v0_gameplay_stubs() {
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_eventMgr(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("exchange", methods_exchange);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_exchange(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("guild", methods_guild);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
|
||||
@@ -349,6 +349,7 @@ bool run_main_script_body(const char* lpCmdLine, std::string* error)
|
||||
initPlayer();
|
||||
initItem();
|
||||
initNonPlayer();
|
||||
initTrade();
|
||||
initChat();
|
||||
initnet();
|
||||
initeffect();
|
||||
|
||||
Reference in New Issue
Block a user