diff --git a/DLLS/BIN/content.dll b/DLLS/BIN/content.dll index a676de05..c6cd8299 100644 Binary files a/DLLS/BIN/content.dll and b/DLLS/BIN/content.dll differ diff --git a/EXE/DALib.dll b/EXE/DALib.dll index 5bbb1a23..6b19633d 100644 Binary files a/EXE/DALib.dll and b/EXE/DALib.dll differ diff --git a/EXE/Freelancer.exe b/EXE/Freelancer.exe index 3bf9127b..b4c82ce7 100644 Binary files a/EXE/Freelancer.exe and b/EXE/Freelancer.exe differ diff --git a/EXE/THIRD_PARTY_NOTICES.md b/EXE/THIRD_PARTY_NOTICES.md index 2cfff928..021a92d9 100644 --- a/EXE/THIRD_PARTY_NOTICES.md +++ b/EXE/THIRD_PARTY_NOTICES.md @@ -59,3 +59,39 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## The modern interface (docs/rem/ui-modern.md) + +The modern windows are drawn with these libraries and fonts, shipped unchanged: + +- RmlUi 6.3, https://github.com/mikke89/RmlUi -- src/RmlUi/vendor, license below. +- FreeType 2.14.3, https://freetype.org -- src/freetype/vendor. Portions of this software are + copyright (c) 2026 The FreeType Project (www.freetype.org). All rights reserved. Used under the + FreeType License (src/freetype/vendor/FTL.TXT). +- Saira Semi Condensed, Barlow and IBM Plex Mono (Google Fonts) -- assets/remui/fonts, each under + the SIL Open Font License 1.1 (the OFL-*.txt files beside the fonts). + +RmlUi: + +MIT License + +Copyright (c) 2008-2014 CodePoint Ltd, Shift Technology Ltd, and contributors +Copyright (c) 2019-2026 The RmlUi Team, and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/EXE/alchemy.dll b/EXE/alchemy.dll index 76073572..47a6cb72 100644 Binary files a/EXE/alchemy.dll and b/EXE/alchemy.dll differ diff --git a/EXE/common.dll b/EXE/common.dll index 51b94143..ec680c89 100644 Binary files a/EXE/common.dll and b/EXE/common.dll differ diff --git a/EXE/dacom.dll b/EXE/dacom.dll index 1cdecee0..d359c2a8 100644 Binary files a/EXE/dacom.dll and b/EXE/dacom.dll differ diff --git a/EXE/deformable2.dll b/EXE/deformable2.dll index c966ef99..4203f913 100644 Binary files a/EXE/deformable2.dll and b/EXE/deformable2.dll differ diff --git a/EXE/engbase.dll b/EXE/engbase.dll index 955c8c58..b3cf8757 100644 Binary files a/EXE/engbase.dll and b/EXE/engbase.dll differ diff --git a/EXE/flmaterials.dll b/EXE/flmaterials.dll index 86b8082a..0e2838d9 100644 Binary files a/EXE/flmaterials.dll and b/EXE/flmaterials.dll differ diff --git a/EXE/imeui.dll b/EXE/imeui.dll index 47964618..e5b0499f 100644 Binary files a/EXE/imeui.dll and b/EXE/imeui.dll differ diff --git a/EXE/luaprofile.dll b/EXE/luaprofile.dll index a0af0d87..66752b65 100644 Binary files a/EXE/luaprofile.dll and b/EXE/luaprofile.dll differ diff --git a/EXE/readfile.dll b/EXE/readfile.dll index 3d60c022..51b96a5e 100644 Binary files a/EXE/readfile.dll and b/EXE/readfile.dll differ diff --git a/EXE/rem.ini b/EXE/rem.ini index a68f8df5..e1e0c34a 100644 --- a/EXE/rem.ini +++ b/EXE/rem.ini @@ -26,11 +26,13 @@ dpi_aware = true ; per monitor DPI aware: Windows display scal draw_time_extrapolation = true ; multiplayer: moving objects drawn as of the frame's time (false: as of the last physics step, retail) ; ---- Cursor and mouse ---- -cursor_color_custom = false ; draw every cursor in the colour below +cursor_color = 0 ; cursor colour: 0 game default, 1 red, 2 green, 3 blue, 4 yellow, 5 pink +cursor_color_custom = false ; older switch (no preset chosen): every cursor in the colour below cursor_color_r = 255 cursor_color_g = 255 cursor_color_b = 255 more_cursor_colors = false ; target cursor in group / trade-request colour +lead_marker_color = 0 ; crosshair (lead cross) colour: 0 game default, 1 red, 2 green, 3 blue, 4 yellow, 5 pink lead_marker_color_custom = false ; the lead cross (aim point) in the colour below (ClientHook "crosshair colour") lead_marker_color_r = 191 lead_marker_color_g = 29 @@ -52,6 +54,23 @@ zone_messages = true ; "Entered ." / "Left ." in the a join_server_button = true ; JOIN SERVER in the main menu: straight to the first rem_servers entry chat_widescreen_shift = true ; the chat window at the left screen edge on wide screens (adoxa HudShift, chat groups) rem_bar = true ; REM bar top left (NeuroNet bar twin with the REM windows) * +modern_ui = true ; the modern windows (new design, docs/rem/ui-modern.md) where there are some; off: all classic +modern_ui_scale = 1.0 ; size of the modern windows (1 = 1 dp per pixel at 1080 lines) +hud_scale = 1.0 ; size of the modern flight HUD (the parts keep their own size from the HUD editor) +hud_opacity = 1.0 ; opacity of the modern flight HUD +ui_theme = 0 ; colours of the modern windows: 0 REM, 1 neon blue, 2 red, 3 green, 4 purple, 5 high contrast +colorblind_mode = 0 ; friend / foe colours: 0 FL red / green, 1 orange / blue (red-green), 2 red / cyan (blue-yellow) +; chat colours per channel (the chat settings, gear in the chat line): rrggbb, empty = FL's own +chat_color_universe = +chat_color_system = +chat_color_local = +chat_color_group = +chat_color_private = +chat_color_server = +chat_color_console = +chat_timestamps = true ; times in the modern chat history +chat_ignore = ; ignored players (the chat menu on a name), names joined by | +modern_ui_debugger = false ; F8 shows the RmlUi debugger over the modern windows * rem_protocol_log = true ; every REM server message in LOGS\rem_protocol.log * rem_servers = srv.rem-freelancer.moe:2302 ; servers always in the multiplayer list (host:port, comma separated) * copy_paste_feature = false ; Ctrl+C / Ctrl+V in text boxes diff --git a/EXE/remgfx.ini b/EXE/remgfx.ini index 28eaa27f..41160696 100644 --- a/EXE/remgfx.ini +++ b/EXE/remgfx.ini @@ -111,6 +111,8 @@ WeaponGlow = 1.6 ; white), 3 motion vectors (grey = still, magenta = unknown), 4 material class (glass, nomad, ; planet water, engine glow ... one colour each), 5 game object (one colour per object), 6 phase DebugView = 0 +; motion diagnostics in remgfx.log after each statistics line (planet surfaces, own ship, camera): 1 on +MotionLog = 0 ; R16 distortion: heat haze behind engines and around explosions, refraction at shield hits and ; cloaks, a swirl in the jump tunnel; Distortion switches all of it, the others scale each kind ; (0 = off). Needs Taa = 1 (it shares the scene's extra targets with the motion vectors). diff --git a/EXE/remoteclient.dll b/EXE/remoteclient.dll index ed5fc9c0..0c696ca0 100644 Binary files a/EXE/remoteclient.dll and b/EXE/remoteclient.dll differ diff --git a/EXE/remoteserver.dll b/EXE/remoteserver.dll index 12cf87d6..ee98b176 100644 Binary files a/EXE/remoteserver.dll and b/EXE/remoteserver.dll differ diff --git a/EXE/remui/account.rml b/EXE/remui/account.rml new file mode 100644 index 00000000..f8bf980d --- /dev/null +++ b/EXE/remui/account.rml @@ -0,0 +1,28 @@ + + + Account + + + + +
+ MULTIPLAYER ACCOUNT +
+
+
+
{{ explain }}
+
Account key
+ +
+
Continue
Checks the key and goes on to the server list.
+
+
+
+
+
Back
+
+ +
diff --git a/EXE/remui/base.rml b/EXE/remui/base.rml new file mode 100644 index 00000000..8a12c2b0 --- /dev/null +++ b/EXE/remui/base.rml @@ -0,0 +1,571 @@ + + + Base manager + + + + +
+ BASE MANAGER + {{ base_name }} + + Credits {{ money }} + Drones {{ count }} + × +
+
+ +
+
+
{{ blocked_title }}
+
{{ blocked_text }}
+
+ + +
+
+
No depot on this base
+
A depot keeps goods on this base, beside your cargo hold. Paid from the account bank.
+
Buy a depot here
+
+
+

Depot on this base

{{ depot.size }} kinds
+
+
ItemTypeAmount
+
+
{{ depot_state < 0 ? 'Waiting for the server...' : 'The depot is empty.' }}
+
+ {{ r.a }}{{ r.b }}{{ r.c }} +
+
+
+
+
+

Cargo hold

free {{ hold_free }}
+
+
ItemAmount
+
+
Nothing in the hold.
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+ Amount + + {{ amount_text }} +
Max
+
+
+
Withdraw to hold
Moves the amount of the depot item you picked into your cargo hold.
+
Deposit to depot
Moves the amount of the cargo you picked into the depot on this base.
+
+
+
+ + +
+

Your depots

{{ depots.size }} bases
+ +
+
BaseItems
+
+
No depots yet.
+
{{ r.a }}{{ r.c }}
+
+
+
+ + +
+
+
No galactic market here
+
The galactic market is open on trade hubs only.
+
+
+

Galactic market

{{ listings.size }} offers
+ +
+
ItemAmountPrice / unitSellerTrade hub
+
+
{{ market_state < 0 ? 'Waiting for the server...' : 'No offers.' }}
+
+ {{ r.a }}{{ r.b }}{{ r.c }}{{ r.d }}{{ r.e }} +
+
+
+
{{ listing_pick == '' ? 'Pick an offer in the table.' : listing_pick }}
+
+ Amount + + {{ amount_text }} +
Max
+
+
Buy
Buys the amount; it goes into the depot on the seller's trade hub.
+
+
+ + +
+
+

Depot items

+ +
+
ItemAmount
+
+
{{ market_state == 0 ? 'No galactic market here (trade hubs only).' : 'The depot is empty.' }}
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+
+
+
Offer on the galactic market
+
{{ sell_pick == '' ? 'Pick a depot item' : sell_pick }}
+
+ Amount + + {{ amount_text }} +
+
Price / unit
+
List for sale
Puts the amount on the galactic market at that price per unit.
+
+
+
+ + +
+
+

Recipes

{{ recipes.size }}
+ +
+
+
Waiting for the server...
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+
+
+
{{ recipe_name }}
+
{{ recipe_meta }}
+
+
+
Pick a recipe
+
Materials come from the depot on this base.
+
+
+
MaterialNeededIn depot
+
+ {{ r.a }}{{ r.b }}{{ r.c }} +
+
+
+ How many + + {{ amount_text }} +
Max
+
+
Craft
Starts a crafting job; the materials leave the depot now, the result arrives there when the job is done.
+

Crafting jobs

+
+
No crafting jobs.
+
+
{{ j.name }}{{ j.left }}
+
+
+
+
+
+ + +
+
+

Research materials

{{ research_goods.size }}
+ +
+
+
Waiting for the server...
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+
+
+
Weapon base
{{ weapon }}
Use picked
+
Material 1
{{ mat1 }}
Use picked
+
Material 2
{{ mat2 }}
Use picked
+
+
New weapon's name
+
Start research
Researches a new weapon from the weapon base and the two materials. The name needs at least 5 letters.
+

Research jobs

+
+
No research jobs.
+
+
{{ j.name }}{{ j.left }}
+
+
+
+
+
+ + +
+
+
{{ sys_title }}
{{ sys_line }}
+
{{ claim_text }}
Claims this system for you, for good. You can build here then.
+
+
+
Build
+
Objects
+
+ + +
+
+
+
CatalogBuilt
+
+
Nothing to build yet.
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+
+
+
+
+
{{ type_name }}
+
{{ type_meta }}
+
Wares
+
No wares needed.
+
{{ w.a }}{{ w.b }}
+
+
+
{{ type_info }}
+
+
Distance{{ dist_text }}
+
Turn{{ turn_text }}
+
+
{{ show_site ? 'Hide planned site' : 'Show site' }}
Shows the planned site as a ghost ahead of your ship; the sliders move it.
+
{{ site_text }}
Builds a construction site of the picked type where the planned site is. Deliver its wares under Objects.
+
+
+
Claim the system to build here.
+
+
+ + +
+
+
+
ObjectState
+
+
{{ sys_in ? 'Nothing built yet.' : 'Not in an uncharted system.' }}
+
+ {{ r.a }}{{ r.c }} +
+
+
+
+
Target
Targets the picked object in space.
+
Waypoint
Sets a waypoint to the picked object.
+
+
+
+
+
{{ obj_title }}
+
{{ obj_line }}
+
+
+
+
Wares
+
Rules
+
Loadout
+
+ +
+
+
WareDeliveredIn hold
+
+
No wares needed.
+
+ {{ r.a }}{{ r.b }}{{ r.c }} +
+
+
+
+
Amount{{ qty_text }}
+
Deliver
Hands the amount of the picked ware from your hold to the site.
+
+
+ +
+
{{ rule_mode }}
Switches the rule mode: everybody, the list only, nobody.
+
{{ rule_mode }} - only the owner sets rules.
+
+
PilotRule
+
+
No pilots online.
+
+ {{ r.a }}{{ r.b }} +
+
+
+
+
Pilot
+
+
{{ allow_text }}
+
{{ deny_text }}
+
Remove
+
+
+
+ +
+
+
+
HardpointEquipped
+
+
Nothing to equip.
+
{{ r.a }}{{ r.b }}
+
+
+
Take off
+
+
+
+
In your hold#
+
+
No weapons or shields in the hold.
+
{{ r.a }}{{ r.c }}
+
+
+
Mount
+
+
+
+
+
+ + +
+
+

Your drones

{{ count }}
+
+
{{ empty_text }}
+
+
{{ d.icon }}
+
+
{{ d.name }}{{ d.state }}
+
{{ d.kind }} · {{ d.plan }}
+
+
+
+
+
+ Buy a drone
+
+ +
+
+ {{ cur.name }} + {{ cur.kind }} drone + {{ cur.state }} +
+
+
{{ cur_active ? 'Stop' : 'Start' }}
{{ cur_active ? 'Calls the drone back; it waits at its home base.' : 'Sends the drone out from ' + cur_home + '.' }}
+
Repair{{ cur_repair }}
Repairs the hull to 100 %. Paid from your credits.
+
Station here
Makes this base the drone's home; deliveries go into the depot here.
+
{{ scrap_armed ? 'Really scrap?' : 'Scrap' }}
Scraps the drone for a part of its price. A second click within 3 s confirms.
+
+
+
Overview
+
Orders
+
Buy
+
+ +
+
+
Hull
{{ cur.hull }} %
+
Cargo
{{ cur_cargo }}
+
Runs
{{ cur_runs }}
+
Delivered
{{ cur_delivered }}
+
+
Plan: {{ cur.plan }}
+
Home base: {{ cur_home }}
+
+ +
+
+
+
Buys at
{{ route_from }}
Good out
{{ route_good }}
+ <> +
Sells at
{{ route_to }}
Good back
{{ route_back }}
+
+
+
Buy at
+
Sell at
+
Good out
+
Good back
+
+
+
+
Defensive
Attacks only who attacks the protected pilot.
+
Aggressive
Attacks hostile targets in reach.
+
+ +
+
{{ col_a }}{{ col_b }}{{ col_c }}
+
+
{{ list_empty }}
+
+ {{ r.a }}{{ r.b }}{{ r.c }} +
+
+
+
+
{{ cur.kind == 'Mining' ? 'Use this field' : cur.kind == 'Escort' ? 'Protect this pilot' : 'Use this' }}
+
Nearest field
The server picks the nearest field with ware.
+
Best
The server picks the best trade for this part of the route.
+
Return empty
+
+
+ +
+
+
+
{{ b.title }}
+
{{ b.price }}
+
{{ b.text }}
+
Buy {{ b.title }}
+
+
+
Name
+
The name is given at the purchase and cannot be changed later. Letters, digits and . - _ only.
+
{{ rules }}
+
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/charcreate.rml b/EXE/remui/charcreate.rml new file mode 100644 index 00000000..7886964c --- /dev/null +++ b/EXE/remui/charcreate.rml @@ -0,0 +1,88 @@ + + + New pilot + + + + +
+ NEW PILOT + + Starts {{ count }} +
+
+
+
+
+

Where do you start?

+
The server offers no start.
+
+
+
{{ r.name }}
+
+ +
{{ s.base }}
{{ s.ship }}
+ {{ s.money }} +
+
+
+
+
+

Your pilot

+
+
drag to turn
+
+
+
+
Pilot name
+ +
+
+
{{ pick.base }}
+
{{ pick_region }}
+
+
Ship
{{ pick.ship }}
+
Credits
{{ pick.money }}
+
+
{{ pick_desc }}
+
+
+
Create pilot
Creates the pilot at the picked start; the server may refuse a name that is taken.
+
+
+
+
+
+
+
Back
+
+ +
diff --git a/EXE/remui/charselect.rml b/EXE/remui/charselect.rml new file mode 100644 index 00000000..ee33f1cc --- /dev/null +++ b/EXE/remui/charselect.rml @@ -0,0 +1,84 @@ + + + Characters + + + + +
+ {{ server }} + + Characters {{ chars.size }} / 5 +
+
+
+
+
+

Your pilots

+
+
No pilot on this server yet. Create one to begin.
+
+
+
+ +
{{ c.name }}
{{ c.ship }} - {{ c.place }}
+
{{ c.money }}
{{ c.level }}
+
+
+
+
Launch
Plays the picked pilot. A double click on a pilot does the same.
+
New pilot
Creates a new pilot (at most five per account).
+
Delete
Deletes the picked pilot for good (you are asked first).
+
+
+
+

Pilot

+
+
drag to turn
+
+
+
+
{{ pick.name }}
+
{{ pick.level }} - {{ pick.money }}
+
{{ pick.ship }}, {{ pick.place }}
+
{{ pick_stats }}
+
+
Pick a pilot.
+

Message of the day

+
{{ motd }}
+
+
+
+
+
+
Back to servers
+
Main menu
+
+ +
diff --git a/EXE/remui/chatfeed.rml b/EXE/remui/chatfeed.rml new file mode 100644 index 00000000..bc34b459 --- /dev/null +++ b/EXE/remui/chatfeed.rml @@ -0,0 +1,26 @@ + + + Chat + + + + +
+
+ {{ text }}| + +
+ +
diff --git a/EXE/remui/chathistory.rml b/EXE/remui/chathistory.rml new file mode 100644 index 00000000..f764e5cf --- /dev/null +++ b/EXE/remui/chathistory.rml @@ -0,0 +1,58 @@ + + + Chat history + + + + +
+ + CHAT + + Targets {{ count }} + + × +
+
+
+
+
+
+
{{ t.label }}
+
+
+
No messages yet.
+
{{ l.time }}
+
+
+
+

Write to

+
+
+
+
+
+
Pick whom to write to, then press Enter in flight or on a base to type.
+
+
+ +
diff --git a/EXE/remui/chatsettings.rml b/EXE/remui/chatsettings.rml new file mode 100644 index 00000000..a6347f95 --- /dev/null +++ b/EXE/remui/chatsettings.rml @@ -0,0 +1,60 @@ + + + Chat settings + + + + +
+ + CHAT SETTINGS + + × +
+
+
+
+

Players

+
Hide NPC pilots
+
Hides the server's NPC pilots ([NPC] names) from the chat, the player list of the chat window, the chat targets and the contact list.
+
Show times in the chat history
+
+
+

Colours

+
+ {{ r.label }} + Pilot: Hello Sirius! +
+
+
The first colour of a row is FL's own. Server messages (new players, server notices) run as Admin / Server.
+
+
+ {{ dirty ? 'Unsaved changes' : '' }} +
FL colours
+
Cancel
+
Save settings
+
+
+
+ +
diff --git a/EXE/remui/contracts.rml b/EXE/remui/contracts.rml new file mode 100644 index 00000000..77326447 --- /dev/null +++ b/EXE/remui/contracts.rml @@ -0,0 +1,58 @@ + + + Contracts + + + + +
+ + CONTRACT NETWORK + + Bounties {{ bounties.size }} + × +
+
+
+ +
+
+

Bounty contracts

+
+
PilotReward
+
+
{{ has_list ? 'No bounties open.' : 'Waiting for the server...' }}
+
{{ r.a }}{{ r.b }}
+
+
+
Refresh list
+
+
+

Place a bounty

+
{{ target_text }}
+
Credits
+
On my target
Puts a bounty of these credits on the player you have targeted. Paid from your credits.
+
Whoever destroys the pilot gets the reward.
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/ctxmenu.rml b/EXE/remui/ctxmenu.rml new file mode 100644 index 00000000..b6ca0605 --- /dev/null +++ b/EXE/remui/ctxmenu.rml @@ -0,0 +1,22 @@ + + + Menu + + + + + + + diff --git a/EXE/remui/dialog.rml b/EXE/remui/dialog.rml new file mode 100644 index 00000000..2df303c5 --- /dev/null +++ b/EXE/remui/dialog.rml @@ -0,0 +1,43 @@ + + + Message + + + + +
+ {{ title }} + × +
+
+
{{ text }}
+ + +
+
+
{{ b }}
+
+ +
diff --git a/EXE/remui/fonts/Barlow-Medium.ttf b/EXE/remui/fonts/Barlow-Medium.ttf new file mode 100644 index 00000000..d546e7a3 Binary files /dev/null and b/EXE/remui/fonts/Barlow-Medium.ttf differ diff --git a/EXE/remui/fonts/Barlow-Regular.ttf b/EXE/remui/fonts/Barlow-Regular.ttf new file mode 100644 index 00000000..bb3faec4 Binary files /dev/null and b/EXE/remui/fonts/Barlow-Regular.ttf differ diff --git a/EXE/remui/fonts/Barlow-SemiBold.ttf b/EXE/remui/fonts/Barlow-SemiBold.ttf new file mode 100644 index 00000000..7c974a4a Binary files /dev/null and b/EXE/remui/fonts/Barlow-SemiBold.ttf differ diff --git a/EXE/remui/fonts/IBMPlexMono-Medium.ttf b/EXE/remui/fonts/IBMPlexMono-Medium.ttf new file mode 100644 index 00000000..33c546f6 Binary files /dev/null and b/EXE/remui/fonts/IBMPlexMono-Medium.ttf differ diff --git a/EXE/remui/fonts/IBMPlexMono-Regular.ttf b/EXE/remui/fonts/IBMPlexMono-Regular.ttf new file mode 100644 index 00000000..0c9770d5 Binary files /dev/null and b/EXE/remui/fonts/IBMPlexMono-Regular.ttf differ diff --git a/EXE/remui/fonts/OFL-barlow.txt b/EXE/remui/fonts/OFL-barlow.txt new file mode 100644 index 00000000..2f22ba6c --- /dev/null +++ b/EXE/remui/fonts/OFL-barlow.txt @@ -0,0 +1,93 @@ +Copyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/EXE/remui/fonts/OFL-ibmplexmono.txt b/EXE/remui/fonts/OFL-ibmplexmono.txt new file mode 100644 index 00000000..01497cc6 --- /dev/null +++ b/EXE/remui/fonts/OFL-ibmplexmono.txt @@ -0,0 +1,93 @@ +Copyright © 2017 IBM Corp. with Reserved Font Name "Plex" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/EXE/remui/fonts/OFL-sairasemicondensed.txt b/EXE/remui/fonts/OFL-sairasemicondensed.txt new file mode 100644 index 00000000..c8129c7d --- /dev/null +++ b/EXE/remui/fonts/OFL-sairasemicondensed.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Saira Project Authors (omnibus.type@gmail.com), with reserved font name "Saira". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/EXE/remui/fonts/SairaSemiCondensed-Bold.ttf b/EXE/remui/fonts/SairaSemiCondensed-Bold.ttf new file mode 100644 index 00000000..7a80c84e Binary files /dev/null and b/EXE/remui/fonts/SairaSemiCondensed-Bold.ttf differ diff --git a/EXE/remui/fonts/SairaSemiCondensed-Medium.ttf b/EXE/remui/fonts/SairaSemiCondensed-Medium.ttf new file mode 100644 index 00000000..8b84141e Binary files /dev/null and b/EXE/remui/fonts/SairaSemiCondensed-Medium.ttf differ diff --git a/EXE/remui/fonts/SairaSemiCondensed-Regular.ttf b/EXE/remui/fonts/SairaSemiCondensed-Regular.ttf new file mode 100644 index 00000000..62eb1e23 Binary files /dev/null and b/EXE/remui/fonts/SairaSemiCondensed-Regular.ttf differ diff --git a/EXE/remui/fonts/SairaSemiCondensed-SemiBold.ttf b/EXE/remui/fonts/SairaSemiCondensed-SemiBold.ttf new file mode 100644 index 00000000..52d779ff Binary files /dev/null and b/EXE/remui/fonts/SairaSemiCondensed-SemiBold.ttf differ diff --git a/EXE/remui/group.rml b/EXE/remui/group.rml new file mode 100644 index 00000000..219a12dc --- /dev/null +++ b/EXE/remui/group.rml @@ -0,0 +1,46 @@ + + + Group + + + + +
+ GROUP + + Members {{ members.size }} + × +
+
+
+

Requests

+
No invitation or trade request is waiting.
+
+
{{ request }}
+
{{ waiting }}
+
+
{{ is_trade ? 'Accept trade' : 'Join group' }}
+
Decline
+
+
+

Your group

+
You are not in a group. Invite a pilot from the chat (/invite name).
+
+
{{ m }}
+
+
+
Leave group
+
+
+
+
+ Escclose +
+ +
diff --git a/EXE/remui/help.rml b/EXE/remui/help.rml new file mode 100644 index 00000000..60767671 --- /dev/null +++ b/EXE/remui/help.rml @@ -0,0 +1,25 @@ + + + Information + + + + +
+ + {{ title }} + + × +
+
+
+
{{ text }}
+
+
+
+ Escclose +
+ +
diff --git a/EXE/remui/hud.rml b/EXE/remui/hud.rml new file mode 100644 index 00000000..e75ccbe7 --- /dev/null +++ b/EXE/remui/hud.rml @@ -0,0 +1,191 @@ + + + HUD + + + + + +
+
{{ grp[0].shown ? 'Hide' : 'Show' }}Maneuvers
+
+
+
+
+
+
+
+ + +
+
{{ grp[1].shown ? 'Hide' : 'Show' }}Ship status
+
+
{{ thrust }}
+
+
+
+
+
+
{{ speed }}
+
+ +
+ + +
+
{{ grp[2].shown ? 'Hide' : 'Show' }}Contacts & target
+
+
+
+
+
+
+
No target
+
+
{{ target_name }}
+
{{ target_sub }} {{ target_rank }} {{ target_range }}
+
Hull
+
Shield
+
+
+
+
+
+
+
+
+
+
+
+ {{ c.range }}{{ c.name }} +
+
+
+
▲
+
▼
+
+
+
+
+ +
+ + +
+
{{ grp[3].shown ? 'Hide' : 'Show' }}Weapons & equipment
+
+
+
{{ repair }} +
{{ battery }} +
+
+
+
+ {{ w.key + 1 }} {{ w.name }}{{ w.ammo }} +
+
{{ special }}
+
+
+
+ + +
+
CUSTOMIZE HUD
+
Drag a part to move it · mouse wheel over it to size it · Hide / Show on its label. Parts snap to their home place.
+
+
Reset HUD
+
Reset window places
+
Cancel
+
Save
+
+
+ +
diff --git a/EXE/remui/img/gear.png b/EXE/remui/img/gear.png new file mode 100644 index 00000000..35462a8f Binary files /dev/null and b/EXE/remui/img/gear.png differ diff --git a/EXE/remui/inventory.rml b/EXE/remui/inventory.rml new file mode 100644 index 00000000..1239de87 --- /dev/null +++ b/EXE/remui/inventory.rml @@ -0,0 +1,78 @@ + + + Inventory + + + + +
+ + INVENTORY + + Hold {{ hold }} + × +
+
+ +
+
+
+ +
+
Nothing here.
+
+ +
{{ r.name }}
{{ r.note }}
+ {{ r.count }} +
+
+
+
+
+
+
{{ pick.name }}
{{ pick.note }}
+
{{ info }}
+
+ + {{ amount }} +
Jettison
Throws the amount overboard. It floats in space as loot.
+
+
+
Pick an item to see what it is.
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/loadgame.rml b/EXE/remui/loadgame.rml new file mode 100644 index 00000000..8c190e51 --- /dev/null +++ b/EXE/remui/loadgame.rml @@ -0,0 +1,56 @@ + + + Load game + + + + +
+ LOAD GAME + + Saves {{ saves.size }} +
+
+
+
+
+
No saved games.
+
+ {{ s.name }}{{ s.time }} +
+
+
+

Saved game

+
Pick a saved game.
+
+
Credits{{ money }}
+
Rank{{ rank }}
+
Place{{ place }}
+
Ship{{ ship }}
+
+
+
+
+
Main menu
+
Delete
+
Load game
+
+
+
+ +
diff --git a/EXE/remui/loading.rml b/EXE/remui/loading.rml new file mode 100644 index 00000000..e68bb666 --- /dev/null +++ b/EXE/remui/loading.rml @@ -0,0 +1,19 @@ + + + Loading + + + + +
+
LOADING
+
+
+ +
diff --git a/EXE/remui/loadsave.rml b/EXE/remui/loadsave.rml new file mode 100644 index 00000000..c8030b66 --- /dev/null +++ b/EXE/remui/loadsave.rml @@ -0,0 +1,55 @@ + + + Saved games + + + + +
+ {{ title }} + + Saves {{ saves.size }} +
+
+
+
+
+
+
NameSaved
+
+
No saved games.
+
+ {{ s.name }}{{ s.time }} +
+
+
+
+
+
+
Save as
+ +
+
{{ info }}
+
{{ is_save ? 'Pick a save to overwrite it, or name a new one.' : 'Pick a save.' }}
+
{{ b.label }}
+
+
+
+
+
+ Escback to the game +
+ +
diff --git a/EXE/remui/mainmenu.rml b/EXE/remui/mainmenu.rml new file mode 100644 index 00000000..20a3ca49 --- /dev/null +++ b/EXE/remui/mainmenu.rml @@ -0,0 +1,46 @@ + + + Main menu + + + + +
+
REMNANT
+
Freelancer
+
+
+
{{ e.label }}
+
{{ e.hint }}
+
+
{{ version }}
+ +
diff --git a/EXE/remui/missionboard.rml b/EXE/remui/missionboard.rml new file mode 100644 index 00000000..41a86066 --- /dev/null +++ b/EXE/remui/missionboard.rml @@ -0,0 +1,74 @@ + + + Mission board + + + + +
+ + MISSION BOARD + + Offers {{ offers.size }} + × +
+
+
+
+ +
{{ empty_text }}
+
+
+
+

Offers

+
+
+ +
{{ o.title }}
{{ o.text }}
+ {{ o.reward }} +
+
+
+
+
+ +
{{ pick.title }}
{{ pick.reward }}
+
+ +
{{ briefing }}
+
{{ status == '' ? 'Pick an offer.' : status }}
+
+
Accept mission
Takes the mission; the board closes when the mission giver agrees.
+
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/missionlog.rml b/EXE/remui/missionlog.rml new file mode 100644 index 00000000..a47c5a74 --- /dev/null +++ b/EXE/remui/missionlog.rml @@ -0,0 +1,36 @@ + + + Mission log + + + + +
+ + MISSION LOG + + Entries {{ entries.size }} + × +
+
+
+
+
Current objective
{{ current }}
+

History

+
+
Nothing logged yet.
+
{{ e.text }}
+
+
+
+
+
Escclose
+ +
diff --git a/EXE/remui/missions.rml b/EXE/remui/missions.rml new file mode 100644 index 00000000..a3adf56f --- /dev/null +++ b/EXE/remui/missions.rml @@ -0,0 +1,50 @@ + + + Missions + + + + +
+ + MISSIONS + + Story {{ story.size }} + × +
+
+ +
+
+
Completed story missions: {{ story.size }}
Missions are offered at the bars and on the mission boards of the bases.
+
+
#Mission
+
+
No story mission completed yet.
+
{{ r.a }}{{ r.b }}
+
+
+
+
+
{{ race_status }}
{{ race_info }}
+
+
PilotLap, checkpoint, time
+
+
No leaderboard yet.
+
{{ r.a }}{{ r.b }}
+
+
+
+
+
+
Escclose
+ +
diff --git a/EXE/remui/navbar.rml b/EXE/remui/navbar.rml new file mode 100644 index 00000000..6e041594 --- /dev/null +++ b/EXE/remui/navbar.rml @@ -0,0 +1,43 @@ + + + Nav bar + + + + + + + diff --git a/EXE/remui/navmap.rml b/EXE/remui/navmap.rml new file mode 100644 index 00000000..b25db823 --- /dev/null +++ b/EXE/remui/navmap.rml @@ -0,0 +1,171 @@ + + + Nav map + + + + +
+ + {{ briefing ? 'MISSION BRIEFING' : 'NAVIGATION' }} + + Waypoints {{ waypoints }} + × +
+
+
+
+
+
{{ r.name }}
+
No uncharted system visited yet.
+
+
+
+
+
{{ i.label }}
+
+
+
{{ pick_name }}
+
Open system
+
Set waypoint
+
Plot route
+
Target
+
Info
+
Remove waypoint
+
+
+ {{ zoom }} +
-
+
+
+
+
+
+
{{ system }}
+
+
Universe
+
Uncharted
+
My system
+
Names
+
Clear waypoints
+
Abort mission
+
+
+
{{ pick_name }}
+
{{ pick_kind }}
+
+
Open system
+
Set waypoint
+
Plot route
+
Target
+
Info
+
Remove waypoint
+
Bookmark
+
+
+ +
+
Nothing on this map by that name.
+
{{ r.name }}{{ r.kind }}
+
+
+

Bookmarks

+
{{ b.name }}
+
+
Click the map to pick a place. Wheel zooms, drag moves, double click opens a system.
+
+
+

Route

+
↑
+
↓
+
+
{{ o }}
+
+
{{ infocard }}
+
+
Close info
+
+
+
Continue
+
+
+
+
+ +
diff --git a/EXE/remui/news.rml b/EXE/remui/news.rml new file mode 100644 index 00000000..1ebd0137 --- /dev/null +++ b/EXE/remui/news.rml @@ -0,0 +1,53 @@ + + + News + + + + +
+ + NEWS + + Stories {{ stories.size }} + × +
+
+
+
No news here.
+
+
+

Headlines

+
+
+ {{ s.headline }} +
+
+
+
+
{{ pick.headline }}
+ +
{{ story }}
+
+
+
+
+
Escclose
+ +
diff --git a/EXE/remui/nnbar.rml b/EXE/remui/nnbar.rml new file mode 100644 index 00000000..dc533742 --- /dev/null +++ b/EXE/remui/nnbar.rml @@ -0,0 +1,30 @@ + + + NeuroNet + + + + +
+
+ +
{{ i.label }}
+
+
+ +
diff --git a/EXE/remui/nnfly.rml b/EXE/remui/nnfly.rml new file mode 100644 index 00000000..33979e48 --- /dev/null +++ b/EXE/remui/nnfly.rml @@ -0,0 +1,17 @@ + + + Bar icon flight + + + + + + + diff --git a/EXE/remui/notify.rml b/EXE/remui/notify.rml new file mode 100644 index 00000000..1e78b4cc --- /dev/null +++ b/EXE/remui/notify.rml @@ -0,0 +1,29 @@ + + + Notifications + + + + +
+ × +
{{ c.title }}
+
{{ c.text }}
+
+ +
diff --git a/EXE/remui/objective.rml b/EXE/remui/objective.rml new file mode 100644 index 00000000..5a457c3c --- /dev/null +++ b/EXE/remui/objective.rml @@ -0,0 +1,33 @@ + + + Objective + + + + +
{{ text }}
+ +
diff --git a/EXE/remui/options.rml b/EXE/remui/options.rml new file mode 100644 index 00000000..a8625415 --- /dev/null +++ b/EXE/remui/options.rml @@ -0,0 +1,111 @@ + + + Options + + + + +
+ {{ title }} + + × +
+
+
+
+
+
{{ p.label }}
+
+
Save settings
Writes the changed REM settings (marked) to rem.ini.
+
Defaults
Every setting of this page back to its default.
+
Undo changes
Back to the values the page opened with.
+
{{ in_game ? 'Back to the game' : 'Main menu' }}
+
+
+
+ {{ question }} +
{{ yes_label }}
+
{{ no_label }}
+
+
+
{{ t.label }}
+
+
+
{{ t.label }}
+
+
+
+ {{ k.name }} + {{ k.key == '' ? '-' : k.key }} + {{ k.alt == '' ? '-' : k.alt }} +
+
+
{{ credits }}
+
+
+
{{ r.label }}
+
+ {{ r.label }} +
{{ r.value }}
+
+ - +
+ + + {{ r.value }} +
+ {{ r.value }} +
+
+
+
+
+
+
+
+ Escback + {{ unsaved ? 'REM settings changed - not saved yet.' : 'Settings marked * take effect after a restart.' }} +
+ +
diff --git a/EXE/remui/outfitter.rml b/EXE/remui/outfitter.rml new file mode 100644 index 00000000..1d816c9c --- /dev/null +++ b/EXE/remui/outfitter.rml @@ -0,0 +1,112 @@ + + + Equipment dealer + + + + +
+ + EQUIPMENT DEALER + + Hold {{ hold }} + Credits {{ credits }} + × +
+
+
+
+
+

For sale here

{{ market.size }}
+ +
+
No equipment for sale here.
+
+ +
{{ r.name }}
{{ r.note }}
+ {{ r.price }} +
+
+
+
+

Your ship

+
+
+
{{ pick.name }}thismounted
+
{{ c.label }}{{ c.value }}{{ c.other }}
+
compared with {{ cmp_other }}
+
+
+
+

Your equipment

hold {{ hold }}
+
+
No equipment.
+
+ +
{{ r.name }}
{{ r.note }}
+ {{ r.count }}{{ r.price }} +
+
+
+
+
+ +
+
{{ side == 0 ? 'Buy' : 'Sell' }}
+
{{ has_pick ? pick.name : 'Pick a piece of equipment' }}
+
+
+ + {{ amount_text }} +
Max
+
+ {{ reason }} + {{ total }} +
{{ side == 0 ? 'Buy' : 'Sell' }}
{{ side == 0 ? 'Buys it: onto a free hardpoint of your ship when there is one, else into the hold.' : 'Sells it; used equipment fetches less.' }}
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/pause.rml b/EXE/remui/pause.rml new file mode 100644 index 00000000..3676ffdb --- /dev/null +++ b/EXE/remui/pause.rml @@ -0,0 +1,43 @@ + + + Pause + + + + + + + diff --git a/EXE/remui/player.rml b/EXE/remui/player.rml new file mode 100644 index 00000000..2611fc25 --- /dev/null +++ b/EXE/remui/player.rml @@ -0,0 +1,93 @@ + + + Player + + + + +
+ PLAYER + + XP {{ xp }} + Bank {{ balance }} + × +
+
+ +
+
+

Statistics

+
+
{{ s.label }}
{{ s.value }}
+
+
+ +
+

Skills

Level up with your experience points
+
+ {{ k.name }} + {{ k.level }} / 10 +
+ {{ k.next }} +
+
{{ skill_info }}
+
Level up
Spends the experience points shown beside the skill on its next level.
+
+ +
+
+

Account balance

+
{{ balance }}
+
{{ bank_note }}
+
Amount
+
+
Deposit
Moves the amount from your ship's credits into the account.
+
Withdraw
Moves the amount from the account to your ship's credits.
+
+
Deposit and withdraw move credits between your ship and the account. The account is shared by your characters.
+
+
+

Send to

+
+
+
Nobody online.
+
{{ r.name }}
+
+
+
Send amount
Sends the amount from your account to the picked pilot's account.
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/playerinfo.rml b/EXE/remui/playerinfo.rml new file mode 100644 index 00000000..0d7f9c66 --- /dev/null +++ b/EXE/remui/playerinfo.rml @@ -0,0 +1,70 @@ + + + Player status + + + + +
+ + PLAYER STATUS + + × +
+
+
+
Waiting for the server...
+
+
+

Career

+
{{ s.label }}
{{ s.value }}
+

Kills

+
{{ s.label }}
{{ s.value }}
+
+
+
+

Reputation

+
+
You have met no factions yet.
+
+ {{ f.name }} +
+
+
+
+ {{ f.standing }} +
+
+
+
+

{{ card_title }}

Back
+
{{ card }}
+
+
+
+
+
+
Escclose
+ +
diff --git a/EXE/remui/pm.rml b/EXE/remui/pm.rml new file mode 100644 index 00000000..4b69924c --- /dev/null +++ b/EXE/remui/pm.rml @@ -0,0 +1,41 @@ + + + Private message + + + + +
+ {{ name }} + private + + × +
+
+
+
+
No messages yet.
+
+
+ {{ l.time }} +
+
+
+ +
Send
+
+
+
+ +
diff --git a/EXE/remui/pmdock.rml b/EXE/remui/pmdock.rml new file mode 100644 index 00000000..ab172ce4 --- /dev/null +++ b/EXE/remui/pmdock.rml @@ -0,0 +1,28 @@ + + + Messages + + + + +
+ PM + {{ t.name }} + {{ t.unread }} + × +
+ +
diff --git a/EXE/remui/rem.rcss b/EXE/remui/rem.rcss new file mode 100644 index 00000000..859b05ea --- /dev/null +++ b/EXE/remui/rem.rcss @@ -0,0 +1,443 @@ +/* REM: the modern UI's design (docs/rem/ui-modern.md, "Design") -- shared by every window. + RmlUi has no CSS variables: the tokens are written out, keep them in step with the table. + space #070b12 page ground behind full-screen pages + glass #0d1622 window fill (slightly see-through: #0d1622eb) + glass2 #122033 rows, fields, cards + line #24405c quiet lines (FL wire blue) + linehi #3d6d96 window and button frames + text #dbe6f0 muted #8197ad + amber #f2b13c active / selected cyan #5cc8f0 hover, focus + good #5fd08a warn #f2b13c bad #ef6a5b + Fonts: Saira SemiCondensed (headings, buttons, tabs), Barlow (text), IBM Plex Mono (numbers). */ + +/* RmlUi has no browser defaults: the block elements are set here */ +div, p, h1, h2, h3, h4, section, header, footer, ul, li, form { display: block; } +strong, b { font-weight: bold; } +.btn, .close, .chip, .state, .key { display: inline-block; } +em, i { font-style: italic; } + +body +{ + font-family: Barlow; + font-weight: 500; /* Barlow Medium: the regular cut reads thin at high resolutions */ + font-size: 15dp; + color: #dbe6f0; +} + +/* ---------------------------------------------------------------- window frame */ + +body.window +{ + position: absolute; + left: 9%; + top: 7%; + width: 82%; + height: 86%; + max-width: 1680dp; + background-color: #0d1622eb; + border: 2dp #3d6d96; + border-radius: 4dp; + display: flex; + flex-direction: column; +} + +/* a window opens with a short fade and lift (the host sets .rem-in for one frame) */ +/* the transform only while the window moves in (.rem-anim): a transformed window's scrolled + content is not clipped by the renderer (no clip mask), so a resting window has none */ +body.window { opacity: 1; transition: opacity transform 0.22s cubic-out; } +body.window.rem-anim { transform: translateY(0dp) scale(1); } +body.window.rem-in { opacity: 0; transform: translateY(14dp) scale(0.985); } +/* after a bar icon flew to the middle: the window grows out of it */ +body.window.rem-in.rem-zoom { opacity: 0; transform: translateY(0dp) scale(0.3); } + +/* a smaller window (player, contracts, waypoints) */ +body.window.medium { left: 18%; top: 12%; width: 64%; height: 76%; max-width: 1300dp; } +body.window.small { left: 28%; top: 18%; width: 44%; height: 64%; max-width: 900dp; } + +.win-head +{ + display: flex; + flex-direction: row; + align-items: center; + padding: 12dp 18dp; + border-bottom: 1dp #24405c; + drag: drag; /* the grip: a window moves by its head (rem_ui_host.cpp, rem.ini win_) */ + cursor: move; +} +.win-head .title +{ + font-family: "Saira SemiCondensed"; + font-weight: 600; + font-size: 21dp; + letter-spacing: 1.2dp; + margin-right: 16dp; +} +.win-head .loc { color: #8197ad; font-size: 15dp; } +.win-head .spacer { flex: 1; } +.chip +{ + font-family: "Saira SemiCondensed"; + font-size: 14dp; + letter-spacing: 0.6dp; + color: #8197ad; + padding: 2dp 11dp; + border: 2dp #3d6d96; + border-radius: 11dp; + margin-left: 10dp; +} +.chip .v { font-family: "IBM Plex Mono"; color: #dbe6f0; } +.close +{ + width: 28dp; + height: 28dp; + line-height: 26dp; + text-align: center; + margin-left: 14dp; + border: 2dp #3d6d96; + border-radius: 3dp; + color: #8197ad; + font-size: 17dp; +} +.close:hover { color: #5cc8f0; border-color: #5cc8f0; } + +.win-main +{ + flex: 1; + display: flex; + flex-direction: row; + min-height: 0; +} + +.nav +{ + width: 200dp; + border-right: 1dp #24405c; + padding: 10dp 0; + display: flex; + flex-direction: column; +} +.nav .item +{ + font-family: "Saira SemiCondensed"; + font-size: 16dp; + letter-spacing: 1.1dp; + text-transform: uppercase; + color: #8197ad; + padding: 9dp 18dp; + border-left: 2dp #00000000; + display: flex; + flex-direction: row; + align-items: center; +} +.nav .item .badge +{ + margin-left: auto; + font-family: "IBM Plex Mono"; + font-size: 11dp; + color: #dbe6f0; + background-color: #24405c; + border-radius: 3dp; + padding: 0 5dp; +} +.nav .item:hover { color: #5cc8f0; background-color: #122033; } +.nav .item img.ico { width: 20dp; height: 20dp; margin-right: 10dp; opacity: 0.7; } +.nav .item:hover img.ico, .nav .item.active img.ico { opacity: 1; } +.win-head img.head-ico { width: 26dp; height: 26dp; margin-right: 10dp; image-color: #f2b13c; } +.nav .item.active { color: #f2b13c; border-left-color: #f2b13c; background-color: #122033; } +.nav .sep { height: 1dp; background-color: #24405c; margin: 8dp 18dp; } + +.content +{ + flex: 1; + padding: 18dp; + min-width: 0; + display: flex; + flex-direction: column; +} + +.win-foot +{ + display: flex; + flex-direction: row; + align-items: center; + border-top: 1dp #24405c; + padding: 8dp 18dp; + font-size: 13dp; + color: #8197ad; +} +.win-foot .key +{ + font-family: "IBM Plex Mono"; + font-size: 11dp; + color: #dbe6f0; + border: 2dp #3d6d96; + border-radius: 3dp; + padding: 0 4dp; + margin-right: 5dp; +} +.win-foot .hint { margin-right: 18dp; } +.win-foot .status { margin-left: auto; color: #dbe6f0; } + +/* ---------------------------------------------------------------- headings, text */ + +h3, .label +{ + font-family: "Saira SemiCondensed"; + font-size: 14dp; + letter-spacing: 1.2dp; + text-transform: uppercase; + color: #8197ad; +} +.muted { color: #8197ad; } +.hint { font-size: 13dp; color: #8197ad; } +.num { font-family: "IBM Plex Mono"; } +.big +{ + font-family: "Saira SemiCondensed"; + font-weight: 600; + font-size: 27dp; +} +.kind +{ + font-family: "Saira SemiCondensed"; + letter-spacing: 1dp; + text-transform: uppercase; + color: #8197ad; +} + +/* ---------------------------------------------------------------- state chips, bars */ + +.state +{ + font-family: "Saira SemiCondensed"; + font-size: 12dp; + letter-spacing: 0.8dp; + text-transform: uppercase; + padding: 1dp 7dp; + border-width: 1dp; + border-radius: 2dp; +} +.st-good { color: #5fd08a; border-color: #5fd08a; } +.st-warn { color: #f2b13c; border-color: #f2b13c; } +.st-bad { color: #ef6a5b; border-color: #ef6a5b; } +.st-idle { color: #8197ad; border-color: #8197ad; } + +.bar { height: 4dp; background-color: #00000066; border-radius: 2dp; } +.bar .fill { height: 4dp; border-radius: 2dp; background-color: #5fd08a; } +.bar .fill.warn { background-color: #f2b13c; } +.bar .fill.bad { background-color: #ef6a5b; } + +/* ---------------------------------------------------------------- buttons */ + +.btn +{ + font-family: "Saira SemiCondensed"; + font-size: 14dp; + letter-spacing: 1.1dp; + text-transform: uppercase; + color: #dbe6f0; + background-color: #122033; + border: 2dp #3d6d96; + border-radius: 3dp; + padding: 7dp 16dp; + margin-right: 8dp; + margin-bottom: 8dp; + position: relative; + transition: color border-color 0.12s; +} +.btn:hover { color: #5cc8f0; border-color: #5cc8f0; } +.btn:active { background-color: #1a2d47; } +.btn.primary { color: #f2b13c; border-color: #f2b13c; } +.btn.primary:hover { color: #5cc8f0; border-color: #5cc8f0; } +.btn.danger { color: #ef6a5b; border-color: #7a3f3e; } +.btn.armed { color: #160604; background-color: #ef6a5b; border-color: #ef6a5b; } +.btn.disabled { color: #8197ad66; border-color: #24405c; } +.btn .small { font-family: "IBM Plex Mono"; font-size: 11dp; color: #8197ad; text-transform: none; letter-spacing: 0; margin-left: 6dp; } + +/* a tooltip: a .tip child, shown while the button is hovered */ +.tip +{ + display: none; + position: absolute; + left: 0; + top: 100%; + margin-top: 8dp; + width: 260dp; + z-index: 10; + font-family: Barlow; + font-size: 13dp; + text-transform: none; + letter-spacing: 0; + color: #dbe6f0; + background-color: #05090f; + border: 2dp #3d6d96; + border-radius: 3dp; + padding: 6dp 9dp; +} +.btn:hover .tip { display: block; } + +.actions { display: flex; flex-direction: row; flex-wrap: wrap; } + +/* ---------------------------------------------------------------- tabs inside a page */ + +.subtabs +{ + display: flex; + flex-direction: row; + border-bottom: 1dp #24405c; + margin-bottom: 12dp; +} +.subtabs .tab +{ + font-family: "Saira SemiCondensed"; + font-size: 14dp; + letter-spacing: 1.2dp; + text-transform: uppercase; + color: #8197ad; + padding: 7dp 14dp; + border-bottom: 2dp #00000000; +} +.subtabs .tab:hover { color: #5cc8f0; } +.subtabs .tab.active { color: #f2b13c; border-bottom-color: #f2b13c; } + +/* ---------------------------------------------------------------- lists and tables */ + +.scroll { overflow-y: auto; } +scrollbarvertical { width: 8dp; margin-left: 4dp; } +scrollbarvertical slidertrack { background-color: #0d1622; border-radius: 4dp; } +scrollbarvertical sliderbar { background-color: #3d6d96; border-radius: 4dp; min-height: 24dp; } +scrollbarvertical sliderbar:hover { background-color: #5cc8f0; } +scrollbarvertical sliderarrowdec, scrollbarvertical sliderarrowinc { height: 0; } + +input.text +{ + box-sizing: border-box; + width: 100%; + padding: 7dp 10dp; + border: 2dp #24405c; + border-radius: 3dp; + background-color: #122033; + color: #dbe6f0; + font-size: 14dp; + cursor: text; +} +input.text:focus { border-color: #5cc8f0; } +input.text .placeholder, input.text:placeholder { color: #8197ad; } + +.table +{ + border: 2dp #24405c; + border-radius: 3dp; + display: flex; + flex-direction: column; + min-height: 0; +} +.table .head, .table .row +{ + display: flex; + flex-direction: row; + padding: 6dp 10dp; +} +.table .head +{ + font-family: "Saira SemiCondensed"; + font-size: 12dp; + letter-spacing: 1.2dp; + text-transform: uppercase; + color: #8197ad; + background-color: #0d1622; + border-bottom: 1dp #24405c; +} +.table .body { flex: 1; overflow-y: auto; } +.table .row { font-size: 14dp; border-bottom: 1dp #ffffff08; border-left: 2dp #00000000; } +.table .row:hover { background-color: #122033; } +.table .row.selected { background-color: #f2b13c24; border-left-color: #f2b13c; } +.table .row.current .c1 { color: #f2b13c; } +.table .c1 { flex: 1; } +.table .c2 { width: 30%; } +.table .c3 { width: 70dp; text-align: right; font-family: "IBM Plex Mono"; } +.table .c4 { width: 120dp; text-align: right; font-family: "IBM Plex Mono"; margin-right: 16dp; } +.table .head .c3, .table .head .c4 { font-family: "Saira SemiCondensed"; } + +/* the amount slider (as Freelancer's quantity slider at the dealers) */ +input.range { flex: 1; height: 18dp; } +input.range slidertrack { height: 4dp; margin-top: 7dp; background-color: #24405c; border-radius: 2dp; } +input.range sliderbar { width: 14dp; height: 18dp; background-color: #f2b13c; border-radius: 3dp; } +input.range sliderbar:hover { background-color: #5cc8f0; } +input.range sliderarrowdec, input.range sliderarrowinc { width: 0; height: 0; } +.table .empty { padding: 12dp 10dp; color: #8197ad; } + +/* ---------------------------------------------------------------- cards, stats */ + +.stats +{ + display: flex; + flex-direction: row; + border: 2dp #24405c; + border-radius: 3dp; + margin-bottom: 12dp; +} +.stats .cell { flex: 1; padding: 8dp 12dp; border-right: 1dp #24405c; } +.stats .cell.last { border-right-width: 0; } +.stats .k +{ + font-family: "Saira SemiCondensed"; + font-size: 12dp; + letter-spacing: 1.1dp; + text-transform: uppercase; + color: #8197ad; +} +.stats .v { font-family: "IBM Plex Mono"; font-size: 16dp; } + +.cards { display: flex; flex-direction: row; margin-bottom: 12dp; } +.card +{ + flex: 1; + border: 2dp #24405c; + border-radius: 3dp; + background-color: #122033; + padding: 12dp; + margin-right: 10dp; +} +.card.last { margin-right: 0; } +.card .t +{ + font-family: "Saira SemiCondensed"; + font-size: 16dp; + letter-spacing: 1dp; + text-transform: uppercase; +} +.card .p { font-family: "IBM Plex Mono"; color: #f2b13c; margin: 4dp 0; } +.card .d { font-size: 13dp; color: #8197ad; margin-bottom: 10dp; } + +.blocked +{ + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + color: #8197ad; +} +.blocked .t { font-family: "Saira SemiCondensed"; font-size: 22dp; color: #dbe6f0; margin-bottom: 6dp; } + +/* the running light along an open window's frame (FL's windows have one): four strips the host + adds to every body.window (rem_ui_host.cpp), each lit in turn -- top left to right, right top + to bottom, bottom right to left, left bottom to top */ +@keyframes run-top { 0% { left: 0%; opacity: 0; } 2% { opacity: 1; } 23% { opacity: 1; } 25% { left: 76%; opacity: 0; } 100% { left: 76%; opacity: 0; } } +@keyframes run-right { 0% { top: 0%; opacity: 0; } 25% { top: 0%; opacity: 0; } 27% { opacity: 1; } 48% { opacity: 1; } 50% { top: 76%; opacity: 0; } 100% { top: 76%; opacity: 0; } } +@keyframes run-bottom { 0% { left: 76%; opacity: 0; } 50% { left: 76%; opacity: 0; } 52% { opacity: 1; } 73% { opacity: 1; } 75% { left: 0%; opacity: 0; } 100% { left: 0%; opacity: 0; } } +@keyframes run-left { 0% { top: 76%; opacity: 0; } 75% { top: 76%; opacity: 0; } 77% { opacity: 1; } 98% { opacity: 1; } 100% { top: 0%; opacity: 0; } } +.runner { position: absolute; left: -1dp; top: -1dp; right: -1dp; bottom: -1dp; pointer-events: none; } +.runner .rt, .runner .rr, .runner .rb, .runner .rl { position: absolute; opacity: 0; } +.runner .rt { top: 0; height: 3dp; width: 24%; left: 0%; decorator: horizontal-gradient(#5cc8f000 #dcf6ff); animation: 8s linear infinite run-top; } +.runner .rr { right: 0; width: 3dp; height: 24%; top: 0%; decorator: vertical-gradient(#5cc8f000 #dcf6ff); animation: 8s linear infinite run-right; } +.runner .rb { bottom: 0; height: 3dp; width: 24%; left: 76%; decorator: horizontal-gradient(#dcf6ff #5cc8f000); animation: 8s linear infinite run-bottom; } +.runner .rl { left: 0; width: 3dp; height: 24%; top: 76%; decorator: vertical-gradient(#dcf6ff #5cc8f000); animation: 8s linear infinite run-left; } +.runner .rt { top: 0; height: 3dp; width: 24%; left: -24%; decorator: horizontal-gradient(#5cc8f000 #dcf6ff); animation: 8s linear infinite run-top; } +.runner .rr { right: 0; width: 3dp; height: 24%; top: -24%; decorator: vertical-gradient(#5cc8f000 #dcf6ff); animation: 8s linear infinite run-right; } +.runner .rb { bottom: 0; height: 3dp; width: 24%; left: 100%; decorator: horizontal-gradient(#dcf6ff #5cc8f000); animation: 8s linear infinite run-bottom; } +.runner .rl { left: 0; width: 3dp; height: 24%; top: 100%; decorator: vertical-gradient(#dcf6ff #5cc8f000); animation: 8s linear infinite run-left; } + +/* a hovered bar icon turning (nnbar, rembar) */ +@keyframes nb-spin { from { transform: perspective(240dp) rotateY(0deg) scale(1.12); } to { transform: perspective(240dp) rotateY(360deg) scale(1.12); } } diff --git a/EXE/remui/rembar.rml b/EXE/remui/rembar.rml new file mode 100644 index 00000000..9def3d3f --- /dev/null +++ b/EXE/remui/rembar.rml @@ -0,0 +1,30 @@ + + + REM bar + + + + +
+
+ +
{{ i.label }}
+
+
+ +
diff --git a/EXE/remui/repair.rml b/EXE/remui/repair.rml new file mode 100644 index 00000000..4e93e7d7 --- /dev/null +++ b/EXE/remui/repair.rml @@ -0,0 +1,63 @@ + + + Repair + + + + +
+ + REPAIR + + Credits {{ credits }} + × +
+
+
+
+

What needs repair

All / none
+
+
Your ship is in perfect shape.
+
+
+ +
+
{{ r.name }}
+
+
+ {{ r.health }} % + {{ r.cost }} +
+
+
+ Total{{ total }} + Not enough credits +
Repair
Repairs the checked parts and pays the total.
+
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/scanner.rml b/EXE/remui/scanner.rml new file mode 100644 index 00000000..9cbea8a2 --- /dev/null +++ b/EXE/remui/scanner.rml @@ -0,0 +1,59 @@ + + + Scanner + + + + +
+ + SCAN + + Value {{ total }} + × +
+
+
+
+
+
{{ ship }}
+
+
+
+
+
Cargo ({{ cargo.size }})
+
The hold is empty.
+
+ {{ i.name }} + {{ i.note }}{{ i.count }}{{ i.value }} +
+
Mounted ({{ mounted.size }})
+
+ {{ i.name }} + {{ i.note }}{{ i.count }}{{ i.value }} +
+
+
+
+
+
+
+ Escclose +
+ +
diff --git a/EXE/remui/serverlist.rml b/EXE/remui/serverlist.rml new file mode 100644 index 00000000..7f40cfbc --- /dev/null +++ b/EXE/remui/serverlist.rml @@ -0,0 +1,83 @@ + + + Servers + + + + +
+ {{ title }} + + Shown {{ rows.size }} / {{ total }} +
+
+
+
+ + Hide full + Hide locked + My servers +
+
+
+
+
+ Server + Address + Players + Ping +
+
+
No servers yet. {{ status }}
+
+ {{ r.name }}LOCKCHAR + {{ r.address }} + {{ r.players }} + {{ r.ping }} +
+
+
+
+
+
+
{{ pick_name }}
+
{{ pick_facts }}
+
+
{{ pick_text }}
+
Pick a server. A double click joins it.
+
+
Connect
Joins the picked server; a locked one asks for its password.
+
Refresh
Asks the list server again.
+
+
+
+
+
+
+
Back
+ {{ status }} +
+ +
diff --git a/EXE/remui/shipdealer.rml b/EXE/remui/shipdealer.rml new file mode 100644 index 00000000..96467543 --- /dev/null +++ b/EXE/remui/shipdealer.rml @@ -0,0 +1,91 @@ + + + Ship dealer + + + + +
+ + SHIP DEALER + + Credits {{ credits }} + Worth {{ worth }} + × +
+
+
+
+
+

For sale here

+
No ships for sale here.
+
+ +
{{ r.name }}
{{ r.class }}
+
{{ r.price }}
{{ r.lock }}
+
+

Your ship

+
+ +
{{ own.name }}
{{ own.class }}
+
{{ own.price }}
trade-in
+
+
+
+
{{ pick_name }}
{{ pick_class }}
+
Pick a ship
a second click on a ship buys it
+
+
+
+

Specifications

+
{{ s.label }}{{ s.value }}
+
{{ pick_info }}
+
+
+
+
+
{{ deal_title }}
+
{{ is_own ? 'It is traded in when you buy a new ship.' : deal }}
+
+ {{ why }} +
Buy ship
Goes on to the dealer, where the new ship is bought and your old one traded in. Your cargo moves over.
+
+
+
+
+ Escclose +
+ +
diff --git a/EXE/remui/storystar.rml b/EXE/remui/storystar.rml new file mode 100644 index 00000000..0ef69d76 --- /dev/null +++ b/EXE/remui/storystar.rml @@ -0,0 +1,36 @@ + + + Story + + + + +
+ + {{ dead ? 'SHIP LOST' : 'MISSION LOG' }} + + × +
+
+
+
Your ship was destroyed.
+
+
{{ t.label }}
+
+
{{ text }}
+
+
{{ b.label }}
+
+
+
+ +
diff --git a/EXE/remui/tooltip.rml b/EXE/remui/tooltip.rml new file mode 100644 index 00000000..858a44d3 --- /dev/null +++ b/EXE/remui/tooltip.rml @@ -0,0 +1,28 @@ + + + Tool tip + + + + +
{{ tip_text }}
+
{{ roll_text }}
+ +
diff --git a/EXE/remui/trade.rml b/EXE/remui/trade.rml new file mode 100644 index 00000000..0c915d27 --- /dev/null +++ b/EXE/remui/trade.rml @@ -0,0 +1,87 @@ + + + Trade + + + + +
+ + TRADE + + × +
+
+
+
+
+

They offer

+
{{ they_accept ? 'They accepted' : 'Not accepted yet' }}
+
+
Nothing offered yet.
+
+ {{ i.name }}{{ i.count }} +
+
+
+
+

You offer

+
{{ i_accept ? 'You accepted' : 'Not accepted yet' }}
+
+
Pick from your cargo to offer.
+
+ {{ i.name }}{{ i.count }} +
+
+
+
+

Your cargo

+
Click to offer
+
+
+ {{ i.name }}{{ i.count }} +
+
+
+
+
+
{{ moving_name }}
{{ amount_text }}
+
Min
+
-
+
+
+
Max
+
{{ to_offer ? 'Offer' : 'Take back' }}
+
Cancel
+
+
+ Both pilots accept to trade. Any change of an offer resets the acceptance. +
End trade
+
Accept trade
+
+
+
+ +
diff --git a/EXE/remui/trader.rml b/EXE/remui/trader.rml new file mode 100644 index 00000000..b26b1134 --- /dev/null +++ b/EXE/remui/trader.rml @@ -0,0 +1,87 @@ + + + Commodity trader + + + + +
+ + COMMODITY TRADER + + Hold {{ hold }} + Credits {{ credits }} + × +
+
+
+
+
+

For sale here

{{ market.size }} goods
+ +
+
Nothing for sale here.
+
+ {{ r.name }}{{ r.count }}{{ r.price }} +
+
+
+
+

Your cargo

hold {{ hold }}
+
+
Your hold carries no goods.
+
+ {{ r.name }}{{ r.note }}{{ r.count }}{{ r.price }} +
+
+
+
+
+ +
+
{{ side == 0 ? 'Buy' : 'Sell' }}
+
{{ has_pick ? pick.name : 'Pick a good' }}
+
+
+ + {{ amount_text }} +
Max
+
+ {{ reason }} + {{ total }} +
{{ side == 0 ? 'Buy' : 'Sell' }}
{{ side == 0 ? 'Buys the amount into your cargo hold.' : 'Sells the amount from your cargo hold.' }}
+
+
+
+
+ Escclose + {{ status }} +
+ +
diff --git a/EXE/remui/waypoints.rml b/EXE/remui/waypoints.rml new file mode 100644 index 00000000..61d01a92 --- /dev/null +++ b/EXE/remui/waypoints.rml @@ -0,0 +1,51 @@ + + + Waypoints + + + + +
+ + GROUP WAYPOINTS + + Mine {{ my_count }} + × +
+
+
+
+
+
Sharing
{{ sharing ? 'On - the group sees yours' : 'Off' }}
+
Following
{{ following == '' ? 'Nobody' : following }}
+
+

Group members

+
+
PilotShared
+
+
Nobody in your group shares waypoints.
+
+ {{ r.a }}{{ r.b }} +
+
+
+
+
{{ sharing ? 'Stop sharing' : 'Share mine' }}
Your waypoints go to your group while sharing is on.
+
Take over
Takes the picked member's waypoints over once.
+
{{ following == '' ? 'Follow' : 'Stop following' }}
Keeps taking the picked member's waypoints over every 2 seconds.
+
+
+
+
+
Escclose
+ +
diff --git a/EXE/rendcomp.dll b/EXE/rendcomp.dll index 37295721..82fb8c96 100644 Binary files a/EXE/rendcomp.dll and b/EXE/rendcomp.dll differ diff --git a/EXE/rp8.dll b/EXE/rp8.dll index e1e010c6..8e19b9f4 100644 Binary files a/EXE/rp8.dll and b/EXE/rp8.dll differ diff --git a/EXE/rpclocal.dll b/EXE/rpclocal.dll index 5b4328c2..7cb97603 100644 Binary files a/EXE/rpclocal.dll and b/EXE/rpclocal.dll differ diff --git a/EXE/server.dll b/EXE/server.dll index fb21df34..70d67ff9 100644 Binary files a/EXE/server.dll and b/EXE/server.dll differ diff --git a/EXE/shading.dll b/EXE/shading.dll index bd5ea3ea..5262d53a 100644 Binary files a/EXE/shading.dll and b/EXE/shading.dll differ diff --git a/EXE/soundmanager.dll b/EXE/soundmanager.dll index 41c07221..45f18126 100644 Binary files a/EXE/soundmanager.dll and b/EXE/soundmanager.dll differ diff --git a/EXE/soundstreamer.dll b/EXE/soundstreamer.dll index 87cf376e..ee9074ce 100644 Binary files a/EXE/soundstreamer.dll and b/EXE/soundstreamer.dll differ diff --git a/EXE/system.dll b/EXE/system.dll index e539c204..af1001d2 100644 Binary files a/EXE/system.dll and b/EXE/system.dll differ diff --git a/EXE/thorn.dll b/EXE/thorn.dll index 159387de..ceb09b59 100644 Binary files a/EXE/thorn.dll and b/EXE/thorn.dll differ diff --git a/EXE/x86math.dll b/EXE/x86math.dll index 1c238b03..15328d51 100644 Binary files a/EXE/x86math.dll and b/EXE/x86math.dll differ diff --git a/EXE/ximage.dll b/EXE/ximage.dll index b5a8b11d..81a495c8 100644 Binary files a/EXE/ximage.dll and b/EXE/ximage.dll differ diff --git a/EXE/zlib.dll b/EXE/zlib.dll index e2540a82..b9b98d48 100644 Binary files a/EXE/zlib.dll and b/EXE/zlib.dll differ