Skip to content

Commit

Permalink
Divide by zero fix and vine generator settings added
Browse files Browse the repository at this point in the history
  • Loading branch information
schwiti6190 committed Dec 6, 2024
1 parent 5381107 commit 68164ea
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 14 deletions.
4 changes: 4 additions & 0 deletions config/MasterTranslations.xml
Original file line number Diff line number Diff line change
Expand Up @@ -877,6 +877,10 @@
<Text language="de"><![CDATA[Grundeinstellungen]]></Text>
<Text language="en"><![CDATA[Basic settings]]></Text>
</Translation>
<Translation name="CP_vehicle_courseGeneratorSetting_subTitle_vineField">
<Text language="de"><![CDATA[Weinfeld Einstellungen]]></Text>
<Text language="en"><![CDATA[Vine field settings]]></Text>
</Translation>
<Translation name="CP_vehicle_courseGeneratorSetting_subTitle_headland">
<Text language="de"><![CDATA[Einstellungen Vorgewende]]></Text>
<Text language="en"><![CDATA[Settings headland]]></Text>
Expand Down
4 changes: 2 additions & 2 deletions config/VehicleSettingsSetup.xml
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,9 @@
</Texts>
</Setting>
<Setting classType="AIParameterSettingList" name="pipeOffsetX" min="-100" max="100" incremental="0.1" default="0" unit="2" precision="3"
isVisible="isPipeOffsetSettingsVisible"/>
isVisible="isPipeOffsetSettingsVisible" title="CP_deactivated"/>
<Setting classType="AIParameterSettingList" name="pipeOffsetZ" min="-100" max="100" incremental="0.1" default="0" unit="2" precision="3"
isVisible="isPipeOffsetSettingsVisible"/>
isVisible="isPipeOffsetSettingsVisible" title="CP_deactivated"/>
</SettingSubTitle>

<SettingSubTitle title="seeder" isVisible="areSowingMachineSettingsVisible">
Expand Down
2 changes: 1 addition & 1 deletion scripts/gui/CoursePlot.lua
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ function CoursePlot:drawLineBetween(map, x, z, nx, nz, isHudMap, lineThickness,
local startX, startY, _, sv = CpGuiUtil.worldToScreen(map, x, z, isHudMap)
local endX, endY, _, ev = CpGuiUtil.worldToScreen(map, nx, nz, isHudMap)
local dx, dz = nx - x, nz - z
local dirX, dirZ = MathUtil.vector2Normalize(dx, dz)
local length = MathUtil.vector2Length(dx, dz)
local dirX, dirZ = length > 0 and MathUtil.vector2Normalize(dx, dz) or 0, 1
if startX and startY and endX and endY then
local dx2D = endX - startX
local dy2D = ( endY - startY ) / g_screenAspectRatio
Expand Down
26 changes: 19 additions & 7 deletions scripts/gui/pages/CpCourseGeneratorFrame.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@

CpCourseGeneratorFrame = {
CATEGRORIES = {
BASIC_SETTINGS = 1,
IN_GAME_MAP = 2,
IN_GAME_MAP = 1,
BASIC_SETTINGS = 2,
Vine_SETTINGS = 3
},
INPUT_CONTEXT_NAME = "CP_COURSE_GENERATOR_MENU",
CATEGRORY_TEXTS = {
"CP_vehicle_courseGeneratorSetting_subTitle_basic",
"CP_ingameMenu_map_title",
"CP_vehicle_courseGeneratorSetting_subTitle_basic",
"CP_vehicle_courseGeneratorSetting_subTitle_vineField",
},
CLEAR_INPUT_ACTIONS = {
InputAction.MENU_ACTIVATE,
Expand Down Expand Up @@ -155,7 +157,7 @@ function CpCourseGeneratorFrame:initialize(menu)
self.subCategoryTabs[key].onClickCallback = function ()
self:updateSubCategoryPages(key)
end
if key == 2 then
if key == self.CATEGRORIES.IN_GAME_MAP then
self.subCategoryPages[key] = self.containerMap
else
self.subCategoryPages[key] = self.containerPrefab:clone(self)
Expand Down Expand Up @@ -219,7 +221,7 @@ function CpCourseGeneratorFrame:onFrameOpen()
local title = string.format(g_i18n:getText(pageTitle), vehicle:getName())
self.categoryHeaderText:setText(title)

local layout = self.subCategoryPages[1]:getDescendantByName("layout")
local layout = self.subCategoryPages[self.CATEGRORIES.BASIC_SETTINGS]:getDescendantByName("layout")
for i = #layout.elements, 1, -1 do
layout.elements[i]:delete()
end
Expand All @@ -228,6 +230,17 @@ function CpCourseGeneratorFrame:onFrameOpen()
self.sectionHeaderPrefab, settings)
CpSettingsUtil.updateGuiElementsBoundToSettings(layout, vehicle)

settings = vehicle:getCpVineSettings()
settingsBySubTitle = CpCourseGeneratorSettings.getVineSettingSetup()
layout = self.subCategoryPages[self.CATEGRORIES.Vine_SETTINGS]:getDescendantByName("layout")
for i = #layout.elements, 1, -1 do
layout.elements[i]:delete()
end
CpSettingsUtil.generateAndBindGuiElementsToSettings(settingsBySubTitle,
layout, self.multiTextPrefab, self.booleanPrefab,
self.sectionHeaderPrefab, settings)
CpSettingsUtil.updateGuiElementsBoundToSettings(layout, vehicle)

-- g_messageCenter:subscribe(MessageType.AI_VEHICLE_STATE_CHANGE, self.onAIVehicleStateChanged, self)
self.activeWorkerList:reloadData()
g_messageCenter:subscribe(MessageType.AI_JOB_STARTED, function(self)
Expand Down Expand Up @@ -283,8 +296,7 @@ function CpCourseGeneratorFrame:onFrameOpen()
self.startJobPending = false
self.ingameMap:onOpen()

self:updateSubCategoryPages(self.CATEGRORIES.BASIC_SETTINGS)
FocusManager:setFocus(self.subCategoryPages[self.CATEGRORIES.BASIC_SETTINGS]:getDescendantByName("layout"))
self:updateSubCategoryPages(self.CATEGRORIES.IN_GAME_MAP)

CpCourseGeneratorFrame:superClass().onFrameOpen(self)
end
Expand Down
6 changes: 2 additions & 4 deletions scripts/specializations/CpCourseGeneratorSettings.lua
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,8 @@ function CpCourseGeneratorSettings.getSettingSetup()
end

function CpCourseGeneratorSettings.getVineSettingSetup(vehicle)
local title = g_i18n:getText(CpCourseGeneratorSettings.vineSettings.pageTitle)
return CpCourseGeneratorSettings.vineSettings.settingsBySubTitle,
vehicle and string.format(title, vehicle:getName())
or title
return CpCourseGeneratorSettings.vineSettings.settingsBySubTitle,
CpCourseGeneratorSettings.vineSettings.pageTitle
end

function CpCourseGeneratorSettings:loadSettings(savegame)
Expand Down

0 comments on commit 68164ea

Please sign in to comment.