3 Commits

Author SHA1 Message Date
Cristian Deenen
79cfc5769a v1.4.10 2022-05-30 02:06:57 +02:00
Cristian Deenen
fc7dcff3b0 version check hotfix 2022-05-29 16:09:14 +02:00
Cristian Deenen
abb883c8b8 Starfinder conditions fix 2022-04-19 12:31:45 +02:00
8 changed files with 51 additions and 15 deletions

View File

@@ -8,7 +8,7 @@ import {SoundboardControl} from "./src/soundboard.js";
import {OtherControls} from "./src/othercontrols.js"; import {OtherControls} from "./src/othercontrols.js";
import {ExternalModules} from "./src/external.js"; import {ExternalModules} from "./src/external.js";
import {SceneControl} from "./src/scene.js"; import {SceneControl} from "./src/scene.js";
import {downloadUtility, compatibleCore} from "./src/misc.js"; import {downloadUtility, compatibleCore, compareVersions} from "./src/misc.js";
import {TokenHelper} from "./src/systems/tokenHelper.js"; import {TokenHelper} from "./src/systems/tokenHelper.js";
export var streamDeck; export var streamDeck;
export var tokenControl; export var tokenControl;
@@ -70,9 +70,9 @@ async function analyzeWSmessage(msg){
system: gamingSystem system: gamingSystem
} }
ws.send(JSON.stringify(msg)); ws.send(JSON.stringify(msg));
if (data.MSversion) msVersion = data.MSversion;
console.log("streamdeck connected to server", msVersion);
console.log("streamdeck connected to server");
streamDeck.resetImageBuffer(); streamDeck.resetImageBuffer();
} }
@@ -90,10 +90,10 @@ async function analyzeWSmessage(msg){
sdVersion = data.version; sdVersion = data.version;
if (data.version < minimumSDversion && updateDialog == undefined) { if (!compareVersions(minimumSDversion,data.version) && updateDialog == undefined) {
updateDialog = new Dialog({ updateDialog = new Dialog({
title: "Material Deck: Update Needed", title: "Material Deck: Update Needed",
content: "<p>The Stream Deck plugin version you're using is v" + data.version + ", which is incompatible with this verion of the module.<br>Update to v" + minimumSDversion + " or newer.</p>", content: "<p>The Stream Deck plugin version you're using is v" + data.version + ", which is incompatible with this version of the module.<br>Update to v" + minimumSDversion + " or newer.</p>",
buttons: { buttons: {
download: { download: {
icon: '<i class="fas fa-download"></i>', icon: '<i class="fas fa-download"></i>',

View File

@@ -1,4 +1,16 @@
# Changelog Material Deck Module # Changelog Material Deck Module
### v1.4.10 - 30-05-2022
Fixes:
<ul>
<li>Stream Deck plugin v1.4.10 was not properly recognized as compatible</li>
</ul>
Additions;
<ul>
<li>Material Server version is now displayed in the Download Utility (MS v1.1.0+)</li>
</ul>
### v1.4.9 - 16-04-2022 ### v1.4.9 - 16-04-2022
Fixes: Fixes:
<ul> <ul>

View File

@@ -205,7 +205,8 @@
"MaterialDeck.DownloadUtility.SDplugin": "SD Plugin", "MaterialDeck.DownloadUtility.SDplugin": "SD Plugin",
"MaterialDeck.DownloadUtility.MSserver": "Material Server", "MaterialDeck.DownloadUtility.MSserver": "Material Server",
"MaterialDeck.DownloadUtility.Windows": "Windows", "MaterialDeck.DownloadUtility.Windows": "Windows",
"MaterialDeck.DownloadUtility.Macos": "MacOS", "MaterialDeck.DownloadUtility.MacosM1": "MacOS (M1)",
"MaterialDeck.DownloadUtility.MacosIntel": "MacOS (Intel)",
"MaterialDeck.DownloadUtility.Linux": "Linux", "MaterialDeck.DownloadUtility.Linux": "Linux",
"MaterialDeck.DownloadUtility.Source": "Source", "MaterialDeck.DownloadUtility.Source": "Source",
"MaterialDeck.DownloadUtility.Profiles": "Profiles", "MaterialDeck.DownloadUtility.Profiles": "Profiles",

View File

@@ -200,7 +200,8 @@
"MaterialDeck.DownloadUtility.SDplugin": "SDプラグイン", "MaterialDeck.DownloadUtility.SDplugin": "SDプラグイン",
"MaterialDeck.DownloadUtility.MSserver": "Material Server", "MaterialDeck.DownloadUtility.MSserver": "Material Server",
"MaterialDeck.DownloadUtility.Windows": "Windows", "MaterialDeck.DownloadUtility.Windows": "Windows",
"MaterialDeck.DownloadUtility.Macos": "MacOS", "MaterialDeck.DownloadUtility.MacosM1": "MacOS (M1)",
"MaterialDeck.DownloadUtility.MacosIntel": "MacOS (Intel)",
"MaterialDeck.DownloadUtility.Linux": "Linux", "MaterialDeck.DownloadUtility.Linux": "Linux",
"MaterialDeck.DownloadUtility.Source": "ソース", "MaterialDeck.DownloadUtility.Source": "ソース",
"MaterialDeck.DownloadUtility.Profiles": "プロファイル", "MaterialDeck.DownloadUtility.Profiles": "プロファイル",

View File

@@ -2,7 +2,7 @@
"name": "MaterialDeck", "name": "MaterialDeck",
"title": "Material Deck", "title": "Material Deck",
"description": "Material Deck allows you to control Foundry using an Elgato Stream Deck", "description": "Material Deck allows you to control Foundry using an Elgato Stream Deck",
"version": "1.4.9", "version": "1.4.10",
"author": "CDeenen", "author": "CDeenen",
"authors": { "authors": {
"name": "CDeenen", "name": "CDeenen",

View File

@@ -1,8 +1,26 @@
import {sdVersion, msVersion, moduleName, getPermission, enableModule, streamDeck} from "../MaterialDeck.js"; import {sdVersion, msVersion, moduleName, getPermission, enableModule, streamDeck} from "../MaterialDeck.js";
import {macroControl,soundboard,playlistControl} from "../MaterialDeck.js"; import {macroControl,soundboard,playlistControl} from "../MaterialDeck.js";
export function compareVersions(checkedVersion, requiredVersion) {
requiredVersion = requiredVersion.split(".");
checkedVersion = checkedVersion.split(".");
for (let i=0; i<3; i++) {
requiredVersion[i] = isNaN(parseInt(requiredVersion[i])) ? 0 : parseInt(requiredVersion[i]);
checkedVersion[i] = isNaN(parseInt(checkedVersion[i])) ? 0 : parseInt(checkedVersion[i]);
}
if (checkedVersion[0] > requiredVersion[0]) return false;
if (checkedVersion[0] < requiredVersion[0]) return true;
if (checkedVersion[1] > requiredVersion[1]) return false;
if (checkedVersion[1] < requiredVersion[1]) return true;
if (checkedVersion[2] > requiredVersion[2]) return false;
return true;
}
export function compatibleCore(compatibleVersion){ export function compatibleCore(compatibleVersion){
let coreVersion = game.version == undefined ? game.data.version : `0.${game.version}`; let coreVersion = game.version == undefined ? game.data.version : `0.${game.version}`;
return compareVersions(compatibleVersion, coreVersion);
/*
coreVersion = coreVersion.split("."); coreVersion = coreVersion.split(".");
compatibleVersion = compatibleVersion.split("."); compatibleVersion = compatibleVersion.split(".");
if (compatibleVersion[0] > coreVersion[0]) return false; if (compatibleVersion[0] > coreVersion[0]) return false;
@@ -11,6 +29,7 @@ export function compatibleCore(compatibleVersion){
if (compatibleVersion[1] < coreVersion[1]) return true; if (compatibleVersion[1] < coreVersion[1]) return true;
if (compatibleVersion[2] > coreVersion[2]) return false; if (compatibleVersion[2] > coreVersion[2]) return false;
return true; return true;
*/
} }
export class playlistConfigForm extends FormApplication { export class playlistConfigForm extends FormApplication {
@@ -1165,7 +1184,7 @@ export class downloadUtility extends FormApplication {
let parent = this; let parent = this;
let url; let url;
if (reqType == 'SD') url = 'https://raw.githubusercontent.com/CDeenen/MaterialDeck_SD/master/Plugin/com.cdeenen.materialdeck.sdPlugin/manifest.json'; if (reqType == 'SD') url = 'https://raw.githubusercontent.com/CDeenen/MaterialDeck_SD/master/Plugin/com.cdeenen.materialdeck.sdPlugin/manifest.json';
else if (reqType == 'MS') url = 'https://raw.githubusercontent.com/CDeenen/MaterialServer/master/src/Windows/package.json'; else if (reqType == 'MS') url = 'https://raw.githubusercontent.com/CDeenen/MaterialServer/master/package.json';
const elementId = reqType == 'SD' ? 'masterSdVersion' : 'masterMsVersion'; const elementId = reqType == 'SD' ? 'masterSdVersion' : 'masterMsVersion';
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
@@ -1221,6 +1240,7 @@ export class deviceConfig extends FormApplication {
} }
for (let d of streamDeck.buttonContext) { for (let d of streamDeck.buttonContext) {
if (d == undefined) continue;
let type; let type;
if (d.type == 0) type = 'Stream Deck'; if (d.type == 0) type = 'Stream Deck';
else if (d.type == 1) type = 'Stream Deck Mini'; else if (d.type == 1) type = 'Stream Deck Mini';
@@ -1243,6 +1263,7 @@ export class deviceConfig extends FormApplication {
this.devices.push(device); this.devices.push(device);
} }
return { return {
devices: this.devices devices: this.devices
} }

View File

@@ -130,8 +130,8 @@ export class starfinder{
await effect.delete(); await effect.delete();
} }
else { else {
const effect = CONFIG.statusEffects.find(e => e.id === condition); if (this.getConditionActive(token,condition)) token.actor.setCondition(condition,false);
await token.toggleEffect(effect); else token.actor.setCondition(condition,true);
} }
return true; return true;
} }

View File

@@ -51,9 +51,10 @@
<td class='columnVersion' id='masterMsVersion'>{{masterMsVersion}}</td> <td class='columnVersion' id='masterMsVersion'>{{masterMsVersion}}</td>
<td class='columnOS'> <td class='columnOS'>
<select id="os" default="" {{#if msDlDisable}}disabled{{/if}}> <select id="os" default="" {{#if msDlDisable}}disabled{{/if}}>
<option value="win">{{localize "MaterialDeck.DownloadUtility.Windows"}}</option> <option value="win32-x64">{{localize "MaterialDeck.DownloadUtility.Windows"}}</option>
<option value="macos">{{localize "MaterialDeck.DownloadUtility.Macos"}}</option> <option value="macos-x64">{{localize "MaterialDeck.DownloadUtility.MacosIntel"}}</option>
<option value="linux">{{localize "MaterialDeck.DownloadUtility.Linux"}}</option> <option value="macos-arm64">{{localize "MaterialDeck.DownloadUtility.MacosM1"}}</option>
<option value="linux-x64">{{localize "MaterialDeck.DownloadUtility.Linux"}}</option>
<option value="source">{{localize "MaterialDeck.DownloadUtility.Source"}}</option> <option value="source">{{localize "MaterialDeck.DownloadUtility.Source"}}</option>
</select> </select>
</td> </td>