port 2V2-b: GamePhase dispatch consumes the Entergame burst

PythonNetworkStreamPhaseGame/PhaseGameActor/PhaseGameItem/Command,
NetworkActorManager and PythonChat/PythonChatModule are ported verbatim and
dispatched at runtime; the 2V0 chat stub module is removed and initChat()
runs before initnet() as in 40250. InstanceBase, PythonCharacterManager and
GameLib ActorInstance/RaceData/RaceManager compile but stay TODO until
2V2-c/d wire them.

Units not ported yet get their singletons from PythonBoot's GameSingletons
(CPythonApplication member order) and platform/pending stand-ins generated
by platform_stub.py pending; const char* stand-ins return "".

port.login_flow's fake server now sends the CInputLogin::Entergame order
(actor insert, NPC positions, PHASE_GAME, land list, time, channel, greet
notice, ping) and a TraceError observer asserts no unknown packet header.
port.login_live passes against the real server for 10 s of game phase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 18:20:57 +09:00
co-authored by Claude Opus 5.5
parent d16fabf61c
commit 62b6e23bfc
76 changed files with 21087 additions and 753 deletions
+13
View File
@@ -7,6 +7,7 @@
#include "../PlatformStub.h"
#include "EterBase/Timer.h"
#include "LogBox.h"
#include "TraceErrorObserver.h"
#include <cstdarg>
#include <cstdio>
@@ -15,6 +16,16 @@
const DWORD DEBUG_STRING_MAX_LEN = 1024;
namespace
{
TraceErrorObserver g_trace_error_observer = nullptr;
}
void SetTraceErrorObserver(TraceErrorObserver observer)
{
g_trace_error_observer = observer;
}
auto SetLogLevel(UINT) -> void
{
MT_PLATFORM_STUB();
@@ -91,6 +102,8 @@ void TraceError(const char* c_szFormat, ...)
ELTimer_GetMSec() % 60000,
szBuf + 8);
fflush(stderr);
if (g_trace_error_observer)
g_trace_error_observer(szBuf + 8);
#endif
}
@@ -0,0 +1,8 @@
#pragma once
// Test hook: sees every TraceError line (without the "SYSERR: " prefix) after it is written to stderr.
// The 40250 client only writes these to syserr.txt; tests use it to fail on, e.g., the stream's
// "Unknown packet header" (CPythonNetworkStream::CheckPacket), which otherwise only clears the buffer.
using TraceErrorObserver = void (*)(const char* line);
void SetTraceErrorObserver(TraceErrorObserver observer);
+6
View File
@@ -35,6 +35,12 @@ T mt_platform_stub_return()
return static_cast<T>(*reinterpret_cast<U*>(storage));
}
}
else if constexpr (std::is_same_v<T, const char*>)
{
// Callers strcmp/strlen/format the names these return (CPythonPlayer::GetName in RecvGuild); a
// null string would crash where the real function never returns one.
return "";
}
else if constexpr (std::is_default_constructible_v<T>)
{
return T{};
@@ -75,28 +75,6 @@ void AddStubConstants_background(PyObject* poModule)
PyModule_AddIntConstant(poModule, "TEXTURE_SORT", CMapOutdoor::TEXTURE_SORT);
}
// 40250 UserInterface/PythonChatModule.cpp
void AddStubConstants_chat(PyObject* poModule)
{
(void) poModule;
PyModule_AddIntConstant(poModule, "CHAT_TYPE_TALKING", CHAT_TYPE_TALKING);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_INFO", CHAT_TYPE_INFO);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_NOTICE", CHAT_TYPE_NOTICE);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_PARTY", CHAT_TYPE_PARTY);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_GUILD", CHAT_TYPE_GUILD);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_COMMAND", CHAT_TYPE_COMMAND);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_SHOUT", CHAT_TYPE_SHOUT);
PyModule_AddIntConstant(poModule, "CHAT_TYPE_WHISPER", CHAT_TYPE_WHISPER);
PyModule_AddIntConstant(poModule, "WHISPER_TYPE_CHAT", CPythonChat::WHISPER_TYPE_CHAT);
PyModule_AddIntConstant(poModule, "WHISPER_TYPE_SYSTEM", CPythonChat::WHISPER_TYPE_SYSTEM);
PyModule_AddIntConstant(poModule, "WHISPER_TYPE_GM", CPythonChat::WHISPER_TYPE_GM);
PyModule_AddIntConstant(poModule, "BOARD_STATE_VIEW", CPythonChat::BOARD_STATE_VIEW);
PyModule_AddIntConstant(poModule, "BOARD_STATE_EDIT", CPythonChat::BOARD_STATE_EDIT);
PyModule_AddIntConstant(poModule, "BOARD_STATE_LOG", CPythonChat::BOARD_STATE_LOG);
PyModule_AddIntConstant(poModule, "CHAT_SET_CHAT_WINDOW", 0);
PyModule_AddIntConstant(poModule, "CHAT_SET_LOG_WINDOW", 1);
}
// 40250 UserInterface/PythonCharacterModule.cpp
void AddStubConstants_chr(PyObject* poModule)
{
@@ -7,7 +7,6 @@
// GameplayModuleConstants.cpp: each module's 40250 constants.
void AddStubConstants_ServerStateChecker(PyObject* poModule);
void AddStubConstants_background(PyObject* poModule);
void AddStubConstants_chat(PyObject* poModule);
void AddStubConstants_chr(PyObject* poModule);
void AddStubConstants_chrmgr(PyObject* poModule);
void AddStubConstants_effect(PyObject* poModule);
@@ -154,70 +153,6 @@ PyMethodDef methods_background[] = {
{ "WarpTest", stub_background_WarpTest, METH_VARARGS },
{ NULL, NULL }
};
// 40250 UserInterface/PythonChatModule.cpp: chat export names.
PyObject* stub_chat_SetChatColor(PyObject*, PyObject*) { return stub_call_named("chat.SetChatColor", Py_BuildNone()); }
PyObject* stub_chat_Clear(PyObject*, PyObject*) { return stub_call_named("chat.Clear", Py_BuildNone()); }
PyObject* stub_chat_Close(PyObject*, PyObject*) { return stub_call_named("chat.Close", Py_BuildNone()); }
PyObject* stub_chat_CreateChatSet(PyObject*, PyObject*) { return stub_call_named("chat.CreateChatSet", Py_BuildValue("i", 0)); }
PyObject* stub_chat_Update(PyObject*, PyObject*) { return stub_call_named("chat.Update", Py_BuildNone()); }
PyObject* stub_chat_Render(PyObject*, PyObject*) { return stub_call_named("chat.Render", Py_BuildNone()); }
PyObject* stub_chat_SetBoardState(PyObject*, PyObject*) { return stub_call_named("chat.SetBoardState", Py_BuildNone()); }
PyObject* stub_chat_SetPosition(PyObject*, PyObject*) { return stub_call_named("chat.SetPosition", Py_BuildNone()); }
PyObject* stub_chat_SetHeight(PyObject*, PyObject*) { return stub_call_named("chat.SetHeight", Py_BuildNone()); }
PyObject* stub_chat_SetStep(PyObject*, PyObject*) { return stub_call_named("chat.SetStep", Py_BuildNone()); }
PyObject* stub_chat_ToggleChatMode(PyObject*, PyObject*) { return stub_call_named("chat.ToggleChatMode", Py_BuildNone()); }
PyObject* stub_chat_EnableChatMode(PyObject*, PyObject*) { return stub_call_named("chat.EnableChatMode", Py_BuildNone()); }
PyObject* stub_chat_DisableChatMode(PyObject*, PyObject*) { return stub_call_named("chat.DisableChatMode", Py_BuildNone()); }
PyObject* stub_chat_SetEndPos(PyObject*, PyObject*) { return stub_call_named("chat.SetEndPos", Py_BuildNone()); }
PyObject* stub_chat_GetLineCount(PyObject*, PyObject*) { return stub_call_named("chat.GetLineCount", Py_BuildValue("i", 0)); }
PyObject* stub_chat_GetVisibleLineCount(PyObject*, PyObject*) { return stub_call_named("chat.GetVisibleLineCount", Py_BuildValue("i", 0)); }
PyObject* stub_chat_GetLineStep(PyObject*, PyObject*) { return stub_call_named("chat.GetLineStep", Py_BuildValue("i", 0)); }
PyObject* stub_chat_AppendChat(PyObject*, PyObject*) { return stub_call_named("chat.AppendChat", Py_BuildNone()); }
PyObject* stub_chat_AppendChatWithDelay(PyObject*, PyObject*) { return stub_call_named("chat.AppendChatWithDelay", Py_BuildNone()); }
PyObject* stub_chat_ArrangeShowingChat(PyObject*, PyObject*) { return stub_call_named("chat.ArrangeShowingChat", Py_BuildNone()); }
PyObject* stub_chat_IgnoreCharacter(PyObject*, PyObject*) { return stub_call_named("chat.IgnoreCharacter", Py_BuildNone()); }
PyObject* stub_chat_IsIgnoreCharacter(PyObject*, PyObject*) { return stub_call_named("chat.IsIgnoreCharacter", Py_BuildNone()); }
PyObject* stub_chat_CreateWhisper(PyObject*, PyObject*) { return stub_call_named("chat.CreateWhisper", Py_BuildNone()); }
PyObject* stub_chat_AppendWhisper(PyObject*, PyObject*) { return stub_call_named("chat.AppendWhisper", Py_BuildNone()); }
PyObject* stub_chat_RenderWhisper(PyObject*, PyObject*) { return stub_call_named("chat.RenderWhisper", Py_BuildNone()); }
PyObject* stub_chat_SetWhisperBoxSize(PyObject*, PyObject*) { return stub_call_named("chat.SetWhisperBoxSize", Py_BuildNone()); }
PyObject* stub_chat_SetWhisperPosition(PyObject*, PyObject*) { return stub_call_named("chat.SetWhisperPosition", Py_BuildNone()); }
PyObject* stub_chat_ClearWhisper(PyObject*, PyObject*) { return stub_call_named("chat.ClearWhisper", Py_BuildNone()); }
PyObject* stub_chat_InitWhisper(PyObject*, PyObject*) { return stub_call_named("chat.InitWhisper", Py_BuildNone()); }
PyObject* stub_chat_GetLinkFromHyperlink(PyObject*, PyObject*) { return stub_call_named("chat.GetLinkFromHyperlink", Py_BuildValue("s", "")); }
PyMethodDef methods_chat[] = {
{ "SetChatColor", stub_chat_SetChatColor, METH_VARARGS },
{ "Clear", stub_chat_Clear, METH_VARARGS },
{ "Close", stub_chat_Close, METH_VARARGS },
{ "CreateChatSet", stub_chat_CreateChatSet, METH_VARARGS },
{ "Update", stub_chat_Update, METH_VARARGS },
{ "Render", stub_chat_Render, METH_VARARGS },
{ "SetBoardState", stub_chat_SetBoardState, METH_VARARGS },
{ "SetPosition", stub_chat_SetPosition, METH_VARARGS },
{ "SetHeight", stub_chat_SetHeight, METH_VARARGS },
{ "SetStep", stub_chat_SetStep, METH_VARARGS },
{ "ToggleChatMode", stub_chat_ToggleChatMode, METH_VARARGS },
{ "EnableChatMode", stub_chat_EnableChatMode, METH_VARARGS },
{ "DisableChatMode", stub_chat_DisableChatMode, METH_VARARGS },
{ "SetEndPos", stub_chat_SetEndPos, METH_VARARGS },
{ "GetLineCount", stub_chat_GetLineCount, METH_VARARGS },
{ "GetVisibleLineCount", stub_chat_GetVisibleLineCount, METH_VARARGS },
{ "GetLineStep", stub_chat_GetLineStep, METH_VARARGS },
{ "AppendChat", stub_chat_AppendChat, METH_VARARGS },
{ "AppendChatWithDelay", stub_chat_AppendChatWithDelay, METH_VARARGS },
{ "ArrangeShowingChat", stub_chat_ArrangeShowingChat, METH_VARARGS },
{ "IgnoreCharacter", stub_chat_IgnoreCharacter, METH_VARARGS },
{ "IsIgnoreCharacter", stub_chat_IsIgnoreCharacter, METH_VARARGS },
{ "CreateWhisper", stub_chat_CreateWhisper, METH_VARARGS },
{ "AppendWhisper", stub_chat_AppendWhisper, METH_VARARGS },
{ "RenderWhisper", stub_chat_RenderWhisper, METH_VARARGS },
{ "SetWhisperBoxSize", stub_chat_SetWhisperBoxSize, METH_VARARGS },
{ "SetWhisperPosition", stub_chat_SetWhisperPosition, METH_VARARGS },
{ "ClearWhisper", stub_chat_ClearWhisper, METH_VARARGS },
{ "InitWhisper", stub_chat_InitWhisper, METH_VARARGS },
{ "GetLinkFromHyperlink", stub_chat_GetLinkFromHyperlink, METH_VARARGS },
{ NULL, NULL }
};
// 40250 UserInterface/PythonCharacterModule.cpp: chr export names.
PyObject* stub_chr_DismountHorse(PyObject*, PyObject*) { return stub_call_named("chr.DismountHorse", Py_BuildNone()); }
PyObject* stub_chr_MountHorse(PyObject*, PyObject*) { return stub_call_named("chr.MountHorse", Py_BuildNone()); }
@@ -1502,11 +1437,6 @@ void init_2v0_gameplay_stubs() {
PyModule_AddIntConstant(module, "__port_stub__", 1);
AddStubConstants_background(module);
}
{
PyObject* module = Py_InitModule("chat", methods_chat);
PyModule_AddIntConstant(module, "__port_stub__", 1);
AddStubConstants_chat(module);
}
{
PyObject* module = Py_InitModule("chr", methods_chr);
PyModule_AddIntConstant(module, "__port_stub__", 1);
@@ -12,12 +12,31 @@
#include "UserInterface/PythonPlayer.h"
#include "GameLib/FlyingObjectManager.h"
#include "EffectLib/EffectManager.h"
#include "GameLib/ItemManager.h"
#include "UserInterface/PythonCharacterManager.h"
#include "UserInterface/PythonItem.h"
#include "UserInterface/PythonShop.h"
#include "UserInterface/PythonExchange.h"
#include "UserInterface/PythonChat.h"
#include "UserInterface/PythonTextTail.h"
#include "UserInterface/PythonNonPlayer.h"
#include "UserInterface/PythonMiniMap.h"
#include "UserInterface/PythonEventManager.h"
#include "UserInterface/PythonBackground.h"
#include "UserInterface/PythonQuest.h"
#include "UserInterface/PythonMessenger.h"
#include "UserInterface/PythonSafeBox.h"
#include "UserInterface/PythonGuild.h"
#include "UserInterface/AbstractApplication.h"
#include "UserInterface/PythonApplication.h"
#include "EterBase/Timer.h"
#include "PythonBoot.h"
#include "PythonHost.h"
#include "../EterLib/UIRenderCommands.h"
#include "../EterBase/LogBox.h"
#include <condition_variable>
#include <cstdlib>
#include <memory>
#include <mutex>
#include <pthread.h>
@@ -39,6 +58,61 @@ std::unique_ptr<CAccountConnector> g_account_connector;
std::unique_ptr<CPythonPlayer> g_player;
std::unique_ptr<CFlyingManager> g_flying_manager;
std::unique_ptr<CEffectManager> g_effect_manager;
// PORT: CPythonApplication is not constructed by the Godot host yet. GamePhase calls the
// 40250 IAbstractApplication singleton, so expose the host's current timer and camera surface.
class GameApplicationAdapter final : public IAbstractApplication
{
public:
void GetMousePosition(POINT* point) override { if (point) *point = {}; }
float GetGlobalTime() override { return CTimer::Instance().GetCurrentSecond(); }
float GetGlobalElapsedTime() override { return CTimer::Instance().GetElapsedSecond(); }
void SkipRenderBuffering(DWORD) override {}
void SetServerTime(time_t) override {}
void SetCenterPosition(float x, float y, float z) override
{
CPythonApplication::Instance().SetCenterPosition(x, y, z);
}
void SetEventCamera(const SCameraSetting& setting) override
{
CPythonApplication::Instance().SetEventCamera(setting);
}
void BlendEventCamera(const SCameraSetting&, float) override {}
void SetDefaultCamera() override { CPythonApplication::Instance().SetDefaultCamera(); }
void RunIMEUpdate() override {}
void RunIMETabEvent() override {}
void RunIMEReturnEvent() override {}
void RunIMEChangeCodePage() override {}
void RunIMEOpenCandidateListEvent() override {}
void RunIMECloseCandidateListEvent() override {}
void RunIMEOpenReadingWndEvent() override {}
void RunIMECloseReadingWndEvent() override {}
};
std::unique_ptr<GameApplicationAdapter> g_game_application;
// The CPythonApplication members the game phase reaches through Instance() (批次 2V2), in 40250's member
// order. All are platform/pending stand-ins so far: their stub constructors leave scalar members unset, so
// the object is built in zeroed storage and inline header accessors read null/0 rather than garbage.
struct GameSingletons
{
static void* operator new(size_t size) { return std::calloc(1, size); }
static void operator delete(void* p) { std::free(p); }
CItemManager kItemMgr;
CPythonCharacterManager kChrMgr;
CPythonItem pyItem;
CPythonShop pyShop;
CPythonExchange pyExchange;
CPythonChat pyChat;
CPythonTextTail pyTextTail;
CPythonNonPlayer pyNonPlayer;
CPythonMiniMap pyMiniMap;
CPythonEventManager pyEventManager;
CPythonBackground pyBackground;
CPythonQuest pyQuest;
CPythonMessenger pyManager;
CPythonSafeBox pySafeBox;
CPythonGuild pyGuild;
};
std::unique_ptr<GameSingletons> g_game_singletons;
bool fail(std::string* error, const std::string& text)
{
@@ -225,6 +299,8 @@ bool Start(const char* stdlib_path, std::string* error)
g_player = std::make_unique<CPythonPlayer>();
g_flying_manager = std::make_unique<CFlyingManager>();
g_effect_manager = std::make_unique<CEffectManager>();
g_game_application = std::make_unique<GameApplicationAdapter>();
g_game_singletons = std::make_unique<GameSingletons>();
return true;
}
@@ -245,6 +321,7 @@ bool run_main_script_body(const char* lpCmdLine, std::string* error)
initgrpText();
initwndMgr();
initapp();
initChat();
initnet();
init_2v0_gameplay_stubs();
@@ -411,6 +488,8 @@ void Stop()
// 40250 Main(): pyLauncher.Clear() runs before app->Destroy()/delete app, so the window manager
// (a CPythonApplication member) is still alive while Py_Finalize runs the windows' __del__.
g_launcher->Clear();
g_game_singletons.reset();
g_game_application.reset();
g_effect_manager.reset();
g_flying_manager.reset();
g_player.reset();
@@ -169,15 +169,11 @@ void CMovieMan::PlayLogo(const char*) { MT_PLATFORM_STUB(); }
float GetDegreeDifference(float, float) { MT_PLATFORM_STUB(); return 0; }
int GetRotatingDirection(float, float) { MT_PLATFORM_STUB(); return 0; }
BOOL HAIR_COLOR_ENABLE = FALSE;
BOOL PERF_CHECKER_RENDER_GAME = FALSE;
BOOL RIDE_HORSE_ENABLE = FALSE;
BOOL SKILL_EFFECT_UPGRADE_ENABLE = FALSE;
BOOL USE_ARMOR_SPECULAR = FALSE;
BOOL USE_WEAPON_SPECULAR = FALSE;
D3DXCOLOR g_fSpecularColor;
double g_specularSpd = 0;
int g_iAccumulationTime = 0;
bool LoadLocaleData(const char*) { MT_PLATFORM_STUB(); return false; }
void SetGuildSymbolPath(const char*) { MT_PLATFORM_STUB(); }
@@ -0,0 +1,23 @@
// Stand-in for the 40250 logic unit EterLib/AttributeInstance.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "EterLib/StdAfx.h"
#include "EterLib/AttributeInstance.h"
#include "../../PlatformStub.h"
auto CAttributeInstance::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CAttributeInstance::GetHeight(float, float, float *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CAttributeInstance::Delete(CAttributeInstance *) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,23 @@
// Stand-in for the 40250 logic unit EterLib/CollisionData.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "EterLib/StdAfx.h"
#include "EterLib/CollisionData.h"
#include "../../PlatformStub.h"
auto CSphereCollisionInstance::GetAttribute() -> TSphereData &
{
MT_PLATFORM_STUB();
return m_attribute;
}
auto CSphereCollisionInstance::GetAttribute() const -> const TSphereData & { return m_attribute; }
auto CSphereCollisionInstance::Render(D3DFILLMODE) -> void { MT_PLATFORM_STUB(); }
auto CSphereCollisionInstance::OnDestroy() -> void { MT_PLATFORM_STUB(); }
auto CSphereCollisionInstance::OnMovementCollisionDynamicSphere(const CDynamicSphereInstance&) const -> bool
{ MT_PLATFORM_STUB(); return false; }
auto CSphereCollisionInstance::OnCollisionDynamicSphere(const CDynamicSphereInstance&) const -> bool
{ MT_PLATFORM_STUB(); return false; }
auto CSphereCollisionInstance::OnGetCollisionMovementAdjust(const CDynamicSphereInstance&) const -> D3DXVECTOR3
{ MT_PLATFORM_STUB(); return D3DXVECTOR3(0, 0, 0); }
@@ -0,0 +1,565 @@
// Stand-in for the 40250 logic unit GameLib/ActorInstance.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/ActorInstance.h"
#include "../../PlatformStub.h"
auto CActorInstance::IEventHandler::GetEmptyPtr() -> IEventHandler *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<IEventHandler *>();
}
auto CActorInstance::IsDirLine() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::SetMaterialColor(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetEventHandler(IEventHandler *) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetRace(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::SetHair(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetVirtualID(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetShape(DWORD, float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::ChangeMaterial(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetRace() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CActorInstance::GetVirtualID() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CActorInstance::CanAct() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::CanMove() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::CanAttack() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::CanUseSkill() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::AttachWeapon(DWORD, DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RefreshActorInstance() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetPartItemID(DWORD) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CActorInstance::UpdateAttachingInstances() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetMotionMode(int) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetMotionMode() -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CActorInstance::SetLoopMotion(DWORD, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::InterceptOnceMotion(DWORD, float, UINT, float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::InterceptLoopMotion(DWORD, float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::IsPushing() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::IsUsingSkill() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::CanCancelSkill() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::UpdatePointInstance() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::TestCollisionWithDynamicSphere(const CDynamicSphereInstance &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::UpdateAdvancingPointInstance() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::AvoidObject(const CGraphicObjectInstance &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::IsBlockObject(const CGraphicObjectInstance &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::BlockMovement() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::TestPhysicsBlendingCollision(CActorInstance &) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::isAttacking() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::IsUsingMovingSkill() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::IsActEmotion() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::SetBlendingPosition(const TPixelPosition &, float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetBattleHitEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetMovementVectorRef() -> const D3DXVECTOR3 &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const D3DXVECTOR3 &>();
}
auto CActorInstance::SetCurPixelPosition(const TPixelPosition &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::NEW_SetSrcPixelPosition(const TPixelPosition &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::NEW_SetDstPixelPosition(const TPixelPosition &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::NEW_SetDstPixelPositionZ(float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::NEW_GetCurPixelPositionRef() -> const TPixelPosition &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const TPixelPosition &>();
}
auto CActorInstance::NEW_GetSrcPixelPositionRef() -> const TPixelPosition &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const TPixelPosition &>();
}
auto CActorInstance::NEW_GetDstPixelPositionRef() -> const TPixelPosition &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const TPixelPosition &>();
}
auto CActorInstance::NEW_GetLastPixelPositionRef() -> const TPixelPosition &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const TPixelPosition &>();
}
auto CActorInstance::GetPixelPosition(TPixelPosition *) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetRotation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CActorInstance::GetTargetRotation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CActorInstance::GetAdvancingRotation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CActorInstance::SetRotation(float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetAdvancingRotation(float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RestoreRenderMode() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetBlendRenderMode() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetAlphaValue(float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::GetAlphaValue() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CActorInstance::BlendAlphaValue(float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetAddRenderMode() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetAddColor(const D3DXCOLOR &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetModulateRenderMode() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetRenderMode(int) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RenderTrace() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RenderCollisionData() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RenderToShadowMap() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::UpdateAttribute() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::CanFishing() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::IsFishing() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CActorInstance::OnGetFlyTargetPosition() -> D3DXVECTOR3
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<D3DXVECTOR3>();
}
auto CActorInstance::OnShootDamage() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::AddFlyTarget(const CFlyTarget &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::SetFlyTarget(const CFlyTarget &) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::CanChangeTarget() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::HORSE_MotionProcess(BOOL) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::MotionProcess(BOOL) -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::RotationProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::ComboProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::ShakeProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::TraceProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::OnRender() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__ClearAttachingEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__ClearCombo() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__ClearMotion() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__IsWaitMotion() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__IsMoveMotion() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__IsDamageMotion() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__IsKnockDownMotion() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__IsDieMotion() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__GetCurrentMotionIndex() -> WORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<WORD>();
}
auto CActorInstance::__DestroyWeaponTrace() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__InitializePositionData() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__OnSyncing() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__OnWaiting() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__OnMoving() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::EnableSkipCollision() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::DisableSkipCollision() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__InitializeCollisionData() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__BlendAlpha_Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__BlendAlpha_Update() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::__IsSyncing() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CActorInstance::__OnStop() -> void
{
MT_PLATFORM_STUB();
}
auto CActorInstance::TEMP_Push(int, int) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,32 @@
// Stand-in for the 40250 logic unit GameLib/FlyTarget.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/FlyTarget.h"
#include "../../PlatformStub.h"
CFlyTarget::CFlyTarget(IFlyTargetableObject *)
{
MT_PLATFORM_STUB();
}
CFlyTarget::CFlyTarget(const D3DXVECTOR3 &)
{
MT_PLATFORM_STUB();
}
CFlyTarget::~CFlyTarget()
{
MT_PLATFORM_STUB();
}
CFlyTarget::CFlyTarget()
{
MT_PLATFORM_STUB();
}
auto CFlyTarget::NotifyTargetClear() -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,61 @@
// Stand-in for the 40250 logic unit GameLib/ItemData.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/ItemData.h"
#include "../../PlatformStub.h"
auto CItemData::GetName() const -> const char *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
}
auto CItemData::GetType() const -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CItemData::GetValue(BYTE) const -> long
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<long>();
}
auto CItemData::GetIndex() const -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CItemData::GetSubType() const -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CItemData::GetRefine() const -> UINT
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<UINT>();
}
auto CItemData::GetWeaponType() const -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CItemData::GetSocketCount() const -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CItemData::GetSpecularPowerf() const -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
@@ -0,0 +1,23 @@
// Stand-in for the 40250 logic unit GameLib/ItemManager.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/ItemManager.h"
#include "../../PlatformStub.h"
CItemManager::CItemManager()
{
MT_PLATFORM_STUB();
}
CItemManager::~CItemManager()
{
MT_PLATFORM_STUB();
}
auto CItemManager::GetItemDataPointer(DWORD, CItemData **) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -0,0 +1,70 @@
// Stand-in for the 40250 logic unit GameLib/MapManager.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/MapManager.h"
#include "../../PlatformStub.h"
auto CMapManager::GetHeight(float, float) -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
CMapManager::CMapManager()
{
MT_PLATFORM_STUB();
}
CMapManager::~CMapManager()
{
MT_PLATFORM_STUB();
}
auto CMapManager::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CMapManager::AllocMap() -> CMapBase *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CMapBase *>();
}
auto CMapManager::LoadMap(const std::string &, float, float, float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CMapManager::isPhysicalCollision(const D3DXVECTOR3 &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CMapManager::GetWaterHeight(int, int, long *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CMapManager::GetShadowMapColor(float, float) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CMapManager::isAttrOn(float, float, BYTE) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CMapManager::isAttrOn(int, int, BYTE) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
@@ -0,0 +1,11 @@
// Pending MapType.cpp dependency of InstanceBase; the full unit is not ported yet.
#include "GameLib/StdAfx.h"
#include "GameLib/MapType.h"
float SPixelPosition_CalculateDistanceSq3d(const TPixelPosition& left, const TPixelPosition& right)
{
float dx = left.x - right.x;
float dy = left.y - right.y;
float dz = left.z - right.z;
return dx * dx + dy * dy + dz * dz;
}
@@ -0,0 +1,7 @@
// Pending MapUtil.cpp dependency of the physics object. The interpolation unit remains 2V3 work.
#include "GameLib/StdAfx.h"
#include "GameLib/MapUtil.h"
#include "../../PlatformStub.h"
CEaseOutInterpolation::CEaseOutInterpolation() { MT_PLATFORM_STUB(); }
CEaseOutInterpolation::~CEaseOutInterpolation() { MT_PLATFORM_STUB(); }
@@ -0,0 +1,43 @@
// Stand-in for the 40250 logic unit GameLib/PhysicsObject.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/PhysicsObject.h"
#include "../../PlatformStub.h"
decltype(IObjectManager::ms_ObjManager) IObjectManager::ms_ObjManager{};
decltype(IPhysicsWorld::ms_pWorld) IPhysicsWorld::ms_pWorld{};
CPhysicsObject::CPhysicsObject()
{
MT_PLATFORM_STUB();
}
CPhysicsObject::~CPhysicsObject()
{
MT_PLATFORM_STUB();
}
auto CPhysicsObject::Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CPhysicsObject::Update(float) -> void
{
MT_PLATFORM_STUB();
}
auto CPhysicsObject::GetXMovement() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CPhysicsObject::GetYMovement() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
@@ -0,0 +1,17 @@
// Stand-in for the 40250 logic unit GameLib/PropertyManager.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/PropertyManager.h"
#include "../../PlatformStub.h"
CPropertyManager::CPropertyManager()
{
MT_PLATFORM_STUB();
}
CPropertyManager::~CPropertyManager()
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,13 @@
// Stand-in for the 40250 logic unit GameLib/RaceData.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "GameLib/StdAfx.h"
#include "GameLib/RaceData.h"
#include "../../PlatformStub.h"
auto CRaceData::GetNormalAttackIndex(WORD, WORD *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -0,0 +1,10 @@
// Pending GameType.cpp dependency of InstanceBase; the full unit is not ported yet.
#include "UserInterface/StdAfx.h"
#include "UserInterface/GameType.h"
std::string g_strGuildSymbolPathName = "mark/10/";
const char* GetGuildSymbolFileName(DWORD dwGuildID)
{
return _getf("%s%03d.jpg", g_strGuildSymbolPathName.c_str(), dwGuildID);
}
@@ -0,0 +1,389 @@
// Stand-in for the 40250 logic unit UserInterface/InstanceBase.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/InstanceBase.h"
#include "../../PlatformStub.h"
auto CInstanceBase::RegisterEffect(UINT, const char *, const char *, bool) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::__AttachEffect(UINT) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CInstanceBase::__DetachEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::CreateSpecialEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::AttachSpecialEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
decltype(CInstanceBase::ms_adwCRCAffectEffect) CInstanceBase::ms_adwCRCAffectEffect{};
decltype(CInstanceBase::ms_fDustGap) CInstanceBase::ms_fDustGap{};
decltype(CInstanceBase::ms_fHorseDustGap) CInstanceBase::ms_fHorseDustGap{};
auto CInstanceBase::DeleteBlendOut() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::AttachTextTail() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::DetachTextTail() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::UpdateTextTailLevel(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RefreshTextTail() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RefreshTextTailTitle() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::UpdateDeleting() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::ActDualEmotion(CInstanceBase &, WORD, WORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::ActEmotion(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::LevelUp() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SkillUp() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::Stun() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::Die() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::IsPVPInstance(CInstanceBase &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::IsAffect(UINT) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::SetEventHandler(CActorInstance::IEventHandler *) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::NEW_UseSkill(UINT, UINT, UINT, bool) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::NEW_GetDistanceFromDestPixelPosition(const TPixelPosition &) -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CInstanceBase::NEW_GetDistanceFromDestInstance(CInstanceBase &) -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CInstanceBase::NEW_SetPixelPosition(const TPixelPosition &) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RunNormalAttack(float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RunComboAttack(float, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::CheckAdvancing() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CInstanceBase::StartFishing(float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::StopFishing() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::ReactFishing() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::CatchSuccess() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::CatchFail() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SCRIPT_SetPixelPosition(float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::NEW_GetPixelPosition(TPixelPosition *) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::NEW_LookAtDestInstance(CInstanceBase &) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::GetRotation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CInstanceBase::GetAdvancingRotation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CInstanceBase::SetRotation(float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::BlendRotation(float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SetMotionMode(int) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::PushOnceMotion(WORD, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__ClearAffects() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SetAffectFlagContainer(const CAffectFlagContainer &) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SetEmoticon(UINT) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::SetFishEmoticon() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__EnableChangingTCPState() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__ComboProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::AttackProcess() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__AttachSelectEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__DetachSelectEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__AttachTargetEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__DetachTargetEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__AttachEmpireEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__EffectContainer_Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__EffectContainer_Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__StoneSmoke_Inialize() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__StoneSmoke_Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::ProcessDamage() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::AddDamageEffect(DWORD, BYTE, BOOL, BOOL) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::ClearPVPKeySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::InsertPVPKey(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RemovePVPKey(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::InsertGVGKey(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::RemoveGVGKey(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::InsertDUELKey(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CInstanceBase::__FindDUELKey(DWORD, DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CInstanceBase::GetEventHandlerRef() -> CActorInstance::IEventHandler &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CActorInstance::IEventHandler &>();
}
auto CInstanceBase::IsUsingSkill() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CInstanceBase::isLock() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CInstanceBase::__EffectContainer_AttachEffect(DWORD) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CInstanceBase::__EffectContainer_DetachEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
@@ -1,177 +0,0 @@
// Stand-in for the 40250 logic unit UserInterface/NetworkActorManager.cpp, not ported yet: the platform_stub.py skeleton of its
// header, so the units that call it (批次 2V1, the network slice) link. Delete this file in the commit
// that ports the unit into port/ (docs/PORT-PLAN.md 2V1).
#include "UserInterface/StdAfx.h"
#include "UserInterface/NetworkActorManager.h"
#include "UserInterface/PythonCharacterManager.h" // the __GetCharacterManager return type
#include "../../PlatformStub.h"
SNetworkActorData::SNetworkActorData()
{
MT_PLATFORM_STUB();
}
auto SNetworkActorData::SetDstPosition(DWORD, LONG, LONG, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto SNetworkActorData::SetPosition(LONG, LONG) -> void
{
MT_PLATFORM_STUB();
}
auto SNetworkActorData::UpdatePosition() -> void
{
MT_PLATFORM_STUB();
}
SNetworkActorData::SNetworkActorData(const SNetworkActorData &)
{
MT_PLATFORM_STUB();
}
auto SNetworkActorData::operator=(const SNetworkActorData &) -> void
{
MT_PLATFORM_STUB();
}
auto SNetworkActorData::__copy__(const SNetworkActorData &) -> void
{
MT_PLATFORM_STUB();
}
CNetworkActorManager::CNetworkActorManager()
{
MT_PLATFORM_STUB();
}
CNetworkActorManager::~CNetworkActorManager()
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::SetMainActorVID(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::RemoveActor(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::AppendActor(const SNetworkActorData &) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::UpdateActor(const SNetworkUpdateActorData &) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::MoveActor(const SNetworkMoveActorData &) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::SyncActor(DWORD, LONG, LONG) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::SetActorOwner(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::Update() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__OLD_Update() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__UpdateMainActor() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__IsVisiblePos(LONG, LONG) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CNetworkActorManager::__IsVisibleActor(const SNetworkActorData &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CNetworkActorManager::__IsMainActorVID(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CNetworkActorManager::__RemoveAllGroundItems() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__RemoveAllActors() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__RemoveDynamicActors() -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__RemoveCharacterManagerActor(SNetworkActorData &) -> void
{
MT_PLATFORM_STUB();
}
auto CNetworkActorManager::__FindActorData(DWORD) -> SNetworkActorData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<SNetworkActorData *>();
}
auto CNetworkActorManager::__AppendCharacterManagerActor(SNetworkActorData &) -> CInstanceBase *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CInstanceBase *>();
}
auto CNetworkActorManager::__FindActor(SNetworkActorData &) -> CInstanceBase *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CInstanceBase *>();
}
auto CNetworkActorManager::__FindActor(SNetworkActorData &, LONG, LONG) -> CInstanceBase *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CInstanceBase *>();
}
auto CNetworkActorManager::__GetCharacterManager() -> CPythonCharacterManager &
{
// PORT: the 40250 body (NetworkActorManager.cpp:310-313); a stub's default reference would construct a
// character manager.
return CPythonCharacterManager::Instance();
}
@@ -0,0 +1,90 @@
// Stand-in for the 40250 logic unit UserInterface/PythonBackground.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonBackground.h"
#include "../../PlatformStub.h"
auto CPythonBackground::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::Create() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::GlobalPositionToLocalPosition(LONG &, LONG &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::LocalPositionToGlobalPosition(LONG &, LONG &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::RefreshShadowLevel() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::Update(float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::ClearGuildArea() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::RegisterGuildArea(int, int, int, int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::CreateTargetEffect(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::CreateTargetEffect(DWORD, long, long) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::DeleteTargetEffect(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::Warp(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::GetWarpMapName() -> const char *
{
MT_PLATFORM_STUB();
// PORT: Keep the not-yet-ported map lookup safe for GamePhase's ShowMapName call.
return "";
}
CPythonBackground::CPythonBackground()
{
MT_PLATFORM_STUB();
}
CPythonBackground::~CPythonBackground()
{
MT_PLATFORM_STUB();
}
auto CPythonBackground::CheckAdvancing(CInstanceBase *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
@@ -0,0 +1,28 @@
// Stand-in for the 40250 logic unit UserInterface/PythonEventManager.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonEventManager.h"
#include "../../PlatformStub.h"
CPythonEventManager::CPythonEventManager()
{
MT_PLATFORM_STUB();
}
CPythonEventManager::~CPythonEventManager()
{
MT_PLATFORM_STUB();
}
auto CPythonEventManager::RegisterEventSetFromString(const std::string &) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CPythonEventManager::SetVisibleLineCount(int, int) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,108 @@
// Stand-in for the 40250 logic unit UserInterface/PythonExchange.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonExchange.h"
#include "../../PlatformStub.h"
CPythonExchange::CPythonExchange()
{
MT_PLATFORM_STUB();
}
CPythonExchange::~CPythonExchange()
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::Start() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::End() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::isTrading() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CPythonExchange::SetSelfName(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetTargetName(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetElkToTarget(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetElkToSelf(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemToTarget(DWORD, DWORD, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemToSelf(DWORD, DWORD, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemMetinSocketToTarget(int, int, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemMetinSocketToSelf(int, int, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemAttributeToTarget(int, int, BYTE, short) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetItemAttributeToSelf(int, int, BYTE, short) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::DelItemOfTarget(BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::DelItemOfSelf(BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetAcceptToTarget(BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonExchange::SetAcceptToSelf(BYTE) -> void
{
MT_PLATFORM_STUB();
}
@@ -11,3 +11,123 @@ BOOL CPythonGuild::GetMemberDataPtrByName(const char *, TGuildMemberData **)
MT_PLATFORM_STUB();
return FALSE;
}
auto CPythonGuild::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::EnableGuild() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::SetGuildMoney(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::SetGuildEXP(BYTE, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::SetGradeData(BYTE, TGuildGradeData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::SetGradeName(BYTE, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::SetGradeAuthority(BYTE, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::ClearComment() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::RegisterComment(DWORD, const char *, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::RegisterMember(TGuildMemberData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::ChangeGuildMemberGrade(DWORD, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::ChangeGuildMemberGeneralFlag(DWORD, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::RemoveMember(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::RegisterGuildName(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::IsMainPlayer(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CPythonGuild::GetGuildInfoRef() -> TGuildInfo &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TGuildInfo &>();
}
auto CPythonGuild::GetMemberDataPtrByPID(DWORD, TGuildMemberData **) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CPythonGuild::GetGuildSkillDataRef() -> TGuildSkillData &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TGuildSkillData &>();
}
auto CPythonGuild::GetGuildName(DWORD, std::string *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CPythonGuild::StartGuildWar(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonGuild::EndGuildWar(DWORD) -> void
{
MT_PLATFORM_STUB();
}
CPythonGuild::CPythonGuild()
{
MT_PLATFORM_STUB();
}
CPythonGuild::~CPythonGuild()
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,57 @@
// Stand-in for the 40250 logic unit UserInterface/PythonItem.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonItem.h"
#include "../../PlatformStub.h"
CPythonItem::CPythonItem()
{
MT_PLATFORM_STUB();
}
CPythonItem::~CPythonItem()
{
MT_PLATFORM_STUB();
}
auto CPythonItem::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::PlayUseSound(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::PlayDropSound(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::PlayUsePotionSound() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::CreateItem(DWORD, DWORD, float, float, float, bool) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::DeleteItem(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::DeleteAllItems() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonItem::SetOwnership(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,57 @@
// Stand-in for the 40250 logic unit UserInterface/PythonMessenger.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonMessenger.h"
#include "../../PlatformStub.h"
CPythonMessenger::CPythonMessenger()
{
MT_PLATFORM_STUB();
}
CPythonMessenger::~CPythonMessenger()
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::OnFriendLogin(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::OnFriendLogout(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::SetMobile(const char *, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::AppendGuildMember(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::RemoveGuildMember(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::RemoveAllGuildMember() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::LoginGuildMember(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMessenger::LogoutGuildMember(const char *) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,72 @@
// Stand-in for the 40250 logic unit UserInterface/PythonMiniMap.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonMiniMap.h"
#include "../../PlatformStub.h"
CPythonMiniMap::CPythonMiniMap()
{
MT_PLATFORM_STUB();
}
CPythonMiniMap::~CPythonMiniMap()
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::AddObserver(DWORD, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::MoveObserver(DWORD, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::RemoveObserver(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::ClearAtlasMarkInfo() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::RegisterAtlasMark(BYTE, const char *, long, long) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::ClearGuildArea() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::RegisterGuildArea(DWORD, DWORD, long, long, long, long) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::CreateTarget(int, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::CreateTarget(int, const char *, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::UpdateTarget(int, int, int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonMiniMap::DeleteTarget(int) -> void
{
MT_PLATFORM_STUB();
}
@@ -1,335 +0,0 @@
// Stand-in for the 40250 logic unit UserInterface/PythonNetworkStreamPhaseGame.cpp, not ported yet: the CPythonNetworkStream
// members it defines that the ported network slice (批次 2V1) references, as MT_PLATFORM_STUB()s. Delete this
// file in the commit that ports the unit into port/ (docs/PORT-PLAN.md 2V1).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonNetworkStream.h"
#include "EterBase/Filename.h"
#include "../../PlatformStub.h"
BOOL gs_bEmpireLanuageEnable = TRUE;
void CPythonNetworkStream::GamePhase()
{
MT_PLATFORM_STUB();
}
// PORT: consumes the packet only, so the loading phase keeps reading; the handler body comes with the unit.
bool CPythonNetworkStream::RecvPointChange()
{
MT_PLATFORM_STUB();
TPacketGCPointChange PointChange;
return Recv(sizeof(PointChange), &PointChange);
}
void CPythonNetworkStream::RegisterEmoticonString(const char *)
{
MT_PLATFORM_STUB();
}
bool CPythonNetworkStream::SendAnswerMakeGuildPacket(const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendCharacterPositionPacket(BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendChatPacket(const char *, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
// PORT: the 40250 body verbatim ahead of its unit: the loading phase sends it on the main-character packet.
bool CPythonNetworkStream::SendClientVersionPacket()
{
std::string filename;
GetExcutedFileName(filename);
filename = CFileNameHelper::NoPath(filename);
CFileNameHelper::ChangeDosPath(filename);
if (LocaleService_IsEUROPE() && false == LocaleService_IsYMIR())
{
TPacketCGClientVersion2 kVersionPacket;
kVersionPacket.header = HEADER_CG_CLIENT_VERSION2;
strncpy(kVersionPacket.filename, filename.c_str(), sizeof(kVersionPacket.filename)-1);
strncpy(kVersionPacket.timestamp, "1215955205", sizeof(kVersionPacket.timestamp)-1); // # python time.time 앞자리
//strncpy(kVersionPacket.timestamp, __TIMESTAMP__, sizeof(kVersionPacket.timestamp)-1); // old_string_ver
//strncpy(kVersionPacket.timestamp, "1218055205", sizeof(kVersionPacket.timestamp)-1); // new_future
//strncpy(kVersionPacket.timestamp, "1214055205", sizeof(kVersionPacket.timestamp)-1); // old_past
if (!Send(sizeof(kVersionPacket), &kVersionPacket))
Tracef("SendClientReportPacket Error");
}
else
{
TPacketCGClientVersion kVersionPacket;
kVersionPacket.header = HEADER_CG_CLIENT_VERSION;
strncpy(kVersionPacket.filename, filename.c_str(), sizeof(kVersionPacket.filename)-1);
strncpy(kVersionPacket.timestamp, __TIMESTAMP__, sizeof(kVersionPacket.timestamp)-1);
if (!Send(sizeof(kVersionPacket), &kVersionPacket))
Tracef("SendClientReportPacket Error");
}
return SendSequence();
}
bool CPythonNetworkStream::SendExchangeAcceptPacket()
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendExchangeElkAddPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendExchangeExitPacket()
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendExchangeItemAddPacket(TItemPos, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendExchangeItemDelPacket(BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendExchangeStartPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGiveItemPacket(DWORD, TItemPos, int)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildAddMemberPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildChangeGradeAuthorityPacket(BYTE, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildChangeGradeNamePacket(BYTE, const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildChangeMemberGeneralPacket(DWORD, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildChangeMemberGradePacket(DWORD, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildChargeGSPPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildDeleteCommentPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildDepositMoneyPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildInviteAnswerPacket(DWORD, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildOfferPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildPostCommentPacket(const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildRefreshCommentsPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildRemoveMemberPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildUseSkillPacket(DWORD, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendGuildWithdrawMoneyPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendMessengerAddByNamePacket(const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendMessengerAddByVIDPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendMessengerRemovePacket(const char *, const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendMobileMessagePacket(const char *, const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendOnClickPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartyInviteAnswerPacket(DWORD, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartyInvitePacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartyParameterPacket(BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartyRemovePacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartySetStatePacket(DWORD, BYTE, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendPartyUseSkillPacket(BYTE, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendQuestConfirmPacket(BYTE, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendQuestInputStringPacket(const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendRefinePacket(BYTE, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendSelectItemPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendWhisperPacket(const char *, const char *)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
void CPythonNetworkStream::SetGamePhase()
{
MT_PLATFORM_STUB();
}
void CPythonNetworkStream::ToggleGameDebugInfo()
{
MT_PLATFORM_STUB();
}
void CPythonNetworkStream::Warp(LONG, LONG)
{
MT_PLATFORM_STUB();
}
void CPythonNetworkStream::__InitializeGamePhase()
{
MT_PLATFORM_STUB();
}
void CPythonNetworkStream::__TEST_SetSkillGroupFake(int)
{
MT_PLATFORM_STUB();
}
@@ -1,15 +0,0 @@
// Stand-in for the 40250 logic unit UserInterface/PythonNetworkStreamPhaseGameActor.cpp, not ported yet: the CPythonNetworkStream
// members it defines that the ported network slice (批次 2V1) references, as MT_PLATFORM_STUB()s. Delete this
// file in the commit that ports the unit into port/ (docs/PORT-PLAN.md 2V1).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonNetworkStream.h"
#include "../../PlatformStub.h"
// PORT: consumes the packet only, so the loading phase keeps reading; the handler body comes with the unit.
bool CPythonNetworkStream::RecvCharacterUpdatePacket()
{
MT_PLATFORM_STUB();
TPacketGCCharacterUpdate chrUpdatePacket;
return Recv(sizeof(chrUpdatePacket), &chrUpdatePacket);
}
@@ -1,113 +0,0 @@
// Stand-in for the 40250 logic unit UserInterface/PythonNetworkStreamPhaseGameItem.cpp, not ported yet: the CPythonNetworkStream
// members it defines that the ported network slice (批次 2V1) references, as MT_PLATFORM_STUB()s. Delete this
// file in the commit that ports the unit into port/ (docs/PORT-PLAN.md 2V1).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonNetworkStream.h"
#include "../../PlatformStub.h"
// PORT: consumes the packet only, so the loading phase keeps reading; the handler body comes with the unit.
bool CPythonNetworkStream::RecvItemSetPacket()
{
MT_PLATFORM_STUB();
TPacketGCItemSet packet_item_set;
return Recv(sizeof(packet_item_set), &packet_item_set);
}
// PORT: consumes the packet only, so the loading phase keeps reading; the handler body comes with the unit.
bool CPythonNetworkStream::RecvQuickSlotAddPacket()
{
MT_PLATFORM_STUB();
TPacketGCQuickSlotAdd packet_quick_slot_add;
return Recv(sizeof(packet_quick_slot_add), &packet_quick_slot_add);
}
bool CPythonNetworkStream::SendItemDropPacket(TItemPos, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendItemDropPacketNew(TItemPos, DWORD, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendItemMovePacket(TItemPos, TItemPos, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendItemPickUpPacket(DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendItemUsePacket(TItemPos)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendItemUseToItemPacket(TItemPos, TItemPos)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendMallCheckoutPacket(BYTE, TItemPos)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendSafeBoxCheckinPacket(TItemPos, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendSafeBoxCheckoutPacket(BYTE, TItemPos)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendSafeBoxItemMovePacket(BYTE, BYTE, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendSafeBoxMoneyPacket(BYTE, DWORD)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendShopBuyPacket(BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendShopEndPacket()
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendShopSellPacket(BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
bool CPythonNetworkStream::SendShopSellPacketNew(BYTE, BYTE)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
@@ -0,0 +1,41 @@
// Stand-in for the 40250 logic unit UserInterface/PythonNonPlayer.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonNonPlayer.h"
#include "../../PlatformStub.h"
CPythonNonPlayer::CPythonNonPlayer()
{
MT_PLATFORM_STUB();
}
CPythonNonPlayer::~CPythonNonPlayer()
{
MT_PLATFORM_STUB();
}
auto CPythonNonPlayer::GetName(DWORD, const char **) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CPythonNonPlayer::GetInstanceType(DWORD, BYTE *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CPythonNonPlayer::GetEventType(DWORD) -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CPythonNonPlayer::GetMonsterColor(DWORD) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
@@ -0,0 +1,68 @@
// Stand-in for the 40250 logic unit UserInterface/PythonQuest.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonQuest.h"
#include "../../PlatformStub.h"
CPythonQuest::CPythonQuest()
{
MT_PLATFORM_STUB();
}
CPythonQuest::~CPythonQuest()
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::RegisterQuestInstance(const SQuestInstance &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::DeleteQuestInstance(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::IsQuest(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CPythonQuest::MakeQuest(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestTitle(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestClockName(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestCounterName(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestClockValue(DWORD, int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestCounterValue(DWORD, int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonQuest::SetQuestIconFileName(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,64 @@
// Stand-in for the 40250 logic unit UserInterface/PythonSafeBox.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonSafeBox.h"
#include "../../PlatformStub.h"
CPythonSafeBox::CPythonSafeBox()
{
MT_PLATFORM_STUB();
}
CPythonSafeBox::~CPythonSafeBox()
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::OpenSafeBox(int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::SetItemData(DWORD, const TItemData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::DelItemData(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::SetMoney(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::GetSlotItemID(DWORD, DWORD *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CPythonSafeBox::OpenMall(int) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::SetMallItemData(DWORD, const TItemData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::DelMallItemData(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonSafeBox::GetSlotMallItemID(DWORD, DWORD *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -0,0 +1,48 @@
// Stand-in for the 40250 logic unit UserInterface/PythonShop.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonShop.h"
#include "../../PlatformStub.h"
CPythonShop::CPythonShop()
{
MT_PLATFORM_STUB();
}
CPythonShop::~CPythonShop()
{
MT_PLATFORM_STUB();
}
auto CPythonShop::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CPythonShop::SetItemData(DWORD, const TShopItemData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonShop::SetItemData(BYTE, DWORD, const TShopItemData &) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonShop::SetTabCoinType(BYTE, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonShop::SetTabName(BYTE, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CPythonShop::IsOpen() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -0,0 +1,22 @@
// Stand-in for the 40250 logic unit UserInterface/PythonTextTail.cpp, not ported yet: the members the ported units
// reference, as platform_stub.py stubs. Delete this file in the commit that ports the unit into port/
// (docs/PORT-PLAN.md).
#include "UserInterface/StdAfx.h"
#include "UserInterface/PythonTextTail.h"
#include "../../PlatformStub.h"
CPythonTextTail::CPythonTextTail()
{
MT_PLATFORM_STUB();
}
CPythonTextTail::~CPythonTextTail()
{
MT_PLATFORM_STUB();
}
auto CPythonTextTail::RegisterChatTail(DWORD, const char *) -> void
{
MT_PLATFORM_STUB();
}