REM-Client 44365ce3: improve nebulae and interstellar navigation, fix gate arrivals and map actions

This commit is contained in:
2026-11-14 23:33:31 +01:00
parent 9a595d91e9
commit d63deeebda
7 changed files with 244 additions and 7 deletions
+71
View File
@@ -0,0 +1,71 @@
# REM-Mod
The playable REM Freelancer mod: game data, the client binaries built from REM-Client, and the
mod's own scripts/resources. The working branch is **`new-rem-client`** (not `main`).
`README.md` only carries the mod version; `BUILD_INFO.txt` records the last full client package
and any later incremental client updates, with their source commits and validation evidence.
## Layout
| Path | Contents |
|---|---|
| `DATA/` | Freelancer game data: inis (`UNIVERSE/`, `EQUIPMENT/`, `SHIPS/`, `SOLAR/`, `MISSIONS/`, `INTERFACE/`, `constants.ini`, `initialworld.ini`, ...), models, textures, audio |
| `DATA/UNIVERSE/` | `universe.ini`, `SYSTEMS/<System>/` (system ini next to its bases), `sectors.ini` (nav map sectors and spacing) |
| `DATA/SCRIPTS/` | Compiled THN scripts (`*.thn`, Lua 3.2 bytecode); sources are in the `Lua-Scripts` repo |
| `DATA/INTERFACE/REM/` | REM HUD/window art (`rem_hud.txm`, `IMAGES/*.3db`) |
| `EXE/` | `Freelancer.exe`, engine DLLs (`common.dll`, `server.dll`, `rp8.dll`, ...), `dacom.ini`, `freelancer.ini`, `rem.ini`, `remgfx.ini`, VC runtime |
| `EXE/remui/` | RmlUi UI documents (`*.rml`, `*.rcss`, fonts, `img/`), copied from `REM-Client/assets/remui` |
| `EXE/REM/` | Mod runtime data: `Lua/` (`luastart.lua`, `Infocards.lua`, `DYNAMIC/`), `Audio/`, `Fonts/`, `Avatars/`, `ServerModule/missions/` |
| `DLLS/BIN/` | Resource DLLs loaded from the original install layout (e.g. `content.dll`) |
| `MATERIALS/` | `materials.json`, PBR texture maps, skybox for the RemGfx renderer |
| `ART/UI/` | Source PNGs for the REM interface art |
| `tools/` | Python 3 generators for REM UI art (see `tools/README.md`) |
| `SAVE/`, `LOGS/`, `FLDOCS/` | Default saves, log folder, original game docs |
## Updating the client binaries
The binaries come from `../REM-Client` (`bin64/`). Copy `freelancer.exe` / `Common.dll` (and any
other changed DLL) here keeping this repo's names (`EXE/Freelancer.exe`, `EXE/common.dll`), or run
`python tools/rem/update_mod.py` from REM-Client after `publish.py` (copies `EXE/` and `DLLS/BIN/`,
never `SAVE`/`DATA` or the mod's own `EXE/REM/`, commits nothing). For a manual copy, update
`BUILD_INFO.txt` in the same change: retain the full-package record and add the source commit,
changed files and actual validation of the incremental update. Do not reuse the old full-build
date/status for newer binaries. Then commit with:
```
REM-Client <short REM-Client hash>: <what the player gets>
```
## Generating UI art (`tools/README.md`)
```bash
python tools/make_image_3db.py ART/UI/ICON/Cargo_icon.png DATA/INTERFACE/REM/IMAGES/icon_cargo.3db icon_cargo --size 128
python tools/make_icon_3db.py <in.png> <out.3db> <name> [--color]
python tools/make_hud_txm.py <out.txm> <name>=<in.png> ...
```
`<name>` must be unique: Freelancer keys materials globally by the CRC of the name.
## Running
The game is started as `EXE/Freelancer.exe` with `EXE/` as working directory (under Wine/Lutris on
Linux). `rem-server` uses this folder as its game data (`--game <REM-Mod>/EXE`).
## Conventions
- Commit messages are descriptive English one-liners, prefixed with the area or file:
`REM-Client <hash>: ...`, `sectors.ini: ...`, `story_arc0_m01: ...`, `Missions: ...`, `Sol01: ...`.
No `Co-Authored-By` trailer.
- Most inis use CRLF line endings (some files are mixed); keep the existing endings of a file
and its key casing/ordering when editing.
- Keep path casing consistent with existing references (e.g. `Sol01/`, not `SOL01/`).
## Gotchas
- rem-server is a private project: nothing of it goes into this repo (`.gitignore` excludes
`EXE/rem-server*`, `flbot.exe`, `LargeID.dat`, server logs).
- Runtime files appear under `EXE/` while playing (logs, `remgfx_pipelines.bin/.keys` caches,
`EXE/REM/Lua/DYNAMIC/config.lua`, `SAVE/*.ini`); don't commit them unless intended.
- `DATA/` changes may need a matching rem-server data check (the server validates missions and
waypoints at start, see `EXE/REM/rem-server-*.txt` locally).
- `CHANGELOG.md` is inherited from Freelancer HD Edition, not the REM change history.
+157
View File
@@ -1,3 +1,160 @@
REM-Client committed deployment provenance (64-bit)
recorded: 2026-11-14T23:33:31+01:00
source: 44365ce3d4ed4c5e1ae4fe3625df040c80c3e755 (main)
server companion source: ef8666fdf30302517780aae15ea27ef28d69f08b (main; server files are not part of REM-Mod)
change: Sirius sector volume and cloud relief, precise interstellar waypoints, group/clan positions, approach targeting, gate origin protection and sector jump button handling
files: EXE/Freelancer.exe, EXE/rp8.dll, EXE/rendcomp.dll, EXE/remui/navmap.rml
provenance: existing incremental builds committed without rebuilding; latest recorded source fingerprint matched before commit, all four deployed files match client build/assets SHA-256; individual build times and checks retained below
validation: previous targeted client/server and renderer checks retained below; latest client regression suite 23 tests passed; full server suite and live gameplay are not claimed as validated
runtime: no process restart or save/settings changes during commit/push
SHA-256 EXE/Freelancer.exe: 1017ccb36010d80c07be52f8cbb0f0bdf089cbd9e72a9bb7ad9d03852c7d68b0
SHA-256 EXE/rp8.dll: d3607655b7bb9c129fe330eeca82cdad878a0fb4790380d85756f80bd0b3cb80
SHA-256 EXE/rendcomp.dll: 13f60d41afc8b35ef7f1daf26c5d138c5714880952a51c064dd192db065215c1
SHA-256 EXE/remui/navmap.rml: 9bf6ae0b0e51cb510e8d7394032e340d1ffca2e922dc462ba6572d6b5d091866
--- Previous incremental/full-package records retained below ---
REM-Client incremental sector jump button fix (64-bit)
date: 2026-11-14T23:30:39+01:00
source: 4e10c632 (main) + uncommitted sector button, gate-origin, navigation, cloud and previous changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): d29ee97474cc19dac2c6fb927da93c4ef18b27cba203935efc3a569bcb2d8610
change: preserve chart system selection independently of HUD target resets; isolate chart presses/releases from controls; defer system jump with a captured destination ID and live readiness check
files: EXE/Freelancer.exe
build: Release|x64 rem_ui_navmap.cpp compiled and client linked successfully with MSVC/MSBuild under Wine
validation: 23 portable WorldPos/navmap/origin tests passed, including control ancestor classification; git diff whitespace check passed; source/deployed executable hashes match; live sector button click remains unverified
runtime: REM-LOCAL uses this checkout directly; atomic EXE replacement for next game launch; game/server not restarted; saves/settings retained
SHA-256 EXE/Freelancer.exe: 1017ccb36010d80c07be52f8cbb0f0bdf089cbd9e72a9bb7ad9d03852c7d68b0
--- Previous incremental/full-package records retained below ---
REM-Client incremental gate arrival origin fix (64-bit)
date: 2026-11-14T23:26:24+01:00
source: 4e10c632 (main) + uncommitted gate-origin, navigation, cloud and previous changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): ed64f91a8637a3bad29d94727e0698d09e7e9bfacfbdb732c4beb2502740cddd
change: freeze floating origin throughout client gate states 1-5 and Common launch/JumpIn actions; prevents tunnel poses accumulating repeated shifts and displacing Honshu arrival by 2,800 km
files: EXE/Freelancer.exe
build: Release|x64 rem_origin_client.cpp compiled and client linked successfully with MSVC/MSBuild under Wine
validation: 22 portable WorldPos/navmap/origin tests pass; reverting the guard in an isolated test fixture fails both new regressions; source/deployed executable hashes match; multiplayer gate passage pending
runtime: REM-LOCAL reads this checkout directly; atomic EXE replacement for next game launch; running game/server unchanged; saves/settings preserved
SHA-256 EXE/Freelancer.exe: 68b14da289aa394ccf32f887ad42a38ab44c63f42db144c8134e501e1a1ee116
--- Previous incremental/full-package records retained below ---
REM-Client incremental interior cloud relief refinement (64-bit)
date: 2026-11-14T23:16:34+01:00
source: 4e10c632 (main) + uncommitted Frankfurt cloud, navigation and previous changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): 5191b17467acc8deaa24bbca6a66b0cca8a0b6b3e71ae57f578d9c9f9590777a
change: reduce uniform interior sky haze; cloud-scale density folds and shaded channels complement zone-scale strands; existing noise channels and footprint filtering retain stable detail; authored nebula palette retained
files: EXE/rp8.dll
build: shaders regenerated; RemGfx, nebulabench and RP8 Release|x64 built successfully
validation: 58 SPIR-V modules valid; 20 system-cloud GPU cases and sector regression passed on RTX 2050; foreground planet error <=1/255 RGB; all Frankfurt static quality cases <0.12/255 mean temporal RGB change; deployed hash matches
performance: synthetic filled interior High 1280x720 nebula p50 17.67 -> 22.85 ms, p95 19.45 -> 24.11 ms; more structure costs GPU time, not an FPS optimization
visual validation: before/after renderer images inspected with Frankfurt colors; synthetic camera, without actual puff atlas/exclusions/autoexposure; gameplay acceptance pending
runtime: REM-LOCAL reads this checkout directly; game restart required, not started/stopped; server unchanged; saves/settings preserved
SHA-256 EXE/rp8.dll: d3607655b7bb9c129fe330eeca82cdad878a0fb4790380d85756f80bd0b3cb80
--- Previous incremental/full-package records retained below ---
REM-Client incremental waypoint targeting and jump-tunnel position fix (64-bit)
date: 2026-11-14T23:02:14+01:00
source: 4e10c632 (main) + uncommitted navigation, cloud and previous changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): 1ac718a680a6804820305f29d2be89d4e80d6ec4478aa3f1574fcf08cba3a911
change: approach binds an actual selected waypoint object and preserves automatic target steering; jump state 3 suppresses both position streams until the ship reaches its exit frame
files: EXE/Freelancer.exe
build: Release|x64 hud_status_core, hud_waypoint and client_objdb compiled and client linked successfully; existing DLLs/UI retained
validation: 20 portable WorldPos/navmap tests plus 2 server jump arrival/target parsing tests pass; deployed executable hash matches; real waypoint steering and Berlin-Hamburg/Frankfurt gate passages require gameplay validation
runtime: REM-LOCAL reads this checkout directly; EXE atomically replaced for the next game launch; running game not restarted; server fix activated separately at 2026-11-14T23:03:57+01:00, PID 954568; web/status HTTP 200 and UDP 2302 verified
SHA-256 EXE/Freelancer.exe: 0b268d4fc085866ac0280c01a3e2fdb617ce228a2234f7386b9ba7c3590d03f3
--- Previous incremental/full-package records retained below ---
REM-Client incremental system-cloud structure and planet occlusion update (64-bit)
date: 2026-11-14T22:52:03+01:00
source: 4e10c632 (main) + uncommitted system-cloud, navigation and previous Sirius volume changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): 79bdf6485e01d43f2bc99831037ed0d9d8206265c1ab4a9fb6a6e909d7937cee
change: filtered bent cloud sheets, shadowed valleys and reduced outer haze/glow; solid planets and airless moons clip system/sector volumes independently of atmosphere/depth writes; linear metre depth through reduction, march and upsample; all MSAA samples included; foreground history rejection
files: EXE/rp8.dll, EXE/rendcomp.dll (Freelancer.exe retained from automatic waypoint approach update)
build: HLSL regenerated; Release|x64 RemGfx, RendComp, RP8 and nebulabench built successfully
validation: 58 SPIR-V modules pass Vulkan 1.3 validation; 26 system-cloud GPU cases passed on NVIDIA RTX 2050 and Intel ADL GT2, including 4 quality levels, MSAA4, full resolution, foreground/background planet, shortened far plane, stale-body removal, inside/motion/geometry; sector fixture passed composition, parallax, depth, transmission and stale/outside checks; no renderer errors; deployed hashes match
visual validation: synthetic before/after and warm-palette images reviewed; in-game lighting, actual planet scene and aesthetic acceptance remain to be checked
runtime: REM-LOCAL reads this checkout directly; game and server not restarted; preserves prior navigation EXE and all saves/settings
SHA-256 EXE/rp8.dll: 9eda443b411afa273edf36f9c6347e515ea1a6e12ce0e60db3294175e74cea80
SHA-256 EXE/rendcomp.dll: 13f60d41afc8b35ef7f1daf26c5d138c5714880952a51c064dd192db065215c1
--- Previous incremental/full-package records retained below ---
REM-Client incremental automatic waypoint approach update (64-bit)
date: 2026-11-14T22:33:55+01:00
source: 4e10c632 (main) + uncommitted approach, navigation and previously deployed Sirius cloud changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): e05f0e2a5d3c646cc9afba5751eba0a84f9ef8a16d6ab9e67557a760bf52db6c
change: waypoint/sector-point travel automatically uses normal Goto below 100 km, jump at or above 100 km; map and HUD labels follow actual 3D distance; precise foreign-frame and floating-origin conversion; object standoff and manual-route-bot handover
files: EXE/Freelancer.exe, EXE/remui/navmap.rml
build: Release|x64 hud_status_core, rem_ui_navmap and rem_ui_hud compiled and client linked successfully; existing dependency DLLs retained
validation: 20 portable WorldPos/navmap tests passed, including the 100 km boundary across rotated frames at large coordinates; source diff whitespace checks clean; deployed file hashes match
runtime: REM-LOCAL reads this checkout directly; game not started or restarted; actual autopilot flight and revised labels await in-game verification; no server update required
SHA-256 EXE/Freelancer.exe: cf68e22e3f1c281d1e5f85d30cf0b761ab7286f4515b17df315228923a72f32d
SHA-256 EXE/remui/navmap.rml: 9bf6ae0b0e51cb510e8d7394032e340d1ffca2e922dc462ba6572d6b5d091866
--- Previous incremental/full-package records retained below ---
REM-Client incremental navigation waypoints and group/clan contacts update (64-bit)
date: 2026-11-14T22:06:11+01:00
source: 4e10c632 (main) + uncommitted navigation and previously deployed Sirius cloud changes
source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): 135113bbd2641738cfb9ba546070624b43af603039611f41432039a6d7c8b657
change: free interstellar waypoints, precise GO/share coordinates, sector waypoint paths and exact jump course/distance; live group/clan markers in system/sector/galaxy views; repair retail group packets
files: EXE/Freelancer.exe, EXE/remui/navmap.rml
build: Release|x64 client compiled and linked successfully; existing dependency DLLs retained
validation: 19 WorldPos/navmap tests and 3 focused server protocol/visibility tests passed; complete server test run aborts in existing accounts_character_sync_and_discord_state under Wine x64 (not a complete suite pass); source diff whitespace checks clean; deployed hashes match
runtime: REM-LOCAL reads this checkout directly; game not started, visual/multiplayer flight confirmation pending; server activated with user approval at 2026-11-14T22:07:50+0100; PID 882921; web and /api/status HTTP 200, UDP 2302 listening
SHA-256 EXE/Freelancer.exe: cc3587c02c79cb8cf6312081582bad05618c1a3b7a93477a1f50c6e51b932129
SHA-256 EXE/remui/navmap.rml: a1abeb0857457923230e91bd2c51604c9d11470d8ee9ddba8e76307d427779c6
--- Previous incremental/full-package records retained below ---
REM-Client incremental Sirius camera-pan stability update (64-bit)
date: 2026-11-14T21:32:13+01:00
source: 4e10c632 (main) + uncommitted Sirius sector volume, wisps and stability changes
source files: src/RP8/RP8.cpp, src/RemGfx/include/remgfx/remgfx.h, src/RemGfx/rg_d3d8.h, src/RemGfx/rg_direct3d8.cpp, src/RemGfx/rg_post.cpp, src/RemGfx/shaders/post.hlsl, src/RemGfx/shaders/rg_shaders_spv.inc, src/RemGfx/tools/compile_shaders.py, src/freelancer/Client/rem_hints.cpp, src/freelancer/Client/rem_hints.h, src/freelancer/Client/rem_interstellar_sky.cpp, src/include/rem/sector_volume.h, src/include/render/IRemRenderHints.h
source fingerprint (SHA-256, ordered path/NUL/content/NUL): 446749d901fa2ea0780343cbdbbd0b09d25db4bab4df6337f8cf181d87167978
change: remove screen-pixel sampling jitter; analytically average thin density ridges over the ray footprint; fade unresolved erosion; 68/104/128/176 deterministic integration samples by quality
files: EXE/rp8.dll (Freelancer.exe retained from previous sector-volume deployment)
build: shaders regenerated; Release|x64 RemGfx rebuilt, RP8 and camera-pan GPU fixture linked; OK
validation: 58 SPIR-V modules passed Vulkan 1.3 validation; 45 ridge integration cases agree with numerical reference; actual-map GPU fixtures and 16-frame pans passed on RTX 2050 all qualities and High MSAA4, Intel ADL GT2 Low; depth occlusion, stale/outside cleanup, repeatability, transmission and local-nebula composition passed; no renderer errors; deployed DLL hash matches
motion measurement: High 960x540, TAA/upscaler off, rotation-compensated mean RGB frame difference 0.921 -> 0.358 /255 (about 61% lower); 15 frame pairs in pan-before-high vs pan-stable-high; diagnostic scene result, not an in-game guarantee
runtime: REM-LOCAL loads this checkout directly; active game not restarted; revised in-game camera pans and warp/TAA appearance await user evaluation
SHA-256 EXE/Freelancer.exe: 5f62732c6531b40925bff3cb5a20afe83646b596cabf75cbf2b0b20851db7de9
SHA-256 EXE/rp8.dll: c172e8af9f621ea3099c33617e76c777763090aedccf5e0692ec6ba55955a668
Previous deployment record:
REM-Client incremental Sirius wisps refinement (64-bit)
date: 2026-11-14T21:17:33+01:00
source: 4e10c632 (main) + uncommitted Sirius sector volume and wisps changes
source files: src/RP8/RP8.cpp, src/RemGfx/include/remgfx/remgfx.h, src/RemGfx/rg_d3d8.h, src/RemGfx/rg_direct3d8.cpp, src/RemGfx/rg_post.cpp, src/RemGfx/shaders/post.hlsl, src/RemGfx/shaders/rg_shaders_spv.inc, src/RemGfx/tools/compile_shaders.py, src/freelancer/Client/rem_hints.cpp, src/freelancer/Client/rem_hints.h, src/freelancer/Client/rem_interstellar_sky.cpp, src/include/rem/sector_volume.h, src/include/render/IRemRenderHints.h
source fingerprint (SHA-256, ordered path/NUL/content/NUL): 90391a612bc0870b6b7a1e0923a935ed0b9c339004b7717b05779b2e78afbe2b
change: replace milky sector billows with bent, elongated density sheets and eroded strands; remove density floor and faint atlas haze; stronger lit strands and shaded folds; near-weighted integration and filtered ridges with fixed spatial sampling offsets
files: EXE/rp8.dll (Freelancer.exe retained from previous sector-volume deployment)
build: shaders regenerated; Release|x64 RemGfx rebuilt, RP8 and GPU fixture linked; OK
validation: 58 SPIR-V modules validated for Vulkan 1.3; final actual-map GPU fixtures passed on RTX 2050 Low/Medium/High/Ultra and High MSAA4, Intel ADL GT2 Low; depth occlusion, stale/outside cleanup, repeatability, background transmission and combined local nebula checked; no renderer errors; source/deployed DLL hashes match
visual validation: reviewed before/after flight, moved-camera and top views in the GPU fixture; first deployed version was reported too milky by user; revised in-game warp appearance and temporal upscaling still await user evaluation
runtime: REM-LOCAL loads this REM-Mod checkout directly; game not launched for this revision
SHA-256 EXE/Freelancer.exe: 5f62732c6531b40925bff3cb5a20afe83646b596cabf75cbf2b0b20851db7de9
SHA-256 EXE/rp8.dll: 416c72ef1174a6583bf26b00776f22e005953565d252adb38309f3c5e435bee1
Previous deployment record:
REM-Client incremental Sirius sector volume update (64-bit)
date: 2026-11-14T20:48:13+01:00
source: 4e10c632 (main) + uncommitted Sirius sector volume changes
source files: src/RP8/RP8.cpp, src/RemGfx/include/remgfx/remgfx.h, src/RemGfx/rg_d3d8.h, src/RemGfx/rg_direct3d8.cpp, src/RemGfx/rg_post.cpp, src/RemGfx/shaders/post.hlsl, src/RemGfx/shaders/rg_shaders_spv.inc, src/RemGfx/tools/compile_shaders.py, src/freelancer/Client/rem_hints.cpp, src/freelancer/Client/rem_hints.h, src/freelancer/Client/rem_interstellar_sky.cpp, src/include/rem/sector_volume.h, src/include/render/IRemRenderHints.h
source fingerprint (SHA-256, ordered path/NUL/content/NUL): 74c47712f037d64c2ae3c756d1b2a2bec5a4d81c20ac02eb3c68bda5310175a3
change: world-anchored translucent 3D Sirius medium derived from the sector map; preserves camera height and system rotations; depth occlusion, shared quality levels and local-nebula composition; legacy sky fallback
files: EXE/Freelancer.exe, EXE/rp8.dll
build: Release|x64 RemGfx library rebuilt, RP8 bridge compiled and linked, client hints/sky compiled and executable linked; shaders regenerated; OK
validation: portable atlas/frame invariants passed; 58 generated SPIR-V modules validated for Vulkan 1.3; actual-map GPU fixtures passed on RTX 2050 at all four qualities and High MSAA4, Intel ADL GT2 Low; combined sector/system-nebula cases passed on RTX with/without MSAA; no renderer errors logged; deployed hashes match
runtime: REM-LOCAL uses this checkout directly; game not launched; real multiplayer warp, system-crossing fades, native suns/effects and temporal upscaling at warp speed still need in-game confirmation
SHA-256 EXE/Freelancer.exe: 5f62732c6531b40925bff3cb5a20afe83646b596cabf75cbf2b0b20851db7de9
SHA-256 EXE/rp8.dll: b48160195f1de3fd46e09a9774f2c068278ed82ec142ea11837b3f870b8c3a7b
Previous deployment record:
REM-Client incremental navigation update (64-bit) REM-Client incremental navigation update (64-bit)
date: 2026-11-14T20:11:51+01:00 date: 2026-11-14T20:11:51+01:00
source: 4e10c632 (main); committed source matches the validated incremental build inputs source: 4e10c632 (main); committed source matches the validated incremental build inputs
+5
View File
@@ -0,0 +1,5 @@
# CLAUDE.md
See AGENTS.md.
@AGENTS.md
Binary file not shown.
+11 -7
View File
@@ -127,6 +127,8 @@
.route-edge { position: absolute; width: 28dp; height: 28dp; margin: -14dp 0 0 -14dp; border: 1dp #f2b13c; border-radius: 14dp; background-color: #0d1622; cursor: pointer; } .route-edge { position: absolute; width: 28dp; height: 28dp; margin: -14dp 0 0 -14dp; border: 1dp #f2b13c; border-radius: 14dp; background-color: #0d1622; cursor: pointer; }
.route-edge .arrow { position: absolute; left: 9dp; top: 8dp; width: 0; height: 0; border-left: 10dp #fff0c2; border-top: 6dp transparent; border-bottom: 6dp transparent; transform-origin: 5dp 6dp; } .route-edge .arrow { position: absolute; left: 9dp; top: 8dp; width: 0; height: 0; border-left: 10dp #fff0c2; border-top: 6dp transparent; border-bottom: 6dp transparent; transform-origin: 5dp 6dp; }
.pick .s { left: -8dp; top: -8dp; width: 14dp; height: 14dp; border: 2dp #f2b13c; border-radius: 7dp; }
.group .lbl { color: #7cf27c; }
.group .s { left: -4dp; top: -4dp; width: 8dp; height: 8dp; border-radius: 4dp; background-color: #7cf27c; } .group .s { left: -4dp; top: -4dp; width: 8dp; height: 8dp; border-radius: 4dp; background-color: #7cf27c; }
.mi.sel .s { border-color: #f2b13c; } .mi.sel .s { border-color: #f2b13c; }
.sel .ring2 { position: absolute; left: -12dp; top: -12dp; width: 20dp; height: 20dp; border: 1dp #f2b13c; border-radius: 12dp; } .sel .ring2 { position: absolute; left: -12dp; top: -12dp; width: 20dp; height: 20dp; border: 1dp #f2b13c; border-radius: 12dp; }
@@ -430,17 +432,18 @@
<div class="legend"> <div class="legend">
<span class="selected">Amber: selection / waypoints</span><br/> <span class="selected">Amber: selection / waypoints</span><br/>
<span class="ship">Cyan: your ship / route</span><br/> <span class="ship">Cyan: your ship / route</span><br/>
<span class="group">Green: group / shared waypoints</span><br/> <span class="group">Green: group / shared waypoints</span><br/><span class="ship">Cyan dots: clan members</span><br/>
<span class="gate">Violet: jump gates</span> / <span class="hole">Red: jump holes</span> <span class="gate">Violet: jump gates</span> / <span class="hole">Red: jump holes</span>
</div> </div>
</div> </div>
<div class="scard" data-if="sec_card"> <div class="scard" data-if="sec_card">
<div class="sh"><div class="sun"></div><div><div class="n">{{ sec_pick_name }}</div><div class="k">{{ sec_pick_info }}</div></div></div> <div class="sh"><div class="sun"></div><div><div class="n">{{ sec_pick_name }}</div><div class="k">{{ sec_pick_info }}</div></div></div>
<div class="row" data-if="sec_pick_dist != ''"><span>Distance</span><span class="v">{{ sec_pick_dist }}</span></div> <div class="row" data-if="sec_pick_dist != ''"><span>Distance</span><span class="v">{{ sec_pick_dist }}</span></div>
<div class="jumpbtn" data-class-off="!sec_can_jump" data-action="sec_jump">Jump drive</div> <div class="jumpbtn" data-class-off="!sec_can_jump" data-action="sec_jump">{{ sec_approach ? 'Anfliegen' : 'Jump drive' }}</div>
<div class="why" data-if="!sec_can_jump">{{ sec_jump_why }}</div> <div class="why" data-if="!sec_can_jump">{{ sec_jump_why }}</div>
<div class="acts"><div class="btn" data-action="sec_open">Open system</div></div> <div class="acts"><div class="btn" data-if="!sec_point" data-action="sec_open">Open system</div><div class="btn primary" data-if="sec_point" data-action="sec_waypoint">Set waypoint</div></div>
</div> </div>
<div class="hint" data-if="sector &amp;&amp; sec_point_note != ''">{{ sec_point_note }}</div>
<div class="pcard" data-if="has_pick &amp;&amp; !sector &amp;&amp; !galaxy"> <div class="pcard" data-if="has_pick &amp;&amp; !sector &amp;&amp; !galaxy">
<div class="n">{{ pick_name }}</div> <div class="n">{{ pick_name }}</div>
<div class="k">{{ pick_kind }}</div> <div class="k">{{ pick_kind }}</div>
@@ -469,10 +472,11 @@
<div class="obj" data-for="o : objectives">{{ o }}</div> <div class="obj" data-for="o : objectives">{{ o }}</div>
</div> </div>
<div class="wcard" data-if="wp_else" data-class-reach="wp_else_reach"> <div class="wcard" data-if="wp_else" data-class-reach="wp_else_reach">
<div class="k">Waypoint in another system</div> <div class="k">Waypoint (last in route)</div>
<div class="n">{{ wp_else_text }}</div> <div class="n">{{ wp_else_text }}</div>
<div class="v">{{ wp_else_dist }} - {{ wp_else_reach ? 'in jump range' : 'out of jump range' }}</div> <div class="v">{{ wp_else_dist }} - {{ wp_approach ? 'Autopilot / under 100 km' : (wp_else_reach ? 'in jump range' : 'out of jump range') }}</div>
<div class="jumpbtn" data-if="wp_else_reach" data-action="wpjump">Jump to waypoint</div> <div class="jumpbtn" data-if="wp_else_reach" data-action="wpjump">{{ wp_approach ? 'Anfliegen' : 'Jump to waypoint' }}</div>
<div class="btn" data-action="wp_remove">Remove last waypoint</div>
</div> </div>
<div class="search-label">{{ search_hint }}</div> <div class="search-label">{{ search_hint }}</div>
<input class="text" type="text" data-value="search" maxlength="40" style="margin-bottom: 6dp;"/> <input class="text" type="text" data-value="search" maxlength="40" style="margin-bottom: 6dp;"/>
@@ -492,7 +496,7 @@
</div> </div>
<div class="scard hintc">Click a sector star to explore it. Scroll out of a sector to return here. Visiting a system reveals its sector.</div> <div class="scard hintc">Click a sector star to explore it. Scroll out of a sector to return here. Visiting a system reveals its sector.</div>
</div> </div>
<div class="scard hintc" data-if="sector &amp;&amp; !sec_card &amp;&amp; search == ''">Click a system to pick it - its jump is here and in the HUD (the jump drive key). Wheel zooms, drag moves, double click opens a system.</div> <div class="scard hintc" data-if="sector &amp;&amp; !sec_card &amp;&amp; search == ''">Click a system or empty space to pick a destination - its jump is here and in the HUD (the jump drive key). Wheel zooms, drag moves, double click opens a system.</div>
<div class="marks" data-if="universe &amp;&amp; uncharted_list.size &gt; 0 &amp;&amp; search == ''"> <div class="marks" data-if="universe &amp;&amp; uncharted_list.size &gt; 0 &amp;&amp; search == ''">
<h3>Known uncharted systems</h3> <h3>Known uncharted systems</h3>
<div class="hit" data-for="u : uncharted_list"><span class="hn">{{ u.name }}</span><span class="hk">{{ u.kind }}</span></div> <div class="hit" data-for="u : uncharted_list"><span class="hn">{{ u.name }}</span><span class="hk">{{ u.kind }}</span></div>
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.