Skip to content

Compatibility

Achimobil edited this page Oct 7, 2026 · 1 revision

Optional loading system

A mod that uses Revamp recipes should also work without Revamp installed, via normal GIANTS definitions (standard FS/console). If Revamp is installed, it automatically extends the same production with the flexible options.

Revamp extends existing mods instead of making them mandatorily depend on it.

Detection by other mods

Other mods can check whether Revamp is loaded:

local mod = g_modManager:getModByName("FS25_0_ProductionRevamp")
if mod ~= nil and g_modIsLoaded[mod.modName] then
    -- Revamp is loaded
end

The mod name must be exactly FS25_0_ProductionRevamp for this (see naming convention below).

Naming convention of the zip/mod name

The built mod zip is deliberately called FS25_0_ProductionRevamp.zip (not FS25_ProductionRevamp.zip):

  • The _0_ prefix makes sure Revamp loads alphabetically as one of the first mods.
  • Already published companion mods detect Revamp by exactly this name (see below).

The repository and the local development folder are still called FS25_ProductionRevamp — only the build output (zip/mod name) uses the _0_ form.

Known companion mods by Micha (Braeven)

  • FS25_ProductionStorageControl (PSC) — manual pallet/bale spawning for all productions, output modes per output. Registers the global classes ProductionStorageDialog and ProductionSettingsDialog.
  • FS25_ProductionSupplyTrader (PST) — buying/selling any amounts directly at the production, with a surcharge/discount on the market price, exclusion per production via <capacity allowSelling="false" allowBuying="false"/>. Registers ProductionSettingsDialog (shared with PSC) and ProductionBuyGoodsDialog.

Both deactivate themselves automatically as soon as they detect Revamp under the name FS25_0_ProductionRevamp (see above).

Decided: The buying/selling lock from PST was not taken over as is, but moved. allowBuying/allowSelling now sit on the <storage> or on the individual <capacity> line instead of on the ingredient of a recipe line — what is bought and sold is a stock in storage, not the ingredient of a particular line. Details in the XML reference.

Open, not yet decided: Behaviour if PSC/PST are loaded in parallel for whatever reason despite the detection — especially because of the identical global dialog class names.

Side finding: PSC and PST already collide with each other, independently of Revamp — both register the same global class and GUI registry ID ProductionSettingsDialog. For anyone who has both installed at the same time, the mod loaded second overwrites the dialog of the first. Not a Revamp bug, but relevant for switching over.

Feature parity with PSC/PST — no functionality may be lost when replacing them

Since Revamp is meant to replace both mods, each of their functions must have a Revamp equivalent before Revamp can count as a full replacement. The Status column records where this has been reached.

PSC:

Function Revamp ticket Status
Manual pallet/bale spawning, MP owner assignment, choice of bale wrap color #26 done
Output modes per output (Keep/Spawn) Distribution (#18–#23) done, only the multiplayer sync of the distribution targets is still waiting for testing (#21)
360 productions / 1024 FillTypes / unlimited bale pallets #36 done

PST:

Function Revamp ticket Status
Buying/selling any amounts, surcharge/discount on the market price #33 done
Production-dependent exclusion (capacity allowSelling/allowBuying) #34 done

When a module is completed, check against this list whether everything is really covered — the changeLimits finding (#36) shows that otherwise something easily slips through.

Clone this wiki locally