From c3ee0a76aa45a918d6c41acf71e19bab534617ee Mon Sep 17 00:00:00 2001 From: CDeenen Date: Wed, 21 Apr 2021 18:23:02 +0200 Subject: [PATCH] v1.4.0 --- MaterialDeck.js | 58 ++++--- changelog.md | 33 +++- img/.thumb/MaterialFoundry512x512.png.jpg | Bin 0 -> 24865 bytes img/MaterialFoundry512x512.png | Bin 0 -> 367604 bytes img/other/.thumb/d20.png.jpg | Bin 0 -> 14739 bytes img/other/SOURCES.txt | 3 +- img/other/d20.png | Bin 0 -> 36893 bytes img/token/.thumb/temp_hp_empty.png.jpg | Bin 0 -> 17369 bytes img/token/SOURCES.txt | 2 +- img/token/abilities/.thumb/cha.png.jpg | Bin 0 -> 12165 bytes img/token/abilities/.thumb/cons.png.jpg | Bin 0 -> 7485 bytes img/token/abilities/.thumb/dex.png.jpg | Bin 0 -> 9340 bytes img/token/abilities/.thumb/int.png.jpg | Bin 0 -> 11026 bytes img/token/abilities/.thumb/str.png.jpg | Bin 0 -> 9174 bytes img/token/abilities/.thumb/wis.png.jpg | Bin 0 -> 10548 bytes img/token/abilities/SOURCES.txt | 7 + img/token/abilities/cha.png | Bin 0 -> 16119 bytes img/token/abilities/cons.png | Bin 0 -> 8910 bytes img/token/abilities/dex.png | Bin 0 -> 11403 bytes img/token/abilities/int.png | Bin 0 -> 12249 bytes img/token/abilities/str.png | Bin 0 -> 12221 bytes img/token/abilities/wis.png | Bin 0 -> 13041 bytes img/token/skills/.thumb/acr.png.jpg | Bin 0 -> 7971 bytes img/token/skills/.thumb/ani.png.jpg | Bin 0 -> 12178 bytes img/token/skills/.thumb/arc.png.jpg | Bin 0 -> 11431 bytes img/token/skills/.thumb/ath.png.jpg | Bin 0 -> 9045 bytes img/token/skills/.thumb/dec.png.jpg | Bin 0 -> 13606 bytes img/token/skills/.thumb/his.png.jpg | Bin 0 -> 8163 bytes img/token/skills/.thumb/ins.png.jpg | Bin 0 -> 9012 bytes img/token/skills/.thumb/inv.png.jpg | Bin 0 -> 10011 bytes img/token/skills/.thumb/itm.png.jpg | Bin 0 -> 7539 bytes img/token/skills/.thumb/med.png.jpg | Bin 0 -> 7059 bytes img/token/skills/.thumb/nat.png.jpg | Bin 0 -> 13412 bytes img/token/skills/.thumb/per.png.jpg | Bin 0 -> 8963 bytes img/token/skills/.thumb/prc.png.jpg | Bin 0 -> 14005 bytes img/token/skills/.thumb/prf.png.jpg | Bin 0 -> 8714 bytes img/token/skills/.thumb/rel.png.jpg | Bin 0 -> 9312 bytes img/token/skills/.thumb/slt.png.jpg | Bin 0 -> 10068 bytes img/token/skills/.thumb/ste.png.jpg | Bin 0 -> 8928 bytes img/token/skills/.thumb/sur.png.jpg | Bin 0 -> 12023 bytes img/token/skills/SOURCES.txt | 19 +++ img/token/skills/acr.png | Bin 0 -> 9362 bytes img/token/skills/ani.png | Bin 0 -> 16190 bytes img/token/skills/arc.png | Bin 0 -> 12809 bytes img/token/skills/ath.png | Bin 0 -> 11244 bytes img/token/skills/dec.png | Bin 0 -> 16731 bytes img/token/skills/his.png | Bin 0 -> 9823 bytes img/token/skills/ins.png | Bin 0 -> 9999 bytes img/token/skills/inv.png | Bin 0 -> 12000 bytes img/token/skills/itm.png | Bin 0 -> 10406 bytes img/token/skills/med.png | Bin 0 -> 6633 bytes img/token/skills/nat.png | Bin 0 -> 18159 bytes img/token/skills/per.png | Bin 0 -> 8934 bytes img/token/skills/prc.png | Bin 0 -> 18065 bytes img/token/skills/prf.png | Bin 0 -> 11619 bytes img/token/skills/rel.png | Bin 0 -> 11640 bytes img/token/skills/slt.png | Bin 0 -> 12620 bytes img/token/skills/ste.png | Bin 0 -> 11979 bytes img/token/skills/sur.png | Bin 0 -> 17259 bytes img/token/temp_hp_empty.png | Bin 0 -> 11084 bytes lang/en.json | 2 + module.json | 4 +- src/combattracker.js | 47 +++--- src/external.js | 106 ++++++------ src/macro.js | 30 ++-- src/move.js | 8 +- src/othercontrols.js | 167 +++++++++++-------- src/playlist.js | 30 ++-- src/scene.js | 22 +-- src/settings.js | 11 ++ src/soundboard.js | 22 +-- src/streamDeck.js | 98 +++++++---- src/token.js | 188 +++++++++++++++------- templates/helpMenu.html | 3 + templates/macroConfig.html | 4 +- templates/soundboardConfig.html | 4 +- 76 files changed, 549 insertions(+), 319 deletions(-) create mode 100644 img/.thumb/MaterialFoundry512x512.png.jpg create mode 100644 img/MaterialFoundry512x512.png create mode 100644 img/other/.thumb/d20.png.jpg create mode 100644 img/other/d20.png create mode 100644 img/token/.thumb/temp_hp_empty.png.jpg create mode 100644 img/token/abilities/.thumb/cha.png.jpg create mode 100644 img/token/abilities/.thumb/cons.png.jpg create mode 100644 img/token/abilities/.thumb/dex.png.jpg create mode 100644 img/token/abilities/.thumb/int.png.jpg create mode 100644 img/token/abilities/.thumb/str.png.jpg create mode 100644 img/token/abilities/.thumb/wis.png.jpg create mode 100644 img/token/abilities/SOURCES.txt create mode 100644 img/token/abilities/cha.png create mode 100644 img/token/abilities/cons.png create mode 100644 img/token/abilities/dex.png create mode 100644 img/token/abilities/int.png create mode 100644 img/token/abilities/str.png create mode 100644 img/token/abilities/wis.png create mode 100644 img/token/skills/.thumb/acr.png.jpg create mode 100644 img/token/skills/.thumb/ani.png.jpg create mode 100644 img/token/skills/.thumb/arc.png.jpg create mode 100644 img/token/skills/.thumb/ath.png.jpg create mode 100644 img/token/skills/.thumb/dec.png.jpg create mode 100644 img/token/skills/.thumb/his.png.jpg create mode 100644 img/token/skills/.thumb/ins.png.jpg create mode 100644 img/token/skills/.thumb/inv.png.jpg create mode 100644 img/token/skills/.thumb/itm.png.jpg create mode 100644 img/token/skills/.thumb/med.png.jpg create mode 100644 img/token/skills/.thumb/nat.png.jpg create mode 100644 img/token/skills/.thumb/per.png.jpg create mode 100644 img/token/skills/.thumb/prc.png.jpg create mode 100644 img/token/skills/.thumb/prf.png.jpg create mode 100644 img/token/skills/.thumb/rel.png.jpg create mode 100644 img/token/skills/.thumb/slt.png.jpg create mode 100644 img/token/skills/.thumb/ste.png.jpg create mode 100644 img/token/skills/.thumb/sur.png.jpg create mode 100644 img/token/skills/SOURCES.txt create mode 100644 img/token/skills/acr.png create mode 100644 img/token/skills/ani.png create mode 100644 img/token/skills/arc.png create mode 100644 img/token/skills/ath.png create mode 100644 img/token/skills/dec.png create mode 100644 img/token/skills/his.png create mode 100644 img/token/skills/ins.png create mode 100644 img/token/skills/inv.png create mode 100644 img/token/skills/itm.png create mode 100644 img/token/skills/med.png create mode 100644 img/token/skills/nat.png create mode 100644 img/token/skills/per.png create mode 100644 img/token/skills/prc.png create mode 100644 img/token/skills/prf.png create mode 100644 img/token/skills/rel.png create mode 100644 img/token/skills/slt.png create mode 100644 img/token/skills/ste.png create mode 100644 img/token/skills/sur.png create mode 100644 img/token/temp_hp_empty.png diff --git a/MaterialDeck.js b/MaterialDeck.js index 85e07ff..dda26c7 100644 --- a/MaterialDeck.js +++ b/MaterialDeck.js @@ -72,14 +72,28 @@ async function analyzeWSmessage(msg){ } if (data.type == "version" && data.source == "SD") { - /* - console.log(data); const minimumSDversion = game.modules.get("MaterialDeck").data.minimumSDversion.replace('v',''); const minimumMSversion = game.modules.get("MaterialDeck").data.minimumMSversion; - console.log('SD',minimumSDversion,data.version) - if (data.version < minimumSDversion) console.log('SD: nope') - else console.log('SD: yes'); - */ + + if (data.version < minimumSDversion) { + let d = new Dialog({ + title: "Material Deck: Update Needed", + content: "

The Stream Deck plugin version you're using is v" + data.version + ", which is outdated.
Update to v" + minimumSDversion + " or newer.

", + buttons: { + download: { + icon: '', + label: "Update", + callback: () => window.open("https://github.com/CDeenen/MaterialDeck_SD/releases") + }, + ignore: { + icon: '', + label: "Ignore" + } + }, + default: "download" + }); + d.render(true); + } } if (data == undefined || data.payload == undefined) return; @@ -89,6 +103,8 @@ async function analyzeWSmessage(msg){ const context = data.context; const coordinates = data.payload.coordinates; const settings = data.payload.settings; + const device = data.device; + if (data.data == 'init'){ @@ -96,33 +112,33 @@ async function analyzeWSmessage(msg){ if (event == 'willAppear' || event == 'didReceiveSettings'){ if (coordinates == undefined) return; streamDeck.setScreen(action); - streamDeck.setContext(action,context,coordinates,settings); + await streamDeck.setContext(device,data.size,data.deviceIteration,action,context,coordinates,settings); if (action == 'token'){ tokenControl.active = true; - tokenControl.update(selectedTokenId); + tokenControl.update(device,selectedTokenId,device); } else if (action == 'move') - move.update(settings,context); + move.update(settings,context,device); else if (action == 'macro') - macroControl.update(settings,context); + macroControl.update(settings,context,device); else if (action == 'combattracker') - combatTracker.update(settings,context); + combatTracker.update(settings,context,device); else if (action == 'playlist') - playlistControl.update(settings,context); + playlistControl.update(settings,context,device); else if (action == 'soundboard') - soundboard.update(settings,context); + soundboard.update(settings,context,device); else if (action == 'other') - otherControls.update(settings,context); + otherControls.update(settings,context,device); else if (action == 'external') - externalModules.update(settings,context); + externalModules.update(settings,context,device); else if (action == 'scene') - sceneControl.update(settings,context); + sceneControl.update(settings,context,device); } else if (event == 'willDisappear'){ if (coordinates == undefined) return; - streamDeck.clearContext(action,coordinates,context); + streamDeck.clearContext(device,action,coordinates,context); } else if (event == 'keyDown'){ @@ -133,15 +149,15 @@ async function analyzeWSmessage(msg){ else if (action == 'macro') macroControl.keyPress(settings); else if (action == 'combattracker') - combatTracker.keyPress(settings,context); + combatTracker.keyPress(settings,context,device); else if (action == 'playlist') - playlistControl.keyPress(settings,context); + playlistControl.keyPress(settings,context,device); else if (action == 'soundboard') soundboard.keyPressDown(settings); else if (action == 'other') - otherControls.keyPress(settings,context); + otherControls.keyPress(settings,context,device); else if (action == 'external') - externalModules.keyPress(settings,context); + externalModules.keyPress(settings,context,device); else if (action == 'scene') sceneControl.keyPress(settings); } diff --git a/changelog.md b/changelog.md index d88103a..b4fb7f7 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,29 @@ # Changelog Material Deck Module -## v1.3.3 +### v1.4.0 +Additions: + + +Fixes: + + +
+Compatible server app and SD plugin:
+Material Server v1.0.2 (unchanged): https://github.com/CDeenen/MaterialServer/releases
+SD plugin v1.4.0 (must be updated!): https://github.com/CDeenen/MaterialDeck_SD/releases
+ + +### v1.3.3 Additions: