diff --git a/data/images/future/futureFrameA.png b/data/images/future/futureFrameA.png new file mode 100644 index 00000000..7fc59f5b Binary files /dev/null and b/data/images/future/futureFrameA.png differ diff --git a/data/images/future/futureFrameB.png b/data/images/future/futureFrameB.png new file mode 100644 index 00000000..7fb788e3 Binary files /dev/null and b/data/images/future/futureFrameB.png differ diff --git a/data/images/future/futureFrameC.png b/data/images/future/futureFrameC.png new file mode 100644 index 00000000..ae8546ec Binary files /dev/null and b/data/images/future/futureFrameC.png differ diff --git a/data/images/future/futureFrameG.png b/data/images/future/futureFrameG.png new file mode 100644 index 00000000..cf268921 Binary files /dev/null and b/data/images/future/futureFrameG.png differ diff --git a/data/images/future/futureFrameL.png b/data/images/future/futureFrameL.png new file mode 100644 index 00000000..eb228a6c Binary files /dev/null and b/data/images/future/futureFrameL.png differ diff --git a/data/images/future/futureFrameM.png b/data/images/future/futureFrameM.png new file mode 100644 index 00000000..b5b5a833 Binary files /dev/null and b/data/images/future/futureFrameM.png differ diff --git a/data/images/future/futureFrameR.png b/data/images/future/futureFrameR.png new file mode 100644 index 00000000..f59b31a4 Binary files /dev/null and b/data/images/future/futureFrameR.png differ diff --git a/data/images/future/futureFrameU.png b/data/images/future/futureFrameU.png new file mode 100644 index 00000000..0a04067c Binary files /dev/null and b/data/images/future/futureFrameU.png differ diff --git a/data/images/future/futureFrameW.png b/data/images/future/futureFrameW.png new file mode 100644 index 00000000..afe9b2fc Binary files /dev/null and b/data/images/future/futureFrameW.png differ diff --git a/data/images/future/futureGray.png b/data/images/future/futureGray.png new file mode 100644 index 00000000..bee4c167 Binary files /dev/null and b/data/images/future/futureGray.png differ diff --git a/data/images/future/futureMaskArtifact.png b/data/images/future/futureMaskArtifact.png new file mode 100644 index 00000000..ee121333 Binary files /dev/null and b/data/images/future/futureMaskArtifact.png differ diff --git a/data/images/future/futureMaskBorder.png b/data/images/future/futureMaskBorder.png new file mode 100644 index 00000000..dcd20d4f Binary files /dev/null and b/data/images/future/futureMaskBorder.png differ diff --git a/data/images/future/futureMaskCreature.png b/data/images/future/futureMaskCreature.png new file mode 100644 index 00000000..51115ab4 Binary files /dev/null and b/data/images/future/futureMaskCreature.png differ diff --git a/data/images/future/futureMaskEnchantment.png b/data/images/future/futureMaskEnchantment.png new file mode 100644 index 00000000..7f9aceb4 Binary files /dev/null and b/data/images/future/futureMaskEnchantment.png differ diff --git a/data/images/future/futureMaskInstant.png b/data/images/future/futureMaskInstant.png new file mode 100644 index 00000000..aff4b167 Binary files /dev/null and b/data/images/future/futureMaskInstant.png differ diff --git a/data/images/future/futureMaskLand.png b/data/images/future/futureMaskLand.png new file mode 100644 index 00000000..adfa6b18 Binary files /dev/null and b/data/images/future/futureMaskLand.png differ diff --git a/data/images/future/futureMaskMulti.png b/data/images/future/futureMaskMulti.png new file mode 100644 index 00000000..442dea45 Binary files /dev/null and b/data/images/future/futureMaskMulti.png differ diff --git a/data/images/future/futureMaskSorcery.png b/data/images/future/futureMaskSorcery.png new file mode 100644 index 00000000..0e3dfd27 Binary files /dev/null and b/data/images/future/futureMaskSorcery.png differ diff --git a/data/images/future/futurePTA.png b/data/images/future/futurePTA.png new file mode 100644 index 00000000..81107e90 Binary files /dev/null and b/data/images/future/futurePTA.png differ diff --git a/data/images/future/futurePTB.png b/data/images/future/futurePTB.png new file mode 100644 index 00000000..d5c238f9 Binary files /dev/null and b/data/images/future/futurePTB.png differ diff --git a/data/images/future/futurePTC.png b/data/images/future/futurePTC.png new file mode 100644 index 00000000..1ef49481 Binary files /dev/null and b/data/images/future/futurePTC.png differ diff --git a/data/images/future/futurePTG.png b/data/images/future/futurePTG.png new file mode 100644 index 00000000..2132e56f Binary files /dev/null and b/data/images/future/futurePTG.png differ diff --git a/data/images/future/futurePTL.png b/data/images/future/futurePTL.png new file mode 100644 index 00000000..ec1ea6d5 Binary files /dev/null and b/data/images/future/futurePTL.png differ diff --git a/data/images/future/futurePTM.png b/data/images/future/futurePTM.png new file mode 100644 index 00000000..99d09868 Binary files /dev/null and b/data/images/future/futurePTM.png differ diff --git a/data/images/future/futurePTR.png b/data/images/future/futurePTR.png new file mode 100644 index 00000000..14c35771 Binary files /dev/null and b/data/images/future/futurePTR.png differ diff --git a/data/images/future/futurePTU.png b/data/images/future/futurePTU.png new file mode 100644 index 00000000..0b834229 Binary files /dev/null and b/data/images/future/futurePTU.png differ diff --git a/data/images/future/futurePTW.png b/data/images/future/futurePTW.png new file mode 100644 index 00000000..97b817b0 Binary files /dev/null and b/data/images/future/futurePTW.png differ diff --git a/data/images/future/futureWhite.png b/data/images/future/futureWhite.png new file mode 100644 index 00000000..8ffc20f1 Binary files /dev/null and b/data/images/future/futureWhite.png differ diff --git a/data/scripts/main.js b/data/scripts/main.js index 9ac21c89..e71862b3 100644 --- a/data/scripts/main.js +++ b/data/scripts/main.js @@ -458,6 +458,16 @@ function writeText(textObjectList, targetContext) { var artistBrushWidth = textSize * 1.2 textLineContext.drawImage(manaSymbolImageList[62], textX, textCanvasBuffer + textSize - artistBrushWidth * 0.58, artistBrushWidth, artistBrushWidth * 13 / 21) textX += artistBrushWidth * 1.1 + currentLineWidth += artistBrushWidth * 1.1 + } else if (possibleCodeLower == 'oldartistbrush') { + var artistBrushWidth = textSize * 2.4 + if (textLineContext.fillStyle == '#ffffff' || textLineContext.fillStyle == 'white') { + textLineContext.drawImage(manaSymbolImageList[64], textX, textCanvasBuffer + textSize - artistBrushWidth * 13 / 63, artistBrushWidth, artistBrushWidth * 13 / 63); + } else { + textLineContext.drawImage(manaSymbolImageList[65], textX, textCanvasBuffer + textSize - artistBrushWidth * 13 / 63, artistBrushWidth, artistBrushWidth * 13 / 63); + } + textX += artistBrushWidth * 1.1 + currentLineWidth += artistBrushWidth * 1.1 } else if (possibleCodeLower.includes('font')) { textFont = possibleCodeLower.replace('font', '') textLineContext.font = textSize + 'px ' + textFont diff --git a/data/scripts/darkMode.js b/data/scripts/palettes/darkMode.js similarity index 100% rename from data/scripts/darkMode.js rename to data/scripts/palettes/darkMode.js diff --git a/data/scripts/lightMode.js b/data/scripts/palettes/lightMode.js similarity index 100% rename from data/scripts/lightMode.js rename to data/scripts/palettes/lightMode.js diff --git a/data/scripts/raveMode.js b/data/scripts/palettes/raveMode.js similarity index 100% rename from data/scripts/raveMode.js rename to data/scripts/palettes/raveMode.js diff --git a/data/scripts/versions/versionFuture.js b/data/scripts/versions/versionFuture.js new file mode 100644 index 00000000..f472fecd --- /dev/null +++ b/data/scripts/versions/versionFuture.js @@ -0,0 +1,96 @@ +var versionFutureImageList = [ +['White Frame', 'data/images/future/futureFrameW.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Blue Frame', 'data/images/future/futureFrameU.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Black Frame', 'data/images/future/futureFrameB.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Red Frame', 'data/images/future/futureFrameR.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Green Frame', 'data/images/future/futureFrameG.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Multicolored Frame', 'data/images/future/futureFrameM.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Artifact Frame', 'data/images/future/futureFrameA.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Clear Frame', 'data/images/future/futureFrameC.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['Land Frame', 'data/images/future/futureFrameL.png', 0, 0, 1, 1, ['Full', 'Border (future)']], +['White Power/Toughness', 'data/images/future/futurePTW.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Blue Power/Toughness', 'data/images/future/futurePTU.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Black Power/Toughness', 'data/images/future/futurePTB.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Red Power/Toughness', 'data/images/future/futurePTR.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Green Power/Toughness', 'data/images/future/futurePTG.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Multicolored Power/Toughness', 'data/images/future/futurePTM.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Artifact Power/Toughness', 'data/images/future/futurePTA.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Clear Power/Toughness', 'data/images/future/futurePTC.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['Land Power/Toughness', 'data/images/future/futurePTL.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], +['White Icon', 'data/images/future/futureWhite.png', 49/744, 49/1039, 32/744, 32/1039, ['Artifact Icon (future)', 'Creature Icon (future)', 'Enchantment Icon (future)', 'Instant Icon (future)', 'Land Icon (future)', 'Multitype Icon (future)', 'Sorcery Icon (future)']], +['Gray Icon', 'data/images/future/futureGray.png', 49/744, 49/1039, 32/744, 32/1039, ['Artifact Icon (future)', 'Creature Icon (future)', 'Enchantment Icon (future)', 'Instant Icon (future)', 'Land Icon (future)', 'Multitype Icon (future)', 'Sorcery Icon (future)']] +] + +var versionFutureMaskList = [['Border (future)', 'data/images/future/futureMaskBorder.png'], ['Artifact Icon (future)', 'data/images/future/futureMaskArtifact.png'], ['Creature Icon (future)', 'data/images/future/futureMaskCreature.png'], ['Enchantment Icon (future)', 'data/images/future/futureMaskEnchantment.png'], ['Instant Icon (future)', 'data/images/future/futureMaskInstant.png'], ['Land Icon (future)', 'data/images/future/futureMaskLand.png'], ['Multitype Icon (future)', 'data/images/future/futureMaskMulti.png'], ['Sorcery Icon (future)', 'data/images/future/futureMaskSorcery.png']] + +if (!loadedVersions.includes('future')) { + loadedVersions.push('future') + loadMaskImages(versionFutureMaskList) + loadFrameImages(versionFutureImageList, 'frameClassFuture') +} + +if (currentVersion != 'future') { + currentVersion = 'future' + + hideFrameImages('frameClassFuture') + + loadTextOptions([ + new cardText('Card Title', '', 264/1500, 195/2100, 1248/1500, 91/2100, 'matrixb', 91/2100, 'white', ['oneLine=true']), + new cardText('Card Type', '', 182/1500, 1261/2100, 1248/1500, 75/2100, 'matrixb', 75/2100, 'white', ['oneLine=true']), + new cardText('Rules Text', '', 154/1500, 1313/2100, 1211/1500, 670/2100, 'mplantin', 73/2100, 'black'), + new cardText('Power/Toughness', '', 1160/1500, 1960/2100, 210/1500, 83/2100, 'mplantin', 83/2100, 'white', ['oneLine=true,textAlign="center"']) + ]) + + artX = scaleX(129 / 1500) + artY = scaleY(177 / 2100) + artWidth = scaleX(1307 / 1500) + artHeight = scaleY(1229 / 2100) + + manaCostXPath = '[scaleX(91/744), scaleX(61/744), scaleX(46/744), scaleX(46/744), scaleX(59/744), scaleX(106/744)][manaSymbolIndex]' + manaCostYPath = '[scaleY(140/1039), scaleY(207/1039), scaleY(281/1039), scaleY(356/1039), scaleY(437/1039), scaleY(512/1039)][manaSymbolIndex]' + manaCostDiameter = 'scaleX(59/744)' + manaCostShadowOffset = '[0, 0]' + manaCostDirection = 'forward' + + setSymbolX = [scaleX(1367/1500), 'center'] + setSymbolY = [scaleY(1249/2100), 'center'] + setSymbolWidth = scaleX(80/1500) + setSymbolHeight = scaleY(80/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1593/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoFuture' + + bottomInfoUpdated() +} + +function bottomInfoFuture() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + var ptBoxShift = 0 + var copyrightFillColor = 'white' + for (var i = 0; i < cardTextList.length; i++) { + if (cardTextList[i].name == 'Power/Toughness' && cardTextList[i].text != '') { + ptBoxShift = -1/6 + } + } + var cardMasterChildren = cardMaster.children + for (var i = cardMasterChildren.length - 1; i >= 0; i--) { + var uniqueNumber = parseInt(cardMasterChildren[i].id.replace('uniqueNumber', '')) + for (var n = 0; n < cardMasterList.length; n++) { + if (cardMasterList[n].uniqueNumber == uniqueNumber) { + if (cardMasterList[n].name.includes('White Frame') || cardMasterList[n].name.includes('Artifact Frame') || cardMasterList[n].name.includes('Colorless Frame')) { + copyrightFillColor = 'black' + } + } + } + } + writeText( + [ + {text: '{right}{oldartistbrush}' + document.getElementById('inputInfoArtist').value, x: 141/1500, y: 1938/2100, width: 1216/1500 + ptBoxShift, height: 52/2100, font: 'matrixb', fontSize: 52/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']}, + {text: '{right}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 141/1500, y: 1980/2100, width: 1216/1500 + ptBoxShift, height: 36/2100, font: 'mplantin', fontSize: 36/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']}, + {text: '{right}*Not for Sale* CardConjurer.com', x: 141/1500, y: 2012/2100, width: 1216/1500 + ptBoxShift, height: 28/2100, font: 'mplantin', fontSize: 28/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']} + ], bottomInfoContext) +} \ No newline at end of file diff --git a/data/scripts/versionM15.js b/data/scripts/versions/versionM15.js similarity index 100% rename from data/scripts/versionM15.js rename to data/scripts/versions/versionM15.js diff --git a/data/scripts/versionM15Nyx.js b/data/scripts/versions/versionM15Nyx.js similarity index 100% rename from data/scripts/versionM15Nyx.js rename to data/scripts/versions/versionM15Nyx.js diff --git a/data/scripts/versionPlaneswalker.js b/data/scripts/versions/versionPlaneswalker.js similarity index 100% rename from data/scripts/versionPlaneswalker.js rename to data/scripts/versions/versionPlaneswalker.js diff --git a/data/scripts/versionStorybook.js b/data/scripts/versions/versionStorybook.js similarity index 100% rename from data/scripts/versionStorybook.js rename to data/scripts/versions/versionStorybook.js diff --git a/index.html b/index.html index 6be55ffc..25ad819a 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,13 @@ - - Card Conjurer + + Card Conjurer
Card Conjurer
+ + - - - - \ No newline at end of file