layout: restructure into src/ tests/ android/ scripts/ tools/

- extension/src/{port,platform,codepage} -> src/; native_render -> src/host
  (+ dxt, shaders/); libgr2 -> src/gr2; extension/third_party -> third_party
- extension/tests -> tests/port, libgr2/tests -> tests/gr2
- android-native -> android (build.sh, push-client.sh moved in)
- script -> scripts; tools/40250 -> tools/server; oracle -> tools/granny-oracle;
  perf tools -> tools/perf
- all build trees under build/ (native, release, android, port-gate)
- xrender:: CMake aliases -> mt::; port-map ledger impl paths rewritten

No code changes. ctest 15/15, port_gate macos+android PASS, port_map check 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-29 19:08:19 +09:00
co-authored by Claude Opus 5.5
parent 70710477cf
commit a46093104c
2817 changed files with 13728 additions and 13744 deletions
+78
View File
@@ -0,0 +1,78 @@
#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 "../PRTerrainLib/StdAfx.h" // 40250 PCH: PR_FCNV/PR_ICNV for PR_FLOAT_TO_INT.
#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 initime();
void initshop();
void initquest();
void initEvent();
void initeventmgr();
void initapp();
void initsystem();
void initchr();
void initchrmgr();
void initPlayer();
void initItem();
void initNonPlayer();
void initTrade();
void initTextTail();
void initMiniMap();
void initChat();
void initnet();
void initeffect();
void initfly();
void initsnd();
void initskill();
void initBackground();
void initMessenger();
void initsafebox();
void initguild();
void initServerStateChecker();
extern const std::string& ApplicationStringTable_GetString(DWORD dwID);
extern const std::string& ApplicationStringTable_GetString(DWORD dwID, LPCSTR szKey);
extern const char* ApplicationStringTable_GetStringz(DWORD dwID);
extern const char* ApplicationStringTable_GetStringz(DWORD dwID, LPCSTR szKey);