XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
UTF-8

Original galaxy visualisation settings: offline evidence

This records a read-only static analysis of the installed Odyssey client. It does not execute the game, change its settings, or establish live account/galaxy coverage.

Pinned image: artifacts/ship-model-reference/client-copy/EliteDangerous64.exe, image base 0x140000000; SHA-256 6891f70a021fa9f3a0e00458c284f48d1226e68ae7fc02ad48081aed47857e93. The installed executable has subsequently changed; these old-build addresses are RVAs, not an assertion of live compatibility. Selected Ghidra output is under artifacts/galaxy-query-research/filter-enums/decompiled.

ColourVisIndex and SizeVisIndex

These are independent visualisation identifiers, not the position of an item in the factory's presentation vector. The persistence name array at RVA 529A4B0 places ColourVisIndex at index 11 and SizeVisIndex at index 12. 3B45ED0 writes index 11 for its colour channel and 12 for its size channel and passes the stored identifier to 3B16B00. 3B3A9E0 restores both settings through 3ADFB50, which also selects via 3B16B00.

3B16B00's switch selects the following objects created by 3ACA1A0:

Saved value Visualisation Constructor Factory shared-pointer offsets
0 Uniform / no category 3ACD8D0 2F8/300
1 Population 3ACF6B0 308/310
2 Allegiance (faction) 3AC56A0 318/320
3 Government 3ACBCA0 328/330
4 Economy 3AC41D0 348/350
5 Star class 3AD2C70 388/390
6 Minor faction state 3ACCD20 358/360
7 Security 3AD0BF0 378/380
8 Visited 3AD9790 3C8/3D0
9 Commodity 3AC3C20 3D8/3E0
10 Civilisation / site 3AD1F00 3E8/3F0
11 Services 3AD17F0 338/340
12 Fleet carriers 3AC5FF0 3B8/3C0
13 Colonisation 3ACEFA0 418/420
14 Exploration data availability 3AC4CF0 398/3A0
15 Trade data availability 3AD86E0 3A8/3B0

Unrecognised identifiers fall back to the uniform object in the original selector. The current GMSizeFilterComponent offers a population checkbox, not all sixteen saved identifiers. All saved size behaviours are now independently verified: twelve classified objects use the original uniform .7 leaf, population and commodity use their own formulas, and colonisation uses .7 with a .6 multiplier for raw candidate statuses5/6. See independent size evidence for the vtable/constant chain and compatibility boundary.

Outer view and politics modes

RealisticView is a multi-valued integer, not a Boolean. 3ADFB50 reads setting index 10 and chooses:

  • 0: the physical stellar visualisation (3ACF860, factory 2E8/2F0).
  • 1: the separately selected colour and size objects.
  • 2: a politics object selected using PoliticsMode: 0 chooses territory (3ACF4A0, 3F8/400), 1 chooses activity (3ACF250, 408/410).
  • 3: the selected colour/size objects again; the user-facing identity of this branch is not proven here.
  • 4: a colonisation object selected by a separate colony mode: 0 chooses 3ACEFA0, 1 chooses 3AD4EB0 (428/430).

3B220B0 directly reads setting index 19 (PoliticsMode). 3B462C0 writes that same setting and emits politicsViewMode. Thus PoliticsTerritoryType (index 20) must not be used to select territory versus activity. 3ACF4A0 reads index 20 into 1A8; 3B27100 accepts 0/1 there but does not establish their UI labels. Leave their names unresolved rather than infer them.

The original Chinese handbook strings in artifacts/current-system-incremental/game-text-resources/all-text-private.json establish these interaction semantics:

  • codex_pilotshandbook_maps_powerplaymode_description_5 and _6: power selection and control-state selection are independent, combined filters. Multiple powers and states can be toggled.
  • _7 and _8: activity mode first selects a power, then an activity type; the result includes systems where that power can take part in that activity.
  • _9: an optional minimum recently observed activity level further reduces those results.

Later direct predicate analysis supersedes an eligibility inference from that handbook wording: 3B27100 performs an optional recent-counter threshold, only while the minimum switch is enabled. There is no independent activity eligibility boolean in that path. With the switch off, zero activity does not hide a system; with it on, the original scoped counter is compared with the selected threshold. A public reinforcement/undermining progress value and a counter>0 guess are neither substitutes for the exact original counter. See research/galaxy-original-power-activity-cache-evidence.md for the complete read-only cache layout and selected/All branch table.

3B27100 corroborates independent power and state bit masks (178/17C and 180/184), combined with the optional activity constraint (188..1A0). 3ACF4A0 restores settings indices 21/22 as these masks, 23 as an optional activity power (-1 disabled, -2 special/all), 24 as action, 25 as the minimum-level enable flag, plus float setting 0 as the minimum activity value. Direct DS 3AA1840 and 3B1CFA0 close the action IDs: 1 Undermining, 2 Reinforcing, 3 Acquiring, 4 Being Undermined, 5 Total. Named power selectors must resolve through the original current definition table; public list order is insufficient. The persisted named-power selector namespace and raw power/state mask import still need their own exact mapping evidence.

The outer Activities object (552E5C8, factory 408) is distinct from Territory's optional counter threshold: derived predicate 3B42700 tests distance from the actual current system against a service-provided radius, after its ready flag is set; derived colour 3B264B0 reads original controlling metadata. Uniform base getter 108B2A0 does not establish that outer view's complete display or eligibility.

Population units and appearance

Population settings are stored at VisibilityValues/population/min and .../max. 3ACF6B0 reads them as floats; 3B8BDF0 writes the supplied floats directly under those keys. 3B27FA0 and 3B26600 retrieve the system's unsigned 64-bit population field and compare it directly with those bounds. These values are absolute population counts, not logarithms or predefined population bands.

With p=population, lo=min, hi=max, the stable appearance is:

  1. If p < lo, size is 0 (552D7E8 float zero), and colour is transparent black (552D7F0..552D7FF, four zero floats).
  2. Otherwise, t=clamp((float(p)-lo)/max(hi-lo,1e-5),0,1).
  3. Size is sizeMin + t*(sizeMax-sizeMin) (3B27FA0).
  4. Colour is the linear RGBA interpolation between two configured endpoints (3B26600, alpha endpoints both 1 in the constructor).

Above the maximum is clamped to the upper appearance endpoint, rather than hidden. Below the minimum is hidden through zero size and/or zero alpha. 3AF6D40 interpolates the current bounds during changes; this does not change their saved units.

The original resource record has now been recovered: frozen pool286, offset6144, file offset10612424 in resource 86ec03fba621526059fc6812faca6f10adcb63cb (SHA256 29a90189d0bb238c88d09dcc0f15ff751ea29aa208b1a90894ef3b47f8942e5f). sizeMin/sizeMax at 70/74 are .3 and2; RGB minimum at 7C/80/84 is (.07,.17,.26), RGB maximum at 88/8C/90 is (.53,.93,.26). The maximum allowed population float at 14 is 99999997952 (approximately1e11), and uniform default size at 1C is .7. Exact float encodings and extraction paths are recorded in artifacts/galaxy-query-research/palette-resources/original-appearance.json and research/galaxy-original-appearance-evidence.md; GalaxyOriginalAppearance uses those recovered values. These raw parameters are not pixel radii and do not by themselves prove visual equivalence.

Remaining unresolved details

  • RealisticView=3's user-facing mode identity.
  • Politics territory-type labels and persisted power/state mask mappings; original five action IDs are established separately.
  • Geometry and coverage of rendered political territory regions; classifying system points alone is not the same display.

These findings only establish the listed mappings/formulas. They do not establish that public data duplicates all private account state or the original live catalogue.