+kc*Gh2nhhfeo!U8uNOvvo-GqGe{+yb0T8Oc*o$^?Bm(i&^hjM{E+_o~!-(
zKz;I<{!s<%_a1reSo!6uo6D!xUK!;YdE@w7)#Tb1>B}exAoS8?=`SpLZK??&3T395
z@V$p_4S6wp8=sM{Kp_4tIl7A~UK#HEG#0!neU_R5DL)
z**LJLi_FbC>`9R9bI3=j*51;io*_h@k6ia-iL3P1`F0x19~fVULn=^pM1Kng$#
z9*Y!w+;V=u^uDZ)T6i_HC2l!Fj&S9*sAaT8GC&8^LqY+-L8=0<0oWj+0N5Z^0oVX+
zkWc_@kg5P|_;=XARXfAm_5#4IDS;W#O=cTBsQ?>*4Il;}2BZS;)<%W_umRZcPuNh=
zbigKU53MlWYh2S*Ff5E6)VfPFK1|tA3LOfvpdNA^01f~LQUPECumK?u0}ulc1JFXy
zLeN5ZZjf03VgOPxs7j1V8~3*O52lSsr(aO80^ph
literal 0
HcmV?d00001
diff --git a/data/images/cardImages/bleedEdge/borderlessBorderExtension.png b/data/images/cardImages/bleedEdge/borderlessBorderExtension.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae7cfbc9944c7d949c2e4866917d4e404e1433a2
GIT binary patch
literal 23582
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
literal 0
HcmV?d00001
diff --git a/data/images/cardImages/bleedEdge/boxTopperBorderExtension.png b/data/images/cardImages/bleedEdge/boxTopperBorderExtension.png
new file mode 100644
index 0000000000000000000000000000000000000000..8766279cdcb10efe71a7e6ba0c55fbca521b0576
GIT binary patch
literal 31634
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
literal 0
HcmV?d00001
diff --git a/data/scripts/main.js b/data/scripts/main.js
index f5661e7b..df64ad7e 100644
--- a/data/scripts/main.js
+++ b/data/scripts/main.js
@@ -19,6 +19,7 @@ var deletingCardObject = false
var skipResizeCardArt = 0
var skipLoadTextList = 0
var usedManaSymbols = []
+var totalShift = [0, 0]
date = new Date()
var cornerCutout = new Image()
cornerCutout.src = '/data/images/cardImages/cornerCutout.png'
@@ -141,12 +142,17 @@ watermark.onload = function() {
}
function loadVersion(versionToLoad) {
- if (cardWidth / cardHeight != 5/7) {
+ totalShift = [0, 0]
+ if (cardWidth / cardHeight == 7/5) {
cardWidth *= 5/7
cardHeight *= 7/5
resizeCanvases(cardWidth, cardHeight)
previewContext.rotate(Math.PI / 2)
previewContext.translate(0, -cardHeight / 2)
+ } else if (cardWidth != mainCanvas.width) {
+ cardWidth = 1500
+ cardHeight = cardWidth * 7/5
+ resizeCanvases(cardWidth, cardHeight)
}
loadScript('/data/scripts/versions/' + versionToLoad + '/version.js')
}
@@ -168,18 +174,18 @@ class cardPlaceholder {
mainContext.globalAlpha = 1
if (this.whatToDraw == textCanvas) {
if (currentVersion.includes('m15Planeswalker/')) {
- mainContext.drawImage(planeswalkerCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(planeswalkerCanvas, scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
} else if (currentVersion.includes('saga')) {
- mainContext.drawImage(sagaCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(sagaCanvas, scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
}
mainContext.globalAlpha = parseInt(document.getElementById('inputWatermarkOpacity').value) / 100
- mainContext.drawImage(watermarkCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(watermarkCanvas, scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
mainContext.globalAlpha = 1
- mainContext.drawImage(manaCostCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(manaCostCanvas, scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
} else {
mainContext.globalAlpha = 1
}
- mainContext.drawImage(this.whatToDraw, scaleX(this.x), scaleY(this.y), scaleX(this.width) * this.zoom, scaleY(this.height) * this.zoom)
+ mainContext.drawImage(this.whatToDraw, scaleX(this.x + totalShift[0]), scaleY(this.y + totalShift[1]), scaleX(this.width) * this.zoom, scaleY(this.height) * this.zoom)
}
cardMasterElement() {
var temporaryElement = document.createElement('div')
@@ -206,17 +212,17 @@ class cardImage {
uniqueNumberTracker += 1
}
draw() {
- if (this.masks.length > 0) {
- frameMasksContext.clearRect(0, 0, cardWidth, cardHeight)
- frameMasksContext.drawImage(maskImageList[maskNameList.indexOf(this.masks[0])], 0, 0, cardWidth, cardHeight)
+ frameMasksContext.clearRect(0, 0, frameMasksCanvas.width, frameMasksCanvas.height)
+ if (this.masks.length > 0 && this.masks != 'Full') {
+ frameMasksContext.drawImage(maskImageList[maskNameList.indexOf(this.masks[0])], scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
frameMasksContext.globalCompositeOperation = 'source-in'
for (var i = 1; i < this.masks.length; i++) {
- frameMasksContext.drawImage(maskImageList[maskNameList.indexOf(this.masks[i])], 0, 0, cardWidth, cardHeight)
+ frameMasksContext.drawImage(maskImageList[maskNameList.indexOf(this.masks[i])], scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
}
- frameMasksContext.drawImage(this.image, scaleX(this.x), scaleY(this.y), scaleX(this.width), scaleY(this.height))
+ frameMasksContext.drawImage(this.image, scaleX(this.x + totalShift[0]), scaleY(this.y + totalShift[1]), scaleX(this.width), scaleY(this.height))
frameMasksContext.globalCompositeOperation = 'source-over'
} else {
- frameMasksContext.drawImage(this.image, scaleX(this.x), scaleY(this.y), scaleX(this.width), scaleY(this.height))
+ frameMasksContext.drawImage(this.image, scaleX(this.x + totalShift[0]), scaleY(this.y + totalShift[1]), scaleX(this.width), scaleY(this.height))
}
mainContext.globalAlpha = this.opacity
if (this.erase) {
@@ -224,7 +230,7 @@ class cardImage {
} else {
mainContext.globalCompositeOperation = 'source-over'
}
- mainContext.drawImage(frameMasksCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(frameMasksCanvas, 0, 0, frameMasksCanvas.width, frameMasksCanvas.height)
// mainContext.globalCompositeOperation = 'source-over'
}
cardMasterElement() {
@@ -274,7 +280,7 @@ function scaleY(yToScale) {
}
function drawCardObjects() {
- mainContext.clearRect(0, 0, cardWidth, cardHeight)
+ mainContext.clearRect(0, 0, mainCanvas.width, mainCanvas.height)
previewContext.clearRect(0, 0, cardWidth, cardHeight)
var cardMasterChildren = cardMaster.children
for (var i = cardMasterChildren.length - 1; i >= 0; i--) {
@@ -285,20 +291,22 @@ function drawCardObjects() {
}
}
}
- mainContext.drawImage(setSymbol, setSymbolDrawX + getFloat('inputSetSymbolX'), setSymbolDrawY + getFloat('inputSetSymbolY'), setSymbolDrawWidth * getFloat('inputSetSymbolZoom') / 100, setSymbolDrawHeight * getFloat('inputSetSymbolZoom') / 100)
- mainContext.drawImage(bottomInfoCanvas, 0, 0, cardWidth, cardHeight)
+ mainContext.drawImage(setSymbol, setSymbolDrawX + getFloat('inputSetSymbolX') + scaleX(totalShift[0]), setSymbolDrawY + getFloat('inputSetSymbolY') + scaleY(totalShift[1]), setSymbolDrawWidth * getFloat('inputSetSymbolZoom') / 100, setSymbolDrawHeight * getFloat('inputSetSymbolZoom') / 100)
+ mainContext.drawImage(bottomInfoCanvas, scaleX(totalShift[0]), scaleY(totalShift[1]), cardWidth, cardHeight)
mainContext.globalCompositeOperation = 'destination-over'
- mainContext.drawImage(cardArt, scaleX(cardMasterList[0].x), scaleY(cardMasterList[0].y), scaleX(cardMasterList[0].width) * cardMasterList[0].zoom, scaleY(cardMasterList[0].height) * cardMasterList[0].zoom)
+ mainContext.drawImage(cardArt, scaleX(cardMasterList[0].x + totalShift[0]), scaleY(cardMasterList[0].y + totalShift[1]), scaleX(cardMasterList[0].width) * cardMasterList[0].zoom, scaleY(cardMasterList[0].height) * cardMasterList[0].zoom)
mainContext.globalCompositeOperation = 'destination-out'
//draw the corner cutters
- mainContext.drawImage(cornerCutout, 0, 0, scaleX(59/1500), scaleX(59/1500))
- mainContext.rotate(Math.PI / 2)
- mainContext.drawImage(cornerCutout, 0, -cardWidth, scaleX(59/1500), scaleX(59/1500))
- mainContext.rotate(Math.PI / 2)
- mainContext.drawImage(cornerCutout, -cardWidth, -cardHeight, scaleX(59/1500), scaleX(59/1500))
- mainContext.rotate(Math.PI / 2)
- mainContext.drawImage(cornerCutout, -cardHeight, 0, scaleX(59/1500), scaleX(59/1500))
- mainContext.rotate(Math.PI / 2)
+ if (currentVersion != 'bleedEdge/version') {
+ mainContext.drawImage(cornerCutout, 0, 0, scaleX(59/1500), scaleX(59/1500))
+ mainContext.rotate(Math.PI / 2)
+ mainContext.drawImage(cornerCutout, 0, -cardWidth, scaleX(59/1500), scaleX(59/1500))
+ mainContext.rotate(Math.PI / 2)
+ mainContext.drawImage(cornerCutout, -cardWidth, -cardHeight, scaleX(59/1500), scaleX(59/1500))
+ mainContext.rotate(Math.PI / 2)
+ mainContext.drawImage(cornerCutout, -cardHeight, 0, scaleX(59/1500), scaleX(59/1500))
+ mainContext.rotate(Math.PI / 2)
+ }
//preview the card
mainContext.globalCompositeOperation = 'source-over'
if (cardWidth < cardHeight) {
@@ -995,7 +1003,6 @@ function toggleTabs(clickedElement, targetId) {
function downloadCardImage(linkElement) {
if (document.getElementById("inputInfoArtist").value.replace(/ /g, "") != "") {
var savedFileName = ''
- console.log(cardTextList)
if (cardTextList[0].name == 'Card Nickname') {
savedFileName = cardTextList[1].text + ' (' + cardTextList[0].text + ").png"
} else {
diff --git a/data/scripts/versions/bleedEdge/regular.js b/data/scripts/versions/bleedEdge/regular.js
new file mode 100644
index 00000000..ebfe8075
--- /dev/null
+++ b/data/scripts/versions/bleedEdge/regular.js
@@ -0,0 +1,10 @@
+if (!loadedVersions.includes('bleedEdge/regular')) {
+ loadedVersions.push('bleedEdge/regular')
+ loadFrameImages([
+ ['Black Border Extension', '/data/images/cardImages/bleedEdge/blackBorderExtension.png', -11/250, -1/35, 136/125, 37/35, ['Full']],
+ ['Box Topper Border Extension', '/data/images/cardImages/bleedEdge/boxTopperBorderExtension.png', -11/250, -1/35, 136/125, 37/35, ['Full']],
+ ['Borderless Border Extension', '/data/images/cardImages/bleedEdge/borderlessBorderExtension.png', -11/250, -1/35, 136/125, 37/35, ['Full']],
+ ], 'frameClassBleedEdgeRegular')
+}
+
+hideFrameImages('frameClassBleedEdgeRegular')
\ No newline at end of file
diff --git a/data/scripts/versions/bleedEdge/version.js b/data/scripts/versions/bleedEdge/version.js
new file mode 100644
index 00000000..99916e60
--- /dev/null
+++ b/data/scripts/versions/bleedEdge/version.js
@@ -0,0 +1,37 @@
+if (!loadedVersions.includes('bleedEdge/version')) {
+ loadedVersions.push('bleedEdge/version')
+}
+
+if (currentVersion != 'bleedEdge/version') {
+ currentVersion = 'bleedEdge/version'
+
+ var totalShift = [11/250, 1/35]
+
+ if (artWidth == cardWidth) {
+ artWidth += scaleX(11/250)
+ }
+ if (artHeight == cardHeight) {
+ artHeight += scaleY(1/35)
+ }
+ if (artX == 0) {
+ artX -= scaleX(11/250)
+ artWidth += scaleX(11/250)
+ }
+ if (artY == 0) {
+ artY -= scaleY(1/35)
+ artHeight += scaleY(1/35)
+ }
+
+ mainCanvas.width = cardWidth * 136/125
+ mainCanvas.height = cardHeight * 37/35
+ frameMasksCanvas.width = cardWidth * 136/125
+ frameMasksCanvas.height = cardHeight * 37/35
+
+ if (cardArt.src != '') {
+ cardArt.onload()
+ } else if (skipResizeCardArt > 0) {
+ skipResizeCardArt -= 1
+ }
+}
+
+loadFramePackOptions([['regular', 'Regular']])
\ No newline at end of file