Realistic Harvesting V1.6.4






Realistic Harvesting V1.6.4
Realistic Harvesting for FS25
Transform your harvesting experience into true agricultural simulation! Combines can no longer unrealistically sprint at full speed through dense crops without consequences. Working speed, engine load, and yield efficiency are dynamically driven by crop density, cutting width, moisture, and your machine’s mechanical calibration.
Key Features
Physics-Based Engine Load & Speed: Ground speed dynamically adapts based on harvested crop mass (t/h), header width, and vehicle horsepower. Overloading the engine or using incorrect settings results in real grain loss.
All Machine Types Supported: Fully calibrated physics for Grain Combines, Forage Harvesters (chaff/silage), Root & Vegetable Harvesters (potatoes, beets, carrots, parsnips, spinach, peas), Cotton, and Sugarcane.
Interactive Combine Calibration (`RShift + K`): Calibrate Rotor/Drum RPM, Concave Clearance, Fan Speed, and Sieves for each crop. Correct settings ensure maximum yield and minimum loss.
Workshop Upgrade Packages (Tiers 1–4): Upgrade your combine at the shop:
Level 1 (Standard): Fully manual operation.
Level 2 (Sensor Kit): Displays calibration guidance hints (low / optimal / high).
Level 3 (Yield Monitor): Real-time yield (t/ha, bu/ac), area rate (ha/h), and moisture telemetry.
Level 4 (Opti-Harvest AI): Automatic settings calibration and automated speed management.
AI & Courseplay Compatibility:** AI helpers and Courseplay workers automatically utilize your saved profiles or optimal calibrations.
Draggable HUD: Clean, movable on-screen display showing live Engine Load, Productivity (t/h, ha/h), Crop Loss %, and Moisture.
Global Crop Profiles: Save your favorite tuning once — profiles automatically load across your combines and savegames.
3 Difficulty Modes (ESC Settings): Choose between Arcade (relaxed), Normal (balanced), or Realistic (strict physical limits and penalties).
V1.6.4.0
New Features
Threshing Mechanism Classification System:
Implemented an automated classification engine in `rhm_Combine.lua` that classifies harvesters into 6 mechanical categories based on vehicle XML data, wheel count, and chassis dimensions:
– `STRAW WALKER` (conventional straw walker combines)
– `AXIAL ROTOR` (single and dual longitudinal rotor systems)
– `HYBRID APS` (accelerator pre-separation cylinder with twin separation rotors)
– `FORAGE CHOPPER` (precision-chop drum and accelerator systems)
– `ROOT HARVESTER` (lifting shares, sieving webs, and cleaning rollers)
– `SPECIALTY` (cotton, sugarcane, grape, and olive harvesters)
– Added a real-time Threshing System Indicator badge to the Shift+K calibration terminal header.
– Added public API endpoint `RHM_Api.getThreshingType(vehicle)`.
-* Added localized naming across all 27 language files (`translations/l10n_*.xml`).
3-Way HUD Work Rate & Productivity Monitoring:
Implemented interactive click-cycling in Yield Monitor HUD Cell 7 (expanded layout) and Cell 4 (compact layout):
– Cycles between: Processed Area (ha / ac) <-> Instantaneous Work Rate (ha/h / ac/h) <-> Session Average Work Rate (ha/h / ac/h).
– Added session average work rate telemetry to the Trip Statistics frame.
– Added public API method `RHM_Api.getAverageHectaresPerHour(vehicle)`.
Improvements & Optimizations
Native GIANTS Engine 10 Cutter Specialization:
– Migrated cutter logic into an official GIANTS Engine 10 vehicle specialization (`rhm_Cutter`), completely replacing runtime monkey-patching of `Cutter.onLoad`.
– Registered `<specialization name=”rhm_Cutter” />` in `modDesc.xml` and dynamically injected it across all cutter vehicle types.
Differentiated Power Balance and Moisture Physics:
– Differentiated base driveline drag according to threshing architecture (8.0% for straw walkers, 9.5% for hybrid APS, 11.0% for axial rotors, 10.0% for root harvesters, 9.0% for forage harvesters).
– Refactored moisture processing drag in `RHM_LoadCalculator.lua`: straw walkers receive an exponential resistance penalty in damp, clumped straw mats, whereas rotary systems maintain steady crop flow with lower specific moisture resistance.
– Differentiated moisture separator loss rates across mechanism types.
Multiplayer Telemetry Synchronization:
– Added high-frequency network stream replication (`onWriteUpdateStream` / `onReadUpdateStream`) for burned fuel, average speed, average engine load, all 5 loss breakdown reasons (speed, settings, moisture, wear, slope), and concave clearance.
GUI & Telemetry Responsiveness:
– Reduced analytics and trip refresh loops to a 250ms cadence with explicit open/close reset handlers, resolving frozen telemetry values.
– Upgraded throughput monitoring to simultaneously display instantaneous peak and session average throughput (t/h).
Bug Fixes
Modular Carrier & Gantry Combine Support:
– Resolved an issue where harvesters mounted as detachable modules on motorized gantry carriers displayed zeroed HUD telemetry and failed to record odometer trip data.
– Implemented zero-allocation implement tree traversal (`rhm_Combine.getAllAttachedCutters`) to discover cutters attached directly to the carrier chassis.
– Updated cutter working width calculations, weed biomass sampling, cruise speed regulation, wear loss calculations, and field tracking across modular equipment configurations.
Crab-Steering & Diagonal Motion Handling:
– Fixed false-positive reverse detection on vehicles equipped with crab-steering, all-wheel steering, or wide-span travel modes where local chassis Z-vector displacement is non-positive despite forward directional velocity and active crop intake.
– Ensured active crop flow acts as an immediate bypass for motion direction validation.
Cutter Lowering & Working State Detection:
– Fixed an issue where rigid, non-hydraulic implement attachers failed the recursive `getIsImplementChainLowered` check.
– Switched cutter lowered validation to direct implement state (`cutter:getIsLowered(true)`) with direct joint check fallback.
– Added a carrier ground speed fallback in `RHM_DraggableHUD.lua` when an attached combine module reports < 0.2 km/h due to decoupled root nodes.
Engine Crash Guard & Dedicated Server Permissions:
– Added strict type validation (`type(flag) == “number”`) prior to invoking `vehicle:raiseDirtyFlags(flag)`, preventing native engine `bit32.bor` crashes.
– Fixed Dedicated Server permission validation in `RHM_Settings.lua` by evaluating `g_currentMission:getHasAdminRights()` alongside `g_currentMission.isServerAdmin`.
Author: exekx

