Community Forum

bug report - forage harvester with pickup

Forum Overview >> Feedback

Created11.06.2017 09:10

Michel Dorge (dural) 11.06.2017 09:10
Hi, here are 2 more problems to fix in the next patch

problem encountered :
1. by using a forage harvester + pickup unit, you get more liters than by using a forage wagon.
2. by using a forage harvester + pickup unit, the "threshedHectares" and "workedHectares" stats are updated, this is not the case for forage wagons. Moreover, by "lifting" about 40000L of windrows, you get something like 1Ha in the stat update (whatever the actual surface "worked")

1. problem comes from the "Cutter:updateTick" function
in the case of a "normal" cutter (self.fruitTypesUseWindrowed == false), the "self:processCutterAreas" is used to "cut the fruit" and return an area in 'pixels' (4 pixels per sqm)
in the case of a "windrow" cutter (self.fruitTypesUseWindrowed == true), the "ForageWagon.processForageWagonAreas" is used to "cut the fruit" and return liters. Then, the combine class (Combine:addCutterArea) applies the "pixelToSqm" factor (0.25) and then apply the fruit "literPerSqm" value.
In "vanilla" game, it means 1000L of grass would become : 1000 * 0.25 * 4.7 = 1175
This is not really noticeable for most players.
But, on modded map or with other fruits or modified yield, this becomes clearly visible.
- mod map with density map of 16 pixels per sqm => 1000L of grass would become 1000 * 0.0625 * 4.7 = 293.75L
- modified 'literPerSqm' for grass from 4.7 to 6 => 1000L would become 1000 * 0.25 * 6 = 1500L

1. solution : forage harvester with pickup unit should use the same mechanism than forage wagon : only rely on the liters returned by the "ForageWagon.processForageWagonAreas". It should not use the "literPerSqm" of the fruit in such a case.

2. solution = no update of the stats when using a forage harvester + pickup unit. (and maybe add a new stat for both forage wagon and forage harvester + pickup unit => lifted M3 or liters of windrow)


Emil Drefers (giants.edrefers) 21.06.2017 08:44
Hi Michel,

thanks a lot for your precise feedback!

Well, I totally see your points.
But, we can't fix all of them at once ;)
At least not for FS17
For SF19 we hopefully think about incorporating a way to get the actually 'worked area' and not only the 'liters' from the 'TipUtil' (actually from the internal functions it uses)

Anyway ...

Changing the Cutter.lua to:

-------------------------- line 578
if self.fruitTypesUseWindrowed then
local totalLiters, actualFruitType = ForageWagon.processForageWagonAreas(self, workAreas, self.windrowFillTypes, false, usedFruitType)

local fruitDesc = FruitUtil.fruitIndexToDesc[actualFruitType];
local litersPerSqm = fruitDesc.literPerSqm;
lastCutterArea = totalLiters / (g_currentMission:getFruitPixelsToSqm() * litersPerSqm);
lastRealArea = lastCutterArea;
Should do the trick, I'ld say.
Actually, we want to change as less as possible for mod compatibilty reasons.
But we'll see how we can improve everything for FS19.
Just tried to make the yields of forageWagon and cutter match each other.

Added calls to updateStats() in ForageWagon.lua is no problem.


P.S. We'll take care of your other bug reports soon.

Note: Log in to post. Create a new account here.