REM-Client 3a1dfd26: Sol Skies' open world in the client - world map, moving frame, jump drives of a class, a system's cruise
REM-Client main now carries the Sol Skies engine work (merged with REM-Client 08eb3573): the open world (systems placed on a world map, crossings without loading, the frame moving with the ship), the jump drives of a class (Sol's and Sirius', the list of systems to jump to), a system's own cruise (universe.ini cruise_max_speed), the interstellar star sphere and music (DATA\UNIVERSE\interstellar.ini, optional), the HUD's speed in km/s at high speeds and the system chart for large systems. Without a world map on the server everything works as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
REM-Client test build (64-bit)
|
REM-Client test build (64-bit)
|
||||||
date: 2026-11-12 01:52
|
date: 2026-11-12 14:56
|
||||||
commit: 08eb3573 (main)
|
commit: 3a1dfd26 (sol-skies/large-world)
|
||||||
subject: Comms: tell a multiplayer server when a comm ended (Cnd_CommComplete)
|
subject: REM's branding back: the main menu's REMNANT, the icon and the file's names
|
||||||
tree: clean
|
tree: clean
|
||||||
build: OK
|
build: OK
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
-2
@@ -221,7 +221,7 @@
|
|||||||
<span class="pw"><span class="cap">POWER</span>{{ power_t }}%</span>
|
<span class="pw"><span class="cap">POWER</span>{{ power_t }}%</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="side r">
|
<div class="side r">
|
||||||
<span class="big">{{ speed }}<span class="u">m/s</span></span><span class="cap">SPEED</span>
|
<span class="big">{{ speed }}<span class="u">{{ speed_u }}</span></span><span class="cap">SPEED</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
<div class="brow hull"><span class="l">HULL</span><div class="bar"><div class="chips"><div class="sg" data-class-lit="hull_n > 0"></div><div class="sg" data-class-lit="hull_n > 1"></div><div class="sg" data-class-lit="hull_n > 2"></div><div class="sg" data-class-lit="hull_n > 3"></div><div class="sg" data-class-lit="hull_n > 4"></div><div class="sg" data-class-lit="hull_n > 5"></div><div class="sg" data-class-lit="hull_n > 6"></div><div class="sg" data-class-lit="hull_n > 7"></div><div class="sg" data-class-lit="hull_n > 8"></div><div class="sg" data-class-lit="hull_n > 9"></div><div class="sg" data-class-lit="hull_n > 10"></div><div class="sg" data-class-lit="hull_n > 11"></div><div class="sg" data-class-lit="hull_n > 12"></div><div class="sg" data-class-lit="hull_n > 13"></div><div class="sg" data-class-lit="hull_n > 14"></div><div class="sg" data-class-lit="hull_n > 15"></div></div></div></div>
|
<div class="brow hull"><span class="l">HULL</span><div class="bar"><div class="chips"><div class="sg" data-class-lit="hull_n > 0"></div><div class="sg" data-class-lit="hull_n > 1"></div><div class="sg" data-class-lit="hull_n > 2"></div><div class="sg" data-class-lit="hull_n > 3"></div><div class="sg" data-class-lit="hull_n > 4"></div><div class="sg" data-class-lit="hull_n > 5"></div><div class="sg" data-class-lit="hull_n > 6"></div><div class="sg" data-class-lit="hull_n > 7"></div><div class="sg" data-class-lit="hull_n > 8"></div><div class="sg" data-class-lit="hull_n > 9"></div><div class="sg" data-class-lit="hull_n > 10"></div><div class="sg" data-class-lit="hull_n > 11"></div><div class="sg" data-class-lit="hull_n > 12"></div><div class="sg" data-class-lit="hull_n > 13"></div><div class="sg" data-class-lit="hull_n > 14"></div><div class="sg" data-class-lit="hull_n > 15"></div></div></div></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sep"></div>
|
<div class="sep"></div>
|
||||||
<div class="val speed"><span class="cap">SPEED</span>{{ speed }}<span class="u">m/s</span></div>
|
<div class="val speed"><span class="cap">SPEED</span>{{ speed }}<span class="u">{{ speed_u }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
+52
-1
@@ -111,6 +111,50 @@
|
|||||||
.ln { display: none; }
|
.ln { display: none; }
|
||||||
.mi .s { opacity: 0; }
|
.mi .s { opacity: 0; }
|
||||||
.bookmark .s { opacity: 1; }
|
.bookmark .s { opacity: 1; }
|
||||||
|
|
||||||
|
/* LARGE SKIES: a system view is drawn by this window alone (#map.own, set by the window): a dark
|
||||||
|
chart with a grid that follows the zoom, the lanes as lines, and markers of a fixed size on
|
||||||
|
the screen, shaded to look like bodies -- lit from the upper left */
|
||||||
|
/* the box is cleared and the real objects are drawn under it (rem_navmap_models): see-through
|
||||||
|
once the window stands */
|
||||||
|
#map.own { background-color: #03070d; }
|
||||||
|
#map.own.revealed { background-color: #03070d00; }
|
||||||
|
#map.own .real .s { opacity: 0; }
|
||||||
|
/* LARGE SKIES: the system chart is round -- the corners are masked with the frame's colour, an
|
||||||
|
edge ring drawn over it */
|
||||||
|
.roundmask { display: none; position: absolute; left: 0; top: 0; right: 0; bottom: 0;
|
||||||
|
decorator: radial-gradient(circle closest-side, #0d162200 99.2%, #0d1622ff 99.8%); }
|
||||||
|
.roundedge { display: none; position: absolute; left: 0; top: 0; right: 0; bottom: 0; border: 1dp #3d7fa8; border-radius: 380dp; }
|
||||||
|
#map.own .roundmask, #map.own .roundedge { display: block; }
|
||||||
|
#map.own .gcol, #map.own .gnum { display: none; }
|
||||||
|
#map.own .ln { display: block; }
|
||||||
|
#map.own .mi .s { opacity: 1; }
|
||||||
|
#map.own .ln.lane { border-top: 2dp #2a8fc2c0; }
|
||||||
|
.gl { position: absolute; }
|
||||||
|
.gl.v { width: 0; }
|
||||||
|
.gl.h { height: 0; }
|
||||||
|
.gl.v.fine { border-left: 1dp #5cc8f014; }
|
||||||
|
.gl.h.fine { border-top: 1dp #5cc8f014; }
|
||||||
|
.gl.v.sect { border-left: 1dp #5cc8f040; }
|
||||||
|
.gl.h.sect { border-top: 1dp #5cc8f040; }
|
||||||
|
#map.own .planet .s { left: -9dp; top: -9dp; width: 18dp; height: 18dp; border-radius: 9dp; border-width: 0; background-color: #3d79b8;
|
||||||
|
decorator: radial-gradient(circle at 34% 30%, #e4f2ff 0%, #6fb0ea 22%, #2f67a6 55%, #102744 85%, #050c16 100%); }
|
||||||
|
#map.own .sun .s { left: -17dp; top: -17dp; width: 34dp; height: 34dp; border-radius: 17dp; border-width: 0; background-color: #00000000;
|
||||||
|
decorator: radial-gradient(circle at 50% 50%, #ffffff 0%, #fff3b8 18%, #f2c94cd0 34%, #f2a93c50 60%, #f2a93c00 100%); }
|
||||||
|
#map.own .station .s { left: -6dp; top: -6dp; width: 12dp; height: 12dp; background-color: #3f9fd0;
|
||||||
|
border-width: 2dp; border-top-color: #e6f7ff; border-left-color: #b9e6fb; border-right-color: #1f5f86; border-bottom-color: #0e3550;
|
||||||
|
decorator: linear-gradient(135deg, #8fd6f5 0%, #3f9fd0 50%, #1d6a94 100%); }
|
||||||
|
#map.own .gate .s { border-top-color: #e3ceff; border-left-color: #c9a8f5; border-right-color: #6a45a0; border-bottom-color: #432a6b; }
|
||||||
|
#map.own .hole .s { border-top-color: #ffc1b8; border-left-color: #f58e80; border-right-color: #9b3528; border-bottom-color: #5f1c14; }
|
||||||
|
#map.own .platform .s { left: -4dp; top: -4dp; width: 8dp; height: 8dp; background-color: #d9584a;
|
||||||
|
border-width: 1dp; border-top-color: #ffc9c2; border-left-color: #f59a8f; border-right-color: #8f2c21; border-bottom-color: #591710; }
|
||||||
|
#map.own .object .s { left: -4dp; top: -4dp; width: 8dp; height: 8dp; border-radius: 4dp; background-color: #8197ad;
|
||||||
|
decorator: radial-gradient(circle at 34% 30%, #f1f6fb 0%, #9db1c6 40%, #47586b 100%); }
|
||||||
|
#map.own .ring .s { left: -3dp; top: -3dp; width: 6dp; height: 6dp; border-radius: 3dp; background-color: #2a8fc2;
|
||||||
|
decorator: radial-gradient(circle at 34% 30%, #d6f1ff 0%, #2a8fc2 55%, #0f3f5c 100%); }
|
||||||
|
#map.own .player .s { border-bottom-color: #7cf27c; }
|
||||||
|
#map.own .mi .lbl { color: #c9d9ea; font-size: 12dp; }
|
||||||
|
#map.own .planet .lbl, #map.own .sun .lbl { left: 14dp; top: -9dp; font-size: 13dp; color: #e6f0fa; }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="window" data-model="navmap">
|
<body class="window" data-model="navmap">
|
||||||
@@ -126,16 +170,21 @@
|
|||||||
<div class="split">
|
<div class="split">
|
||||||
<div class="mapframe"><div id="map" data-class-blank="universe && uncharted">
|
<div class="mapframe"><div id="map" data-class-blank="universe && uncharted">
|
||||||
<div class="region" data-for="r : regions" data-style-left="r.left" data-style-top="r.top">{{ r.name }}</div>
|
<div class="region" data-for="r : regions" data-style-left="r.left" data-style-top="r.top">{{ r.name }}</div>
|
||||||
|
<div class="gl v fine" data-for="g : grid_fv" data-style-left="g.left" data-style-top="g.top" data-style-height="g.name"></div>
|
||||||
|
<div class="gl h fine" data-for="g : grid_fh" data-style-top="g.top" data-style-left="g.left" data-style-width="g.name"></div>
|
||||||
|
<div class="gl v sect" data-for="g : grid_sv" data-style-left="g.left" data-style-top="g.top" data-style-height="g.name"></div>
|
||||||
|
<div class="gl h sect" data-for="g : grid_sh" data-style-top="g.top" data-style-left="g.left" data-style-width="g.name"></div>
|
||||||
<div class="gcol" data-for="g : grid_cols" data-style-left="g.left">{{ g.name }}</div>
|
<div class="gcol" data-for="g : grid_cols" data-style-left="g.left">{{ g.name }}</div>
|
||||||
<div class="gnum" data-for="g : grid_rows" data-style-top="g.top">{{ g.name }}</div>
|
<div class="gnum" data-for="g : grid_rows" data-style-top="g.top">{{ g.name }}</div>
|
||||||
<div class="uncharted-note" data-if="universe && uncharted && items.size == 0">No uncharted system visited yet.</div>
|
<div class="uncharted-note" data-if="universe && uncharted && items.size == 0">No uncharted system visited yet.</div>
|
||||||
<div class="ln" data-for="l : lines" data-class-jump="l.cls == 'jump'" data-class-lane="l.cls == 'lane'" data-class-route="l.cls == 'route'" data-class-waypath="l.cls == 'waypath'" data-style-left="l.left" data-style-top="l.top" data-style-width="l.width" data-style-transform="l.transform"></div>
|
<div class="ln" data-for="l : lines" data-class-jump="l.cls == 'jump'" data-class-lane="l.cls == 'lane'" data-class-route="l.cls == 'route'" data-class-waypath="l.cls == 'waypath'" data-style-left="l.left" data-style-top="l.top" data-style-width="l.width" data-style-transform="l.transform"></div>
|
||||||
<div class="mi" data-for="i : items" data-attr-class="'mi ' + i.cls + (i.selected ? ' sel' : '')" data-style-left="i.left" data-style-top="i.top">
|
<div class="mi" data-for="i : items" data-attr-class="'mi ' + i.cls + (i.selected ? ' sel' : '') + (i.real ? ' real' : '')" data-style-left="i.left" data-style-top="i.top">
|
||||||
<div class="ring2" data-if="i.selected"></div>
|
<div class="ring2" data-if="i.selected"></div>
|
||||||
<div class="s" data-style-transform="i.rot"></div>
|
<div class="s" data-style-transform="i.rot"></div>
|
||||||
<div class="bc" data-if="i.color != ''" data-style-background-color="i.color"></div>
|
<div class="bc" data-if="i.color != ''" data-style-background-color="i.color"></div>
|
||||||
<div class="lbl" data-if="i.label != ''" data-style-left="i.lleft" data-style-top="i.ltop">{{ i.label }}</div>
|
<div class="lbl" data-if="i.label != ''" data-style-left="i.lleft" data-style-top="i.ltop">{{ i.label }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="roundedge"></div>
|
||||||
<div class="pop" data-if="popup" data-style-left="pop_left" data-style-top="pop_top">
|
<div class="pop" data-if="popup" data-style-left="pop_left" data-style-top="pop_top">
|
||||||
<div class="pt">{{ pick_name }}</div>
|
<div class="pt">{{ pick_name }}</div>
|
||||||
<div class="pb" data-if="can_open" data-action="tool" data-arg="open">Open system</div>
|
<div class="pb" data-if="can_open" data-action="tool" data-arg="open">Open system</div>
|
||||||
@@ -150,6 +199,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="zoom">
|
<div class="zoom">
|
||||||
<span class="v">{{ zoom }}</span>
|
<span class="v">{{ zoom }}</span>
|
||||||
|
<div class="btn" data-action="zoomall">All</div>
|
||||||
|
<div class="btn" data-action="zoomship">Ship</div>
|
||||||
<div class="btn" data-action="zoomout">-</div>
|
<div class="btn" data-action="zoomout">-</div>
|
||||||
<div class="btn" data-action="zoomin">+</div>
|
<div class="btn" data-action="zoomin">+</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user