XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEEDToolBox

Resume travel promptly after verified departure and scene changes

Finish station departure when the original launch duty has ended, a current undock is confirmed, and the native FSD is ready without mass lock. Remove the redundant 7.5 km wait. Keep the existing bounded health-read wait around transient independent witness publication after hyperspace. Every input still requires a fresh witness; process or ownership mismatches remain terminal. Validation: 8 travel preparation and 2 selection/recovery regressions passed; isolated CLI publish passed. This follow-up is staged for the next workflow restart while the current empty approach continues.

240f20c
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

2 个文件 +5 -2
Modified XFEEDToolBox.Core/Navigation/NativeSystemFlightControlDriver.cs +3 -1
@@ -108,7 +108,9 @@ public sealed class NativeSystemFlightControlDriver(int processId,string gameHas
108 108 if(engaged&&!active&&!state.Docked&&state.Navigation.UndockedAt>=started.AddSeconds(-1))
109 109 {
110 110 ownsLaunch=false;
111 if(frame.Mode==LocalFlightMode.Normal&&frame.FsdReady&&frame.TargetDistance>=7500)break;
111 // The original launch duty has ended and the live FSD
112 // observation already confirms mass-lock release.
113 if(frame.Mode==LocalFlightMode.Normal&&frame.FsdReady)break;
112 114 if(frame.Mode==LocalFlightMode.Normal)
113 115 {
114 116 var outward=(frame.Position-frame.TargetPosition).Unit();var aligned=Vector3d.AngleDegrees(frame.Forward,outward)<=5;
Modified research/NativeAcceptance/CgTradeLoop.cs +2 -1
@@ -50,7 +50,7 @@ internal static class CgTradeLoop
50 50 }
51 51 async Task Check(CancellationToken token)
52 52 {
53 token.ThrowIfCancellationRequested();guardian.RequireReady(pid);var current=journal.State;
53 token.ThrowIfCancellationRequested();var current=journal.State;
54 54 if(!current.InGame||current.CommanderId!=initial.CommanderId||current.CurrentShipId!=initial.CurrentShipId||current.LoadGameAt!=initial.LoadGameAt
55 55 ||NavigationSafety.HasExternalThreat(current)||NavigationSafety.UnhealthyHull(current))
56 56 throw new InvalidOperationException("Automatic trade session, ship or safety state changed.");
@@ -62,6 +62,7 @@ internal static class CgTradeLoop
62 62 {
63 63 try
64 64 {
65 guardian.RequireReady(pid);
65 66 var health=await channel.CallAsync(new{op="health.read"},token);var ship=health.GetProperty("shipHealth");
66 67 if(!health.GetProperty("localPlayerShipVerified").GetBoolean()||!ship.GetProperty("verified").GetBoolean()
67 68 ||ship.GetProperty("hullFraction").GetDouble()<.5)throw new InvalidDataException("Fresh healthy main ship required.");