Repository navigation
Environment variables and flags
Values are as read in the code at commit 0fe8d3e (git rev-parse --short HEAD). Environment variables are read with Environment.GetEnvironmentVariable: most in static field initialisers (read once per process), a few when a feature starts (for example MEITOU_DRAW_LOG, MEITOU_PIPELINE_CACHE). Flags are parsed by the switch blocks of each entry point: GameOptions.Split (game), WorldOptions.Parse and PostOptions.TryParse (world viewer), ImpostorApp.Run, NavmeshTool.Run, WeatherTool.Run, and the tools Program.cs files.
Not MEITOU_* but read by the engine: KENSHI_PATH (game install, src/Meitou.Core/Content/GameInstall.cs:11), NAV_VERBOSE and NAV_DUMP (src/Meitou.Navigation/NavDebug.cs:10,13).
Boolean variables are written as they are tested in code: == "1" means only 1 turns the switch on, != "0" means only 0 turns it off. MEITOU_FRAGMENT is a shader macro defined by the compiler (src/Meitou.Rendering/Gpu/Shaders/GlslProgramCompiler.cs:158), not an environment variable, and is left out. MEITOU_REFL_* is built by string concatenation (ReflectionPass.cs:51). Its comment lists four names (OBJECTS, FOLIAGE, LOD, AGE), but the code also reads MEITOU_REFL_TLOD, so five are listed.
Variables marked tools only are read only under tools/ (the model viewer, tools/Meitou.ModelViewer). tools/Meitou.Tools reads no environment variable.
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_MESH_STREAM | boolean |
0: loads every LOD level of every mesh. Other values or unset: default, streams levels. Default: on. |
Whether far mesh levels are streamed in or all loaded. | src/Meitou.Rendering/BuildingLodMesh.cs:152 |
| MEITOU_MIP_STREAM | boolean |
0: no texture mip is dropped by distance. Default: on. |
Turns distance-based texture mip streaming on or off. | src/Meitou.Rendering/MipStreaming.cs:34 |
| MEITOU_MIP_SKIP | string | Comma-separated substrings (case-insensitive). Textures whose name contains one keep all mips. Default: unset (none). | Per-texture exemption from mip dropping. | src/Meitou.Rendering/WorldTextureCache.cs:108 |
| MEITOU_CHARACTER_LOD | string |
faithful: keeps the files' own mesh levels. Other or unset: default, Meitou mode generates levels by edge collapse. Default: generated. |
Chooses the character mesh LOD source. | src/Meitou.Rendering/Characters/CharacterSwitches.cs:15 |
| MEITOU_CHARACTER_MORPH | boolean |
0: face poses (GPU morph of the body mesh) off. Default: on. |
Turns the character face-pose morph on or off. | src/Meitou.Rendering/Characters/CharacterSwitches.cs:18 |
| MEITOU_CHARACTER_MOTION | boolean |
0: characters' own motion left out of the upscalers' motion vectors. Default: on. |
Motion vectors for characters on or off. | src/Meitou.Rendering/Characters/CharacterSwitches.cs:21 |
| MEITOU_GPU_CULL | boolean |
0: starts with the CPU foliage cull (A1) instead of the GPU cull. Default: on. |
Selects the GPU or CPU foliage cull at start. | src/Meitou.Rendering/FoliageRenderer.cs:97 |
| MEITOU_GPU_GRASS | boolean |
0: grass drawn by the CPU path. Default: on, and also off when MEITOU_GPU_CULL=0. |
Selects the GPU or CPU grass path at start. | src/Meitou.Rendering/FoliageRenderer.Grass.cs:29 |
| MEITOU_GRASS_MOTION | boolean |
0: swaying grass left out of the upscalers' motion vectors. Default: on. |
Grass motion vectors on or off. | src/Meitou.Rendering/WorldFrame.cs:899 |
| MEITOU_IMPOSTOR_FARMIP | boolean |
0: each atlas keeps the mip levels its transition distance needs (no refine, no coarsen). Default: on. |
Far-mip planning for impostor atlases on or off. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:51 |
| MEITOU_IMPOSTOR_CASTERS | boolean |
0: shadow cascades keep the meshes (no impostor shadow casters). Default: on. |
Impostors as shadow casters on or off. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:66 |
| MEITOU_IMPOSTOR_SMALL | boolean |
0: the small impostor class is off (small meshes stay meshes). Default: on. |
Small-class impostors on or off. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:107 |
| MEITOU_IMPOSTOR_ROCKS | boolean |
0: TERRAIN-mode rocks stay meshes (no rock atlases). Default: on. |
Rock impostors on or off. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:171 |
| MEITOU_IMPOSTOR_ROCK_TINT | boolean |
0: a rock impostor does not take the colour map's tint at its position. Default: on. |
Rock impostor tint on or off. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:180 |
| MEITOU_RIVERS | boolean |
0: no river map derived from the heights. Default: on. |
Meitou water rivers on or off. | src/Meitou.Rendering/WaterRenderer.cs:841 |
| MEITOU_UNCOMPRESSED_TEXTURES | boolean |
1: every texture decoded to RGBA8 on the CPU and uploaded (4 to 8 times the GPU memory). Default: off (BC1 to BC5 uploaded as stored). |
Texture upload format. | src/Meitou.Rendering/WorldTextureCache.cs:421 |
| MEITOU_RECORD_THREADS | number (0, 1, 2) |
0: every segment recorded inline, single-threaded. 1: secondaries recorded one after another on the render thread. Other values or unset: 2, default, secondaries recorded on job threads. |
How a native host's guests are recorded. | src/Meitou.Rendering/Gpu/Recording.cs:48 |
| MEITOU_VRAM_GUARD | boolean |
0: the video-memory pressure guard (VramGuard) is not created. Default: on. |
Memory-pressure guard on or off. | src/Meitou.Rendering/WorldFrame.cs:752 |
| MEITOU_FORCE_INTEGRATED | boolean |
1: IsIntegrated reported true on any GPU (to test integrated-GPU budgets). Default: off. |
Makes the device look integrated. | src/Meitou.Rendering/Gpu/Core/VulkanDevice.cs:134 |
| MEITOU_VK_VALIDATION | string |
0, off or false: off. sync: validation plus synchronisation validation. gpu: validation plus GPU-assisted validation. 1 or any other non-empty value: validation on (the _ arm of the switch). Unset or empty: caller default (on when the layer is installed). |
Vulkan validation layer mode. | src/Meitou.Rendering/Gpu/Core/VulkanDeviceOptions.cs:23 |
| MEITOU_FFX_DEBUG | boolean |
1: FSR debug checking flag on and its message callback set. Default: off. |
FSR (FFX) debug mode. | src/Meitou.Rendering/Upscalers/FsrUpscaler.cs:70 |
| MEITOU_FFX_DEBUGVIEW | boolean |
1: FSR's debug-view flag set in the dispatch. Default: off. |
FSR debug view on or off. | src/Meitou.Rendering/Upscalers/FsrUpscaler.cs:197 |
| MEITOU_DLSS_PRESET | number | Streamline DLSS preset number used for every mode: 0 default, 1 to 15 = presets A to O (e.g. 5 = E, CNN). Non-numeric: 0. |
DLSS model preset. | src/Meitou.Rendering/Upscalers/DlssUpscaler.cs:80 |
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_IMPOSTOR_BUDGET_MB | number (MB) | Any number above 0 replaces the default rule. Default: unset, the default rule (8% of the card's budget, 5% on an integrated GPU, floor 48 MB, cap 1024 MB, or 256 MB integrated; 192 MB when the budget is unknown). | Video memory the resident impostor atlases may use. | src/Meitou.Rendering/ImpostorBudget.cs:48 |
| MEITOU_IMPOSTOR_CACHE_MB | number (MB) | Disk cap for the atlas cache. 0 or less: no cap. Unparseable or unset: 512 MB. |
Size cap of the impostor disk cache. | src/Meitou.Rendering/Impostors/ImpostorCache.cs:44 |
| MEITOU_IMPOSTOR_BAKE_MSAMPLES | number (millions) | Shaded samples per frame allowed for impostor bakes. Must be above 0. Default: 40. | Limits how much of a bake is recorded per frame. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:115 |
| MEITOU_IMPOSTOR_MIP_MARGIN | number (levels) | Levels of safety on an atlas's needed mip. Must be 0 or more. Default: 1. | Mip margin used in the impostor plan. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:53 |
| MEITOU_IMPOSTOR_ROCK_MIN_SURFACE | number (share) | Triangles' share of a rock's bounding sphere surface below which it gets no impostor. Any parseable float (no range check). Default: 0.06. | Smallest TERRAIN rock that gets an impostor. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:173 |
| MEITOU_IMPOSTOR_ROCK_MAX_FRAME | number (pixels) | Largest frame of a rock atlas. Minimum 64 (lower values fall back to the default). Default: 256. | Atlas frame size for TERRAIN rocks. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:158 |
| MEITOU_IMPOSTOR_SMALL_MIN_RADIUS | number (units) | Smallest instance radius for the small class. Minimum 0. Default: 2. | Lower radius bound of small impostors. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:108 |
| MEITOU_IMPOSTOR_SMALL_MIN_TRIANGLES | number | Fewest triangles a mesh needs to be a small impostor. Minimum 0. Default: 100. | Triangle bound of the small class. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:109 |
| MEITOU_IMPOSTOR_SMALL_FRAME | number (pixels) | Frame size of small-class atlases. Minimum 8. Default: 32. | Atlas frame size of the small class. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:110 |
| MEITOU_IMPOSTOR_SMALL_GRID | number | Frames per atlas side for the small class. Minimum 2. Default: 12. | Atlas grid of the small class. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:111 |
| MEITOU_IMPOSTOR_GRID | number | Frames per atlas side for all classes. Minimum 2. Default: 12. Part of the cache key. | Atlas grid size (experiments). | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:136 |
| MEITOU_IMPOSTOR_MAGNIFY | number | How much larger than its frame an instance may look at the reference distance. Minimum 0.5. Default: 1.4. | Magnification allowed for impostor frames. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:138 |
| MEITOU_IMPOSTOR_BIAS | number | Scale of the bake's LOD bias. Minimum 0. 0 turns the bias off. Default: 1. |
LOD bias of impostor bakes. | src/Meitou.Rendering/Impostors/ImpostorLayout.cs:140 |
| MEITOU_FOLIAGE_RANGE | number | Start value of the foliage range setting (the game's foliage range is 1). Default: 4. Unparseable: 4. |
Initial foliage draw range. | src/Meitou.Rendering/FoliageRenderer.cs:104 |
| MEITOU_GRASS_RANGE | number | Start value of the grass range setting (the game's grass range is 1). Default: 4. |
Initial grass draw range. | src/Meitou.Rendering/FoliageRenderer.cs:105 |
| MEITOU_GRASS_DENSITY | number | Start value of the grass density setting (the game's is 1). Clamped to MaxGrassDensity when used. Default: 1. |
Initial grass density. | src/Meitou.Rendering/FoliageRenderer.cs:106 |
| MEITOU_GRASS_ARENA_MB | number (MB) | Size of the grass blade arena. Default: 160. | GPU memory for grass blades. | src/Meitou.Rendering/FoliageRenderer.Grass.cs:34 |
| MEITOU_GRASS_SLOTS | number | Slots in the grass cull table. Default: 32768. | Capacity of the grass cull table. | src/Meitou.Rendering/FoliageRenderer.Grass.cs:35 |
| MEITOU_MIP_MARGIN | number (levels) | Levels held back against the mip bound. Parseable float; default 2. | Safety margin of mip streaming. | src/Meitou.Rendering/MipStreaming.cs:21 |
| MEITOU_MIP_TOP | number (share) | Share of a mesh part's world area (0.005 = 0.5%) whose texel-scale value is taken. Default: 0.005. | How a part's texel scale is picked for mip choice. | src/Meitou.Rendering/MeshTexelScale.cs:18 |
| MEITOU_UNLOAD_IDLE | number (seconds) | Seconds a mesh or texture outside every draw range stays resident. A huge value turns unloading off. Default: 60. | Idle unload delay. | src/Meitou.Rendering/BackgroundWork.cs:91 |
| MEITOU_OBJECT_PART_RANGE | number (units) | Objects view range that small building parts stop at. Must be above 0. Default: 3000. | Distance for small object parts (benchmarks). | src/Meitou.Rendering/WorldObjectRenderer.cs:125 |
| MEITOU_RECORD_MIN_DRAWS | number | In mode 2, passes with fewer draws than this are recorded on the render thread. 0: always threads. Default: 32. |
Threshold for threaded command recording. | src/Meitou.Rendering/Gpu/Recording.cs:62 |
| MEITOU_REFL_OBJECTS | number (units) | Objects (buildings, features) further than this from the eye are left out of the water reflection. Default: 3000. | Object cut-off distance of the reflection pass. | src/Meitou.Rendering/ReflectionPass.cs:52 |
| MEITOU_REFL_FOLIAGE | number (units) | Foliage distance cut-off of the reflection pass. Default: 3000. | Foliage cut-off distance of the reflection pass. | src/Meitou.Rendering/ReflectionPass.cs:53 |
| MEITOU_REFL_LOD | number | Object LOD bias of the reflection pass (ObjectLodBias). Default: 3. |
LOD bias of objects in reflections. | src/Meitou.Rendering/ReflectionPass.cs:54 |
| MEITOU_REFL_AGE | number (frames) |
MaxAge: the last reflection image is reused while its age, the frames since it was drawn (age++ on each reused frame, age = 0 on each drawn frame), is below this. Default: 3. |
Reuse limit of the last reflection image. | src/Meitou.Rendering/ReflectionPass.cs:55 (age: lines 173-174, 263) |
| MEITOU_REFL_TLOD | number |
TerrainLodScale of the reflection pass. Default: 0.5. |
Terrain LOD scale in reflections. | src/Meitou.Rendering/ReflectionPass.cs:56 |
| MEITOU_VRAM_BUDGET_MB | number (MB) | Integer above 0 caps what VideoMemory reports. Unset: the card's own budget. |
Pretends the card has less video memory (testing). | src/Meitou.Rendering/Gpu/Core/VulkanDevice.cs:161 |
| MEITOU_VRAM_KILL | number (fraction) | Limit as a fraction of the budget for headless runs (--screenshot, --fly-benchmark). Exceeding it ends the process with exit code 9. 0: off. Default: 0.95. Tools only.
|
Stops a headless run before the driver resets. | tools/Meitou.ModelViewer/VramWatch.cs:58 |
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_STREAM_LOG | boolean |
1: prints each terrain streaming step over 3 ms (TerrainStreamer), each foliage update over 8 ms (FoliageRenderer.cs:490), and each slow frame over 15 ms (model viewer). Also switches on the streaming logs in the foliage, object and texture code (what those print: Unknown, not read in detail). Default: off. |
Logs slow streaming work. | src/Meitou.Rendering/TerrainStreamer.cs:17 (also FoliageRenderer.cs:930, WorldObjectRenderer.cs:205, WorldTextureCache.cs:105, FoliageRenderer.cs:490, tools/Meitou.ModelViewer/WorldApp.cs:143) |
| MEITOU_IMPOSTOR_LOG | boolean |
1: a line for each atlas loaded, baked, refused for the budget, or unloaded. Default: off. |
Impostor atlas lifecycle log. | src/Meitou.Rendering/FoliageRenderer.Impostors.cs:64 |
| MEITOU_MIP_LOG | boolean |
1: a line for each image loaded with more levels dropped than the quality setting, and each swap. Default: off. |
Texture mip log. | src/Meitou.Rendering/WorldTextureCache.cs:107 |
| MEITOU_TERRAIN_LOD_LOG | boolean |
1: prints level ranges when they change and drawn nodes per level now and then. Default: off. |
Terrain LOD log. | src/Meitou.Rendering/TerrainRenderer.cs:77 |
| MEITOU_LANDMARK_LOG | boolean |
1: one line per resolved landmark, nearest first. Default: off. |
Landmark log. | src/Meitou.Rendering/WorldObjectRenderer.cs:188 |
| MEITOU_CHARACTER_LOG | boolean |
1: a line per part of every character appearance built. Default: off. |
Character build log. | src/Meitou.Rendering/Characters/CharacterSwitches.cs:12 |
| MEITOU_COVERAGE_LOG | boolean |
1: prints a coverage line (draw count and mask) per particle draw. Default: off. |
Particle coverage log. | src/Meitou.Rendering/ParticleRenderer.cs:446 |
| MEITOU_DRAW_LOG | file | Path of the draw log written for one frame. Unset or empty: no log. | Writes every native draw of one frame to a file. | src/Meitou.Rendering/Gpu/DrawLog.cs:102 |
| MEITOU_DRAW_LOG_FRAME | number | Frame number (long) whose draws are logged. Default: 3. | Frame that MEITOU_DRAW_LOG records. |
src/Meitou.Rendering/Gpu/DrawLog.cs:104 |
| MEITOU_JOB_STATS | boolean |
1: per-call-site statistics of background jobs (allocations, time, count), reported with --fly-benchmark. Default: off. |
Background-job statistics. | src/Meitou.Rendering/BackgroundWork.cs:63 |
| MEITOU_TEX_STATS | boolean |
1: prints texture residency statistics (sizes, duplicates, histogram) when the texture cache is disposed. Default: off. |
Texture cache statistics. | src/Meitou.Rendering/WorldTextureCache.cs:623 |
| MEITOU_STREAMLINE_LOG | boolean |
1: Streamline info messages printed (warnings and errors always are). Default: off. |
Streamline log level. | src/Meitou.Rendering/Upscalers/Streamline.cs:115 |
| MEITOU_WATER_DEBUG | number |
1: shows the shore fields (shader test > 0.5). 2: shows the river weight and flow direction (test > 1.5). 5 is accepted and maps to 5, which passes the > 1.5 test, so it renders the same as 2. Other or unset: 0, off. |
Water debug views. | src/Meitou.Rendering/WaterRenderer.cs:1001 |
| MEITOU_LOD_DEBUG | number |
1: colours solid surfaces by LOD level. 2: wireframe only, coloured by level. Non-numeric: 0, off. Default: 0. |
Object LOD debug view. | src/Meitou.Rendering/WorldObjectRenderer.cs:43 |
| MEITOU_FOLIAGE_DEBUG | string |
nograss: grass left out. nomeshes: foliage meshes left out. Other or unset: nothing left out. |
Measures foliage parts separately. | src/Meitou.Rendering/FoliageRenderer.cs:60 |
| MEITOU_FOLIAGE_TRIS | boolean |
1: tallies the indirect draws (triangles and instances) per view kind, and the meshes that drew most. Default: off. |
Foliage draw statistics. | src/Meitou.Rendering/FoliageGpuCull.cs:248 |
| MEITOU_FOLIAGE_TIMING | boolean |
1: CPU time of the foliage draw steps summed over the run, by kind (colour or depth). Default: off. |
Foliage CPU timing. | src/Meitou.Rendering/FoliageRenderer.cs:1209 |
| MEITOU_FOLIAGE_TIMING_SKIP | number | Number of initial calls left out of the foliage timing. Default: 160. | Warm-up calls skipped by foliage timing. | src/Meitou.Rendering/FoliageRenderer.cs:1213 |
| MEITOU_OBJECT_TIMING | boolean |
1: CPU time of the object draw steps summed over the run, by kind. Default: off. |
Object CPU timing. | src/Meitou.Rendering/WorldObjectRenderer.cs:650 |
| MEITOU_OBJECT_TIMING_SKIP | number | Number of initial calls left out of the object timing. Default: 160. | Warm-up calls skipped by object timing. | src/Meitou.Rendering/WorldObjectRenderer.cs:651 |
| MEITOU_MESH_TIMING | number |
0: off. 1: CPU time of the mesh draws, printed at dispose. 2: also records each call a second time and reports it as warm. Non-numeric: 0. Default: 0. |
Mesh draw CPU timing. | src/Meitou.Rendering/TerrainRenderer.cs:728 |
| MEITOU_TERRAIN_TIMING | boolean |
1: CPU time of terrain patches, terrain meshes, and the blocker map, per step. Default: off. |
Terrain CPU timing. | src/Meitou.Rendering/TerrainRenderer.cs:1165 |
| MEITOU_GPU_CULL_VERIFY | boolean |
1: with the GPU cull, every view is also culled on the CPU, and the GPU lists are compared a frame later. The summary prints at dispose. Default: off. |
Verifies the GPU foliage cull. | src/Meitou.Rendering/FoliageRenderer.cs:100 |
| MEITOU_PASS_STATS | boolean |
1: frame cost breakdown per stage (pass meter) and pre-frame GPU time. Default: off. Read by the engine and by tools.
|
Per-pass GPU and CPU cost. | src/Meitou.Rendering/Gpu/FrameLoop.cs:25 (and tools/Meitou.ModelViewer/PassMeter.cs:82) |
| MEITOU_CROWD_ANIMATE | boolean |
1: the --crowd harness animates in real time even for stills. Default: off (stills hold --crowd-time). |
Crowd harness animation. | src/Meitou.Rendering/Characters/CharacterSwitches.cs:24 |
All rows in this group are tools only (tools/Meitou.ModelViewer) unless noted.
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_BENCH_SHADOW_RANGE | number (units) | Shadow distance set beyond --shadow-range's game limit (VRAM measurements). Unset: unchanged. Tools only.
|
Overrides the shadow range in the fly benchmark. | tools/Meitou.ModelViewer/WorldApp.Benchmark.cs:22 |
| MEITOU_BENCH_SKIP | number | Frames left out of the percentiles and worst list. Minimum 1. Default: 1. Tools only. | Warm-up frames skipped by the fly benchmark. | tools/Meitou.ModelViewer/WorldApp.Benchmark.cs:102 |
| MEITOU_FLY_SHOT | string | Comma-separated frame numbers. Each is saved as <name>-fly<frame>.png with --screenshot. Unset: none. Tools only.
|
Pictures of chosen frames of the fly benchmark. | tools/Meitou.ModelViewer/WorldApp.Benchmark.cs:194 |
| MEITOU_SKY_BENCH | boolean |
1: after the picture is saved, times the sky pass and the sky-view table rebuild. Default: off. Tools only.
|
Sky cost report. | tools/Meitou.ModelViewer/WorldApp.cs:219 |
| MEITOU_PARTICLE_LIST | boolean |
1: lists the particle systems in view with --screenshot. Default: off. Tools only.
|
Particle listing. | tools/Meitou.ModelViewer/WorldApp.cs:203 |
| MEITOU_IMPOSTOR_SURVEY | boolean |
1: prints each mesh skipped as too small for an impostor class. Default: off. Tools only.
|
Impostor size survey (--impostor-bake-all). |
tools/Meitou.ModelViewer/ImpostorApp.cs:173 |
| MEITOU_LANDMARK_SURVEY | boolean |
1: prints the whole world's placements by world bounding radius and exits. Default: off. Tools only.
|
Landmark threshold survey. | tools/Meitou.ModelViewer/WorldApp.cs:48 |
| MEITOU_VK_MICRO | boolean |
1: after a pass meter run, prints the cost of one vkCmd* call (from 100 000 recorded). Default: off. Tools only.
|
Vulkan call micro-benchmark. | tools/Meitou.ModelViewer/WorldApp.Benchmark.cs:181 |
| MEITOU_PASS_STATS_SKIP | number | Frames skipped before the pass meter records. Default: 60. Tools only. | Warm-up frames of the pass meter. | tools/Meitou.ModelViewer/PassMeter.cs:75 |
| MEITOU_PASS_TAG | string | Tag printed with the pass meter report. Default: run. Tools only.
|
Label of a pass meter run. | tools/Meitou.ModelViewer/PassMeter.cs:76 |
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_IMPOSTOR_CACHE | path | Directory for the impostor atlas cache. Unset: %LOCALAPPDATA%\Meitou\impostors. |
Location of the impostor disk cache. | src/Meitou.Rendering/Impostors/ImpostorCache.cs:33 |
| MEITOU_PIPELINE_CACHE | path |
0: no pipeline cache. Other non-empty: the file path. Unset: %LOCALAPPDATA%\Meitou\pipeline-cache.bin. |
Vulkan pipeline cache file. | src/Meitou.Rendering.Display/VulkanDisplay.cs:102 |
| MEITOU_FFX_PATH | path | Folder or DLL file of the FSR library. Unset: the library next to the executable. | Where FSR is loaded from. | src/Meitou.Rendering/Upscalers/FsrUpscaler.cs:92 |
| MEITOU_STREAMLINE_PATH | path | Folder or path of the Streamline DLLs, tried first. Unset: the executable's folder only. | Where Streamline is loaded from. | src/Meitou.Rendering/Upscalers/Streamline.cs:121 |
| Variable | Type | Values | Effect | Source file |
|---|---|---|---|---|
| MEITOU_FRAGMENT | (not an environment variable) | Shader macro MEITOU_FRAGMENT=1 set by the compiler for fragment stages. |
Makes derivatives available in shared shader code. | src/Meitou.Rendering/Gpu/Shaders/GlslProgramCompiler.cs:158 |
Note: MEITOU_FRAGMENT is listed here only so it is not mistaken for a setting. It is not read from the environment.
Flags are matched as exact strings. Unknown flags are an error (unknown option) in the game and the viewer, and an error in the tools. Values follow each flag: number is parsed with the invariant culture, number pair is one argument x,z (two numbers, comma-separated), two numbers is two separate arguments (--move-to, --days), and file is a path.
The flags are grouped by the program that parses them. The game (meitou) takes its own flags first and passes the rest to the world options, so every world flag also works on the game. The world options also work on meitou-viewer --world. The model viewer's impostor flags belong to meitou-viewer --impostor-preview or --impostor-bake-all only.
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --fps-limit | number | Frame limit when vsync is off. 0: unlimited. Unset: value from meitou.user.json (--help says 240). |
Caps the frame rate. | src/Meitou.Game/GameOptions.cs:71 |
| --tick-rate | number | Control ticks per second. Unset: 30 (per --help). |
Input and camera tick rate. | src/Meitou.Game/GameOptions.cs:72 |
| --sim-threads | number | Simulation worker threads. Unset: half the cores, clamped 1 to 8 (per --help). |
Thread count of the simulation. | src/Meitou.Game/GameOptions.cs:73 |
| --seed | number | World seed (unsigned). Default: 0. | Seed of the world. | src/Meitou.Game/GameOptions.cs:74 |
| --vsync | none | Present: vsync on (bool? set to true). Unset: from meitou.user.json (--help: off). |
Turns vsync on. | src/Meitou.Game/GameOptions.cs:75 |
| --no-vsync | none | Present: vsync off (bool? set to false). Unset: from meitou.user.json (--help: off). |
Turns vsync off. | src/Meitou.Game/GameOptions.cs:76 |
| --ticks | number | With --screenshot: runs n control ticks before the picture. Default: 0. |
Pre-picture simulation ticks. | src/Meitou.Game/GameOptions.cs:77 |
| --free-camera | none | Present: starts in the free camera. Default: off. | Start camera mode. | src/Meitou.Game/GameOptions.cs:78 |
| --no-population | none | Present: no town residents or movement. Default: off. | Empty world. | src/Meitou.Game/GameOptions.cs:79 |
| --no-navmesh | none | Present: paths on open ground. Default: off (navmesh used). | Disables navmesh pathing. | src/Meitou.Game/GameOptions.cs:80 |
| --body-time-scale | number | Multiplies body-part and blood rates. Default: 1. | Speed of injury and healing rates. | src/Meitou.Game/GameOptions.cs:81 |
| --new-game | optional string | Takes the next argument as the start name unless it starts with -. Absent: no new game. Default start: Wanderer (per --help). |
Starts a new game with the player squad. | src/Meitou.Game/GameOptions.cs:82 |
| --list-starts | none | Present: prints the starts and exits with 0. | Lists new-game starts. | src/Meitou.Game/GameOptions.cs:86 |
| --sandbox | optional number | Animation sandbox with 1 character, or 2 with 2 (clamped 1 to 2). Present without a number: 1. Absent: off. |
Runs the sandbox instead of a world. | src/Meitou.Game/GameOptions.cs:87 |
| --sandbox-character | string | CHARACTER record name or id to spawn. Unset: first squad member of the default start. | Sandbox character. | src/Meitou.Game/GameOptions.cs:91 |
| --sandbox-mode | string |
walk, run or free. Other values are an error. Unset: no mode set. |
Sandbox hero's speed mode. | src/Meitou.Game/GameOptions.cs:92 |
| --sandbox-speed | number | Fixed speed in units per second. 0: off. Default: 0. |
Sandbox fixed speed. | src/Meitou.Game/GameOptions.cs:93 |
| --sandbox-patrol | none | Present: patrols a 400-unit line. Default: off. | Sandbox patrol. | src/Meitou.Game/GameOptions.cs:94 |
| --select-player | none | Present: selects the squad. Default: off. | Selects the player squad (pictures). | src/Meitou.Game/GameOptions.cs:95 |
| --attack-nearest | none | Present: squad attacks the nearest other character once loaded; also sets --select-player. Default: off. |
Fight for pictures. | src/Meitou.Game/GameOptions.cs:96 |
| --move-to | two numbers | Two separate arguments, x then z, both required. Default: unset. | Orders the squad to walk to a point. | src/Meitou.Game/GameOptions.cs:97 |
| --quit-after | number | Seconds before the window closes and the frame rate is printed. Default: no limit. Also read by the model viewer (stripped before parsing). | Unattended smoke test. | src/Meitou.Game/GameOptions.cs:98 |
Field defaults are from WorldOptions (WorldFrame.cs:15 to :125). Where a default comes only from the --help text, it says so.
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --world | none | No-op in the parser. Presence selects the world viewer in meitou-viewer. |
Selects world mode. | src/Meitou.Rendering/WorldFrame.cs:237 |
| --at | number pair |
x,z world position. Default: unset (world centre, per --help). |
Start point. | src/Meitou.Rendering/WorldFrame.cs:238 |
| --zone | number pair |
i,j zone integers; centre of that zone. Default: unset. |
Start zone. | src/Meitou.Rendering/WorldFrame.cs:239 |
| --town | string | Name fragment of a FCS TOWN record. Default: unset. (The game uses "The Hub" if no --at, --zone or --town.) |
Start town. | src/Meitou.Rendering/WorldFrame.cs:240 |
| --radius | number | Half-size of the loaded square in zones. Must be above 0. Default: 1.5. | Loaded area. | src/Meitou.Rendering/WorldFrame.cs:241 |
| --step | number | Heightmap sample step (integer). Default: unset (smallest power of two keeping 2048 or fewer cells per side, per --help). |
Terrain sample step. | src/Meitou.Rendering/WorldFrame.cs:242 |
| --yaw | number | Heading in degrees. Default: 30 (per --help). |
Start camera heading. | src/Meitou.Rendering/WorldFrame.cs:243 |
| --pitch | number | Pitch above the horizon in degrees. Default: 35 (per --help). |
Start camera pitch. | src/Meitou.Rendering/WorldFrame.cs:244 |
| --distance | number | Camera boom in units. Default: the radius (per --help). The game's sandbox sets 70. |
Start camera distance. | src/Meitou.Rendering/WorldFrame.cs:245 |
| --screenshot | file | Output PNG; renders offscreen and exits. Default: unset (interactive). | Offscreen picture. | src/Meitou.Rendering/WorldFrame.cs:246 |
| --size | string |
WxH, e.g. 1280x960. Default: 1280x960. |
Render size. | src/Meitou.Rendering/WorldFrame.cs:247 |
| --monitor | number | Monitor to open the window on, 1-based. Default: unset. | Window monitor. | src/Meitou.Rendering/WorldFrame.cs:324 |
| --no-textures | none | Present: height-tinted terrain, no biome textures. Default: off. | Faster start. | src/Meitou.Rendering/WorldFrame.cs:252 |
| --no-objects | none | Present: no buildings or map features. Default: off. | Leaves out objects. | src/Meitou.Rendering/WorldFrame.cs:253 |
| --no-foliage | none | Present: no trees, bushes, rocks or grass. Default: off. | Leaves out foliage. | src/Meitou.Rendering/WorldFrame.cs:254 |
| --range-large | number | Foliage draw range for large meshes, in units. Default: 50000 (per --help). |
Range of large foliage. | src/Meitou.Rendering/WorldFrame.cs:255 |
| --range-medium | number | Foliage draw range for medium meshes. Default: 12000 (per --help). |
Range of medium foliage. | src/Meitou.Rendering/WorldFrame.cs:260 |
| --range-small | number | Foliage draw range for small meshes. Default: 3500 (per --help). |
Range of small foliage. | src/Meitou.Rendering/WorldFrame.cs:261 |
| --impostor-distance | number | Distance where medium foliage becomes impostors. Default: 4000 (per --help). |
Impostor transition distance. | src/Meitou.Rendering/WorldFrame.cs:256 |
| --large-impostor-distance | number | Same for the large class. Default: 12000 (per --help). |
Impostor transition distance (large). | src/Meitou.Rendering/WorldFrame.cs:257 |
| --impostor-budget | number (MB) | Fixed video memory for resident impostor atlases. Default: the card-based rule (8%, 5% integrated; 48 to 1024 MB). | Impostor memory budget. | src/Meitou.Rendering/WorldFrame.cs:258 |
| --impostor-cache-mb | number (MB) | Cap of the impostor disk cache. 0: no cap. Default: 512. |
Impostor disk cache cap. | src/Meitou.Rendering/WorldFrame.cs:259 |
| --object-distance | number | Full-detail distance for placed objects. Default: 20000 in Meitou, 12000 in Faithful (reach switch). | Object draw distance. | src/Meitou.Rendering/WorldFrame.cs:262 |
| --landmark-distance | number | Distance for huge placed objects (Meitou only). 0: none. Default: 150000 in Meitou; none in Faithful. |
Landmark draw distance. | src/Meitou.Rendering/WorldFrame.cs:263 |
| --distant-range | number | Zones of distant towns. Default: 10. | Distant town range. | src/Meitou.Rendering/WorldFrame.cs:264 |
| --no-distant | none | Present: no distant towns. Default: off. | Drops distant towns. | src/Meitou.Rendering/WorldFrame.cs:265 |
| --layer-size | number | Terrain layer texture size, a power of two up to 2048. Default: 2048. | Terrain layer resolution. | src/Meitou.Rendering/WorldFrame.cs:266 |
| --debug | number |
1: blend-map slot weights. 2: layer weights (R cliff, G slope, B grass). Default: 0 (off). |
Terrain debug view. | src/Meitou.Rendering/WorldFrame.cs:267 |
| --wireframe | none | Present: wireframe view. Default: off. | Wireframe. | src/Meitou.Rendering/WorldFrame.cs:268 |
| --info | none | Present: loads the world, prints information and exits 0. Default: off. | Load check. | src/Meitou.Rendering/WorldFrame.cs:269 |
| --time | number | Time of day in hours. Default: 13. | Sun time. | src/Meitou.Rendering/WorldFrame.cs:270 |
| --no-water | none | Present: no water. Default: off. | Leaves out water. | src/Meitou.Rendering/WorldFrame.cs:271 |
| --water-seconds | number | Start of the Meitou water clock, in game seconds. Default: 0. | Water wave phase (pictures). | src/Meitou.Rendering/WorldFrame.cs:272 |
| --water-grid | number | Water grid segments round the eye, clamped 64 to 1024. Default: 256. | Water mesh resolution. | src/Meitou.Rendering/WorldFrame.cs:273 |
| --no-water-refraction | none | Present: water blends over the scene instead of refracting. Default: refraction on. | Water refraction off. | src/Meitou.Rendering/WorldFrame.cs:274 |
| --water-ocean | number | FFT size per cascade: 64, 128 or 256 (values rounded up to these). Default: 256. | Ocean FFT size. | src/Meitou.Rendering/WorldFrame.cs:275 |
| --no-reflections | none | Present: water reflects the sky colour only. Same as --water-reflection 0. Default: off. |
Water reflection off. | src/Meitou.Rendering/WorldFrame.cs:276 |
| --water-reflection | number (0 to 4) | Clamped 0 to 4. Default in code: 4. The --help text says 2; code value used. |
What the water mirrors. | src/Meitou.Rendering/WorldFrame.cs:277 |
| --reflection-range | number | Mirrored scene drawn out to haze distance times this. Default in code: 3. The --help text says 0.6; code value used. |
Reflection distance. | src/Meitou.Rendering/WorldFrame.cs:278 |
| --texture-quality | number (0 to 4) | Clamped to 0 to 4 (0 Maximum, 1 High, 2 Medium, 3 Low, 4 Fugly). Default in code: 0. The --help text says 1; code value used. |
Texture mip dropping. | src/Meitou.Rendering/WorldFrame.cs:279 |
| --no-shadows | none | Present: no sun shadow map. Default: off. | Shadows off. | src/Meitou.Rendering/WorldFrame.cs:280 |
| --shadow-quality | number | Map size index: 0 is 1024, 1 is 2048, 2 is 4096. Default: 1. | Shadow map size. | src/Meitou.Rendering/WorldFrame.cs:281 |
| --shadow-filter | number (0 to 2) | Meitou shadow filter; clamped 0 to 2. Default: 2. | Shadow filter quality. | src/Meitou.Rendering/WorldFrame.cs:282 |
| --shadow-range | number | Shadow distance, clamped to 1000 to 9000 (Faithful) or 1000 to 15000 (Meitou). Default: 5000 Faithful, 10000 Meitou. | Shadow distance. | src/Meitou.Rendering/WorldFrame.cs:283 |
| --debug-shadows | number |
1: the four cascade maps. 2: shadow term by cascade. 3: term over the picture. Default: 0. |
Shadow debug view. | src/Meitou.Rendering/WorldFrame.cs:284 |
| --simple-sky | none | Present: old colour-model sky and squared-distance fog. Default: off. | Sky model. | src/Meitou.Rendering/WorldFrame.cs:285 |
| --haze | string |
kenshi or physical. Other values are an error. Default: kenshi. |
Aerial perspective model. | src/Meitou.Rendering/WorldFrame.cs:286 |
| --haze-distance | number | Game's far distance D for haze. Default: 50000 (per --help). |
Haze distance. | src/Meitou.Rendering/WorldFrame.cs:287 |
| --haze-strength | number | Haze blend strength. Default: 0.93 (Meitou haze). 1 is the game's. | Haze strength. | src/Meitou.Rendering/WorldFrame.cs:288 |
| --meitou | string | Comma-separated feature ids, or all. Ids: ao, dither, haze, aa, shadows, range, impostors, reach, water. Default: all Meitou. The --help text lists dust, which is not an id and is rejected. |
Turns those features to Meitou. | src/Meitou.Rendering/WorldFrame.cs:289 |
| --faithful | string | Same ids as --meitou. Turns those features to the game's look. Default: all Meitou. |
Turns those features to Faithful. | src/Meitou.Rendering/WorldFrame.cs:290 |
| --weather | string | A WEATHER record name, or auto. Default: auto (scheduler). |
Forces a weather. | src/Meitou.Rendering/WorldFrame.cs:291 |
| --wetness | number (0 to 1) | Overrides wetness. Default: the forced weather's value. | Wet surfaces (testing). | src/Meitou.Rendering/WorldFrame.cs:292 |
| --rain | number (0 to 100) | Overrides rain. Default: the forced weather's value. | Rain (testing). | src/Meitou.Rendering/WorldFrame.cs:293 |
| --dust | number list |
x or x,inside,slope. Default: the forced weather's values. |
Dust on objects (testing). | src/Meitou.Rendering/WorldFrame.cs:294 |
| --day | number | Game day the weather schedule starts at. Default: 0 (viewer). | Start day. | src/Meitou.Rendering/WorldFrame.cs:302 |
| --weather-seed | number | Scheduler random seed. Default: 1. | Weather random seed. | src/Meitou.Rendering/WorldFrame.cs:303 |
| --no-particles | none | Present: no weather particles. Default: off. | Particles off. | src/Meitou.Rendering/WorldFrame.cs:304 |
| --no-fog-volumes | none | Present: placed fog volumes not drawn. Default: off. | Fog volumes off. | src/Meitou.Rendering/WorldFrame.cs:305 |
| --no-fog-cull | none | Present: draws what fog hides (comparison). Default: off. | Fog culling off. | src/Meitou.Rendering/WorldFrame.cs:306 |
| --particle-prewarm | number | Seconds simulated before the first picture; 0 starts empty. Default: longest particle life. | Particle warm-up. | src/Meitou.Rendering/WorldFrame.cs:307 |
| --particle-area | number | Radius in units of the disc where weather effects are placed (test). Minimum 1. Default: weather region. | Particle placement area. | src/Meitou.Rendering/WorldFrame.cs:308 |
| --particle-seed | number | Seed for particle random choices. Default: 1. | Particle seed. | src/Meitou.Rendering/WorldFrame.cs:309 |
| --particle-only | string list | Comma-separated name fragments; keeps only matching weather effects (test). Default: all. | Particle filter. | src/Meitou.Rendering/WorldFrame.cs:310 |
| --clouds | number (0 to 1) | Cloud density (test override). Default: scheduler. | Cloud density. | src/Meitou.Rendering/WorldFrame.cs:311 |
| --cloud-wind | number pair | Drift velocity in units per second (test). Default: 0,0. | Cloud drift. | src/Meitou.Rendering/WorldFrame.cs:312 |
| --no-stream | none | Present: terrain detail kept at the start point, not following the camera. Default: off. | Streaming follow off. | src/Meitou.Rendering/WorldFrame.cs:313 |
| --show-keys | none | Present: key list overlay open at start. Default: off. | Overlay at start. | src/Meitou.Rendering/WorldFrame.cs:314 |
| --camera-at | number pair | Starts the camera here (as if flown there). Default: loaded point. | Camera start. | src/Meitou.Rendering/WorldFrame.cs:316 |
| --fly-to | number pair | With --screenshot: flies there first, then takes the picture. Default: unset. |
Streaming test. | src/Meitou.Rendering/WorldFrame.cs:317 |
| --fly-benchmark | number | Offscreen circular flight of n frames, with frame-time percentiles. Default: 0 (off). | Fly benchmark. | src/Meitou.Rendering/WorldFrame.cs:318 |
| --fly-radius | number | Radius of the benchmark circle in units. Default: 12000. | Benchmark circle size. | src/Meitou.Rendering/WorldFrame.cs:320 |
| --fly-speed | number | Benchmark speed in units per frame. Default: 150. | Benchmark speed. | src/Meitou.Rendering/WorldFrame.cs:321 |
| --fly-pipelined | none | Present: no GPU wait or pacing; two frames in flight. Default: off. | Benchmark mode. | src/Meitou.Rendering/WorldFrame.cs:322 |
| --orbit-step | number | Degrees the camera orbits per frame with --screenshot. Default: 0. |
Upscaler motion test. | src/Meitou.Rendering/WorldFrame.cs:323 |
| --sway-step | number | Seconds the grass sway advances per frame with --screenshot. Default: 0. |
Grass motion test. | src/Meitou.Rendering/WorldFrame.cs:325 |
| --sway-start | number | Grass sway time at the start, in seconds. Default: 0. | Grass sway start. | src/Meitou.Rendering/WorldFrame.cs:326 |
| --crowd | number | Number of generated characters round the start point. Default: 0 (off). | Character crowd harness. | src/Meitou.Rendering/WorldFrame.cs:327 |
| --crowd-seed | number | Seed of the crowd. Default: 1. | Crowd seed. | src/Meitou.Rendering/WorldFrame.cs:328 |
| --crowd-time | number | Pose time of stills, in seconds. Default: 0.35 (per --help). |
Crowd pose. | src/Meitou.Rendering/WorldFrame.cs:329 |
| --renderer | string |
vulkan accepted; anything else prints that OpenGL was removed. Ignored either way. Default: n/a. |
Compatibility only. | src/Meitou.Rendering/WorldFrame.cs:319 |
| --view-distance | number | Furthest terrain drawn. Default: 450000. | Terrain view distance. | src/Meitou.Rendering/WorldFrame.cs:330 |
| --fog | number | Distance where the haze is complete. Default: 250000. | Fog distance. | src/Meitou.Rendering/WorldFrame.cs:331 |
| --material-distance | number | Beyond it, terrain shows the biome ground colour. Default: 30000. | Terrain material distance. | src/Meitou.Rendering/WorldFrame.cs:332 |
| --terrain-error | number (pixels) | Terrain LOD error near the eye. Default: 16 in Meitou, 10 in Faithful. | Terrain LOD error. | src/Meitou.Rendering/WorldFrame.cs:333 |
| --terrain-far-error | number (pixels) | Far terrain LOD error. Default: the near error (no ramp). | Terrain far error. | src/Meitou.Rendering/WorldFrame.cs:334 |
| --terrain-ramp | number | Distance where the error starts to grow to the far error. Default: 7500. | Terrain error ramp. | src/Meitou.Rendering/WorldFrame.cs:335 |
| -h, --help | none | Prints the usage. The game prints it and exits 2. | Help. | src/Meitou.Rendering/WorldFrame.cs:336 |
These are parsed inside WorldOptions.Parse through PostOptions.TryParse (WorldFrame.cs:315). Order matters: --post replaces the earlier post options.
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --post | string |
meitou (default), kenshi (the game's chain), off. Other values are an error. |
Post-processing preset. | src/Meitou.Rendering/PostProcessOptions.cs:72 |
| --ssao | none | Present: ambient occlusion on. Default: on (off in kenshi, off). |
SSAO on. | src/Meitou.Rendering/PostProcessOptions.cs:73 |
| --no-ssao | none | Present: ambient occlusion off. | SSAO off. | src/Meitou.Rendering/PostProcessOptions.cs:74 |
| --dither | none | Present: dithering on. Default: on. | Dithering on. | src/Meitou.Rendering/PostProcessOptions.cs:75 |
| --no-dither | none | Present: dithering off. | Dithering off. | src/Meitou.Rendering/PostProcessOptions.cs:76 |
| --fxaa | none | Present: the game's FXAA when no upscaler runs. Default: on. | FXAA on. | src/Meitou.Rendering/PostProcessOptions.cs:77 |
| --no-fxaa | none | Present: FXAA off. | FXAA off. | src/Meitou.Rendering/PostProcessOptions.cs:78 |
| --heat-haze | number | Turns heat haze on; the value (clamped to 0 or more) replaces the weather's heat haze field. Default: on, weather's value. | Heat haze strength (testing). | src/Meitou.Rendering/PostProcessOptions.cs:79 |
| --no-heat-haze | none | Present: heat haze off. | Heat haze off. | src/Meitou.Rendering/PostProcessOptions.cs:80 |
| --heat-haze-view-distance | number | The game's view distance setting for the haze's depth falloff; minimum 1. Default: 12000. | Haze depth falloff. | src/Meitou.Rendering/PostProcessOptions.cs:81 |
| --post-debug | string |
ao shows the occlusion (1). Other values: 0. Default: 0. |
Post debug view. | src/Meitou.Rendering/PostProcessOptions.cs:82 |
| --upscaler | string |
off, taa, fsr or dlss (case-insensitive). FSR and DLSS need their libraries, else TAA (per --help). Default: taa. |
Temporal upscaler. | src/Meitou.Rendering/PostProcessOptions.cs:83 |
| --render-scale | number or name |
native, quality, balanced, performance, ultra (1, 1/1.5, 1/1.7, 0.5, 1/3), or a number from 0.25 to 1. Default: 1. |
Render size per axis under an upscaler. | src/Meitou.Rendering/PostProcessOptions.cs:88 |
| --sharpness | number (0 to 1) | Sharpening of FSR and DLSS (TAA ignores it). Default: 0.3. | Upscaler sharpening. | src/Meitou.Rendering/PostProcessOptions.cs:89 |
| --exposure | number | Linear scale of the scene. Default: 1. | Exposure. | src/Meitou.Rendering/PostProcessOptions.cs:90 |
| --ssao-radius | number | Occluder distance in world units. Default: 12. | SSAO radius. | src/Meitou.Rendering/PostProcessOptions.cs:91 |
| --ssao-strength | number | SSAO strength. Default: 4. | SSAO strength. | src/Meitou.Rendering/PostProcessOptions.cs:92 |
| --ssao-character-strength | number (0 to 1) | Occlusion kept on characters' own pixels; clamped 0 to 1. Default: 0.25. | Character occlusion. | src/Meitou.Rendering/PostProcessOptions.cs:93 |
Routed by tools/Meitou.ModelViewer/Program.cs:12 when --impostor-preview or --impostor-bake-all is present. Model viewer only.
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --impostor-preview | string | Mesh name to preview. Default: unset. | Preview one mesh's impostor. | tools/Meitou.ModelViewer/ImpostorApp.cs:59 |
| --impostor-bake-all | none | Present: bakes every mesh's atlas. Default: off. | Bakes all impostor atlases. | tools/Meitou.ModelViewer/ImpostorApp.cs:60 |
| --out | file | Output directory. Default: C:\Temp\meitou-impostors. |
Where the output goes. | tools/Meitou.ModelViewer/ImpostorApp.cs:61 |
| --size | string |
WxH. Default: 1600x900. |
Picture size. | tools/Meitou.ModelViewer/ImpostorApp.cs:62 |
| --rebake | none | Present: ignores the cached atlas and bakes again. Default: off. | Forces a re-bake. | tools/Meitou.ModelViewer/ImpostorApp.cs:67 |
| --blend | none | Present: the preview's Blend flag is on. Default: off. |
Preview blend mode (what it blends: Unknown, not read). | tools/Meitou.ModelViewer/ImpostorApp.cs:68 |
| --debug | number | Passed to the preview's Debug value. Default: 0. |
Preview debug view (the numbers are Unknown, not read). | tools/Meitou.ModelViewer/ImpostorApp.cs:69 |
| --class | string |
medium, large or small (switch at ImpostorApp.cs:216). Any other value, or unset: the class by the mesh's radius and triangles, medium if none fits. |
Chooses the impostor class. | tools/Meitou.ModelViewer/ImpostorApp.cs:70 |
| --renderer | string |
vulkan accepted; ignored. |
Compatibility only. | tools/Meitou.ModelViewer/ImpostorApp.cs:71 |
| -h, --help | none | Prints usage and exits 2. | Help. | tools/Meitou.ModelViewer/ImpostorApp.cs:72 |
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --quit-after | number | Seconds before the window closes, then prints frames and fps. Stripped before the other parsers run. Default: no limit. | Unattended smoke test. | tools/Meitou.ModelViewer/Program.cs:32 |
With no arguments the model viewer runs --world --town "The Hub" (tools/Meitou.ModelViewer/Program.cs:10).
Subcommands such as formats, navmesh, weather and draw-log-diff are positional and are not listed. image-diff and world-map take positional arguments only.
navmesh (tools/Meitou.Tools/NavmeshTool.cs:33 to :54):
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --zone | number pair |
x,z zone integers. Default: unset. |
Zone to build. | tools/Meitou.Tools/NavmeshTool.cs:33 |
| --town | string | Town name. Default: unset. | Town to build. | tools/Meitou.Tools/NavmeshTool.cs:34 |
| --obj | file | Output .obj path. Default: unset. |
Writes the mesh as an OBJ file. | tools/Meitou.Tools/NavmeshTool.cs:35 |
| --png | file | Output top-down .png path. Default: unset. |
Writes a top-down picture. | tools/Meitou.Tools/NavmeshTool.cs:36 |
| --scale | number | Units per pixel of the picture. Default: 4. | Picture scale. | tools/Meitou.Tools/NavmeshTool.cs:37 |
| --geometry | none | Present: stops after the zone's geometry (writes the geometry picture). Default: off. | Skips the navmesh build. | tools/Meitou.Tools/NavmeshTool.cs:38 |
| --cell | number | Navmesh cell size. Default: 2 (NavBuildSettings.CellSize). |
Cell size. | tools/Meitou.Tools/NavmeshTool.cs:39 |
| --tile | number | Tile size in cells. Default: 48 (NavBuildSettings.TileCells). |
Tile size. | tools/Meitou.Tools/NavmeshTool.cs:40 |
| --near | number list |
x,z,radius. Lists the buildings near the point with their collision parts. Default: unset. |
Nearby buildings report. | tools/Meitou.Tools/NavmeshTool.cs:41 |
| --no-interiors | none | Present: building interiors left out of the build. Default: off. | Interiors off. | tools/Meitou.Tools/NavmeshTool.cs:42 |
| --to-y | number | Overrides the height of the path's end point. Default: unset. | Path end height. | tools/Meitou.Tools/NavmeshTool.cs:43 |
| --from-y | number | Overrides the height of the path's start point. Default: unset. | Path start height. | tools/Meitou.Tools/NavmeshTool.cs:44 |
| --hide-pruned | none | Present: the picture hides pruned geometry. Default: off. | Picture option. | tools/Meitou.Tools/NavmeshTool.cs:45 |
| --no-neighbour-seeds | none | Present: neighbouring zones do not add seeds. Default: off. | Build option. | tools/Meitou.Tools/NavmeshTool.cs:46 |
| --closed | none | Present: doors are closed for the path query (DoorsClosed). Default: off. |
Door state for paths. | tools/Meitou.Tools/NavmeshTool.cs:47 |
| --watershed | none | Present: NavBuildSettings.Watershed on. Default: off. |
Build option. | tools/Meitou.Tools/NavmeshTool.cs:48 |
| --threads | number | Build threads (NavBuildSettings.Threads). Default: 0 (the property's initial value; what 0 means is not read). |
Build threads. | tools/Meitou.Tools/NavmeshTool.cs:49 |
| --around | number | Builds the zone and the ring of n zones around it. Default: 0. | Extra zones built. | tools/Meitou.Tools/NavmeshTool.cs:50 |
| --path | number list |
x0,z0,x1,z1: path query between the two points. Default: unset. |
Path query. | tools/Meitou.Tools/NavmeshTool.cs:51 |
| --repeat | number | Repeats the build of the centre zone (timing). Default: 1. | Repeat count. | tools/Meitou.Tools/NavmeshTool.cs:52 |
| --fingerprint | none | Present: prints a SHA-256 of the cache files of The Hub (or --zone). Default: off. |
Cache fingerprint. | tools/Meitou.Tools/NavmeshTool.cs:53 |
| --box | number list |
x0,z0,x1,z1: area of the picture. Default: the zone's bounds. |
Picture area. | tools/Meitou.Tools/NavmeshTool.cs:54 |
weather (tools/Meitou.Tools/WeatherTool.cs:23 to :32):
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --region | string | Region name. Default: unset. | Region to print. | tools/Meitou.Tools/WeatherTool.cs:23 |
| --at | number pair |
x,z world position, finds the region. Default: unset. |
Region by position. | tools/Meitou.Tools/WeatherTool.cs:24 |
| --days | two numbers | Two separate integer arguments d0 d1. Default: 0 to 100. |
Day range. | tools/Meitou.Tools/WeatherTool.cs:28 |
| --seed | number | Scheduler seed. Default: 1. | Random seed. | tools/Meitou.Tools/WeatherTool.cs:29 |
| --list | none | Present: lists regions and calendars. Default: off. | Region list. | tools/Meitou.Tools/WeatherTool.cs:30 |
| --extents | none | Present: region extents. Default: off. | Extents report. | tools/Meitou.Tools/WeatherTool.cs:31 |
| --cells | none | Present: cell list. Default: off. | Cells report. | tools/Meitou.Tools/WeatherTool.cs:32 |
draw-log-diff (tools/Meitou.Tools/Program.cs:24):
| Flag | Takes value | Values | Effect | Source file |
|---|---|---|---|---|
| --keep-handles | none | Present: Vulkan handles are not renamed by first use when comparing two draw logs. Default: off. | Comparison option. | tools/Meitou.Tools/Program.cs:24 |
-
--equipand--shapeappear only in error text insrc/Meitou.Data/Characters/CharacterAppearance.csandCharacterShape.cs. No parser for them exists at this commit, so they are not listed as flags. -
--crowd,--crowd-seed,--crowd-timeare parsed byWorldFrame.cs. The--helptext gives the crowd-time default as 0.35, and the code field is null, so the default is taken from--help. - Defaults that differ between the code and the
--helptext:--water-reflection(code 4, help 2),--reflection-range(code 3, help 0.6),--texture-quality(code 0, help 1). The code values are listed. - Unknown cells (not read in code, or not traced to an effect):
-
MEITOU_PASS_TAG: exactly where the tag is printed. -
MEITOU_STREAM_LOG: what the foliage, object and texture streaming logs print. -
meitou-tools navmesh --threads: what the value 0 means (NavBuildSettings.Threads). -
meitou-viewer --impostor-preview--blendand--debug: what the preview'sBlendandDebugvalues show (ImpostorPreviewnot read).
-