main.cpp (4.5k lines) -> main.cpp (entry, args, synthetic benchmark) plus vulkan_window, live_client, frame_policy, native_audio, texture_decode, render_state, input_keymap, host_util. Bodies are moved verbatim; multi-line VulkanWindow / NativeAudioEngine / FrameRatePolicy members are defined out of line; one-line accessors stay inline. Anonymous namespace -> mt_host. No behavior change: ctest 15/15, port_gate macos+android PASS, desktop --live-client login screen and synthetic --draws runs unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
830 B
C++
32 lines
830 B
C++
#pragma once
|
|
|
|
#ifdef MT_NATIVE_HAS_LIVE_CLIENT
|
|
#include <string>
|
|
|
|
namespace mt_host {
|
|
|
|
class VulkanWindow;
|
|
|
|
// --py-exec: a test hook run once the auto-login run reaches the GameWindow (or, with --login-screen,
|
|
// once the LoginWindow is up).
|
|
extern std::string g_py_exec_after_login;
|
|
// --perf-log / MT_PERF_LOG=1: src/host/perf_log.h.
|
|
extern bool g_perf_log;
|
|
|
|
// Boots the 40250 client (PythonBoot) from client_dir and runs it inside the renderer until it quits.
|
|
int run_live_client(
|
|
VulkanWindow& renderer,
|
|
const std::string& client_dir,
|
|
int frames,
|
|
int fake_mobs,
|
|
bool gpu_skinning,
|
|
bool native_terrain,
|
|
bool login_screen,
|
|
bool selection_screen,
|
|
const std::string& live_server_spec,
|
|
const std::string& capture_out,
|
|
const std::string& screenshot_out);
|
|
|
|
} // namespace mt_host
|
|
#endif
|