From 16a1b4d4918e70bffbe526125fc42e2e3e684113 Mon Sep 17 00:00:00 2001 From: GDColon Date: Wed, 28 Oct 2020 21:25:13 -0400 Subject: [PATCH] Demon Leaderboard! --- LICENSE | 2 +- api/download.js | 1 + .../accurate.js} | 0 api/{ => leaderboards}/leaderboardLevel.js | 0 .../scores.js} | 0 assets/css/browser.css | 6 +- assets/demonleaderboard.png | Bin 0 -> 16556 bytes assets/site.png | Bin 0 -> 10715 bytes assets/trophy-gold.png | Bin 0 -> 4441 bytes html/api.html | 3 +- html/demon.html | 115 ++++++++++++++++++ html/iconkit.html | 2 - html/leaderboard.html | 4 +- html/level.html | 23 ++-- html/levelboard.html | 18 +-- index.js | 11 +- package.json | 1 - 17 files changed, 150 insertions(+), 36 deletions(-) rename api/{accurateLeaderboard.js => leaderboards/accurate.js} (100%) rename api/{ => leaderboards}/leaderboardLevel.js (100%) rename api/{leaderboard.js => leaderboards/scores.js} (100%) create mode 100644 assets/demonleaderboard.png create mode 100644 assets/site.png create mode 100644 assets/trophy-gold.png create mode 100644 html/demon.html diff --git a/LICENSE b/LICENSE index 7f9d56d..b2dc63e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Colon +Copyright (c) 2020 Colon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/api/download.js b/api/download.js index c6990a3..add1db4 100644 --- a/api/download.js +++ b/api/download.js @@ -66,6 +66,7 @@ module.exports = async (app, req, res, api, ID, analyze) => { level.songID = "Level " + [parseInt(levelInfo[12]) + 1] } + level.extraString = levelInfo[36] level.data = levelInfo[4] if (analyze) return app.run.analyze(app, req, res, level) diff --git a/api/accurateLeaderboard.js b/api/leaderboards/accurate.js similarity index 100% rename from api/accurateLeaderboard.js rename to api/leaderboards/accurate.js diff --git a/api/leaderboardLevel.js b/api/leaderboards/leaderboardLevel.js similarity index 100% rename from api/leaderboardLevel.js rename to api/leaderboards/leaderboardLevel.js diff --git a/api/leaderboard.js b/api/leaderboards/scores.js similarity index 100% rename from api/leaderboard.js rename to api/leaderboards/scores.js diff --git a/assets/css/browser.css b/assets/css/browser.css index 9f86c9f..2863ce6 100644 --- a/assets/css/browser.css +++ b/assets/css/browser.css @@ -143,7 +143,7 @@ h1 { font-weight: normal; margin: 0% 0%; font-size: 6vh; - font-family: Pusab; + font-family: Pusab, Arial; color: white; letter-spacing: 0.02em; overflow: hidden; @@ -157,7 +157,7 @@ h2 { font-weight: normal; margin: 0 0; font-size: 8vh; - font-family: Pusab; + font-family: Pusab, Arial; color: rgb(255, 200, 0); letter-spacing: 0.02em; text-shadow: -0.275vh -0.275vh 0vh #000, 0.275vh -0.275vh 0vh #000, -0.275vh 0.275vh 0vh #000, 0.275vh 0.275vh 0vh #000, 0.5vh 0.5vh 0vh rgba(0,0,0,0.4); @@ -167,7 +167,7 @@ h3, input[type=text], input[type=password], input[type=number] { font-weight: normal; margin: 0 0; font-size: 3.5vh; - font-family: Pusab; + font-family: Pusab, Arial; color: white; letter-spacing: 0.02em; text-shadow: -0.15vh -0.15vh 0vh #000, 0.15vh -0.15vh 0vh #000, -0.15vh 0.15vh 0vh #000, 0.15vh 0.15vh 0vh #000; diff --git a/assets/demonleaderboard.png b/assets/demonleaderboard.png new file mode 100644 index 0000000000000000000000000000000000000000..1d71937c2bf0309f59e29bca5ac6b837983c2c5a GIT binary patch literal 16556 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 literal 0 HcmV?d00001 diff --git a/assets/site.png b/assets/site.png new file mode 100644 index 0000000000000000000000000000000000000000..92f8704f9ee902ffcbd38ad692834cae127f2ead GIT binary patch literal 10715 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 N002ovPDHLkV1kjb*8Kng literal 0 HcmV?d00001 diff --git a/assets/trophy-gold.png b/assets/trophy-gold.png new file mode 100644 index 0000000000000000000000000000000000000000..518f2835ef6a06235583ca926750956782856da0 GIT binary patch literal 4441 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 literal 0 HcmV?d00001 diff --git a/html/api.html b/html/api.html index 97406ba..12e7442 100644 --- a/html/api.html +++ b/html/api.html @@ -154,7 +154,8 @@

updated: Time since the level was last updated

password: The password to copy the level. 0 means the level isn't copyable and 1 means it's free to copy

ldm: If the level contains a checkbox for Low Detail Mode

-

data: The actual data of the level. Don't ask how to use it, because I have no idea

+

extraString: An unknown string which most likely contains info on how the level was verified

+

data: The actual data of the level, compressed with GZIP


diff --git a/html/demon.html b/html/demon.html new file mode 100644 index 0000000..937dbcd --- /dev/null +++ b/html/demon.html @@ -0,0 +1,115 @@ + + Demon Leaderboard + + + + + + + + + + + +
+ + + +
+ +
+ +
+ +
+ + + +
+ +
+

+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/html/iconkit.html b/html/iconkit.html index 0d06c69..dff7447 100644 --- a/html/iconkit.html +++ b/html/iconkit.html @@ -181,8 +181,6 @@ fetch('./api/icons').then(res => { $(this).children().not('#iconprogressbar').hide()}) if ($(forms).html() == "") appendIcon(filterIcon(form), form) - - if (form == "swing" && !beenThereDoneThat) {beenThereDoneThat = true; $('#swings').append("

Since the texture was ripped from GD Meltdown, there's no UHD version available.

")} $(forms).show() }) diff --git a/html/leaderboard.html b/html/leaderboard.html index 23828fb..c5d247b 100644 --- a/html/leaderboard.html +++ b/html/leaderboard.html @@ -133,9 +133,7 @@ function leaderboard(val) { $('#searchBox').append('
') $('#loading').hide(); - $('.lazyLoad').Lazy({ - appendScroll: '#searchBox' - }); + $('.lazyLoad').Lazy({ appendScroll: '#searchBox' }); }) } diff --git a/html/level.html b/html/level.html index a1b7e81..ab09c5a 100644 --- a/html/level.html +++ b/html/level.html @@ -18,7 +18,7 @@

Level Info

[[NAME]]
- ID: [[ID]][[ORIGINALINFO]][[LOWDETAIL]][[PASS]][[UPLOAD]][[UPDATE]] + ID: [[ID]][[ORIGINALINFO]][[LOWDETAIL]][[PASS]][[UPLOAD]][[UPDATE]][[HACKED]]
Version: [[VERSION]]
GD Version: [[GAMEVERSION]] [[OBJECTINFO]][[REQUESTED]] @@ -132,7 +132,7 @@

-
+

@@ -190,6 +190,7 @@ if (!'[[UPLOADED]]'.startsWith('[')) { $('#levelInfo').html($('#levelInfo').html() .replace('[[PASS]]', `
Password: ${'[[PASSWORD]]' == '0' ? "No copy" : '[[PASSWORD]]' == 1 ? "Free copy" : '[[PASSWORD]]'}`) .replace('[[LOWDETAIL]]', `
Low Detail: ${[[LDM]] ? "Yes" : "No"}`) + .replace('[[HACKED]]', `
Extra String: ${'[[EXTRASTRING]]'.length} chars`) .replace('[[UPLOAD]]', '[[UPLOADED]]' == "0" ? "" : `
Uploaded: [[UPLOADED]]`) .replace('[[UPDATE]]', '[[UPDATED]]' == "0" ? "" : `
Updated: [[UPDATED]]`))} @@ -197,6 +198,7 @@ else { $('#levelInfo').html($('#levelInfo').html() .replace('[[PASS]]', "") .replace('[[LOWDETAIL]]', "") + .replace('[[HACKED]]', "") .replace('[[UPLOAD]]', "") .replace('[[UPDATE]]', "") + `
Download additional info` @@ -208,7 +210,10 @@ if ([[ORBS]] == 0) $('.orbs').hide() if ([[STARS]] == 0) $('.stars').hide() if ([[DIAMONDS]] == 0 || !'[[DEMONLIST]]'.startsWith("[")) $('.diamonds').hide() -if (!'[[DEMONLIST]]'.startsWith("[")) $('.demonList').show() +if (!'[[DEMONLIST]]'.startsWith("[")) { + $('.demonList').show() + $('#leaderboardbtn').attr('src', '../assets/demonleaderboard.png').parent().attr('href', '../demon/[[DEMONLIST]]') +} else $('.demonList').remove() if ("[[SONGID]]".startsWith("Level")) { @@ -224,14 +229,16 @@ if ([[COINS]] > 1) $("#coins").append(``) if ("[[ACCOUNTID]]" == "0") { - $("#authorName").addClass("green").addClass("unregistered") - $("#authorLink").attr('href', '/search/[[AUTHORID]]?user') - } + $("#authorName").addClass("green").addClass("unregistered") + $("#authorLink").attr('href', '/search/[[AUTHORID]]?user') +} -if (window.location.pathname == "/weekly") $('body').addClass('darkBG') +if (window.location.pathname == "/weekly") { + $('body').addClass('darkBG') + $('.cornerPiece').addClass('grayscale') +} $(window).on('load', function() { - if ($('#songname')[0].scrollWidth > $('#songBox')[0].scrollWidth) { let overflow = ($('#songname')[0].scrollWidth - $('#songBox')[0].scrollWidth) * 0.007 if (overflow > 3) overflow = 3 diff --git a/html/levelboard.html b/html/levelboard.html index d66a86a..b123cd9 100644 --- a/html/levelboard.html +++ b/html/levelboard.html @@ -13,14 +13,6 @@
- -
@@ -66,10 +58,9 @@