Files
mtgodot-poc/extension/src/port/UserInterface/StdAfx.h
T
shenleiandClaude Opus 5.5 9dcf34dffc port: FlyingData/Instance/ObjectManager/FlyTrace + effect/fly modules (batch 2 P1)
Verbatim copies of the 40250 flying-object units and the effect/fly
Python modules replace the pending CFlyingManager stand-in and the two
module stubs; initeffect/initfly run after initnet as in 40250 and the
flying manager gets the background as its map manager.
CMapManager::GetTerrainHeight is added over the native height tiles.
login_flow checks playersettingmodule registered the indexed fly data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 00:12:19 +09:00

54 lines
1.8 KiB
C

#pragma once
// PORT: a partial mirror of 40250 UserInterface/StdAfx.h.
//
// The original is the precompiled header of the whole client: it includes eterLib, eterPythonLib,
// gameLib, scriptLib, milesLib, EffectLib, PRTerrainLib and SpeedTreeLib's StdAfx.h, plus <dshow.h>
// and <qedit.h>, Locale.h and GameType.h. Only scriptLib exists in the port tree today, so this file
// carries the part the ported units actually use and grows with the 2V slices that bring the rest
// (docs/PORT-PLAN.md 批次 2V0-2V3).
#include "../ScriptLib/StdAfx.h"
#include "../GameLib/StdAfx.h" // 40250 PCH order: GameLib types precede UserInterface/GameType.h.
#include "../GameLib/RaceData.h"
#include "../EterPythonLib/StdAfx.h"
#include "Locale.h" // Before GameType.h, as in 40250: Locale_inc.h's feature macros shape its tables.
#include "GameType.h" // 40250's UserInterface precompiled header supplies these item types.
#include "../EterBase/tea.h"
#include <dinput.h>
// 40250's Windows PCH also includes DirectShow. The macOS UI adapter owns the video backend;
// these opaque interfaces are only pointer members in PythonApplication.h.
#ifndef _WIN32
struct IBaseFilter;
struct ISampleGrabber;
struct IMediaControl;
struct IMediaEventEx;
struct IVideoWindow;
struct IBasicVideo;
#endif
#define APP_NAME "Metin 2"
enum
{
POINT_MAX_NUM = 255,
CHARACTER_NAME_MAX_LEN = 24,
#if defined(LOCALE_SERVICE_JAPAN)
PLAYER_NAME_MAX_LEN = 16,
#else
PLAYER_NAME_MAX_LEN = 12,
#endif
};
// The Python module initializers RunMainScript calls, each defined in its own Python*Module.cpp.
// Listed here as 40250 lists them; only the ported ones are defined.
void initpack();
void initapp();
void initchr();
void initchrmgr();
void initPlayer();
void initChat();
void initnet();
void initeffect();
void initfly();