diff options
| author | stonedDiscord <Tukz@gmx.de> | 2022-03-11 12:46:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-11 12:46:07 +0100 |
| commit | 4b918084e413933cfc819bd1a1246c6a1ac13e31 (patch) | |
| tree | d01a1ef9c4818336fd82330855e09a74824a5fa7 /webAO/utils | |
| parent | 6dd1b296c2dd1d7462dd8514dff43db59ac8dd19 (diff) | |
| parent | 20424a76b00b303a94921a1b3c5fec6495471f0c (diff) | |
Merge pull request #101 from caleb-mabry/remove-unused-code
Magnum Opus Pt1
Diffstat (limited to 'webAO/utils')
| -rw-r--r-- | webAO/utils/fileExists.js | 8 | ||||
| -rw-r--r-- | webAO/utils/fileExistsSync.js | 11 | ||||
| -rw-r--r-- | webAO/utils/getAnimLength.js | 22 | ||||
| -rw-r--r-- | webAO/utils/getResources.js | 39 | ||||
| -rw-r--r-- | webAO/utils/queryParser.js | 9 |
5 files changed, 89 insertions, 0 deletions
diff --git a/webAO/utils/fileExists.js b/webAO/utils/fileExists.js new file mode 100644 index 0000000..6d32a1e --- /dev/null +++ b/webAO/utils/fileExists.js @@ -0,0 +1,8 @@ +const fileExists = async (url) => { + const xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(); + + return xhr.status === 200; +}; +export default fileExists; diff --git a/webAO/utils/fileExistsSync.js b/webAO/utils/fileExistsSync.js new file mode 100644 index 0000000..1d7fde2 --- /dev/null +++ b/webAO/utils/fileExistsSync.js @@ -0,0 +1,11 @@ +const fileExistsSync = (url) => { + try { + const http = new XMLHttpRequest(); + http.open('HEAD', url, false); + http.send(); + return http.status != 404; + } catch (e) { + return false; + } +}; +export default fileExistsSync; diff --git a/webAO/utils/getAnimLength.js b/webAO/utils/getAnimLength.js new file mode 100644 index 0000000..e64703f --- /dev/null +++ b/webAO/utils/getAnimLength.js @@ -0,0 +1,22 @@ +import calculatorHandler from './calculatorHandler'; +import fileExists from './fileExists.js'; +/** + * Gets animation length. If the animation cannot be found, it will + * silently fail and return 0 instead. + * @param {string} filename the animation file name + */ + +const getAnimLength = async (url) => { + const extensions = ['.gif', '.webp']; + for (const extension of extensions) { + const urlWithExtension = url + extension; + const exists = await fileExists(urlWithExtension); + if (exists) { + const fileBuffer = await requestBuffer(urlWithExtension); + const length = calculatorHandler[extension](fileBuffer); + return length; + } + } + return 0; +}; +export default getAnimLength; diff --git a/webAO/utils/getResources.js b/webAO/utils/getResources.js new file mode 100644 index 0000000..a0c513e --- /dev/null +++ b/webAO/utils/getResources.js @@ -0,0 +1,39 @@ +const getResources = (AO_HOST, THEME) => ({ + holdit: { + src: `${AO_HOST}misc/default/holdit_bubble.png`, + duration: 720, + }, + objection: { + src: `${AO_HOST}misc/default/objection_bubble.png`, + duration: 720, + }, + takethat: { + src: `${AO_HOST}misc/default/takethat_bubble.png`, + duration: 840, + }, + custom: { + src: '', + duration: 840, + }, + witnesstestimony: { + src: `${AO_HOST}themes/${THEME}/witnesstestimony.gif`, + duration: 1560, + sfx: `${AO_HOST}sounds/general/sfx-testimony.opus`, + }, + crossexamination: { + src: `${AO_HOST}themes/${THEME}/crossexamination.gif`, + duration: 1600, + sfx: `${AO_HOST}sounds/general/sfx-testimony2.opus`, + }, + guilty: { + src: `${AO_HOST}themes/${THEME}/guilty.gif`, + duration: 2870, + sfx: `${AO_HOST}sounds/general/sfx-guilty.opus`, + }, + notguilty: { + src: `${AO_HOST}themes/${THEME}/notguilty.gif`, + duration: 2440, + sfx: `${AO_HOST}sounds/general/sfx-notguilty.opus`, + }, +}); +export default getResources; diff --git a/webAO/utils/queryParser.js b/webAO/utils/queryParser.js new file mode 100644 index 0000000..1c2b83a --- /dev/null +++ b/webAO/utils/queryParser.js @@ -0,0 +1,9 @@ +// Get the arguments from the URL bar +const queryParser = () => { + const queryDict = {}; + location.search.substr(1).split('&').forEach((item) => { + queryDict[item.split('=')[0]] = item.split('=')[1]; + }); + return queryDict; +}; +export default queryParser; |
