diff --git a/img/headers/acolyte.png b/img/headers/acolyte.png index 10aa2469..95fb4258 100644 Binary files a/img/headers/acolyte.png and b/img/headers/acolyte.png differ diff --git a/img/headers/compass.png b/img/headers/compass.png new file mode 100644 index 00000000..b12f09ef Binary files /dev/null and b/img/headers/compass.png differ diff --git a/img/headers/cover.png b/img/headers/cover.png index b91fb0d9..52f56186 100644 Binary files a/img/headers/cover.png and b/img/headers/cover.png differ diff --git a/img/headers/header_template.pdn b/img/headers/header_template.pdn new file mode 100644 index 00000000..d5a07559 Binary files /dev/null and b/img/headers/header_template.pdn differ diff --git a/img/headers/olive.png b/img/headers/olive.png index e809e30f..d799216f 100644 Binary files a/img/headers/olive.png and b/img/headers/olive.png differ diff --git a/img/headers/ruins.png b/img/headers/ruins.png deleted file mode 100644 index df495d83..00000000 Binary files a/img/headers/ruins.png and /dev/null differ diff --git a/img/scedheadertemplate.xcf b/img/scedheadertemplate.xcf deleted file mode 100644 index c08ebf66..00000000 Binary files a/img/scedheadertemplate.xcf and /dev/null differ diff --git a/modsettings/CustomUIAssets.json b/modsettings/CustomUIAssets.json index 3a808204..aaaf125b 100644 --- a/modsettings/CustomUIAssets.json +++ b/modsettings/CustomUIAssets.json @@ -87,22 +87,22 @@ { "Name": "header_cover", "Type": 0, - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977312342/0D22712378B1F9A5A1FC7DA40C355943C878DDC0/" + "URL": "http://cloud-3.steamusercontent.com/ugc/2280574378889753624/53E7443E2A9957BC5CA4D73B67D5C1C30971C9F9/" }, { "Name": "header_acolyte", "Type": 0, - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977311773/B8B2021D42CFB084AFDCCA42EE6B9A57F3E30AC6/" + "URL": "http://cloud-3.steamusercontent.com/ugc/2280574378889753484/961371448C1CB9F93D574E0F78CF51A88D0D34F6/" }, { - "Name": "header_ruins", + "Name": "header_compass", "Type": 0, - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977312917/E24A34736C912186C7AC58270E3819B6A44B3EE8/" + "URL": "http://cloud-3.steamusercontent.com/ugc/2280574378889786684/52E2A801060A523AF5DD956C72A41889B5A1D2C9/" }, { "Name": "header_olive", "Type": 0, - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977377198/4E88B41107A29D027D86E6B80D47B03617335990/" + "URL": "http://cloud-3.steamusercontent.com/ugc/2280574378889753733/F67B7B37FF7AA253B6D697E577DF54A3E76030C2/" }, { "Name": "option_on", diff --git a/objects/LuaScriptState.luascriptstate b/objects/LuaScriptState.luascriptstate index 739e0b8e..727ccd58 100644 --- a/objects/LuaScriptState.luascriptstate +++ b/objects/LuaScriptState.luascriptstate @@ -1 +1 @@ -{"acknowledgedUpgradeVersions":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":[],"showPlayermatHider":false,"showSearchAssistant":[],"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}} +{"acknowledgedUpgradeVersions":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaConnections":true,"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":[],"showPlayermatHider":false,"showSearchAssistant":[],"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}} diff --git a/objects/PlayArea.721ba2.luascriptstate b/objects/PlayArea.721ba2.luascriptstate index 2ce9ee2f..b5fdd049 100644 --- a/objects/PlayArea.721ba2.luascriptstate +++ b/objects/PlayArea.721ba2.luascriptstate @@ -1 +1 @@ -{"connectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"trackedLocations":[]} +{"connectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"connectionsEnabled":true,"trackedLocations":[]} diff --git a/src/core/Global.ttslua b/src/core/Global.ttslua index 175bbbce..7ef6007f 100644 --- a/src/core/Global.ttslua +++ b/src/core/Global.ttslua @@ -1240,6 +1240,11 @@ function applyOptionPanelChange(id, state) local counter = guidReferenceApi.getObjectByOwnerAndType("Mythos", "MasterClueCounter") counter.setVar("useClickableCounters", state) + -- option: Play area snap tags + elseif id == "playAreaConnections" then + playAreaApi.setConnectionDrawState(state) + optionPanel[id] = state + -- option: Play area connection color elseif id == "playAreaConnectionColor" then playAreaApi.setConnectionColor(state) @@ -1399,6 +1404,7 @@ function onClick_defaultSettings() optionPanel = { cardLanguage = "en", playAreaConnectionColor = { 0.4, 0.4, 0.4, 1 }, + playAreaConnections = true, playAreaSnapTags = true, showAttachmentHelper = false, showCleanUpHelper = false, diff --git a/src/core/PlayArea.ttslua b/src/core/PlayArea.ttslua index d488a784..58fd71cd 100644 --- a/src/core/PlayArea.ttslua +++ b/src/core/PlayArea.ttslua @@ -18,9 +18,6 @@ local ARROW_ANGLE = 25 -- Height to draw the connector lines, places them just above the table and always below cards local CONNECTION_LINE_Y = 1.529 --- we use this to turn off collision handling until onLoad() is complete -local collisionEnabled = false - -- used for recreating the link to a custom data helper after image change customDataHelper = nil @@ -51,7 +48,7 @@ local locations = {} local locationConnections = {} local draggingGuids = {} local missingData = {} -local locationData, currentScenario +local locationData, currentScenario, connectionsEnabled --------------------------------------------------------- -- general code @@ -59,19 +56,19 @@ local locationData, currentScenario function onSave() return JSON.encode({ - trackedLocations = locations, - currentScenario = currentScenario, - connectionColor = connectionColor + trackedLocations = locations, + currentScenario = currentScenario, + connectionColor = connectionColor, + connectionsEnabled = connectionsEnabled }) end function onLoad(savedData) - local loadedData = JSON.decode(savedData) or {} - locations = loadedData.trackedLocations or {} - currentScenario = loadedData.currentScenario - connectionColor = loadedData.connectionColor or { 0.4, 0.4, 0.4, 1 } - - Wait.time(function() collisionEnabled = true end, 1) + local loadedData = JSON.decode(savedData) or {} + locations = loadedData.trackedLocations or {} + currentScenario = loadedData.currentScenario + connectionColor = loadedData.connectionColor or { 0.4, 0.4, 0.4, 1 } + connectionsEnabled = loadedData.connectionsEnabled or true end -- Called by Custom Data Helpers to push their location data into the Data Helper. This adds the @@ -114,7 +111,7 @@ function onCollisionEnter(collisionInfo) local objType = obj.name -- only continue for cards - if not collisionEnabled or (objType ~= "Card" and objType ~= "CardCustom") then + if objType ~= "Card" and objType ~= "CardCustom" then if objType == "Deck" then table.insert(missingData, obj) end @@ -353,6 +350,7 @@ end function drawBaseConnections() if not showLocationLinks() then locationConnections = {} + self.setVectorLines({}) return end local cardConnectionLines = {} @@ -557,7 +555,7 @@ function onScenarioChanged(scenarioName) end function showLocationLinks() - return not LOC_LINK_EXCLUDE_SCENARIOS[currentScenario] + return not LOC_LINK_EXCLUDE_SCENARIOS[currentScenario] and connectionsEnabled end -- Sets this playmat's snap points to limit snapping to locations or not. @@ -580,6 +578,20 @@ function setLimitSnapsByType(matchTypes) self.setSnapPoints(snaps) end +-- called by the option panel to enabled / disable location connections +function setConnectionDrawState(state) + connectionsEnabled = state + rebuildConnectionList() + drawBaseConnections() +end + +-- called by the option panel to edit the location connection color +function setConnectionColor(color) + connectionColor = color + rebuildConnectionList() + drawBaseConnections() +end + -- count victory points on locations in play area ---@param highlightOff Boolean True if highlighting should be enabled ---@return. Returns the total amount of VP found in the play area diff --git a/src/core/PlayAreaApi.ttslua b/src/core/PlayAreaApi.ttslua index 9a4913bd..f9a1e40f 100644 --- a/src/core/PlayAreaApi.ttslua +++ b/src/core/PlayAreaApi.ttslua @@ -46,10 +46,14 @@ do return getPlayArea().call("resetSpawnedCards") end + -- Sets whether location connections should be drawn + PlayAreaApi.setConnectionDrawState = function(state) + getPlayArea().call("setConnectionDrawState", state) + end + -- Sets the connection color PlayAreaApi.setConnectionColor = function(color) - getPlayArea().setTable("connectionColor", color) - getPlayArea().call("drawBaseConnections") + getPlayArea().call("setConnectionColor") end -- Event to be called when the current scenario has changed. diff --git a/xml/Global/OptionPanel.xml b/xml/Global/OptionPanel.xml index aba188b2..9400f31d 100644 --- a/xml/Global/OptionPanel.xml +++ b/xml/Global/OptionPanel.xml @@ -26,8 +26,9 @@ + preferredHeight="44" /> + useGlobalCellPadding="false"> @@ -137,12 +142,36 @@ --> + + + + + Show scenario title on setup + + + + + + + + + + + + PLAY AREA SETTINGS + + + + - Enable snap tags for play area + Enable snap tags @@ -151,6 +180,20 @@ + + + + + Draw location connections + + + + + + + @@ -168,26 +211,12 @@ - - - - - Show scenario title on setup - - - - - - - - Change playarea background on setup + Change background on setup