diff --git a/BUILD_INFO.txt b/BUILD_INFO.txt index 65afc563..3eaef261 100644 --- a/BUILD_INFO.txt +++ b/BUILD_INFO.txt @@ -1,4 +1,66 @@ REM-Client committed deployment provenance (64-bit) +recorded: 2026-11-15T13:14:02.634257+01:00 +source: 35d5ebdfaea115b2e1d37cda3529d484b87e1adc (main) +server companion source: fb484cbbb849bd49ce5ce965e7c042860ec13d5a (main; no server files included in REM-Mod) +change: native system selection and off-screen arrows; maneuver-bar Jump Drive with icon; visited-system policy preserving waypoint jumps; up to five nearby suns visible inside systems +verification: committed client src/assets fingerprint matches the validated build; deployed executable, HUD and icons match build/source byte-for-byte +source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): acdc5cb80d232a594fb5033365d147fa90093e8c3049c8637045fa0b11efae39 +validation: prior Release x64 client build, 17 portable navmap/nearby-sun tests and 4 focused server jump tests passed; server policy patch unchanged by rebase (stable patch ID verified) +integration: Mod includes upstream through 3bce4e7b; server source includes upstream mission fix cb80cb7 +server runtime: existing deployed build uses b913d882 plus the identical jump-policy patch; upstream cb80cb7 mission fix is not in that binary; no server rebuild or restart for this commit +visual: latest markers and nearby suns not yet verified in live gameplay +runtime: REM-LOCAL uses REM-Mod/EXE directly; personal saves/settings and generated caches excluded +SHA-256 EXE/Freelancer.exe: c5793e61d1cde37045148b521c6ba31704d9da9105de927e6622c4d78cefccbb +SHA-256 EXE/remui/hud.rml: a3ed855b0f8a8b481c5d3632696aea12fe639e65ff265c41244f83796ca6fd07 +SHA-256 EXE/remui/img/jump-drive.png: d2a1c098814ea1c1e71d27f5a21df834f93dcc59e6f25d40d68c91cc19fd1a6a +SHA-256 EXE/remui/img/jump-drive.svg: 693bba062e06d169621d00ce10c3113cc44996572dddc9395cedaf3fb5cf090f + +Previous deployment record: +REM-Client incremental nearby system suns (64-bit) +date: 2026-11-15T13:09:03.525408+01:00 +source: 53aa6e1efc215b624fa324fd748d713beb71099d + uncommitted navigation/HUD and nearby-sun changes +source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): acdc5cb80d232a594fb5033365d147fa90093e8c3049c8637045fa0b11efae39 +change: up to five nearby system suns visible inside systems; three typical system spacings range with outer-third smooth fade; bounded 1.2-second replacement fades; preserve local sun, 3D directions, subtler local size/brightness; normal star-sphere and custom skybox paths +files: EXE/Freelancer.exe +build: Release|x64 rem_interstellar_sky and space_scene_obj_draw compiled and full client linked successfully; dependency DLLs unchanged +validation: 17 portable navmap/nearby-sun tests, zero failures; includes range limits, own-system exclusion, hard count cap, fade-before-replacement and sector reset; diff checks clean; runtime exe byte-identical to build +visual: live in-system brightness, camera motion and occlusion not yet visually verified +runtime: REM-LOCAL uses REM-Mod/EXE directly; restart Freelancer to load; server and personal saves/settings unchanged +SHA-256 EXE/Freelancer.exe: c5793e61d1cde37045148b521c6ba31704d9da9105de927e6622c4d78cefccbb + +Previous deployment record: +REM-Client incremental system target marker correction (64-bit) +date: 2026-11-15T12:52:14.943338+01:00 +source: 53aa6e1efc215b624fa324fd748d713beb71099d + uncommitted navigation/HUD changes +source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): 4f9458796080d6009d190517fc361005215b4081c9b0749c3460257cc9d68f9b +change: replace missing Unicode glyphs with geometric contact corners and the native CurrentTargetArrow montage; use native contact projection/near-plane clipping with overlay z=0; selected system corners no longer use scene depth +files: EXE/Freelancer.exe, EXE/remui/hud.rml +build: Release|x64 hud_status_core, hud_targetable_objects and rem_ui_hud compiled; full client _BuildLinkAction successful +validation: installed HUD font lacks former U+25C7/U+25B2 symbols; native arrow assets exist; old glyph markers/edge overlay removed; diff checks clean; runtime files match source/build byte-for-byte +visual: actual in-game camera sweep and new markers not yet visually verified +runtime: REM-LOCAL launches REM-Mod/EXE directly; restart Freelancer to load the update; server unchanged, no restart needed +SHA-256 EXE/Freelancer.exe: 37fdf7327372310ddbd1d29e2ef13bfeaafa4ec8754919879530880ed1cfca16 +SHA-256 EXE/remui/hud.rml: a3ed855b0f8a8b481c5d3632696aea12fe639e65ff265c41244f83796ca6fd07 + +Previous deployment record: +REM-Client incremental navigation selection and maneuver-bar Jump Drive (64-bit) +date: 2026-11-15T12:37:23.150724+01:00 +source: 53aa6e1efc215b624fa324fd748d713beb71099d + uncommitted navigation selection, HUD and waypoint activation changes +source fingerprint (SHA-256, sorted changed src/assets path/NUL/content/NUL): d022b04d37dc6e84c28e4cd803dc53d29e33f4666839c6ceeb45078ccd6f6737 +change: native-style system target reticle; selectable visited system markers and contacts; Jump Drive beside Formation with custom icon, disabled without drive; old destination dropdown removed; preserve precise waypoint jumps and nearby approach +files: EXE/Freelancer.exe, EXE/remui/hud.rml, EXE/remui/img/jump-drive.png, EXE/remui/img/jump-drive.svg +build: Release|x64 client compilation and _BuildLinkAction completed; existing dependency DLLs retained +validation: 15 portable navmap/waypoint tests and 4 focused server jump tests passed; diff whitespace checks clean; deployed files match build/source byte-for-byte +visual: icon inspected; new HUD and target selection not yet checked in live gameplay +server companion: visit-bit enforcement built separately and activated after authorized graceful restart; HTTP status, MySQL and UDP 2302 verified; no server files shipped here +runtime: REM-LOCAL launches REM-Mod/EXE directly; restart Freelancer to load this build; saves and personal settings retained +SHA-256 EXE/Freelancer.exe: f19e274fa59037c2833e81539b01038ad1276911a628c6d90eb65459f3b2bb31 +SHA-256 EXE/remui/hud.rml: 9c9f90e3a02bf97e2031559afe003c49d64baee4804ee74ee1f6fb42a7f75c96 +SHA-256 EXE/remui/img/jump-drive.png: d2a1c098814ea1c1e71d27f5a21df834f93dcc59e6f25d40d68c91cc19fd1a6a +SHA-256 EXE/remui/img/jump-drive.svg: 693bba062e06d169621d00ce10c3113cc44996572dddc9395cedaf3fb5cf090f + +Previous deployment record: +REM-Client committed deployment provenance (64-bit) recorded: 2026-11-15T01:03:58.313717+01:00 source: 53aa6e1efc215b624fa324fd748d713beb71099d (main) server companion source: b913d88279560c0a3780f9021b1e35b38447a140 (main; no server files included in REM-Mod) diff --git a/EXE/Freelancer.exe b/EXE/Freelancer.exe index 3005ad3f..041467ee 100755 Binary files a/EXE/Freelancer.exe and b/EXE/Freelancer.exe differ diff --git a/EXE/remui/hud.rml b/EXE/remui/hud.rml index 2f4a5bb3..55e1d759 100644 --- a/EXE/remui/hud.rml +++ b/EXE/remui/hud.rml @@ -22,15 +22,34 @@ .sp { flex: 1; } /* --- the maneuver bar, top centre: icon over its name, the active one amber ----------- */ - .mans { left: 50%; margin-left: -300dp; top: 8dp; width: 600dp; height: 76dp; padding: 0 18dp; display: flex; flex-direction: row; justify-content: center; align-items: center; } + .mans { left: 50%; margin-left: -370dp; top: 8dp; width: 740dp; height: 76dp; padding: 0 18dp; display: flex; flex-direction: row; justify-content: center; align-items: center; } .mans .ib { flex: 1; display: flex; flex-direction: column; align-items: center; height: 62dp; padding: 6dp 4dp 0 4dp; border-left: 1dp #2b6f9e; border-radius: 0; } .mans .ib:first-child { border-left-width: 0; } .mans .ib.on { border-left-width: 0; } .mans .ico { width: 34dp; height: 34dp; margin: 0; } .mans .lb { margin-top: 2dp; font-weight: 600; font-size: 12dp; letter-spacing: 1dp; color: #b9d4ea; white-space: nowrap; text-transform: uppercase; } .mans .ib.on .lb { color: #f2b13c; } + .mans .jump-control { position: relative; } + .mans .jump-control.off { pointer-events: none; } + .mans .jump-control .ico { image-color: #b9d4ea; } + .mans .jump-control.on .ico { image-color: #f2b13c; } + .mans .jump-control .state { font-size: 10dp; color: #b9d4ea; white-space: nowrap; } + .jump-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 2dp; background-color: #2b6f9e; } + .jump-progress .fill { height: 2dp; background-color: #f2b13c; } + .jump-info { position: absolute; top: 84dp; left: 50%; margin-left: -220dp; width: 440dp; text-align: center; color: #b9d4ea; font-size: 12dp; font-effect: shadow(1dp 1dp #03070d); pointer-events: none; } + .system-pick { position: absolute; width: 24dp; height: 24dp; margin-left: -12dp; margin-top: -12dp; pointer-events: auto; cursor: pointer; color: #b9d4ea; text-align: center; } + /* REM: geometric contact corners, independent of font glyph coverage. */ + .system-pick .corner { position: absolute; width: 4dp; height: 4dp; border-color: #b9d4eaaa; } + .system-pick .tl { left: 6dp; top: 6dp; border-left: 1dp; border-top: 1dp; } + .system-pick .tr { right: 6dp; top: 6dp; border-right: 1dp; border-top: 1dp; } + .system-pick .bl { left: 6dp; bottom: 6dp; border-left: 1dp; border-bottom: 1dp; } + .system-pick .br { right: 6dp; bottom: 6dp; border-right: 1dp; border-bottom: 1dp; } + .system-pick:hover .corner { border-color: #ffffff; } + .system-pick .name { display: none; position: absolute; top: 24dp; left: -88dp; width: 200dp; font-size: 14dp; font-effect: shadow(1dp 1dp #03070d); } + .system-pick:hover .name { display: block; } + .system-pick:hover { color: #ffffff; } /* a tab hanging from the bar (fts: no top edge, its sides start on the bar's bottom edge), clear of its cut */ - .cruise { left: 50%; margin-left: -286dp; top: 84dp; width: 64dp; height: 52dp; display: flex; justify-content: center; align-items: center; } + .cruise { left: 50%; margin-left: -356dp; top: 84dp; width: 64dp; height: 52dp; display: flex; justify-content: center; align-items: center; } .fp.cruise { decorator: ninepatch(fts, fts-i); } .cruise .ico { width: 40dp; height: 40dp; } @@ -130,32 +149,8 @@ /* the cloak's time left (rem-server [Native.Cloak] MaxSeconds) */ .cloakbar { height: 4dp; margin: 2dp 6dp 0 11dp; background-color: #b98cf222; } .cloakbar .fill { height: 100%; background-color: #b98cf2; } - /* the jump drive (rem-server [Native.JumpDrive]): charging, cooling down */ - .w.jump { color: #8fb8d8; } - .w.jump .f { margin-left: 8dp; font-size: 13dp; color: #9fb4c8; } - .w.jump.on { color: #f2b45c; border-left-color: #f2b45c; } - .w.jump.goal { color: #5cc8f0; border-left-color: #5cc8f0; } - .w.jump.wpelse { color: #8197ad; border-left-color: #8197ad; } - .w.jump.wpelse.reach { color: #f2b13c; border-left-color: #f2b13c; } /* REM: the system picked as the target - a frame in space in its direction (as the target bracket) */ - #sysmark { position: absolute; display: none; width: 0; height: 0; } - #sysmark.on { display: block; } - #sysmark .bk { position: absolute; width: 14dp; height: 14dp; border-color: #5cc8f0; } - #sysmark .tl { left: -26dp; top: -26dp; border-left: 2dp; border-top: 2dp; } - #sysmark .tr { left: 12dp; top: -26dp; border-right: 2dp; border-top: 2dp; } - #sysmark .bl { left: -26dp; top: 12dp; border-left: 2dp; border-bottom: 2dp; } - #sysmark .br { left: 12dp; top: 12dp; border-right: 2dp; border-bottom: 2dp; } - #sysmark .dot { position: absolute; left: -4dp; top: -4dp; width: 8dp; height: 8dp; border-radius: 4dp; background-color: #f2c94c; } - #sysmark .t { position: absolute; left: 32dp; top: -20dp; white-space: nowrap; font-family: "Saira SemiCondensed"; font-size: 15dp; color: #dbf3ff; font-effect: shadow(1dp 1dp #03070d); } - #sysmark .t .d { display: block; font-size: 12dp; color: #5cc8f0; } /* REM: ... out of the picture: an arrow at the screen's edge towards it */ - #sysarrow { position: absolute; display: none; width: 0; height: 0; } - #sysarrow.on { display: block; } - #sysarrow .a { position: absolute; left: -14dp; top: -14dp; width: 28dp; height: 28dp; line-height: 28dp; text-align: center; font-size: 24dp; color: #5cc8f0; font-effect: shadow(1dp 1dp #03070d); transform-origin: 50% 50%; } - #sysarrow .t { position: absolute; width: 120dp; text-align: center; white-space: nowrap; font-family: "Saira SemiCondensed"; font-size: 15dp; color: #dbf3ff; font-effect: shadow(1dp 1dp #03070d); } - #sysarrow .t .d { display: block; font-size: 12dp; color: #5cc8f0; } - .cloakbar.jumpbar { background-color: #f2b45c22; } - .cloakbar.jumpbar .fill { background-color: #f2b45c; } .fp.special { left: 50%; margin-left: -300dp; width: 600dp; bottom: 250dp; decorator: none; pointer-events: none; text-align: center; color: #f2d23c; font-size: 16dp; letter-spacing: 1dp; font-effect: shadow(1dp 1dp #000000cc); } /* --- the cruise engine's countdown / charge (HUD_CruiseProgress). With the ring: an arc of 16 segments (-55 to +55 degrees) around @@ -211,14 +206,15 @@ -
{{ sysmark_name }}{{ sysmark_dist }}
-
▲
{{ sysmark_name }}{{ sysmark_dist }}
+
{{ s.name }}
-
{{ grp[0].shown ? 'Hide' : 'Show' }}Maneuvers
+
{{ grp[0].shown ? 'Hide' : 'Show' }}Maneuvers
{{ m.label }}
+
Jump Drive{{ jump_text }}
+
{{ jump_goal }} ยท {{ jump_dist }} {{ jump_fuel }}
@@ -300,7 +296,7 @@
{{ target_name }}
{{ target_sub }} {{ target_rank }} {{ target_range }}
{{ target_crew }}
-
HULL
+
HULL
SHIELD
@@ -348,10 +344,6 @@
{{ cloak_name }}{{ cloak_bar ? cloak_left : (cloak_on ? 'ON' : 'OFF') }}
-
Jump Drive{{ jump_fuel }}{{ jump_text }}
-
-
{{ jump_goal }}{{ jump_dist }}
-
{{ wp_else_text }}{{ wp_else_dist }}
diff --git a/EXE/remui/img/jump-drive.png b/EXE/remui/img/jump-drive.png new file mode 100644 index 00000000..8bb2fde1 Binary files /dev/null and b/EXE/remui/img/jump-drive.png differ diff --git a/EXE/remui/img/jump-drive.svg b/EXE/remui/img/jump-drive.svg new file mode 100644 index 00000000..daae16e0 --- /dev/null +++ b/EXE/remui/img/jump-drive.svg @@ -0,0 +1,9 @@ + + + + + + + + +