Cow Breeds (RLRM) V1.1
With the help of Ritter in creating the base structure of the mod, we are able to introduce 12 new cow breeds to the FS25_RealisticLivestockRM mod. This is a companion mod to work with FS25_Realistic_livestock RM. This mod only adds new breeds with corresponding textures for each one. It does not replace the 3D models of the cows in the game. Therefore, the 3D assets may appear larger than the actual breed of cow. Single Textures for the moment. Features 12 new breeds and values adjusted to represent the breed, Holstein gives most milk while Charolais and Angus gain most weight for beef production. FOUR NEW DAIRY BREEDS Red Holstein Ayrshire Jersey Guernsey EIGHT NEW BEEF BREEDS Red Angus Hereford Charolais Shorthorn Irish Moiled British Blue Belted Galloway Simmental If adding to existing save game, please refresh the animal dealer in settings to get new breeds to show up straight away or wait some in game days. Requires: Realistic Livestock Custom bull (male) models for the dairy, beef and Highland lines — males are no longer just the cow model. Custom calf models, including male calf variants, for dairy, beef and Highland. Per-breed horns — a runtime system picks horned/polled per animal, seeded from its ID (Highland always horned; Swiss Brown & Kerry mostly; several beef breeds occasionally). Highland accessories — ear tags, monitor, marker and nose ring on adult and calf Highlands. Hereford consolidated into RLRM’s base Hereford (the separate pack Hereford was removed). Bridge removed — the Mechet/Witcombe/vanilla synth bridge is gone; this is now a clean RLRM pack. Full economy calibration — weights, feed, outputs and prices re-anchored to RLRM’s base breeds (see README tables). Save migration hardened for all _PACK name histories, Kerry & Shorthorn Milkers, and leftover _vanilla/_mechet subtypes. Quieter log — RLRM invalid-index warnings silenced. QUICK FIX (2026-05-19) — Hereford visuals restored Re-added COW_HEREFORD and BULL_HEREFORD override blocks to animals.xml. They were dropped in the V1.0.4 _PACK rename, which caused RLRM to fall back to base-game vai 16/17/18 and throw “invalid animal subtype 16/17” errors on maps like Witcombe. VanillaEditionBridge.lua: the accessory hook (monitor, earTags, marker, bumId, noseRing) and the vai-remap hook are now installed unconditionally. Previously they only ran when AnimalPackage or Mechet was loaded, so a pack-only setup silently lost the monitor visuals on the five base breeds (Swiss Brown, Holstein, Limousin, Angus, Hereford). V1.0.4 (released, 2026-05-17) This update aligns breed identifiers with RLRM’s MapBridge casing so marker colours apply correctly, silences a noisy startup dialog that fires whenever multiple bridges override the same animal type, extends save-game migration to cover the additional rename, and completes translation coverage for the two newest breeds. Also includes ongoing texture work: several animal diffuse maps have been refined and additional texture variants added. CHANGES Breed identifiers renamed from “_pack” to “PACK” (uppercase suffix) across all 14 breeds. Affects animals.xml , subType=”…”, fillTypeName=”…”, breed=”…” attributes and fillTypes.xml attributes. Lowercase $l10n… keys deliberately unchanged (they are locale identifiers, not registry IDs). Reason: RLRM’s RLMapBridge.loadBreedMetadata uppercases the breed name when populating BREED_TO_NAME and BREED_TO_MARKER_COLOUR, but loadSubTypes stores subType.breed verbatim from the XML attribute. With lowercase “_pack” suffixes, the subType.breed key (“…_pack”) never matched the registered uppercase entry (“…_PACK”), so marker colours fell back to VisualAnimal.DEFAULT_MARKER_COLOUR for every pack breed and breed display names rendered as the raw identifier in the animal screen. Aligning the suffix to uppercase fixes both. Animal texture refinements Several diffuse atlases have been updated for cleaner breed signatures and additional texture variants per breed added so the same atlas slot can render visually distinct individuals. (See models/cow/**/*_diffuse.dds for the affected files.) Script/BridgeWarningSuppressor.lua (new) Suppresses RLRM’s player-facing “configOverride conflict” InfoDialog. This pack declares in animals.xml, and most map bridges (Hof Bergmann, Le Mechet, Witcombe, …) also override COW for their own husbandry layouts. RLRM’s _summariseConfigOverrideConflicts treats this as a collision and pops up a dialog at mission start. The technical warning is correct (only the last override wins) but the pack author is aware of and accepts the trade-off, so we clear RLMapBridge.pendingConfigOverrideConflictWarning in our loadMap callback before RealisticLivestock_FSBaseMission._showStartupDialogs reads it. The underlying Log:warning lines are preserved for diagnostics. Timing matters: loadMap fires before _showStartupDialogs consumes the slot, but update() does not — update() begins ticking after onStartMission completes, which is after the dialog has already been queued. A pure-polling implementation cannot win this race. Migration.lua aliases extended Now covers both legacy on-disk subType forms: pre-pack: COW_REDHOLSTEIN -> COW_REDHOLSTEIN_PACK intermediate: COW_REDHOLSTEIN_pack -> COW_REDHOLSTEIN_PACK Saves written during the brief V1.0.3 “_pack” window load cleanly alongside saves from V1.0.1 and earlier. Migration self-completes on first save after load — animal.subType already holds the new resolved (“_PACK”) name, so the on-disk IDs upgrade automatically. Kerry and Shorthorn Milkers translations fillType_cow_kerry_pack, fillType_bull_kerry_pack, breed_kerry_pack, fillType_cow_shorthornmilkers_pack, fillType_bull_shorthornmilkers_pack, breed_shorthornmilkers_pack added to all 14 non-English translation files (br, cs, cz, da, de, fi, fr, it, nl, pl, pt, ru, tr, uk). Each language uses its existing cow/bull noun pattern; breed display names stay as the English breed name (no language colloquially translates “Kerry” or “Shorthorn Milkers”). All 15 translation files now carry the full 42-key set (14 breeds × 3 keys). “configOverride collision” InfoDialog no longer interrupts mission start on maps where this pack collides with the map’s own husbandry overrides. See BridgeWarningSuppressor above. Per-breed marker colours now actually applied Side effect of the “_PACK” uppercase rename above. Previously every pack breed rendered with the default marker colour because the case-mismatched key never resolved. Duplicate Hereford in the animal dealer removed The stock-RLRM Hereford texture-override block (COW_HEREFORD / BULL_HEREFORD) at the bottom of animals.xml is gone, so RLRM’s bundled Hereford reverts to its base appearance while the pack’s HEREFORD_PACK is the only “Hereford” entry shown in the dealer. Existing animals using the stock COW_HEREFORD subType are NOT migrated to HEREFORD_PACK – they keep their stock identity, stats and (now) stock textures. This keeps saves portable if the pack is later disabled. Players who want pack-Hereford-look on existing stock animals must sell and re-buy from the dealer. Script/main.lua modified Script/Migration.lua modified Script/BridgeWarningSuppressor.lua new animals.xml modified fillTypes.xml modified translations/translation_br.xml modified translations/translation_cs.xml modified translations/translation_cz.xml modified translations/translation_da.xml modified translations/translation_de.xml modified translations/translation_fi.xml modified translations/translation_fr.xml modified translations/translation_it.xml modified translations/translation_nl.xml modified translations/translation_pl.xml modified translations/translation_pt.xml modified translations/translation_ru.xml modified translations/translation_tr.xml modified translations/translation_uk.xml modified models/cow/**/*_diffuse.dds refined / new variants V1.0.1.0 Bug fixes, Documentation polish, Translations, Save-game compatibility -Split my animals in the pack from in game and other maps that add extra breeds, so you can run my breeds with a map that also adds the same breed to the game, ie for FS25_Witcombe, Hereford and Jersey cows from the map are separated from mine, so all visuals work with the as intended. -Added Script/Migration.lua, wired in via Script/main.lua. migrates all the breeds from existing save to the new rename of the breeds. -All 11 remaining breeds renamed to match the existing HEREFORD_pack convention, -Simmental adult store image -Unused Lua local removed -modDesc.xml — in-game description now lists all 12 breeds, split into dairy and beef (EN + DE). -animals.xml header — replaced the truncated comment with the full 12-breed list. -Texture-atlas comments — fixed Aryshire → Ayrshire, BeltedGaloway → BeltedGalloway in models/cow/animals.xml