diff --git a/client.js b/client.js index 7b3924f6..c0bf07ba 100644 --- a/client.js +++ b/client.js @@ -24,32 +24,38 @@ import { playMidi } from './jagex2/util/AudioUtil.js'; import GameShell from "./jagex2/client/GameShell.js"; export default class Client extends GameShell { static HOST = 'https://w2.225.2004scape.org'; + static CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:\'@#~,<.>/?\\| '; alreadyStarted = false; errorStarted = false; errorLoading = false; errorHost = false; - clientClock = 0; + loopCycle = 0; ingame = false; - redrawBackground = true; + redrawTitleBackground = true; archiveChecksums = []; - titleState = 0; + titleScreenState = 0; + titleLoginField = 0; titleArchive = null; - titleDrawn = false; - titleTop = null; - titleBottom = null; - titleCenter = null; - titleLeft = null; - titleRight = null; - titleBottomLeft = null; - titleBottomRight = null; - titleLeftSpace = null; - titleRightSpace = null; + imageTitle2 = null; + imageTitle3 = null; + imageTitle4 = null; + imageTitle0 = null; + imageTitle1 = null; + imageTitle5 = null; + imageTitle6 = null; + imageTitle7 = null; + imageTitle8 = null; imageTitleBox = null; imageTitleButton = null; - p11 = null; - p12 = null; - b12 = null; - q8 = null; + fontPlain11 = null; + fontPlain12 = null; + fontBold12 = null; + fontQuill8 = null; + flameActive = false; + loginMessage0 = ''; + loginMessage1 = ''; + username = ''; + password = ''; async load() { if (this.alreadyStarted) { this.errorStarted = true; @@ -64,12 +70,12 @@ export default class Client extends GameShell { } await this.setMidi('scape_main', 12345678); this.titleArchive = await this.loadArchive('title', 'title screen', this.archiveChecksums[1], 10); - this.p11 = Font.fromArchive(this.titleArchive, 'p11'); - this.p12 = Font.fromArchive(this.titleArchive, 'p12'); - this.b12 = Font.fromArchive(this.titleArchive, 'b12'); - this.q8 = Font.fromArchive(this.titleArchive, 'q8'); + this.fontPlain11 = Font.fromArchive(this.titleArchive, 'p11'); + this.fontPlain12 = Font.fromArchive(this.titleArchive, 'p12'); + this.fontBold12 = Font.fromArchive(this.titleArchive, 'b12'); + this.fontQuill8 = Font.fromArchive(this.titleArchive, 'q8'); await this.loadTitleBackground(); - this.loadTitleForeground(); + this.loadTitleImages(); let config = await this.loadArchive('config', 'config', this.archiveChecksums[2], 15); let interfaces = await this.loadArchive('interface', 'interface', this.archiveChecksums[3], 20); let media = await this.loadArchive('media', '2d graphics', this.archiveChecksums[4], 30); @@ -111,8 +117,11 @@ export default class Client extends GameShell { if (this.errorStarted || this.errorLoading || this.errorHost) { return; } - this.clientClock++; - if (!this.ingame) { + this.loopCycle++; + if (this.ingame) { + // TODO + } + else { this.updateTitleScreen(); } } @@ -133,139 +142,265 @@ export default class Client extends GameShell { await super.showProgress(progress, str); return; } - this.titleCenter?.bind(); + this.imageTitle4?.bind(); let x = 360; let y = 200; let offsetY = 20; - this.b12?.drawCentered(x / 2, (y / 2) - offsetY - 26, 'RuneScape is loading - please wait...', 0xFFFFFF, false); + this.fontBold12?.drawStringCenter(x / 2, (y / 2) - offsetY - 26, 'RuneScape is loading - please wait...', 0xFFFFFF); let midY = (y / 2) - 18 - offsetY; Draw2D.drawRect((x / 2) - 152, midY, 304, 34, 0x8c1111); Draw2D.drawRect((x / 2) - 151, midY + 1, 302, 32, 0x000000); Draw2D.fillRect((x / 2) - 150, midY + 2, progress * 3, 30, 0x8c1111); Draw2D.fillRect(((x / 2) - 150) + (progress * 3), midY + 2, 300 - (progress * 3), 30, 0x000000); - this.b12?.drawCentered(x / 2, (y / 2) + 5 - offsetY, str, 0xFFFFFF, false); - this.titleCenter?.draw(214, 186); - if (this.redrawBackground) { - this.redrawBackground = false; - this.titleDrawn = true; - // TODO: flame active logic - this.titleLeft?.draw(0, 0); - this.titleRight?.draw(661, 0); - this.titleTop?.draw(128, 0); - this.titleBottom?.draw(214, 386); - this.titleBottomLeft?.draw(0, 265); - this.titleBottomRight?.draw(574, 265); - this.titleLeftSpace?.draw(128, 186); - this.titleRightSpace?.draw(574, 186); + this.fontBold12?.drawStringCenter(x / 2, (y / 2) + 5 - offsetY, str, 0xFFFFFF); + this.imageTitle4?.draw(214, 186); + if (this.redrawTitleBackground) { + this.redrawTitleBackground = false; + if (!this.flameActive) { + this.imageTitle0?.draw(0, 0); + this.imageTitle1?.draw(661, 0); + } + this.imageTitle2?.draw(128, 0); + this.imageTitle3?.draw(214, 386); + this.imageTitle5?.draw(0, 265); + this.imageTitle6?.draw(574, 265); + this.imageTitle7?.draw(128, 186); + this.imageTitle8?.draw(574, 186); } await sleep(5); // return a slice of time to the main loop so it can update the progress bar } // async prepareTitleScreen() { - this.titleLeft = new CanvasFrameBuffer(this.canvas, 128, 265); + this.imageTitle0 = new CanvasFrameBuffer(this.canvas, 128, 265); Draw2D.clear(); - this.titleRight = new CanvasFrameBuffer(this.canvas, 128, 265); + this.imageTitle1 = new CanvasFrameBuffer(this.canvas, 128, 265); Draw2D.clear(); - this.titleTop = new CanvasFrameBuffer(this.canvas, 533, 186); + this.imageTitle2 = new CanvasFrameBuffer(this.canvas, 533, 186); Draw2D.clear(); - this.titleBottom = new CanvasFrameBuffer(this.canvas, 360, 146); + this.imageTitle3 = new CanvasFrameBuffer(this.canvas, 360, 146); Draw2D.clear(); - this.titleCenter = new CanvasFrameBuffer(this.canvas, 360, 200); + this.imageTitle4 = new CanvasFrameBuffer(this.canvas, 360, 200); Draw2D.clear(); - this.titleBottomLeft = new CanvasFrameBuffer(this.canvas, 214, 267); + this.imageTitle5 = new CanvasFrameBuffer(this.canvas, 214, 267); Draw2D.clear(); - this.titleBottomRight = new CanvasFrameBuffer(this.canvas, 215, 267); + this.imageTitle6 = new CanvasFrameBuffer(this.canvas, 215, 267); Draw2D.clear(); - this.titleLeftSpace = new CanvasFrameBuffer(this.canvas, 86, 79); + this.imageTitle7 = new CanvasFrameBuffer(this.canvas, 86, 79); Draw2D.clear(); - this.titleRightSpace = new CanvasFrameBuffer(this.canvas, 87, 79); + this.imageTitle8 = new CanvasFrameBuffer(this.canvas, 87, 79); Draw2D.clear(); if (this.titleArchive != null) { await this.loadTitleBackground(); - this.loadTitleForeground(); + this.loadTitleImages(); } } async loadTitleBackground() { let background = await Image24.fromJpeg(this.titleArchive, 'title'); - this.titleLeft?.bind(); + this.imageTitle0?.bind(); background.draw(0, 0); - this.titleRight?.bind(); + this.imageTitle1?.bind(); background.draw(-661, 0); - this.titleTop?.bind(); + this.imageTitle2?.bind(); background.draw(-128, 0); - this.titleBottom?.bind(); + this.imageTitle3?.bind(); background.draw(-214, -386); - this.titleCenter?.bind(); + this.imageTitle4?.bind(); background.draw(-214, -186); - this.titleBottomLeft?.bind(); + this.imageTitle5?.bind(); background.draw(0, -265); - this.titleBottomRight?.bind(); + this.imageTitle6?.bind(); background.draw(-128, -186); - this.titleLeftSpace?.bind(); + this.imageTitle7?.bind(); background.draw(-128, -186); - this.titleRightSpace?.bind(); + this.imageTitle8?.bind(); background.draw(-574, -186); // draw right side (mirror image) background.flipHorizontally(); - this.titleLeft?.bind(); + this.imageTitle0?.bind(); background.draw(394, 0); - this.titleRight?.bind(); + this.imageTitle1?.bind(); background.draw(-267, 0); - this.titleTop?.bind(); + this.imageTitle2?.bind(); background.draw(266, 0); - this.titleBottom?.bind(); + this.imageTitle3?.bind(); background.draw(180, -386); - this.titleCenter?.bind(); + this.imageTitle4?.bind(); background.draw(180, -186); - this.titleBottomLeft?.bind(); + this.imageTitle5?.bind(); background.draw(394, -265); - this.titleBottomRight?.bind(); + this.imageTitle6?.bind(); background.draw(-180, -265); - this.titleLeftSpace?.bind(); + this.imageTitle7?.bind(); background.draw(212, -186); - this.titleRightSpace?.bind(); + this.imageTitle8?.bind(); background.draw(-180, -186); let logo = Image24.fromArchive(this.titleArchive, 'logo'); - this.titleTop?.bind(); - logo.draw((this.canvas.width / 2) - (logo.width / 2) - 128, 18); + this.imageTitle2?.bind(); + logo.draw((this.width / 2) - (logo.width / 2) - 128, 18); } - loadTitleForeground() { + loadTitleImages() { this.imageTitleBox = Image8.fromArchive(this.titleArchive, 'titlebox'); this.imageTitleButton = Image24.fromArchive(this.titleArchive, 'titlebutton'); + // TODO Flames } updateTitleScreen() { + if (this.titleScreenState === 0) { + let x = this.width / 2 - 80; + let y = this.height / 2 + 20; + y += 20; + if (this.mouseClickButton == 1 && this.mouseClickX >= x - 75 && this.mouseClickX <= x + 75 && this.mouseClickY >= y - 20 && this.mouseClickY <= y + 20) { + this.titleScreenState = 3; + this.titleLoginField = 0; + } + x = this.width / 2 + 80; + if (this.mouseClickButton == 1 && this.mouseClickX >= x - 75 && this.mouseClickX <= x + 75 && this.mouseClickY >= y - 20 && this.mouseClickY <= y + 20) { + this.loginMessage0 = ''; + this.loginMessage1 = 'Enter your username & password.'; + this.titleScreenState = 2; + this.titleLoginField = 0; + } + } + else if (this.titleScreenState == 2) { + let y = this.height / 2 - 40; + y += 30; + y += 25; + if (this.mouseClickButton == 1 && this.mouseClickY >= y - 15 && this.mouseClickY < y) { + this.titleLoginField = 0; + } + y += 15; + if (this.mouseClickButton == 1 && this.mouseClickY >= y - 15 && this.mouseClickY < y) { + this.titleLoginField = 1; + } + y += 15; + let buttonX = this.width / 2 - 80; + let buttonY = this.height / 2 + 50; + buttonY += 20; + if (this.mouseClickButton == 1 && this.mouseClickX >= buttonX - 75 && this.mouseClickX <= buttonX + 75 && this.mouseClickY >= buttonY - 20 && this.mouseClickY <= buttonY + 20) { + // this.login(this.username, this.password, false); + } + buttonX = this.width / 2 + 80; + if (this.mouseClickButton == 1 && this.mouseClickX >= buttonX - 75 && this.mouseClickX <= buttonX + 75 && this.mouseClickY >= buttonY - 20 && this.mouseClickY <= buttonY + 20) { + this.titleScreenState = 0; + this.username = ''; + this.password = ''; + } + while (true) { + let key = this.pollKey(); + if (key == -1) { + return; + } + let valid = false; + for (let i = 0; i < Client.CHARSET.length; i++) { + if (String.fromCharCode(key) === Client.CHARSET.charAt(i)) { + valid = true; + break; + } + } + if (this.titleLoginField == 0) { + if (key == 8 && this.username.length > 0) { + this.username = this.username.substring(0, this.username.length - 1); + } + if (key == 9 || key == 10 || key == 13) { + this.titleLoginField = 1; + } + if (valid) { + this.username = this.username + String.fromCharCode(key); + } + if (this.username.length > 12) { + this.username = this.username.substring(0, 12); + } + } + else if (this.titleLoginField == 1) { + if (key == 8 && this.password.length > 0) { + this.password = this.password.substring(0, this.password.length - 1); + } + if (key == 9 || key == 10 || key == 13) { + this.titleLoginField = 0; + } + if (valid) { + this.password = this.password + String.fromCharCode(key); + } + if (this.password.length > 20) { + this.password = this.password.substring(0, 20); + } + } + } + } + else if (this.titleScreenState == 3) { + let x = this.width / 2; + let y = this.height / 2 + 50; + y += 20; + if (this.mouseClickButton == 1 && this.mouseClickX >= x - 75 && this.mouseClickX <= x + 75 && this.mouseClickY >= y - 20 && this.mouseClickY <= y + 20) { + this.titleScreenState = 0; + } + } } async drawTitleScreen() { await this.prepareTitleScreen(); - if (this.titleArchive != null) { - this.titleCenter?.bind(); - this.imageTitleBox?.draw(0, 0); - let x = 360; - let y = 200; - if (this.titleState === 0) { - let offsetX = x / 2; - let offsetY = (y / 2) - 20; - this.b12?.drawCentered(offsetX, offsetY, 'Welcome to RuneScape', 0xFFFFFF00); - // y += 30; - offsetX = (x / 2) - 80; - offsetY = (y / 2) + 20; - this.imageTitleButton?.draw(offsetX - 73, offsetY - 20); - this.b12?.drawCentered(offsetX, offsetY + 5, 'New user', 0xFFFFFFFF); - offsetX = (x / 2) + 80; - this.imageTitleButton?.draw(offsetX - 73, offsetY - 20); - this.b12?.drawCentered(offsetX, offsetY + 5, 'Existing User', 0xFFFFFFFF); + this.imageTitle4?.bind(); + this.imageTitleBox?.draw(0, 0); + let w = 360; + let h = 200; + if (this.titleScreenState === 0) { + let x = w / 2; + let y = (h / 2) - 20; + this.fontBold12?.drawStringTaggableCenter(x, y, 'Welcome to RuneScape', 0xFFFFFF00, true); + x = (w / 2) - 80; + y = (h / 2) + 20; + this.imageTitleButton?.draw(x - 73, y - 20); + this.fontBold12?.drawStringTaggableCenter(x, y + 5, 'New user', 0xFFFFFFFF, true); + x = (w / 2) + 80; + this.imageTitleButton?.draw(x - 73, y - 20); + this.fontBold12?.drawStringTaggableCenter(x, y + 5, 'Existing User', 0xFFFFFFFF, true); + } + else if (this.titleScreenState === 2) { + let x = w / 2 - 80; + let y = h / 2 - 40; + if (this.loginMessage0.length === 0) { + this.fontBold12?.drawStringTaggableCenter(w / 2, y - 15, this.loginMessage0, 0xFFFF00, true); + this.fontBold12?.drawStringTaggableCenter(w / 2, y, this.loginMessage1, 0xFFFF00, true); + y += 30; } + else { + this.fontBold12?.drawStringTaggableCenter(w / 2, y - 7, this.loginMessage1, 0xFFFF00, true); + y += 30; + } + this.fontBold12?.drawStringTaggable(w / 2 - 90, y, `Username: ${this.username}${(this.titleLoginField == 0 && this.loopCycle % 40 < 20) ? '@yel@|' : ''}`, 0xFFFFFF, true); + y += 15; + this.fontBold12?.drawStringTaggable(w / 2 - 88, y, `Password: ${this.password}${(this.titleLoginField == 1 && this.loopCycle % 40 < 20) ? '@yel@|' : ''}`, 0xFFFFFF, true); + x = w / 2 - 80; + y = h / 2 + 50; + this.imageTitleButton?.draw(x - 73, y - 20); + this.fontBold12?.drawStringTaggableCenter(x, y + 5, 'Login', 0xFFFFFF, true); + x = w / 2 + 80; + this.imageTitleButton?.draw(x - 73, y - 20); + this.fontBold12?.drawStringTaggableCenter(x, y + 5, 'Cancel', 0xFFFFFF, true); + } + else if (this.titleScreenState == 3) { + this.fontBold12?.drawStringTaggableCenter(w / 2, 16776960, true, h / 2 - 60, "Create a free account"); + let x = w / 2; + let y = h / 2 - 35; + this.fontBold12?.drawStringTaggableCenter(w / 2, y, "To create a new account you need to", 0xFFFFFF, true); + y += 15; + this.fontBold12?.drawStringTaggableCenter(w / 2, y, "go back to the main RuneScape webpage", 0xFFFFFF, true); + y += 15; + this.fontBold12?.drawStringTaggableCenter(w / 2, y, "and choose the red 'create account'", 0xFFFFFF, true); + y += 15; + this.fontBold12?.drawStringTaggableCenter(w / 2, y, "button at the top right of that page.", 0xFFFFFF, true); + y += 15; + y = h / 2 + 50; + this.imageTitleButton?.draw(x - 73, y - 20); + this.fontBold12?.drawStringTaggableCenter(x, y + 5, "Cancel", 16777215, true); } - this.titleCenter?.draw(214, 186); - if (this.redrawBackground) { - this.redrawBackground = false; - this.titleDrawn = true; - this.titleTop?.draw(128, 0); - this.titleBottom?.draw(214, 386); - this.titleBottomLeft?.draw(0, 265); - this.titleBottomRight?.draw(574, 265); - this.titleLeftSpace?.draw(128, 186); - this.titleRightSpace?.draw(574, 186); + this.imageTitle4?.draw(214, 186); + if (this.redrawTitleBackground) { + this.redrawTitleBackground = false; + this.imageTitle2?.draw(128, 0); + this.imageTitle3?.draw(214, 386); + this.imageTitle5?.draw(0, 265); + this.imageTitle6?.draw(574, 265); + this.imageTitle7?.draw(128, 186); + this.imageTitle8?.draw(574, 186); } } async loadArchive(filename, displayName, crc, progress) { @@ -334,5 +469,6 @@ export default class Client extends GameShell { } } const client = new Client(); -client.run().then(() => { }); +client.run().then(() => { +}); //# sourceMappingURL=client.js.map \ No newline at end of file diff --git a/client.js.map b/client.js.map index 224386c0..f75ed24f 100644 --- a/client.js.map +++ b/client.js.map @@ -1 +1 @@ -{"version":3,"file":"client.js","sourceRoot":"","sources":["../client/src/client.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"client.js","sourceRoot":"","sources":["../client/src/client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/jagex2/client/GameShell.js b/jagex2/client/GameShell.js index efaa7061..2ad5ef74 100644 --- a/jagex2/client/GameShell.js +++ b/jagex2/client/GameShell.js @@ -58,6 +58,9 @@ export default class GameShell { window.addEventListener('keyup', (e) => { this.keyUp(e); }); + window.addEventListener('mousedown', (e) => { + this.mousePressed(e); + }); await this.showProgress(0, 'Loading...'); await this.load(); let opos = 0; @@ -219,5 +222,35 @@ export default class GameShell { } return key; } + mousePressed(e) { + let x = e.x; + let y = e.y; + const { top, left } = this.getInsets(); + x -= left; + y -= top; + this.idleCycles = 0; + this.mouseClickX = x; + this.mouseClickY = y; + if (e.buttons === 2) { + this.mouseClickButton = 2; + this.mouseButton = 2; + } + else if (e.buttons === 1) { + this.mouseClickButton = 1; + this.mouseButton = 1; + } + // TODO input tracking + } + getInsets() { + const rect = this.canvas.getBoundingClientRect(); + const computedStyle = window.getComputedStyle(this.canvas); + const paddingLeft = parseFloat(computedStyle.paddingLeft || '0'); + const paddingTop = parseFloat(computedStyle.paddingTop || '0'); + const borderLeft = parseFloat(computedStyle.borderLeftWidth || '0'); + const borderTop = parseFloat(computedStyle.borderTopWidth || '0'); + const left = rect.left + borderLeft + paddingLeft; + const top = rect.top + borderTop + paddingTop; + return { top, left }; + } } //# sourceMappingURL=GameShell.js.map \ No newline at end of file diff --git a/jagex2/client/GameShell.js.map b/jagex2/client/GameShell.js.map index 36c3c51e..134b6c6a 100644 --- a/jagex2/client/GameShell.js.map +++ b/jagex2/client/GameShell.js.map @@ -1 +1 @@ -{"version":3,"file":"GameShell.js","sourceRoot":"","sources":["../../../client/src/jagex2/client/GameShell.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GameShell.js","sourceRoot":"","sources":["../../../client/src/jagex2/client/GameShell.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/jagex2/graphics/Font.js b/jagex2/graphics/Font.js index d439c8be..f8c54088 100644 --- a/jagex2/graphics/Font.js +++ b/jagex2/graphics/Font.js @@ -90,12 +90,36 @@ export default class Font { y -= this.fontHeight; for (let i = 0; i < str.length; i++) { let c = Font.CHARSET[str.charCodeAt(i)]; - if (c != 94) { + if (c !== 94) { this.copyCharacter(x + this.clipX[c], y + this.clipY[c], this.charWidth[c], this.charHeight[c], this.pixels[c], color); } x += this.charSpace[c]; } } + drawStringTaggable(x, y, str, color, shadowed) { + if (!str) { + return; + } + x = Math.trunc(x); + y = Math.trunc(y); + y -= this.fontHeight; + for (let i = 0; i < str.length; i++) { + if (str.charAt(i) === '@' && i + 4 < str.length && str.charAt(i + 4) === '@') { + color = this.evaluateTag(str.substring(i + 1, i + 4)); + i += 4; + } + else { + let c = Font.CHARSET[str.charCodeAt(i)]; + if (c !== 94) { + if (shadowed) { + this.copyCharacter(x + this.clipX[c] + 1, y + this.clipY[c] + 1, this.charWidth[c], this.charHeight[c], this.pixels[c], 0); + } + this.copyCharacter(x + this.clipX[c], y + this.clipY[c], this.charWidth[c], this.charHeight[c], this.pixels[c], color); + } + x += this.charSpace[c]; + } + } + } getTextWidth(str) { if (!str) { return 0; @@ -111,10 +135,10 @@ export default class Font { } return w; } - drawCentered(x, y, str, color, shadowed = true) { - if (shadowed) { - this.draw(x - (this.getTextWidth(str) / 2) + 1, y + 1, str, 0); - } + drawStringTaggableCenter(x, y, str, color, shadowed) { + this.drawStringTaggable(x - (this.getTextWidth(str) / 2), y, str, color, shadowed); + } + drawStringCenter(x, y, str, color) { this.draw(x - (this.getTextWidth(str) / 2), y, str, color); } drawRight(x, y, str, color, shadowed = true) { @@ -175,5 +199,45 @@ export default class Font { dstOff += dstStep; } } + evaluateTag(tag) { + switch (tag) { + case "red": + return 0xff0000; + case "gre": + return 0xff00; + case "blu": + return 0xff; + case "yel": + return 0xffff00; + case "cya": + return 0xffff; + case "mag": + return 0xff00ff; + case "whi": + return 0xffffff; + case "bla": + return 0; + case "lre": + return 0xff9040; + case "dre": + return 0x800000; + case "dbl": + return 0x80; + case "or1": + return 0xffb000; + case "or2": + return 0xff7000; + case "or3": + return 0xff3000; + case "gr1": + return 0xc0ff00; + case "gr2": + return 0x80ff00; + case "gr3": + return 0x40ff00; + default: + return 0; + } + } } //# sourceMappingURL=Font.js.map \ No newline at end of file diff --git a/jagex2/graphics/Font.js.map b/jagex2/graphics/Font.js.map index ef37dd80..0ba06c0b 100644 --- a/jagex2/graphics/Font.js.map +++ b/jagex2/graphics/Font.js.map @@ -1 +1 @@ -{"version":3,"file":"Font.js","sourceRoot":"","sources":["../../../client/src/jagex2/graphics/Font.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Font.js","sourceRoot":"","sources":["../../../client/src/jagex2/graphics/Font.js"],"names":[],"mappings":"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"} \ No newline at end of file