New REM client: REM-Client 113c5fa, 64-bit (pilots: haul jobs between your depots; couriers show the transport limits; market without the contracts tab; 3D preview crash fixed)

This commit is contained in:
2026-11-05 00:30:30 +01:00
parent d113778db6
commit 92787def4d
3 changed files with 36 additions and 41 deletions
Binary file not shown.
+36
View File
@@ -565,6 +565,7 @@
<span class="v">{{ amount_text }}</span>
<div class="btn" data-action="amount-max">Max</div>
</div>
<div class="hint" data-class-warn="courier_limit_hit" data-if="courier_limits != ''">{{ courier_limits }}</div>
<div class="hint" data-if="courier_msg != ''">{{ courier_msg }}</div>
<div class="actions" data-if="courier_has_depot">
<div class="btn primary" data-class-disabled="!can_send" data-action="send-couriers">Send couriers<div class="tip">The cargo leaves your depot now; couriers fly it to the depot you picked (several when it does not fit one hold). The fee is paid from your credits.</div></div>
@@ -605,6 +606,7 @@
<div class="subtabs">
<div class="tab" data-class-active="sub == 0" data-action="sub" data-arg="0" data-if="has_pick">Overview</div>
<div class="tab" data-class-active="sub == 1" data-action="sub" data-arg="1" data-if="has_pick">Orders</div>
<div class="tab" data-class-active="sub == 4" data-action="sub" data-arg="4" data-if="has_pick &amp;&amp; cur.kind == 'Trade'">Haul<div class="tip">Move your goods between your depots - deliver from home or pick up to home, once or again and again.</div></div>
<div class="tab" data-class-active="sub == 3" data-action="sub" data-arg="3" data-if="has_pick">Home</div>
<div class="tab" data-class-active="sub == 2" data-action="sub" data-arg="2">Hire</div>
</div>
@@ -643,6 +645,40 @@
<div class="note" data-class-warn="cur_problem" data-if="!cur_paused &amp;&amp; cur.plan != ''">{{ cur.plan }}</div>
</div>
<div class="pane" data-if="has_pick &amp;&amp; sub == 4 &amp;&amp; cur.kind == 'Trade'">
<div class="note" data-class-warn="!haul_job">{{ haul_text }}</div>
<div class="actions" style="margin: 0 0 8dp 0;">
<div class="btn" data-class-primary="haul_mode == 1" data-action="haul-mode" data-arg="1">Deliver from home<div class="tip">From your depot at the pilot's home base to your depot at the base picked below.</div></div>
<div class="btn" data-class-primary="haul_mode == 2" data-action="haul-mode" data-arg="2">Pick up to home<div class="tip">From your depot at the base picked below into your depot at the pilot's home base.</div></div>
</div>
<div class="hint">{{ haul_reach }}</div>
<div class="table" style="height: 130dp; margin-bottom: 8dp;">
<div class="head"><span class="c1">Base</span><span class="c2">System</span><span class="c3">Jumps</span></div>
<div class="body">
<div class="empty" data-if="haul_bases.size == 0">No base with a depot of yours in reach.</div>
<div class="row" data-for="r : haul_bases" data-class-selected="r.selected" data-class-current="r.current" data-action="haul-base" data-attr-data-arg="r.key">
<span class="c1">{{ r.a }}</span><span class="c2">{{ r.b }}</span><span class="c3">{{ r.c }}</span>
</div>
</div>
</div>
<div class="table" style="height: 130dp; margin-bottom: 8dp;">
<div class="head"><span class="c1">Good (depot at {{ haul_src }})</span><span class="c3">In depot</span></div>
<div class="body">
<div class="empty" data-if="haul_goods.size == 0">{{ haul_goods_note }}</div>
<div class="row" data-for="r : haul_goods" data-class-selected="r.selected" data-class-current="r.current" data-action="haul-good" data-attr-data-arg="r.key">
<span class="c1">{{ r.a }}</span><span class="c3">{{ r.c }}</span>
</div>
</div>
</div>
<div class="namefield"><span class="label">Per run</span><input class="text" type="text" data-value="haul_amount" maxlength="7"/></div>
<div class="hint">0 = a full hold. Never more than the source depot has; an empty depot: the pilot waits there until the good is back.</div>
<div class="actions">
<div class="btn" data-class-primary="haul_repeat" data-action="haul-repeat">{{ haul_repeat ? 'Again and again' : 'Once' }}<div class="tip">Again and again: a trade route of your own between your depots.</div></div>
<div class="btn primary" data-action="haul-set">Start this job</div>
<div class="btn" data-if="haul_job" data-action="haul-end">End job<div class="tip">The pilot trades on its own again (after it delivered what it carries).</div></div>
</div>
</div>
<div class="pane" data-if="has_pick &amp;&amp; sub == 3">
<div class="note">A new home must be a base in the pilot's home system. Its runs start and end there; deliveries go into your depot there. Now: {{ cur_home }}</div>
<div class="table">
-41
View File
@@ -19,7 +19,6 @@
<div class="subtabs">
<div class="tab" data-class-active="tab == 0" data-action="tab" data-arg="0">Market</div>
<div class="tab" data-class-active="tab == 1" data-action="tab" data-arg="1">My orders</div>
<div class="tab" data-class-active="tab == 2" data-action="tab" data-arg="2">Couriers<div class="tip">Courier contracts between pilots: carry goods for a reward, or have yours carried.</div></div>
<span class="hint" style="margin-left: auto;">updates by itself</span>
</div>
@@ -163,46 +162,6 @@
</div>
</div>
</div>
<!-- ================================================= COURIERS (W6) -->
<div class="mine-split" data-if="tab == 2">
<div class="label">Courier contracts <span class="hint">- open ones, yours and the ones you carry</span></div>
<div class="table mt" style="flex: 1 1 0;">
<div class="head"><span class="cb">From</span><span class="cb">To</span><span class="c1">Goods</span><span class="cn">reward</span><span class="cn">collateral</span><span class="cn">time left</span><span class="cs">state</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="cons.size == 0">{{ cons_received ? 'No courier contracts.' : 'Asking the server...' }}</div>
<div class="row" data-for="r : cons" data-class-selected="r.selected" data-action="con-pick" data-attr-data-arg="r.id">
<span class="cb">{{ r.from }}</span><span class="cb">{{ r.to }}</span><span class="c1">{{ r.goods }}</span>
<span class="cn">{{ r.reward }}</span><span class="cn">{{ r.collateral }}</span><span class="cn">{{ r.left }}</span><span class="cs">{{ r.state }}</span>
</div>
</div>
</div>
<div class="panel" data-if="con_pick != ''">
<div class="pick">{{ con_text }}</div>
<div class="row2">
<div class="btn primary" data-if="con_can_accept" data-action="con-accept">Take it<div class="tip">The collateral leaves your bank until you deliver. Pick the goods up at the start, bring them to the goal before the time is up.</div></div>
<div class="btn primary" data-if="con_can_pickup" data-action="con-pickup">Pick up<div class="tip">Docked at the start: the goods into your hold.</div></div>
<div class="btn primary" data-if="con_can_deliver" data-action="con-deliver">Deliver<div class="tip">Docked at the goal: the goods into the poster's depot, the reward and your collateral into your bank.</div></div>
<div class="btn danger" data-if="con_can_cancel" data-action="con-cancel">Withdraw<div class="tip">Nobody took it yet: the goods back into your depot, the reward back into your bank.</div></div>
</div>
</div>
<div class="status" data-class-bad="!status_ok" data-if="status != ''">{{ status }}</div>
<div class="panel">
<div class="label">Post a contract - goods from your depot here</div>
<div class="row2" style="margin-bottom: 6dp;">
<span class="label">Goods</span><span class="toggle on" data-action="con-good">{{ con_good }}<div class="tip">Click for the next good in your depot here.</div></span>
<span class="label" style="width: 70dp; margin-left: 14dp;">Amount</span><input class="text" type="text" style="width: 70dp;" data-value="con_qty" maxlength="8"/>
<span class="label" style="width: 40dp;">To</span><input class="text" type="text" style="width: 200dp;" data-value="con_to" maxlength="60"/>
</div>
<div class="row2">
<span class="label">Reward</span><input class="text" type="text" data-value="con_reward" maxlength="12"/>
<span class="label" style="width: 80dp;">Collateral</span><input class="text" type="text" data-value="con_coll" maxlength="12"/>
<span class="label" style="width: 70dp;">Insured</span><input class="text" type="text" data-value="con_ins" maxlength="12"/>
<span class="label" style="width: 40dp;">Days</span><input class="text" type="text" style="width: 40dp;" data-value="con_days" maxlength="2"/>
<div class="btn primary" data-action="con-post">Post<div class="tip">The goods leave your depot, the reward (and the premium, a Courier Terminal's fee) your bank - until the contract ends.</div></div>
</div>
<div class="info">{{ con_info }}</div>
</div>
</div>
<!--/PANE-->
</div>
</div>