diff options
| author | Caleb <caleb.mabry.15@cnu.edu> | 2022-09-07 17:01:25 -0400 |
|---|---|---|
| committer | Caleb <caleb.mabry.15@cnu.edu> | 2022-09-07 17:01:25 -0400 |
| commit | 3f8d0974b327e663328bc36cd97f1ba1855a2269 (patch) | |
| tree | fe9a18c8c0cdbf1ab8ef037af6f98a53b0ea018f | |
| parent | 5362069a05b4bfbef03f37605af979aa3cf0e066 (diff) | |
Added more functions
| -rw-r--r-- | webAO/client.ts | 158 | ||||
| -rw-r--r-- | webAO/dom/cancelEvidence.ts | 3 | ||||
| -rw-r--r-- | webAO/dom/changeBackgroundOOC.ts | 28 | ||||
| -rw-r--r-- | webAO/dom/changeCallwords.ts | 13 | ||||
| -rw-r--r-- | webAO/dom/editEvidence.ts | 22 | ||||
| -rw-r--r-- | webAO/dom/getIndexFromSelect.ts | 16 | ||||
| -rw-r--r-- | webAO/dom/iniEdit.ts | 14 | ||||
| -rw-r--r-- | webAO/dom/modCallTest.ts | 8 | ||||
| -rw-r--r-- | webAO/dom/pickEmotion.ts | 24 | ||||
| -rw-r--r-- | webAO/dom/pickEvidence.ts | 5 | ||||
| -rw-r--r-- | webAO/dom/switchPanTilt.ts | 16 | ||||
| -rw-r--r-- | webAO/dom/toggleShout.ts | 5 | ||||
| -rw-r--r-- | webAO/dom/updateEvidenceIcon.ts | 28 | ||||
| -rw-r--r-- | webAO/packets/handlers/handleBN.ts | 3 | ||||
| -rw-r--r-- | webAO/packets/handlers/handlePV.ts | 3 |
15 files changed, 183 insertions, 163 deletions
diff --git a/webAO/client.ts b/webAO/client.ts index 321872f..5618f3e 100644 --- a/webAO/client.ts +++ b/webAO/client.ts @@ -966,54 +966,6 @@ export function resetICParams() { } /** - * Triggered by a changed callword list - */ -export function changeCallwords() { - client.callwords = (<HTMLInputElement>( - document.getElementById("client_callwords") - )).value.split("\n"); - setCookie("callwords", client.callwords.join("\n")); -} -window.changeCallwords = changeCallwords; - -/** - * Triggered by the modcall sfx dropdown - */ -export function modcall_test() { - packetHandler.get("ZZ")("test#test".split("#")); -} -window.modcall_test = modcall_test; - -/** - * Triggered by the ini button. - */ -export async function iniedit() { - const ininame = (<HTMLInputElement>document.getElementById("client_ininame")) - .value; - const inicharID = client.charID; - await client.handleCharacterInfo(ininame.split("&"), inicharID); - packetHandler.get("PV")(`PV#0#CID#${inicharID}`.split("#")); -} -window.iniedit = iniedit; - -/** - * Triggered by the pantilt checkbox - */ -export async function switchPanTilt() { - const fullview = document.getElementById("client_fullview"); - const checkbox = <HTMLInputElement>document.getElementById("client_pantilt"); - - if (checkbox.checked) { - fullview.style.transition = "0.5s ease-in-out"; - } else { - fullview.style.transition = "none"; - } - - return; -} -window.switchPanTilt = switchPanTilt; - -/** * Triggered by the change aspect ratio checkbox */ export async function switchAspectRatio() { @@ -1201,29 +1153,7 @@ export function pickChar(ccharacter: number) { } window.pickChar = pickChar; -/** - * Highlights and selects an emotion for in-character chat. - * @param {string} emo the new emotion to be selected - */ -export function pickEmotion(emo: number) { - try { - if (client.selectedEmote !== -1) { - document.getElementById(`emo_${client.selectedEmote}`).className = - "emote_button"; - } - } catch (err) { - // do nothing - } - client.selectedEmote = emo; - document.getElementById(`emo_${emo}`).className = "emote_button dark"; - - (<HTMLInputElement>document.getElementById("sendsfx")).checked = - client.emote.sfx.length > 1; - (<HTMLInputElement>document.getElementById("sendpreanim")).checked = - client.emote.zoom == 1; -} -window.pickEmotion = pickEmotion; /** @@ -1244,25 +1174,7 @@ export function addEvidence() { } window.addEvidence = addEvidence; -/** - * Edit selected evidence. - */ -export function editEvidence() { - const evidence_select = <HTMLSelectElement>( - document.getElementById("evi_select") - ); - const id = client.selectedEvidence - 1; - client.sendEE( - id, - (<HTMLInputElement>document.getElementById("evi_name")).value, - (<HTMLInputElement>document.getElementById("evi_desc")).value, - evidence_select.selectedIndex === 0 - ? (<HTMLInputElement>document.getElementById("evi_filename")).value - : evidence_select.options[evidence_select.selectedIndex].text - ); - cancelEvidence(); -} -window.editEvidence = editEvidence; + /** * Delete selected evidence. @@ -1275,22 +1187,7 @@ export function deleteEvidence() { window.deleteEvidence = deleteEvidence; -/** - * Find index of anything in select box. - * @param {string} select_box the select element name - * @param {string} value the value that need to be compared - */ -export function getIndexFromSelect(select_box: string, value: string) { - // Find if icon alraedy existed in select box - const select_element = <HTMLSelectElement>document.getElementById(select_box); - for (let i = 1; i < select_element.length; ++i) { - if (select_element.options[i].value === value) { - return i; - } - } - return 0; -} -window.getIndexFromSelect = getIndexFromSelect; + /** * Set the style of the chatbox @@ -1319,57 +1216,6 @@ window.setChatbox = setChatbox; -/** - * Update evidence icon. - */ -export function updateEvidenceIcon() { - const evidence_select = <HTMLSelectElement>( - document.getElementById("evi_select") - ); - const evidence_filename = <HTMLInputElement>( - document.getElementById("evi_filename") - ); - const evidence_iconbox = <HTMLImageElement>( - document.getElementById("evi_preview") - ); - - if (evidence_select.selectedIndex === 0) { - evidence_filename.style.display = "initial"; - evidence_iconbox.src = `${AO_HOST}evidence/${encodeURI( - evidence_filename.value.toLowerCase() - )}`; - } else { - evidence_filename.style.display = "none"; - evidence_iconbox.src = `${AO_HOST}evidence/${encodeURI( - evidence_select.value.toLowerCase() - )}`; - } -} -window.updateEvidenceIcon = updateEvidenceIcon; - -/** - * Change background via OOC. - */ -export function changeBackgroundOOC() { - const selectedBG = <HTMLSelectElement>document.getElementById("bg_select"); - const changeBGCommand = "bg $1"; - const bgFilename = <HTMLInputElement>document.getElementById("bg_filename"); - - let filename = ""; - if (selectedBG.selectedIndex === 0) { - filename = bgFilename.value; - } else { - filename = selectedBG.value; - } - - - if (mode === "join") { - client.sendOOC(`/${changeBGCommand.replace("$1", filename)}`); - } else if (mode === "replay") { - client.sendSelf(`BN#${filename}#%`); - } -} -window.changeBackgroundOOC = changeBackgroundOOC; /** * Change role via OOC. diff --git a/webAO/dom/cancelEvidence.ts b/webAO/dom/cancelEvidence.ts index 6565288..a906613 100644 --- a/webAO/dom/cancelEvidence.ts +++ b/webAO/dom/cancelEvidence.ts @@ -1,4 +1,5 @@ -import { client, updateEvidenceIcon } from "../client"; +import { client, } from "../client"; +import { updateEvidenceIcon } from './updateEvidenceIcon' import { AO_HOST } from "../client/aoHost"; diff --git a/webAO/dom/changeBackgroundOOC.ts b/webAO/dom/changeBackgroundOOC.ts new file mode 100644 index 0000000..f840729 --- /dev/null +++ b/webAO/dom/changeBackgroundOOC.ts @@ -0,0 +1,28 @@ + +import queryParser from '../utils/queryParser' +import { client } from '../client' +let { mode } = queryParser() + +/** + * Change background via OOC. + */ +export function changeBackgroundOOC() { + const selectedBG = <HTMLSelectElement>document.getElementById("bg_select"); + const changeBGCommand = "bg $1"; + const bgFilename = <HTMLInputElement>document.getElementById("bg_filename"); + + let filename = ""; + if (selectedBG.selectedIndex === 0) { + filename = bgFilename.value; + } else { + filename = selectedBG.value; + } + + + if (mode === "join") { + client.sendOOC(`/${changeBGCommand.replace("$1", filename)}`); + } else if (mode === "replay") { + client.sendSelf(`BN#${filename}#%`); + } +} +window.changeBackgroundOOC = changeBackgroundOOC;
\ No newline at end of file diff --git a/webAO/dom/changeCallwords.ts b/webAO/dom/changeCallwords.ts new file mode 100644 index 0000000..28be674 --- /dev/null +++ b/webAO/dom/changeCallwords.ts @@ -0,0 +1,13 @@ +import { client } from '../client' +import setCookie from '../utils/setCookie'; + +/** + * Triggered by a changed callword list + */ +export function changeCallwords() { + client.callwords = (<HTMLInputElement>( + document.getElementById("client_callwords") + )).value.split("\n"); + setCookie("callwords", client.callwords.join("\n")); +} +window.changeCallwords = changeCallwords;
\ No newline at end of file diff --git a/webAO/dom/editEvidence.ts b/webAO/dom/editEvidence.ts new file mode 100644 index 0000000..2cc4565 --- /dev/null +++ b/webAO/dom/editEvidence.ts @@ -0,0 +1,22 @@ +import { client } from '../client' +import { cancelEvidence } from './cancelEvidence'; + +/** + * Edit selected evidence. + */ +export function editEvidence() { + const evidence_select = <HTMLSelectElement>( + document.getElementById("evi_select") + ); + const id = client.selectedEvidence - 1; + client.sendEE( + id, + (<HTMLInputElement>document.getElementById("evi_name")).value, + (<HTMLInputElement>document.getElementById("evi_desc")).value, + evidence_select.selectedIndex === 0 + ? (<HTMLInputElement>document.getElementById("evi_filename")).value + : evidence_select.options[evidence_select.selectedIndex].text + ); + cancelEvidence(); +} +window.editEvidence = editEvidence;
\ No newline at end of file diff --git a/webAO/dom/getIndexFromSelect.ts b/webAO/dom/getIndexFromSelect.ts new file mode 100644 index 0000000..2f21653 --- /dev/null +++ b/webAO/dom/getIndexFromSelect.ts @@ -0,0 +1,16 @@ +/** + * Find index of anything in select box. + * @param {string} select_box the select element name + * @param {string} value the value that need to be compared + */ +export function getIndexFromSelect(select_box: string, value: string) { + // Find if icon alraedy existed in select box + const select_element = <HTMLSelectElement>document.getElementById(select_box); + for (let i = 1; i < select_element.length; ++i) { + if (select_element.options[i].value === value) { + return i; + } + } + return 0; +} +window.getIndexFromSelect = getIndexFromSelect;
\ No newline at end of file diff --git a/webAO/dom/iniEdit.ts b/webAO/dom/iniEdit.ts new file mode 100644 index 0000000..359a226 --- /dev/null +++ b/webAO/dom/iniEdit.ts @@ -0,0 +1,14 @@ +import { client } from "../client"; +import { packetHandler } from "../packets/packetHandler"; + +/** + * Triggered by the ini button. + */ +export async function iniedit() { + const ininame = (<HTMLInputElement>document.getElementById("client_ininame")) + .value; + const inicharID = client.charID; + await client.handleCharacterInfo(ininame.split("&"), inicharID); + packetHandler.get("PV")!(`PV#0#CID#${inicharID}`.split("#")); +} +window.iniedit = iniedit; diff --git a/webAO/dom/modCallTest.ts b/webAO/dom/modCallTest.ts new file mode 100644 index 0000000..7058caf --- /dev/null +++ b/webAO/dom/modCallTest.ts @@ -0,0 +1,8 @@ +import { packetHandler } from "../packets/packetHandler"; +/** + * Triggered by the modcall sfx dropdown + */ +export function modcall_test() { + packetHandler.get("ZZ")!("test#test".split("#")); +} +window.modcall_test = modcall_test;
\ No newline at end of file diff --git a/webAO/dom/pickEmotion.ts b/webAO/dom/pickEmotion.ts new file mode 100644 index 0000000..b72583f --- /dev/null +++ b/webAO/dom/pickEmotion.ts @@ -0,0 +1,24 @@ +import { client } from '../client' +/** + * Highlights and selects an emotion for in-character chat. + * @param {string} emo the new emotion to be selected + */ +export function pickEmotion(emo: number) { + try { + if (client.selectedEmote !== -1) { + document.getElementById(`emo_${client.selectedEmote}`)!.className = + "emote_button"; + } + } catch (err) { + // do nothing + } + client.selectedEmote = emo; + document.getElementById(`emo_${emo}`)!.className = "emote_button dark"; + + (<HTMLInputElement>document.getElementById("sendsfx")).checked = + client.emote.sfx.length > 1; + + (<HTMLInputElement>document.getElementById("sendpreanim")).checked = + client.emote.zoom == 1; +} +window.pickEmotion = pickEmotion;
\ No newline at end of file diff --git a/webAO/dom/pickEvidence.ts b/webAO/dom/pickEvidence.ts index 32e52ba..411acc1 100644 --- a/webAO/dom/pickEvidence.ts +++ b/webAO/dom/pickEvidence.ts @@ -1,4 +1,7 @@ -import { cancelEvidence, client, getIndexFromSelect, updateEvidenceIcon } from '../client' +import { client } from '../client' +import { cancelEvidence } from './cancelEvidence'; +import { updateEvidenceIcon } from './updateEvidenceIcon' +import { getIndexFromSelect } from './getIndexFromSelect' /** * Highlights and selects an evidence for in-character chat. diff --git a/webAO/dom/switchPanTilt.ts b/webAO/dom/switchPanTilt.ts new file mode 100644 index 0000000..7ceea06 --- /dev/null +++ b/webAO/dom/switchPanTilt.ts @@ -0,0 +1,16 @@ +/** + * Triggered by the pantilt checkbox + */ +export async function switchPanTilt() { + const fullview = document.getElementById("client_fullview")!; + const checkbox = <HTMLInputElement>document.getElementById("client_pantilt"); + + if (checkbox.checked) { + fullview.style.transition = "0.5s ease-in-out"; + } else { + fullview.style.transition = "none"; + } + + return; +} +window.switchPanTilt = switchPanTilt;
\ No newline at end of file diff --git a/webAO/dom/toggleShout.ts b/webAO/dom/toggleShout.ts index 8094691..cb12f49 100644 --- a/webAO/dom/toggleShout.ts +++ b/webAO/dom/toggleShout.ts @@ -1,6 +1,5 @@ import { selectedShout, setSelectedShout } from "../client"; - /** * Highlights and selects a shout for in-character chat. * If the same shout button is selected, then the shout is canceled. @@ -9,14 +8,14 @@ import { selectedShout, setSelectedShout } from "../client"; export function toggleShout(shout: number) { if (shout === selectedShout) { document.getElementById(`button_${shout}`)!.className = "client_button"; - selectedShout = 0; + setSelectedShout(0); } else { document.getElementById(`button_${shout}`)!.className = "client_button dark"; if (selectedShout) { document.getElementById(`button_${selectedShout}`)!.className = "client_button"; } - selectedShout = shout; + setSelectedShout(shout); } } window.toggleShout = toggleShout; diff --git a/webAO/dom/updateEvidenceIcon.ts b/webAO/dom/updateEvidenceIcon.ts new file mode 100644 index 0000000..bff0475 --- /dev/null +++ b/webAO/dom/updateEvidenceIcon.ts @@ -0,0 +1,28 @@ +import { AO_HOST } from "../client/aoHost"; +/** + * Update evidence icon. + */ +export function updateEvidenceIcon() { + const evidence_select = <HTMLSelectElement>( + document.getElementById("evi_select") + ); + const evidence_filename = <HTMLInputElement>( + document.getElementById("evi_filename") + ); + const evidence_iconbox = <HTMLImageElement>( + document.getElementById("evi_preview") + ); + + if (evidence_select.selectedIndex === 0) { + evidence_filename.style.display = "initial"; + evidence_iconbox.src = `${AO_HOST}evidence/${encodeURI( + evidence_filename.value.toLowerCase() + )}`; + } else { + evidence_filename.style.display = "none"; + evidence_iconbox.src = `${AO_HOST}evidence/${encodeURI( + evidence_select.value.toLowerCase() + )}`; + } +} +window.updateEvidenceIcon = updateEvidenceIcon; diff --git a/webAO/packets/handlers/handleBN.ts b/webAO/packets/handlers/handleBN.ts index 94029b3..3c5d95f 100644 --- a/webAO/packets/handlers/handleBN.ts +++ b/webAO/packets/handlers/handleBN.ts @@ -1,7 +1,8 @@ -import { client, getIndexFromSelect } from "../../client"; +import { client } from "../../client"; import { AO_HOST } from "../../client/aoHost"; import { safeTags } from "../../encoding"; import { updateBackgroundPreview } from '../../dom/updateBackgroundPreview' +import { getIndexFromSelect } from '../../dom/getIndexFromSelect' import tryUrls from "../../utils/tryUrls"; diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts index fba2a3c..3c669b9 100644 --- a/webAO/packets/handlers/handlePV.ts +++ b/webAO/packets/handlers/handlePV.ts @@ -1,6 +1,7 @@ -import { client, pickEmotion } from "../../client"; +import { client } from "../../client"; import fileExists from "../../utils/fileExists"; import { updateActionCommands } from '../../dom/updateActionCommands' +import { pickEmotion } from '../../dom/pickEmotion' import { AO_HOST } from "../../client/aoHost"; /** |
