diff options
| -rw-r--r-- | public/client.html | 2 | ||||
| -rw-r--r-- | tsconfig.json | 2 | ||||
| -rw-r--r-- | webAO/client.ts | 3 | ||||
| -rw-r--r-- | webAO/dom/muteListClick.ts | 19 | ||||
| -rw-r--r-- | webAO/encoding.ts | 20 | ||||
| -rw-r--r-- | webAO/packets/handlers/handleEM.ts | 2 | ||||
| -rw-r--r-- | webAO/packets/handlers/handleMS.ts | 7 | ||||
| -rw-r--r-- | webAO/styles/client.css | 9 | ||||
| -rw-r--r-- | webAO/viewport/constants/colors.ts | 1 | ||||
| -rw-r--r-- | webAO/viewport/utils/handleICSpeaking.ts | 2 |
10 files changed, 44 insertions, 23 deletions
diff --git a/public/client.html b/public/client.html index 3f45793..ac27662 100644 --- a/public/client.html +++ b/public/client.html @@ -250,7 +250,7 @@ <input id="ic_chat_name" name="ic_chat_name" type="text"> <br> <label for="showname">Show others:</label> - <input id="showname" name="showname" type="checkbox" onclick="showname_click()"> + <input id="showname" name="showname" type="checkbox" onclick="showname_click()" checked> <br> <br> <label for="check_nonint">Noninterrupting Preanimation:</label> diff --git a/tsconfig.json b/tsconfig.json index 1a2dd33..7f8928e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "outDir": "./dist", "allowJs": true, "target": "es5", - "lib": ["DOM","DOM.Iterable"], + "lib": ["DOM","DOM.Iterable","ES2021.String"], "strict": true, "strictNullChecks": false, //document.getElementBy "downlevelIteration": true diff --git a/webAO/client.ts b/webAO/client.ts index 6df8748..a86664c 100644 --- a/webAO/client.ts +++ b/webAO/client.ts @@ -295,9 +295,8 @@ class Client extends EventEmitter { fetchBackgroundList(); fetchEvidenceList(); fetchCharacterList(); - fetchManifest(); } } -export default Client;
\ No newline at end of file +export default Client; diff --git a/webAO/dom/muteListClick.ts b/webAO/dom/muteListClick.ts new file mode 100644 index 0000000..e7c9357 --- /dev/null +++ b/webAO/dom/muteListClick.ts @@ -0,0 +1,19 @@ +import { client } from "../client"; +/** + * Triggered when a character in the mute list is clicked + * @param {MouseEvent} event + */ +export function mutelist_click(_event: Event) { + const mutelist = <HTMLSelectElement>(document.getElementById('mute_select')); + const selected_character = mutelist.options[mutelist.selectedIndex]; + + if (client.chars[selected_character.value].muted === false) { + client.chars[selected_character.value].muted = true; + selected_character.text = `${client.chars[selected_character.value].name} (muted)`; + console.info(`muted ${client.chars[selected_character.value].name}`); + } else { + client.chars[selected_character.value].muted = false; + selected_character.text = client.chars[selected_character.value].name; + } +} +window.mutelist_click = mutelist_click;
\ No newline at end of file diff --git a/webAO/encoding.ts b/webAO/encoding.ts index 54770d0..3477d7b 100644 --- a/webAO/encoding.ts +++ b/webAO/encoding.ts @@ -4,10 +4,10 @@ */ export function escapeChat(estring: string): string { return estring - .replace(/#/g, '<num>') - .replace(/&/g, '<and>') - .replace(/%/g, '<percent>') - .replace(/\$/g, '<dollar>'); + .replaceAll('#', '<num>') + .replaceAll('&', '<and>') + .replaceAll('%', '<percent>') + .replaceAll('$', '<dollar>'); } /** @@ -16,10 +16,10 @@ export function escapeChat(estring: string): string { */ export function unescapeChat(estring: string): string { return estring - .replace(/<num>/g, '#') - .replace(/<and>/g, '&') - .replace(/<percent>/g, '%') - .replace(/<dollar>/g, '$'); + .replaceAll('<num>', '#') + .replaceAll('<and>', '&') + .replaceAll('<percent>', '%') + .replaceAll('<dollar>', '$'); } /** @@ -31,8 +31,8 @@ export function unescapeChat(estring: string): string { export function safeTags(unsafe: string): string { if (unsafe) { return unsafe - .replace(/>/g, '>') - .replace(/</g, '<'); + .replaceAll('>', '>') + .replaceAll('<', '<'); } return ''; } diff --git a/webAO/packets/handlers/handleEM.ts b/webAO/packets/handlers/handleEM.ts index 5e49ea4..cfe63b7 100644 --- a/webAO/packets/handlers/handleEM.ts +++ b/webAO/packets/handlers/handleEM.ts @@ -20,7 +20,7 @@ export const handleEM = (args: string[]) => { for (let i = 2; i < args.length - 1; i++) { if (i % 2 === 0) { - const trackname = safeTags(args[i]); + const trackname = args[i]; const trackindex = Number(args[i - 1]); (<HTMLProgressElement>( document.getElementById("client_loadingbar") diff --git a/webAO/packets/handlers/handleMS.ts b/webAO/packets/handlers/handleMS.ts index 92d65db..c30e777 100644 --- a/webAO/packets/handlers/handleMS.ts +++ b/webAO/packets/handlers/handleMS.ts @@ -78,7 +78,7 @@ export const handleMS = (args: string[]) => { if (extrafeatures.includes("cccc_ic_support")) { const extra_cccc = { - showname: safeTags(args[16]), + showname: prepChat(args[16]), other_charid: Number(args[17]), other_name: safeTags(args[18]), other_emote: safeTags(args[19]), @@ -154,6 +154,11 @@ export const handleMS = (args: string[]) => { chatmsg = Object.assign(extra_28, chatmsg); } + if (chatmsg.content.trim() === "") { + //blankpost + chatmsg.content = ""; + } + // our own message appeared, reset the buttons if (chatmsg.charid === client.charID) { resetICParams(); diff --git a/webAO/styles/client.css b/webAO/styles/client.css index 31bc64b..ced8339 100644 --- a/webAO/styles/client.css +++ b/webAO/styles/client.css @@ -21,15 +21,12 @@ .text_rainbow { background-color: #fff; - background-image: repeating-linear-gradient(to right, - red 0% 8%, orange 8% 16%, yellow 16% 24%, green 24% 32%, blue 32% 40%, - red 40% 48%, orange 48% 56%, yellow 56% 64%, green 64% 72%, blue 72% 80%, - red 80% 88%, orange 88% 96%, yellow 96% 100%); - background-size: 40% 40%; + background-image: repeating-linear-gradient(to right, red 0% 20%, orange 20% 40%, yellow 40% 60%, green 60% 80%, blue 80% 100%); + background-size: 75% 75%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; - animation: rainbow 4s linear infinite; + animation: rainbow 2s linear infinite; } @keyframes rainbow_alt { diff --git a/webAO/viewport/constants/colors.ts b/webAO/viewport/constants/colors.ts index aad3530..4858081 100644 --- a/webAO/viewport/constants/colors.ts +++ b/webAO/viewport/constants/colors.ts @@ -8,4 +8,5 @@ export const COLORS = [ "pink", "cyan", "grey", + "rainbow", ];
\ No newline at end of file diff --git a/webAO/viewport/utils/handleICSpeaking.ts b/webAO/viewport/utils/handleICSpeaking.ts index 83c216d..e2d147d 100644 --- a/webAO/viewport/utils/handleICSpeaking.ts +++ b/webAO/viewport/utils/handleICSpeaking.ts @@ -157,7 +157,7 @@ export const handle_ic_speaking = async (playerChatMsg: ChatMsg) => { client.viewport.getChatmsg().startspeaking = false; } else { client.viewport.getChatmsg().startspeaking = true; - if (client.viewport.getChatmsg().content !== "") chatContainerBox.style.opacity = "1"; + if (client.viewport.getChatmsg().content.trim() !== "") chatContainerBox.style.opacity = "1"; } client.viewport.getChatmsg().preanimdelay = gifLength; const setAside = { |
