diff --git a/api/icon.js b/api/icon.js index b57744f..f9213d3 100644 --- a/api/icon.js +++ b/api/icon.js @@ -43,6 +43,7 @@ module.exports = async (app, req, res) => { let outline = req.query.glow || account[28] || "0"; let topless = form == "bird" && req.query.topless + let drawLegs = !(req.query.noLegs > 0) let autoSize = req.query.size == "auto" let sizeParam = autoSize || (req.query.size && !isNaN(req.query.size)) if (outline == "0" || outline == "false") outline = false; @@ -57,7 +58,7 @@ module.exports = async (app, req, res) => { glow = genImageName(isSpecial && '01', '2'); extra = genImageName(isSpecial && '01', 'extra'); } - const isSpecial = ['robot', 'spider'].includes(form); + let isSpecial = ['robot', 'spider'].includes(form); setBaseIcons(); if (!fs.existsSync(fromIcons(icon)) || (isSpecial && !fs.existsSync(fromIcons(genImageName('02'))))) { @@ -85,10 +86,9 @@ module.exports = async (app, req, res) => { let iconCode = `${req.query.form == "cursed" ? "cursed" : form}${topless ? "top" : ""}-${iconID}-${col1}-${col2}-${colG || "x"}-${colW || "x"}-${outline ? 1 : 0}` - if (!sizeParam && cache[iconCode]) return res.end(cache[iconCode].value) + if (!sizeParam && (!isSpecial || drawLegs) && cache[iconCode]) return res.end(cache[iconCode].value) let useExtra = false - let originalOffset = icons[icon].spriteOffset; let minusOrigOffset = function(x, y) { return x - originalOffset[y] } let offset = icons[glow].spriteOffset.map(minusOrigOffset); @@ -148,7 +148,7 @@ module.exports = async (app, req, res) => { if (!outline) ic.composite(await Jimp.read(ufoSprite), ufoCoords[0], ufoCoords[1], {mode: Jimp.BLEND_DESTINATION_OVER}) } - if (form == "robot" || req.query.form == "cursed") { + if (drawLegs && (form == "robot" || req.query.form == "cursed")) { ic.contain(iconSize[0], 300, Jimp.HORIZONTAL_ALIGN_CENTER | Jimp.VERTICAL_ALIGN_TOP) ic.contain(iconSize[0] + 200, 300, Jimp.HORIZONTAL_ALIGN_CENTER | Jimp.VERTICAL_ALIGN_TOP) @@ -203,7 +203,7 @@ module.exports = async (app, req, res) => { } - else if (form == "spider") { + else if (drawLegs && form == "spider") { let spiderBody; ic.contain(iconSize[0], 300, Jimp.HORIZONTAL_ALIGN_CENTER | Jimp.VERTICAL_ALIGN_TOP) @@ -297,7 +297,7 @@ module.exports = async (app, req, res) => { img.resize(imgSize, Jimp.AUTO) } img.getBuffer(Jimp.AUTO, (err, buffer) => { - if (!sizeParam) { + if (!sizeParam && drawLegs) { cache[iconCode] = { value: buffer, timeoutID: setTimeout(function() {delete cache[iconCode]}, 10000000) } // 3 hour cache if (usercode) cache[usercode] = { value: buffer, timeoutID: setTimeout(function() {delete cache[usercode]}, 300000) } // 5 min cache for player icons } diff --git a/api/leaderboards/accurate.js b/api/leaderboards/accurate.js index d405bb3..046b757 100644 --- a/api/leaderboards/accurate.js +++ b/api/leaderboards/accurate.js @@ -28,7 +28,7 @@ module.exports = async (app, req, res, post) => { let cell = tab.getCell(1, cellIndex).value if (cell.startsWith("GoogleSpreadsheetFormulaError")) return res.send("-1") - let leaderboard = JSON.parse(cell) + let leaderboard = JSON.parse(cell.replace(/~( |$)/g, "")) let gdFormatting = "" leaderboard.forEach(x => { diff --git a/assets/css/browser.css b/assets/css/browser.css index 9b0ac28..2fbdf00 100644 --- a/assets/css/browser.css +++ b/assets/css/browser.css @@ -720,6 +720,17 @@ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { height: 25%; } +.weeklyStuff { + display: none; +} + +.ranking { + transform:scale(0.82) translate(-20.7vh, -20vh); + position: absolute; + height: 10%; + width: 12.5%; +} + #collectibles, .leaderboardStats { font-size: 4.3vh; white-space: nowrap; @@ -736,7 +747,7 @@ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { .leaderboardStats img { transform: translate(-20%, -7%); - height: 22%; + width: 4.3%; } #boomling { diff --git a/assets/gdps/ausk_icon.png b/assets/gdps/ausk_icon.png new file mode 100644 index 0000000..8c59ab3 Binary files /dev/null and b/assets/gdps/ausk_icon.png differ diff --git a/assets/gdps/ausk_logo.png b/assets/gdps/ausk_logo.png new file mode 100644 index 0000000..fa4fa9e Binary files /dev/null and b/assets/gdps/ausk_logo.png differ diff --git a/assets/sort-week-on.png b/assets/sort-week-on.png new file mode 100644 index 0000000..641dad4 Binary files /dev/null and b/assets/sort-week-on.png differ diff --git a/assets/sort-week.png b/assets/sort-week.png new file mode 100644 index 0000000..4da087b Binary files /dev/null and b/assets/sort-week.png differ diff --git a/html/leaderboard.html b/html/leaderboard.html index ef1850c..e9d0eaf 100644 --- a/html/leaderboard.html +++ b/html/leaderboard.html @@ -1,7 +1,7 @@ Leaderboard - + @@ -53,8 +53,9 @@
+
-
+
@@ -84,9 +85,9 @@ \ No newline at end of file diff --git a/html/levelboard.html b/html/levelboard.html index 267d450..f0153e4 100644 --- a/html/levelboard.html +++ b/html/levelboard.html @@ -94,7 +94,7 @@ function leaderboard() {

${x.percent}% - ${'
'.repeat(x.coins)} + ${'
'.repeat(x.coins)}

diff --git a/html/offline.html b/html/offline.html index 109a808..247f142 100644 --- a/html/offline.html +++ b/html/offline.html @@ -58,7 +58,7 @@ let line = 0 let dialogue = [ - "Hi there!", "We got IP banned again :)", "As usual we don't know why...", "Lately the GD servers have been slow", + "Hi there!", "We got IP banned again :)", "As usual we don't know why...", "Bit of a shame honestly", "We had a good streak going", "Lately the GD servers have been slow", "So maybe Rob tried to fix it...", "...by killing GDBrowser??", "Look I really don't know", "Anyways uhhh", "Hopefully we're back soon", "You're stuck with me for now", "Some features still work though!", "Accurate leaderboard works fine", "Icon kit too, mostly", "Also, keep in mind we're on GitHub", "So you can use GDBrowser locally", diff --git a/html/search.html b/html/search.html index 8860ffd..70779b1 100644 --- a/html/search.html +++ b/html/search.html @@ -37,7 +37,7 @@

Delete all saved online levels?
Levels will be cleared from your browser.

- +
diff --git a/misc/sampleIcons.json b/misc/sampleIcons.json index 9760372..9036c76 100644 --- a/misc/sampleIcons.json +++ b/misc/sampleIcons.json @@ -35,6 +35,7 @@ [ "mulpan", 90, 2, 12, 1 ], [ "npesta", 30, 2, 12, 0 ], [ "Norcda Childa", 53, 37, 12, 1 ], + [ "OmegaFalcon", 11, 22, 4, 1 ], [ "Partition", 3, 4, 3, 0 ], [ "RedHuseey", 98, 9, 12, 0 ], [ "Riot", 35, 7, 3, 1 ], diff --git a/servers.json b/servers.json index 4d81e4f..e45a87c 100644 --- a/servers.json +++ b/servers.json @@ -99,12 +99,12 @@ }, { - "name": "Geometry Dash Gravity", + "name": "GD Gravity", "link": "https://discord.gg/qpUJgBC", "author": "Sai", "authorLink": "https://youtube.com/channel/UCvYEPVUVVLDhwfHCzgVdIIg", "id": "gravity", - "endpoint": "http://gravity4.000webhostapp.com/" + "endpoint": "http://gravity5.000webhostapp.com/" }, { @@ -119,8 +119,8 @@ { "name": "Supreme GDPS", "link": "https://discord.gg/pAU42pbREb", - "author": "Mr.Scatman7", - "authorLink": "https://youtube.com/c/MrScatman7", + "author": "Optimal", + "authorLink": "https://youtube.com/c/Optimal7", "id": "supreme", "endpoint": "http://gdps.mathieuar.fr/supreme1/" }, @@ -150,5 +150,14 @@ "authorLink": "https://www.youtube.com/channel/UCg9HipnGYtfwIax4bLTTzUQ", "id": "resurrection", "endpoint": "http://gdpsresu.000webhostapp.com/" + }, + + { + "name": "Ausk’s GDPS", + "link": "https://discord.gg/AEBhCaa", + "author": "Ausk", + "authorLink": "https://www.youtube.com/channel/UCRbHwfh_BlMUfTZOvquDuRA", + "id": "ausk", + "endpoint": "http://gdps.mathieuar.fr/ausk____/" } ] \ No newline at end of file