#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 // and , 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 // 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();