Repository navigation
Releases: HisenWeb/IronNestFCS-Smart
Release list
IronNestFCS Smart v1.2.8
IronNestFCS Smart v1.2.8
Stable FCS controls across F9 / F9 后控制界面保持稳定
-
F9 now reloads only the TaskSystem / Logic layer. The world-space FCS controls stay alive, including the selected shell, Auto Fire and Max Charge state.
-
T1-T4 submissions are routed to the current Logic instance at click time, so a stable Host UI cannot retain or call an unloaded Logic object.
-
If F9 interrupts marker stabilization, transient T-button input locks are cleared so the submit button does not remain stuck disabled.
-
Persistent physical loading continues across F9 as before; the rebuilt TaskSystem replans from the real chamber/loading state.
-
F9 现在只重载 TaskSystem / Logic 层。世界空间 FCS 控制界面不会被重建,当前弹种、Auto Fire 和 Max Charge 状态都会保留。
-
T1~T4 点击时会路由到当时最新的 Logic 实例,稳定 Host UI 不会持有已经卸载的旧 Logic 对象。
-
如果 F9 恰好打断目标标记稳定采样,会清除 T 按钮的瞬态输入锁,避免按钮一直卡在不可点击状态。
-
实际装填继续保持跨 F9 持久化;新的 TaskSystem 会从真实炮膛 / 装填状态重新规划。
Internal boundary cleanup / 内部边界整理
-
The old mixed-responsibility
FcsSceneInteractorwas split into Host-ownedFcsControlPanel, reloadableTargetSubmissionController, andPhysicalClickHelper. -
Planner / Executor now read player control state through the stable Host contract instead of owning UI state inside reloadable Logic.
-
原先职责混杂的
FcsSceneInteractor已拆分为 Host 持有的FcsControlPanel、可重载的TargetSubmissionController和PhysicalClickHelper。 -
Planner / Executor 现在通过稳定 Host 契约读取玩家控制状态,不再让可重载 Logic 自己持有 UI 状态。
Validation / 验证
-
Repeated in-game F9 tests passed while guns were loading, recovering and already loaded; compatible post-F9 missions reused the persistent loading transaction correctly.
-
Auto Fire remained enabled across F9 and successfully fired after Logic reload. Max Charge ON/OFF also remained unchanged across F9 and continued to drive C6 / minimum-charge planning as expected.
-
Release build passes with no new compile errors.
-
已在装填中、Recovery、LoadedReady 等状态下重复实机测试 F9;F9 后兼容任务能够正确复用持续存在的装填事务。
-
Auto Fire 跨 F9 保持开启并能在 Logic 重载后继续自动击发;Max Charge 的 ON/OFF 也会跨 F9 保持,并继续按预期影响 C6 / 最小装药规划。
-
Release 构建通过,没有新增编译错误。
IronNestFCS Smart v1.2.7
IronNestFCS Smart v1.2.7
Loaded-ready gun matching fix / 已装填待机炮匹配修复
-
When one Pending task is compatible with both guns, the matcher now prefers a gun that is already
LoadedReadyover anEmptyReadygun that would need a fresh load. -
The rule is intentionally limited to the same single-task Left/Right choice. Multi-task matching, maximum-cardinality selection, charge/range resource protection, Pending order, ETA and azimuth tie-breaking are unchanged.
-
当同一个 Pending 任务同时兼容左右两门炮时,如果一门炮已经处于
LoadedReady,另一门炮为需要重新装填的EmptyReady,现在会优先使用已经待机的炮。 -
该规则仅作用于“同一单任务的左右炮二选一”,不会改变多任务匹配、最大匹配数、装药/射程资源保护、Pending 顺序、ETA 或方位角的既有优先级。
Validation / 验证
-
In-game smoke test passed for the reported
LoadedReady C6 + EmptyReadysingle-task case. -
Source-level review confirms that the new preference does not participate in multi-task set selection.
-
已通过
LoadedReady C6 + EmptyReady单任务场景的游戏内简单测试。 -
源码检查确认该优先规则不会参与多任务任务集选择。
IronNestFCS Smart v1.2.6
IronNestFCS Smart v1.2.6
HUD impact range restoration / HUD 打击距离恢复
-
Active-gun firing-solution rows once again show the target range alongside the impact grid, azimuth, charge count, elevation and estimated flight time.
-
Pending queue rows now also show the target range next to the impact grid and azimuth.
-
The Chinese HUD width has been adjusted so the restored range and full firing-solution line remain visible without clipping while keeping the window compact.
-
This restores information that was accidentally dropped during the compact HUD simplification; the existing
ArtilleryTask.distancevalue is used directly, with no new ballistic calculation or scheduling behavior. -
当前炮位的射击诸元行重新显示目标距离,并继续保留打击网格、方位、装药量、仰角和预计飞行时间。
-
Pending 等待队列也会在打击网格和方位旁显示目标距离。
-
中文 HUD 宽度已相应调整,避免恢复距离后完整射击诸元被右侧裁切,同时继续保持紧凑布局。
-
本次修复恢复了紧凑 HUD 改造时意外遗漏的信息;直接使用现有的
ArtilleryTask.distance,不会引入新的弹道计算,也不改变任务调度行为。
Notes / 说明
- This is a display-only patch. FirePlan execution, physical-shot settlement, two-gun matching, Auto Fire, Max Charge and F9 semantics are unchanged.
- 本版本仅修复显示。FirePlan 执行、实际击发结算、双炮匹配、Auto Fire、Max Charge 与 F9 语义均保持不变。
IronNestFCS Smart v1.2.5
IronNestFCS Smart v1.2.5
Physical ammunition UI sync / 实体弹药台同步
-
Ammunition buttons now follow the shell punchcards that are actually present on the physical Requisition Console instead of assuming every
BulletTypeis available. -
The FCS rescans the physical requisition deck at runtime and refreshes the ammo UI automatically after the available shell set becomes stable.
-
Startup no longer treats the short period before punchcards finish spawning as an authoritative empty ammunition list.
-
Existing A/B ammo-button layout and selection fallback behavior are preserved; if the selected shell disappears, Smart falls back to HE when available, otherwise to the first available shell.
-
Temporary requisition diagnostic probes used during development are not included in the release build.
-
弹种按钮现在直接跟随实体 Requisition Console 上实际存在的炮弹 Punchcard,不再默认
BulletType中的所有弹种都可用。 -
FCS 会在运行时重新扫描实体弹药台,并在可用弹种集合稳定后自动刷新弹种 UI。
-
游戏启动时 Punchcard 尚未生成完成的短暂阶段,不再被误判为“当前没有可用弹种”。
-
现有 A/B 弹种按钮布局与选择回退逻辑保持不变;如果当前选择的弹种消失,Smart 会优先回退到 HE,否则选择当前第一个可用弹种。
-
开发阶段使用的征用台诊断探针不会进入正式发布包。
Pending order with charge-resource protection / 保留装药资源的 Pending 顺序
-
Dual-gun matching still maximizes the number of tasks that can be admitted in the current physical state.
-
Scarce charge/range capability remains protected first: a short-range task should not consume a higher-charge gun when that would prevent a farther task from using the range it actually needs.
-
Once two candidate assignments have the same cardinality and the same charge fit, earlier Pending tasks now win before ETA or azimuth soft costs are considered.
-
ETA and azimuth are therefore limited to choosing the better Left/Right mapping for an already-equivalent task set; they no longer reorder targets merely because a later task is faster or closer to the current turret direction.
-
Later Pending tasks can still bypass an older task when the older task has no compatible Task × Gun edge, or when charge/range constraints make a different maximum-cardinality assignment necessary.
-
The final azimuth tie-break uses the same signed-bearing conversion as the canonical turret slew estimator.
-
双炮 Matcher 仍然首先尽量让当前可用炮位接到最多任务。
-
装药 / 射程资源保护继续优先:短程任务不应占用更高装药炮位,从而让真正需要该射程能力的远程任务失去可用炮位。
-
当两个候选方案的匹配数量和装药适配程度相同时,现在会先按 Pending 提交顺序选择更早的任务,再比较 ETA 或方位角软成本。
-
因此 ETA 与方位角只负责在同等任务集合中选择更好的 Left / Right 分配,不再因为后提交任务更快或更接近当前炮塔方向就改变玩家的目标顺序。
-
如果较早任务当前没有任何兼容的 Task × Gun 边,或装药 / 射程约束要求另一组最大匹配方案,后面的兼容任务仍然可以正常越过。
-
最后的方位角 tie-break 现在与炮塔转向估算使用同一套带符号方位转换。
Notes / 说明
-
F9 semantics are unchanged: F9 resets TaskSystem planning, not persistent physical loading reality.
-
FirePlan execution, physical-shot settlement, Auto Fire, Max Charge, selected-only ballistic materialization and the existing two-gun matching architecture remain intact.
-
The requisition-deck change was project-build and basic in-game tested before merge. The matcher change was checked against regression scenarios covering initial-state admission, constrained loaded states, C1/C2 range protection, blocked Pending bypass and edge-exclusion rematching.
-
F9 语义保持不变:F9 重置 TaskSystem 计划,不会抹掉持续存在的真实装填过程。
-
FirePlan 执行、实际击发结算、Auto Fire、Max Charge、selected-only 弹道实体化以及现有双炮全局匹配架构保持不变。
-
实体弹药台同步功能在合入前已完成项目构建与基础实机测试;Matcher 调整已覆盖初始态接单、受限实装状态、C1/C2 射程资源保护、Blocked Pending 越过以及排除边后的 rematch 等回归场景。
IronNestFCS Smart v1.2.3
IronNestFCS Smart v1.2.3
Combat HUD cleanup / 战斗 HUD 精简
-
The top-left FCS HUD has been reorganized around information that is useful during live fire-control work.
-
Active gun rows keep the current T mission, shell type, progress, elapsed time, impact grid, azimuth, charge, elevation and estimated shell flight time.
-
Idle gun rows continue to show the gun's current physical ammunition / recovery state.
-
Firing-order status plus Auto Fire / Max Charge state remain visible.
-
Pending rows now focus on the mission itself: target, shell type, impact grid and azimuth. Gun-compatibility mismatch text is no longer attached to the task row.
-
Session success/failure statistics, recent-task history and internal per-gun ETA / alignment diagnostics were removed from the always-on HUD to reduce visual density.
-
The existing F8 HUD show/hide toggle is unchanged.
-
左上角 FCS HUD 重新整理为以实时火控过程中真正需要的信息为主。
-
正在执行任务的炮位继续显示当前 T 任务、弹种、进度、已用时间、打击位置、方位角、装药量、仰角和预计炮弹飞行时间。
-
空闲炮位继续显示当前真实弹药状态或复位 / 恢复状态。
-
射击顺序,以及 Auto Fire / Max Charge 状态继续保留。
-
Pending 行现在只描述任务本身:目标、弹种、打击位置和方位角;不再把“弹种不匹配”等炮位兼容性信息挂在任务行上。
-
为降低常驻 HUD 的信息密度,移除了本轮成功 / 失败统计、近期任务历史,以及每门炮内部的 ETA / alignment 调度诊断。
-
现有 F8 HUD 显示 / 隐藏开关保持不变。
Notes / 说明
-
This is a presentation-only change. Planner, Matcher, Dispatcher, FirePlan execution, loading runtime, ballistic planning, physical-fire settlement, Auto Fire and F9 lifecycle behavior are unchanged.
-
Simple in-game smoke testing passed before release preparation.
-
本版本只调整 HUD 信息呈现,不修改 Planner、Matcher、Dispatcher、FirePlan 执行、装填运行时、弹道规划、实际击发结算、Auto Fire 或 F9 生命周期逻辑。
-
发布准备前已完成简单实机测试。
IronNestFCS Smart v1.2.2
IronNestFCS Smart v1.2.2
Manual fire wait / 手动击发等待
-
Manual-fire missions no longer fail after a fixed 5-minute wait once the gun is prepared and waiting for the player to fire.
-
With Auto Fire disabled, a prepared FirePlan can now remain in
WaitingForFireindefinitely until the player fires, replans with F9, or the plan is otherwise cancelled. -
Auto Fire keeps its existing 25-second physical-fire observation timeout so failed automatic trigger attempts can still recover safely.
-
Loading, elevation, turret rotation, Review / Arm and other mechanical-action timeouts are unchanged.
-
关闭 Auto Fire 时,火炮完成准备并等待玩家手动击发后,不再因为固定的 5 分钟等待上限而判定任务失败。
-
已准备完成的 FirePlan 现在可以一直保持
WaitingForFire,直到玩家实际开火、按 F9 重新规划,或任务因其他原因被取消。 -
Auto Fire 仍保留原有的 25 秒实际击发观察超时,用于自动击发失败时的故障恢复。
-
装填、仰角、炮塔旋转、Review / Arm 等其他机械动作的超时逻辑保持不变。
Notes / 说明
-
This change is intended for deliberate wait-and-fire / ambush-style missions: Smart prepares the gun, while the player keeps control of when to fire.
-
No Pending, dual-gun matching, loading-runtime, ballistic-planning, or F9 lifecycle behavior was changed in this release.
-
这项调整用于支持提前准备、长时间待命后再由玩家决定击发时机的任务方式:Smart 负责把火炮准备好,什么时候开火仍由玩家决定。
-
本版本没有修改 Pending、双炮匹配、装填运行时、弹道规划或 F9 生命周期行为。
IronNestFCS Smart v1.2.1
IronNestFCS Smart v1.2.1
F8 HUD toggle / F8 HUD 开关
-
Press F8 to hide or show the top-left IronNestFCS Smart status HUD.
-
The toggle affects HUD drawing only. Task execution, Pending scheduling, loading, aiming, Auto Fire and other fire-control behavior continue normally while the HUD is hidden.
-
HUD visibility is owned by the stable Host, so pressing F9 to reload/replan the TaskSystem does not reset the current HUD visibility state.
-
Starting a new game process returns to the normal visible HUD state.
-
按 F8 可以隐藏或重新显示左上角 IronNestFCS Smart 状态 HUD。
-
这个开关只控制 HUD 绘制。HUD 隐藏后,任务执行、Pending 调度、装填、瞄准、Auto Fire 和其他火控行为都会继续正常运行。
-
HUD 显示状态由稳定 Host 持有,因此按 F9 热重载 / 重新规划 TaskSystem 时不会重置当前 HUD 显示状态。
-
重新启动游戏进程后,HUD 会回到正常显示状态。
Notes / 说明
-
F8 is a display-only convenience control; it does not clear missions or change the fire-control plan.
-
F9 behavior is otherwise unchanged: it still resets reloadable TaskSystem planning/execution state while preserving already-accepted physical loading work in the stable Host.
-
F8 只是显示层快捷开关,不会清除任务,也不会改变火控计划。
-
F9 的其他行为保持不变:仍然只重置可热重载 TaskSystem 的规划 / 执行状态,并保留稳定 Host 已经接受的实际装填工作。
IronNestFCS Smart v1.2.0
IronNestFCS Smart v1.2.0
Physical fire settlement / 物理击发结算
-
FirePlan completion is now driven by observed physical gunfire instead of assuming that the scheduled current gun must be the one that fired.
-
Left and right gunfire are observed independently around the shared trigger event, with a short settlement window so simultaneous shots are reconciled together.
-
If both guns physically fire, both matching FirePlans are consumed. If only one gun fires, only that plan is consumed and the remaining committed plan keeps its established execution order.
-
A FirePlan ends at the observed shot; post-shot mechanical recovery remains owned by the persistent physical loading runtime.
-
FirePlan 现在以“实际观察到哪门炮物理击发”为完成依据,不再假设调度中的 current 一定就是实际开火的炮。
-
共享扳机动作前后会分别观察左右炮,并保留一个很短的结算窗口,把近乎同时发生的双炮击发作为同一次物理事件处理。
-
如果左右炮都实际击发,就同时消费对应的两个 FirePlan;如果只有一门炮击发,只消费这一门的计划,剩余已提交计划继续保持既定执行顺序。
-
FirePlan 在观察到实际击发时结束;击发后的机械复位仍由 Host 中的持久物理装填系统负责。
Ready / Review / Arm handshake / 准备、确认与保险握手
-
The five Review switches are now controlled by an independent physical-state reconciler. Task execution publishes gun-ready inputs; the controller continuously converges the shared switches to the required physical state.
-
Review confirmation receives a short head start before arming, but arming no longer waits for all five switches to finish moving.
-
Each gun operates only its own arming lever. A ready second gun may arm itself during the current shared-fire opportunity only when its target azimuth is effectively the same.
-
The scheduler's
current / nextorder remains authoritative for shared azimuth ownership; LocalReady does not reorder plans. -
5 个 Review 确认开关现在由独立的物理状态控制器负责持续收敛;任务执行只发布左右炮的 ready 输入。
-
Review 会在解除保险前获得一个短暂提前量,但不会等待 5 个开关全部完成动作后才开始解除保险。
-
每门炮只操作自己的保险。另一门已经准备好的炮,只有在本次共享击发机会中目标方位角基本一致时,才会由自己的流程解除自己的保险。
-
调度器原有的
current / next顺序继续决定共享方位角执行权;LocalReady 不会重排 FirePlan。
Two-gun task matching / 双炮任务匹配
-
Planning now builds one side-effect-free Task × Gun eligibility matrix from a shared physical/loading snapshot before choosing assignments.
-
A stateless two-gun matcher chooses the best non-conflicting assignment set and prioritizes filling currently available gun slots before soft tie-breaks.
-
Shell compatibility and fixed-charge range sufficiency are treated as hard eligibility constraints.
-
The game ballistic calculator is invoked only after a Task × Gun assignment has been selected, preventing rejected alternatives from producing extra firing-solution stickers.
-
If a selected edge fails ballistic/elevation materialization, only that edge is excluded and the remaining candidates can be matched again without partially admitting the batch.
-
规划现在先基于同一个左右炮物理/装填快照建立无副作用的 Task × Gun 资格矩阵,再决定任务分配。
-
新的无状态双炮 Matcher 会从合法组合中选择互不冲突的最佳分配,并优先尽可能填满当前可用炮位。
-
弹种兼容和固定装药能否覆盖射程属于硬资格条件。
-
只有最终选中的 Task × Gun 组合才会调用游戏弹道计算器,未选中的候选不再额外生成射击解算贴纸。
-
如果最终选中的某条边在弹道/仰角实体化阶段失败,只排除这条边并重新匹配;在整批实体化成功前不会半途向 Executor 提交计划。
Recovery-aware Pending dispatch / 面向物理恢复状态的 Pending 调度
-
Pending tasks no longer stall when one free gun slot is still recovering while the other gun can already accept work.
-
A free gun side that is physically Recovering/PostShotRecovery is tracked as a future dispatch opportunity.
-
If that side becomes plannable while another assignment is being materialized, the next planning round is triggered immediately; otherwise one temporary physical-recovery waiter keeps the event-driven retry alive.
-
This preserves single-gun progress while still filling the second gun as soon as physical reality allows it.
-
当一门炮已经可以接任务、另一门空闲炮位仍处于 Recovering/PostShotRecovery 时,Pending 不再因为漏掉恢复事件而卡住。
-
处于物理恢复过程中的空闲炮位会被登记为后续调度机会。
-
如果它在另一项任务实体化期间已经恢复为可规划状态,系统会立即开启下一轮匹配;否则保留一个临时物理恢复等待器继续事件驱动重试。
-
因此单炮可以先继续执行,第二门炮一旦真正恢复可用就会立即继续承接 Pending。
Release cleanup / 发版清理
-
Removed the temporary aiming-speed, physical-state timeline, and trigger-console pose probes used during development validation.
-
Normal categorized/problem diagnostics remain available through the existing diagnostics system.
-
The single-plan order reason now reports that no immediately available partner FirePlan exists instead of incorrectly saying the Pending queue is empty.
-
移除了开发验证阶段使用的瞄准速度探针、物理状态时间线探针和 Trigger Console 姿态探针。
-
原有 diagnostics 系统的常规分类日志和 problems 日志仍然保留。
-
单计划执行时的射击顺序原因改为“当前没有可立即形成配对的计划”,不再错误显示“等待队列为空”。
Notes / 说明
-
F9 still discards reloadable TaskSystem planning/execution state while preserving physical loading transactions already accepted by the stable Host.
-
Physical gun/loading state remains authoritative; the mod does not rewrite already accepted loading reality to match a new task.
-
The shared firing lever remains a physical shared control. The automation coordinates Review/Arm work, while actual observed gunfire determines which plans are consumed.
-
F9 仍然只丢弃可热重载 TaskSystem 的规划/执行状态;已经由稳定 Host 接受的物理装填事务继续保留。
-
实际炮膛与装填机构状态仍然是权威状态;系统不会为了新任务去虚构或覆盖已经发生的装填现实。
-
击发扳机仍然是共享物理控制;自动化负责协调 Review/保险流程,最终由实际观察到的物理击发决定消费哪些计划。
IronNestFCS Smart v1.1.8
IronNestFCS Smart v1.1.8
Reliable pending queue / 更可靠的等待队列
-
Tasks that cannot be planned against the guns' current physical loading state now remain in the Pending queue instead of disappearing.
-
A blocked task at the front of the queue no longer prevents later compatible tasks from being planned and executed.
-
A task leaves Pending only after a concrete FirePlan has been accepted by the executor.
-
Dispatch requests that arrive while a planning round is already running are preserved and replayed after the current round, avoiding a narrow missed-trigger race.
-
当前两门炮的实际装填状态无法执行某个任务时,该任务现在会继续保留在等待队列中,不再直接消失。
-
队首存在暂时无法执行的任务时,后面能够匹配当前炮况的任务仍然可以继续规划和执行。
-
只有具体 FirePlan 已经被执行器接受后,任务才会真正离开 Pending。
-
如果新的调度请求恰好发生在已有规划轮次运行期间,系统会保留这次触发并在当前轮结束后补跑,避免极窄窗口下漏掉新任务。
Fast ammunition compatibility screening / 快速弹药兼容筛选
-
Planner now checks the requested shell type against the shell already loaded or currently being loaded before opening the game's ballistic calculator.
-
Fixed-charge maximum range is also screened before the expensive calculator interaction: C1 through C6 use 5 km steps as maximum-range ceilings.
-
Higher charges remain valid for shorter targets; for example C6 is not rejected simply because the target is within 5 km.
-
Incompatible candidates are skipped immediately, which prevents old Pending tasks from repeatedly spending several seconds driving the game's calculator UI.
-
Planner 现在会先检查任务弹种是否与炮内已装弹种或当前装填事务的弹种一致,再决定是否进入游戏弹道计算器。
-
固定装药的最大射程也会在昂贵的弹道计算前快速筛选:C1~C6 按每档 5 km 作为最大射程上限。
-
高装药仍然可以用于更近目标,例如 C6 不会因为目标在 5 km 以内而被错误排除。
-
不兼容的炮位候选会立即跳过,避免旧 Pending 任务反复驱动游戏弹道计算器 UI、造成明显等待。
Lightweight Pending hints / 轻量等待提示
-
The HUD now adds a short reason to Pending tasks when useful, such as
shell mismatchorcharge range insufficient. -
When one gun has the correct shell but its current charge cannot reach the target, the HUD reports the range limitation instead of the more confusing generic ammunition mismatch message.
-
These hints are display-only; they do not participate in scheduling or change task priority.
-
HUD 会在有必要时给等待任务追加一个简短原因,例如“弹种不匹配”或“装药射程不足”。
-
如果至少有一门炮弹种正确、只是当前装药够不到目标,HUD 会优先显示“装药射程不足”,不再给出容易误解的笼统“弹药不匹配”。
-
这些提示只用于显示,不参与调度,也不会改变任务优先级。
Event-driven scheduling and UI polish / 事件驱动调度与界面修正
-
Pending re-planning remains event-driven: new task submission, gun-slot release, and focus resume can trigger another planning round without per-frame Pending polling.
-
The initial firing-order status now binds the game language before caching its text, fixing an English
Firing order: not committed (reset)line appearing inside the Chinese HUD. -
Pending 重规划保持事件驱动:新任务提交、炮位释放以及游戏窗口恢复焦点都可以触发新的规划轮次,不需要每帧轮询等待队列。
-
初始射击顺序状态现在会先完成游戏语言识别再缓存文本,修复中文版 HUD 中偶尔出现英文
Firing order: not committed (reset)的问题。
Notes / 说明
-
F9 still resets TaskSystem planning and queued tasks, not persistent physical loading already accepted by the Host.
-
An incompatible task can intentionally remain Pending until the physical gun state changes or the player resets/replans with F9.
-
Existing FirePlans already accepted by the executor are not rewritten by later Pending tasks.
-
F9 仍然只重置 TaskSystem 的计划和任务队列,不会抹掉已经被 Host 接受的持久物理装填。
-
不兼容任务会有意保留在 Pending,直到实际炮况发生变化,或玩家按 F9 放弃当前任务并重新规划。
-
已经被执行器接受的 FirePlan 不会被后续 Pending 任务改写。
IronNestFCS Smart v1.1.7
IronNestFCS Smart v1.1.7
Earlier estimated shell flight time / 更早显示预计炮弹飞行时间
-
Estimated shell flight time is now populated as soon as a FirePlan is created instead of waiting until the gun reaches
WaitingForFire. -
Smart uses measured in-game C1–C6 charge coefficients with target range to estimate TTI early.
-
The existing mechanical Time-To-Impact dial reader remains available as a fallback when an early estimate cannot be produced.
-
The HUD behavior is otherwise unchanged: the stored FirePlan value remains the original estimated flight time and does not count down after firing.
-
预计炮弹飞行时间现在会在 FirePlan 创建后立即写入,不再等待火炮进入
WaitingForFire。 -
Smart 使用游戏内实测得到的 C1~C6 装药档位系数与目标距离提前估算 TTI。
-
原有机械 Time-To-Impact 表盘读取仍作为提前估算不可用时的回退路径。
-
HUD 其余行为不变:FirePlan 保存的是原始预计飞行时间,击发后不会跟随机械表盘倒计时继续减少。
Empirical TTI model / 实测 TTI 模型
Observed game behavior is linear in range for a fixed powder charge:
TTI(seconds) = distance(km) * secondsPerKm(charge)
Production coefficients:
C1 = 4.758869 s/km
C2 = 3.830061 s/km
C3 = 2.613011 s/km
C4 = 1.894451 s/km
C5 = 1.540442 s/km
C6 = 1.427168 s/km
Across the tested ranges, changing elevation while keeping the same charge did not require a separate TTI correction; the per-charge ratio remained stable within the precision of the game's dial/log values.
游戏实测表现为:固定装药档位下,TTI 与距离近似严格成正比:
TTI(秒) = 距离(km) * 当前装药档位系数
正式版本使用上面的 C1~C6 六档实测常量。在已测试距离范围内,同一装药档位改变仰角时不需要额外的 TTI 修正;按游戏表盘与日志精度观察,每档的 TTI / 距离 保持稳定。
Probe cleanup / 测试探针清理
-
The production branch does not include the temporary TTI timing probes, dial-sampling probes, or validation-only logging used to derive the coefficients.
-
The change is limited to the compact estimator, FirePlan initialization, documentation, and the existing read-only dial fallback.
-
正式分支不包含本轮用于推导系数的 TTI 时序探针、表盘采样探针或仅用于验证的测试日志。
-
正式改动仅保留精简估算器、FirePlan 初始化、相关文档,以及原有只读机械表盘回退。
Notes / 说明
-
This release does not change target selection, T1–T4 queueing, dual-gun scheduling, Max Charge policy, F9 replanning, or persistent physical-loading semantics.
-
TTI estimation remains descriptive HUD data; it does not make tactical decisions or alter the firing solution selected by the game's ballistic calculator.
-
本版本不改变目标选择、T1~T4 队列、双炮调度、Max Charge 策略、F9 重规划或持久物理装填语义。
-
TTI 估算仍然只是 HUD / FirePlan 描述数据,不参与战术决策,也不修改游戏弹道计算器给出的射击解。