Skip to content

Releases: Seamforge/FS25_UsedPlus

v2.15.4.98 — Pre-Release (all changes since v2.14.2)

26 Mar 23:59

Choose a tag to compare

⚠️ DEVELOPMENT PREVIEW — THIS MOD IS NOT FINISHED

This is an active work-in-progress. You are welcome to download and try it, but expect bugs, incomplete features, and breaking changes between versions. Do not treat this as a stable release.

What works: Vehicle financing, building financing, leasing, credit scoring, used marketplace, trade-ins, land financing, OBD Scanner, Service Truck diagnosis and inspection.

What's still in progress: Malfunctions system, multiplayer edge cases, balance tuning. Service Truck vehicle restoration is currently non-functional — we are aware and it is being actively worked on.

Report issues: github.com/XelaNull/FS25_UsedPlus/issues

Testing build — all changes since the stable v2.14.2 release.

Installation

  1. Download FS25_UsedPlus.zip below
  2. Place it in your Documents/My Games/FarmingSimulator2025/mods/ folder
  3. Enable in the mod selection screen
  4. Start or load a save game

v2.15.4 — Bug Fixes, Cross-Mod API, Triple-Screen Support

Cross-Mod API (Issue #40, #44)

  • UsedPlusAPI v1.1.0 — exposed via g_currentMission.usedPlusAPI for cross-mod access (FS25 sandboxes mod globals)
  • Credit Bureau APIregisterExternalDeal(), reportExternalPayment(), reportExternalDefault() now persist to savegame and affect credit score debt-to-asset ratio
  • Market Modifier APIapplyMarketModifier() for cross-mod price effects (multiplier 0.5-2.0, duration in game hours, per-category or ALL). Modifiers persist to savegame and auto-expire via hourly sweep
  • First external integration: FS25_MarketDynamics credit & market integration confirmed working

Triple-Screen / Ultra-Wide Support (Issue #36)

  • Dual display mode — automatically detects ultra-wide/triple-screen setups via g_aspectScaleX and loads a compact 1480px layout (500 + 500 + 460px columns)
  • Standard monitors (16:9) use the full 1590px layout unchanged
  • Layout rebalance — three-column proportions adjusted to 550/540/480 at 1590px total width
  • 11 finance rows (up from 9) — more visible active deals
  • Right-side padding and text overflow constraints added to Credit & Statistics panel
  • Compact layout X icon fix — cancel/info buttons on search rows shifted inward to prevent bleed into Credit & Statistics border
  • Screen diagnostics now always log on first menu open (promoted from DEBUG-only to WARN level for remote troubleshooting)

Farmland Market Integration (Issue #29)

  • FM negotiation integrated with UsedPlus financing — Finance/Lease buttons appear on FM-managed fields
  • Server-side FarmlandStateEvent interception for proper MP support
  • Hook chain observation — detects FM mod via savegame XML cache
  • Button bar alignment fixed for FM compatibility

Vehicle Sell Fix (Issue #21)

  • 6-method vehicle detection cascade for high-mod-count setups (1400+ mods) where InGameMenuVehiclesFrame isn't registered at load time
  • Deferred hook recovery — retries automatically via onFrameOpen when Vehicles tab opens
  • Instance-level hooks — installs on page instance when global class unavailable
  • [SELL-DIAG] diagnostic logging for remote diagnosis

Dedicated Server Fixes (Issue #17, #38)

  • Farm 1 gate removed — dedicated servers create farms on player connect, not startup. The existence check blocked all savegame loading on server restart
  • DealUtils.findVehicleById() — consolidated vehicle lookup replacing 8 duplicate inline loops
  • TerminateLeaseEvent — fixed deal.vehicleId always nil, uses deal:findVehicle()
  • LeaseDeal.objectId — uses NetworkUtil.getObjectId() for dedicated server compatibility
  • BulkSyncHandler — syncs settings to connecting clients
  • Used Vehicle Search crash — storeItemIndex serialized as Int32 but is a string
  • Finance Purchase crash — licensePlateData.characters table-to-string conversion
  • Save crash guards — nil guards on interestRate in FinanceDeal and LeaseDeal

Balance & Maintenance (Issue #43)

  • Hydraulic fluid drain rate reduced 10x — from ~3 hours to ~28 hours of continuous use to empty. Healthy tractors need periodic attention; damaged tractors need immediate attention
  • Workshop repair button fixed — hydraulic-only issues no longer prevent the repair dialog from opening

Other Bug Fixes

  • Issue #39 — Use vehicle.uniqueId for stable vehicle resolution across save/load
  • Issue #42 — Check finance setting before intercepting placeable buy
  • Issue #34 — Lease return fix, AdminCP test lease/expire buttons, orphan detection
  • Issue #35 — GMC Service Truck offer visibility fix (qualityLevel vs searchLevel)
  • Issue #28 — Retroactive credit scoring from HirePurchasing payment history
  • Loan security fix — relaxed collateral check from 150% to 300%, false "Loan Approved" dialog prevented

Code Quality

  • DEBUG flag set to false for production
  • Dead code and debug dumps removed
  • Event hardening — elseif g_client guards, streamWriteInt32 for farmId serialization
  • Security — resolved CodeQL alerts in rosetta tooling and find_unused.js

v2.15.3 — RVB Repair Integration & i18n Completion

RVB Repair Integration

  • Hydraulic repair completion, dialog close fixes
  • Enhanced inspection/service dialogs with ceiling display
  • Correct RVB part lifetimes and 4-method maxLifetime resolution
  • Workshop dialog — assessment truncation, progress bar, cost scaling
  • Component grid, epsilon repair, RVB finance path
  • Gradual workshop repair — hydraulic/engine/fluid interpolation

i18n and Translation Quality

  • All 25 languages complete — 2567/2567 keys across all language files
  • AMBER quality convergence — rosetta split, semantic fixes, crash prevention
  • Rosetta tooling: batch deposit optimization, codebase scanning, quality detection

v2.15.2 — Full Localization & ServiceTruck Overhaul

i18n Waves 1-3 — Complete

  • Wave 1: 344 hardcoded English strings converted to g_i18n:getText() / $l10n_ patterns
  • Wave 2: 173 additional hardcoded strings converted across 87 files
  • Wave 3: 47 missing translation keys added to all 26 language files
  • Verification scan: 0 missing keys, 0 hardcoded user-facing strings remaining

ServiceTruck Dialog Overhaul

  • Complete XML/Lua rewrite with multi-screen diagnosis and restoration flow
  • New C7000 model integration — community-rebuilt with 4 fill units, 5 wheel options, foldable doors
  • Known issue: Vehicle restoration is not yet functional. Diagnosis and inspection work correctly.

GUI Assets & Features

  • 47 new DDS icon files for dialogs
  • FaultTracerDialog: 29 interactive buttons with hover/mouseover feedback
  • Fluid Drain Rate setting (25%-200%) for oil and hydraulic tuning (Issue #24)
  • Declined offer history on SaleOfferDialog range bar (Issue #12)
  • Better Contracts compatibility fix (Issue #14)

v2.15.1 — Service Truck & Multiplayer Fixes

Service Truck Fixes (Issue #21)

  • Stream protocol asymmetry — onWriteStream skipped 3 values when restorationData was nil but isRestoring was true
  • R key pause soft-lock — replaced data destruction with pauseRestoration("manual")
  • Savegame schema fix — schema registered in wrong scope, fixes infinite save screen

Multiplayer State Sync System (Issues #16, #17)

  • 5 new sync event classes for server-to-client state propagation
  • BulkSyncHandler for join-time full state sync
  • FinanceDeal.fromSyncData() factory for safe client-side reconstruction
  • Sync broadcasts wired into 17+ mutating events

GUI Fixes (Issue #18)

  • 14 non-standard dialog API calls replaced with proper FS25 patterns
  • Lease Renewal Dialog full XML rewrite with proper event bindings
  • Lease buyout routed through LeaseRenewalEvent for correct ownership transfer

Defensive Hardening (Issue #16)

  • Double-hook prevention, re-entrancy guards, mission-delete reset

— Claude Code & Samantha, the UsedPlus AI Team

v2.14.2 — Finance & Marketplace System for FS25

18 Feb 05:35

Choose a tag to compare

v2.14.2 — Log Warning Cleanup, Icon Wiring, Profile Fixes

⚠️ DEVELOPMENT PREVIEW — THIS MOD IS NOT FINISHED

This is an active work-in-progress. You are welcome to download and try it, but expect bugs, incomplete features, and breaking changes between versions. Do not treat this as a stable release.

What works: Vehicle financing, building financing, leasing, credit scoring, used marketplace, trade-ins, land financing, OBD Scanner.

What's still in progress: Malfunctions system, Service Truck restoration, multiplayer edge cases, balance tuning.

Report issues: github.com/XelaNull/FS25_UsedPlus/issues

Installation

  1. Download FS25_UsedPlus.zip below
  2. Place it in your Documents/My Games/FarmingSimulator2025/mods/ folder
  3. Enable in the mod selection screen
  4. Start or load a save game

Fixed

Log Warning Cleanup (~47 warnings eliminated per load):

  • Removed invalid rim color configs (RAM_SILVER, DARK_CHROME) from service truck — copy-paste artifacts from original C7000 mod (2 warnings)
  • Renamed <Profiles><GUIProfiles> and repositioned in LeaseRenewalDialog.xml (~30 warnings)
  • Converted deprecated <Value name="fontSize"> profile syntax to modern direct-attribute format in LeaseRenewalDialog (~15 warnings)
  • Fixed fs25_headline (doesn't exist in FS25) → fs25_textDefault in LeaseRenewalDialog
  • Fixed fs25_dialogSeparator (doesn't exist) → inline Bitmap in LeaseEndDialog
  • Fixed buttonAccept (doesn't exist) → buttonOK in LeaseEndDialog

UI:

  • Removed "Marketplace Value" from Finance Manager Credit & Statistics section

Added

Codebase Statistics Tool v2.0 (tools/codebase_stats.js):

  • Complete rewrite with mod code vs project support separation
  • Architecture breakdown: managers, events, specializations, extensions, utilities
  • Top 10 largest Lua files with 1500-line limit warnings
  • --markdown flag generates README-ready output

Orphan Icon Wiring — 7 icons connected to dialogs:

  • land.png / loan.png: DealDetailsDialog shows context-specific icons for land and loan deals
  • service_truck.png: Header icon in ServiceTruckDialog and ServiceTruckDiscoveryDialog
  • success.png / failure.png / status_warning.png: FaultTracerDialog results screen shows outcome icon based on diagnosis accuracy

FaultTracer Multiplayer Support:

  • New FaultTracerResultEvent for syncing diagnostic results across clients
  • FaultTracerGrid refactored with improved layout and rendering

Changed

  • README.md statistics updated (139K lines, 350 mod files, 39 GUI screens, 26 languages, 1,998 keys)
  • Version references updated across all wiki pages

Mod Stats

  • 139,779 lines of code across 350 mod files
  • 39 GUI screens • 10 managers • 13 events • 11 specializations
  • 26 languages with 1,998 translation keys each
  • 100% AI-authored with Claude

📖 Full Changelog • 🐛 Report Issues • 📚 Wiki