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

XFEEDToolBox

【WinUI】XFE精英危险工具箱

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

Original galaxy UI icon evidence

The imported assets are original frames from the installed game's local current mapui, older galaxymapui, and galaxymaplabels movies, exported with JPEXS 26.4.0. They were not drawn, traced, recoloured or obtained by interacting with the running game. Per-file SHA-256, resource hashes, movie hashes and original sprite/frame names are in XFEEDToolBox/Assets/GalaxyIcons/source.json.

Current unified map UI

The current resource is Win64/0b/b07939840732555d1c406de6aba3652c6199197d, SHA-256 4a474ed00edf94e5c235be66e8238f11cdb0cf0e454a6755b723422f3a04bbbe. Its 1609 ActionScript classes include modern Colonisation, Powerplay, carriers, and SystemClaimability. The current marker legend is components.itemRenderers.GMMarkerLegendItemRenderer: it creates Asset(linkage="Icons") and directly sets its frame from the bound datastore icon string. Icons is sprite 662, with 170 named segments over 2009 frames.

The importer includes 169 non-empty named segments and the original assets.CurrentLocationMarker sprite 1617. GalaxyOriginalIcons.Map(frameName) returns the matching source frame, or null for an absent name. The source manifest records every name and exact frame; names are ordinal, with no category or numeric-ID inference. Examples include:

Actual current timeline name Original symbol
GM_DisplayOptions_Bookmarks Orange bookmark flag in square frame
GM_DisplayOptions_BookmarksSquadron Green bookmark flag in square frame
GM_DisplayOptions_Engineers Orange hexagon and centre dot
GM_DisplayOptions_Missions Blue globe
GM_Marker_NestedBookmark Orange arrow and bookmark flag
GM_Marker_SquadronNestedBookmark Green arrow and bookmark flag
GM_Marker_RescueMegaship Green rescue symbol
GM_Marker_PowerplayAttacking Blue crosshair
GM_Marker_ColonisationBeacon White beacon symbol
GM_Marker_Construction White construction crane

The source symbols already include their original colours and frame backgrounds. The app should not uniformly recolour their rendered PNGs orange. assets.CurrentLocationMarker is the original cyan three-dimensional arrow; its direct observed AS use includes route-setting buttons. Category glyphs from the current marker legend are reliable original symbols, but this alone does not prove the world's projection, grouping, stacking, animation or position rules.

Native bookmark icon identifiers

The original bookmark JSON decoder 261F820 reads integer iconName and stores it in the 0x60-byte bookmark record at +4C. The original conversion function 26020A0 maps that integer to a frame name. These are independent of native navigation catalogue kinds or the cockpit's location-icon timeline.

Native iconName Original frame name BookmarkButtonIcon frame
2 station_bernal 31
3 station_coriolis 21
4 station_orbis 41
5 station_outpost 51
6 surface_port 61
7 surface_settlement 71
8 planet_landable 81
9 planet 1
10 star 101
11 asteroid 111
12 system 11
13 megaShip_dockable 121
14 megaShip_undockable 130
17 station_dodec absent in this movie
other default 91

station_dodec is recognised by the native converter but has no frame in the installed BookmarkButtonIcon timeline. GalaxyOriginalIcons.Bookmark(17) explicitly reports UsesFallback=true and references the original default frame. It must not be relabelled as a Coriolis icon. The movie also contains installation at frame 140; the native function examined here does not return that name, so no numeric identifier was invented for it.

Older UI resource: Win64/07/79a752f20cbfb28917345f272b01292ceede1e1f, original file SHA-256 25bd5749dc1e179f07026fb7ed536c907e06e9110b298ca53ac436cc9634eb82. Linkage BookmarkButtonIcon is sprite 304. Its timeline labels and original geometry are in artifacts/galaxy-marker-research/ui.xml and ui-svg/DefineSprite_304_BookmarkButtonIcon. BookmarkEditionWindow.as assigns the data's icon to BookmarkButtonIcon.frame; generic bookmark buttons use the same original frame mechanism through iconFrame.

This older resource still implements three legacy view modes. It must not override current native GalaxyMap3 settings evidence or be presented as proof of the current world bookmark symbol. The current map UI's skins.BookmarkButtonSkin instead sets its Image.source from data.image, and BookmarkLocationDetails also reads the bound image string. Their actual dynamic image source names have not been recovered from this static resource.

Item label markers are another namespace

The labels movie's components.ItemMarker.setType establishes:

ItemMarker type Label Stop frame Thin label Thin stop frame
0 focused 9 focusedThin 58
1 selection 19 selectionThin 68
2 location 29 locationThin 78
3 conflictZones 39 conflictZonesThin 88
4 taxi 49 taxiThin 98

The original ActionScript picks thin variants when its icon width exceeds 100 and starts the nested play animation. The parent components.ItemMarker sprite 42 places its icon at approximately 0.2 scale (0.20019531/0.19998169) and translates it to (45,45) pixels. Parent selector stop frames do not stop the nested 55-frame pulse: nested frame55() calls gotoAndPlay(2). Two bitmap instances are used, with separate alpha and scale changes. The imported 444x444 PNGs are only static snapshots at a selected outer selector frame; they omit parent scale and continuing child animation. They are glow rings, not category pin icons or a verified replacement for the current world selection ring. No claim is made that their raw unscaled appearance matches the screenshot's cursor/arrow. GalaxyOriginalIcons.ItemMarker returns null for unknown types instead of interpreting them as bookmark identifiers.

Labels resource: Win64/00/09dae208be9a2d0f360ff77bcacbeab20993e90b, original SHA-256 1536e0362606c17adcd2323c8d1cad7a9a1e09d669f76d2f0b89005e02a7e8b7. The marker selector is sprite 41. ItemMarker_Graphics_8.as records the stop frames.

Raster dependencies and extraction

The labels movie uses two external 256x256 subimages from the original GalaxyMapLabels_I5 atlas. Exporting its FWS tags without those images produces red bitmap placeholders; those SVGs are not imported.

The original 2048x256 BC7 buffer is the last 524288 bytes of the decoded resource body (offset 47519). It is decoded through the same Pillow BC7 path already used by Build-GameIconAssets.py. Its GPU-buffer and decoded RGBA hashes are recorded in the manifest. For JPEXS rendering, a private offline copy changes only the external image filename to the lossless decoded PNG atlas, avoiding JPEXS's BC7 DDS decoder limitation. Geometry, transforms, animation frames, colours and image pixels are unchanged. The resulting original stop-frame PNG exports are copied byte for byte into the app assets.

The current map resource's two marker/icon atlases are MapUI_I139 (2048x2048, GPU offset 876937) and MapUI_I191 (2048x1948, GPU offset 5071241). research/Restore-GalaxyUiTextures.py validates its 19 buffer groups and 36 buffer records and extracts their original BC7 blocks, recording raw and decoded hashes. A private rendering copy only changes those external filenames to their decoded PNGs; all original movie content is retained. Bitmap-backed named frames are rendered with these dependencies; pure vector frames are imported directly as SVG.

research/Extract-GalaxyUiResources.py extracts the three original CFX movies. research/Build-GalaxyIconAssets.py imports 198 frames in total and generates GalaxyOriginalIcons.Map.cs from the current movie's labels. It rejects unresolved SVG bitmap dependencies. CFX-to-FWS extraction only changes the container signature and decompresses the body; original declared lengths are recorded without modifying tags. Raw .gfx files are retained for proper Scaleform image interpretation.

Validation and limits

GalaxyOriginalIconsTests verifies every packaged file's SHA-256, the native mapping against the source manifest, the absent dodec frame fallback, independent item-marker identifiers, all 170 current named icons, and rejection of SVG bitmap placeholders. All four tests passed using an isolated artifacts directory.

The offline contact sheet at work/visual/galaxy-original-icons/original-icons.png was visually inspected: all 15 older bookmark vector symbols are complete and recognisable; all ten restored ring snapshots contain actual white/orange/cyan pixels with no red placeholder rectangles. The original full-resolution location PNG and its RGBA samples were also inspected. current-map-markers.png was inspected against the user's screenshot: the engineer hexagon, blue mission globe, green rescue symbol and blue attack crosshair match the referenced symbol shapes and colours. This checks source symbols only. Their final size, placement, overlap and animation in the app remain a separate integration check.