aboutsummaryrefslogtreecommitdiff
path: root/src/packet_distribution.cpp
AgeCommit message (Collapse)Author
2026-03-29Add authentication dialogOsmium Sorcerer
Introduce start_auth_flow, a function invoked by typing `/auth username` in OOC. It sends an public-key authentication request to the server, starting the entire flow. The flow invoves two dialogs: to select the key, and to enter the passphrase to unlock the key. For convenience, each successful unlock also remembers the key for that username on the server, storing this in `saved_auth.json` (I chose JSON because I wanted it to stay human-editable; INI would be better, but it suffers from bad platform quirks in Qt).
2026-03-29Remove IL packetOsmium Sorcerer
IL packet is a relic from pre-IPID days when moderators used it to get the "IP list" of connected users. Its function is to display a list of strings in the OOC chat box. That's it. Not even some obscure feature that can be revived. Everything IL can do, CT can do (the "OOC message" packet).
2026-03-29Remove sending CT on server joinOsmium Sorcerer
Strange idea, no realization. Trying to set up a "username requirement" is antithetical to AO's pseudonymous nature. At least, CT packet is not the way to do this: nothing guarantees its uniqueness, it's prone to spoofing if we can send arbitrary CT messages at some point during the handshake, and not everyone has their OOC names preconfigured. It was never meant to be. Delete it.
2026-03-29Support passworded characters in character listOsmium Sorcerer
This obscure feature has been present for years, from sending passwords to the server to showing `char_passworded` image over character icons. Servers could already exploit clients sending `PW` with a password every time they select a character to implement passworded characters. The clients had no way of knowing which ones were passworded, however, and couldn't filter them despite "Passworded" checkbox being here all along. The approach used by this commit is a hack. During loading, server sends SC which is a list of characters, each one having name, description, and evidence. In practice, only names were used. Descriptions were stored in memory but unused, and evidence was ignored altogether. By adding a magic value "P" in this "character evidence" field, server can mark passworded characters without breaking Vanilla compatibility.
2025-04-21demo fixes (#1095)in1tiate
- fix RD being recorded twice - fix demos recording themselves
2025-01-13Merge branch 'master' into cleanupin1tiate
2025-01-13Add the ability to "favorite" songs and pin them to the the top of the ↵in1tiate
songlist (#1066) * add song favoriting * remove incorrectly placed sort() * store as qstringlist instead of using keys
2025-01-11clazy cleanupin1tiate
2024-08-03Fix crash in demos due to PU not being recorded (#1032)Salanto
Added some guards due to bad demo files being shared by now
2024-08-02Send username when connecting (#1031)Salanto
Hack af, but the alternative is breaking compatability on the last mile.
2024-07-21Attorney Online 2.11 Release Candidate 1 (#1026)Salanto
* Version bump and minor fixes * Remove unecessary headers Thanks QtCreator
2024-07-14Playerlist fix (#1018)Leifa
* Commit * Boyfailure code commit * Cooking code spaghetti * Accidental overwrite recursive function call hell * Implemented player list * Add partial moderator widget Sleepy time! Hee-Hoo! * Moderator Dialog - Step 1 - WIP * Appease the clang gods * Clang appeasement policy * *sacrifices goat to clang* * Added player report, reworked implementation, ... * Added player-specific report * Reworked implementation * No longer uses JSON. * Removed preset loader. * Remove unused code. * Safety measures against potential segfault. * Removes unused code --------- Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2024-07-12Add playerlist widget element (#996)Salanto
* Commit * Boyfailure code commit * Cooking code spaghetti * Accidental overwrite recursive function call hell * Implemented player list * Add partial moderator widget Sleepy time! Hee-Hoo! * Moderator Dialog - Step 1 - WIP * Appease the clang gods * Clang appeasement policy * *sacrifices goat to clang* * Added player report, reworked implementation, ... * Added player-specific report * Reworked implementation * No longer uses JSON. * Removed preset loader. --------- Co-authored-by: TrickyLeifa <date.epoch@gmail.com> Co-authored-by: Leifa <26681464+TrickyLeifa@users.noreply.github.com>
2024-07-09Remove TCP entry point (#1007)Leifa
* Remove TCP entry point Resolve #987 * Remove TCP entry point * Servers that do not support WebSocket will be marked as `Legacy` * Removal of TCP connection from the master will follow later. * Tweaked error message
2024-05-17Resolved merge conflicts.TrickyLeifa
This comment format is just tiring for the eyes. Imagine being on 1080p and not being able to read more than 5 method definitions due to comments.
2024-05-17Merge branch 'master' into kaleidoscopeTrickyLeifa
2024-05-17Lightly reworked `NetworkManager`, ...TrickyLeifa
* Lightly reworked `NetworkManager` * Added new modules to handle various connection types. * TCP * WebSocket * Added general string splitter alias based on Qt version. * Replaced `lobby_constructed` and `courtroom_constructed` * Refactored and partially reimplemented the following classes: * `AOBlipPlayer` * `AOEmotePreview` * `AOMusicPlayer` * `AOSfxPlayer` * `AOTextArea`
2024-05-16Reimplemented favorite server widget, ...TrickyLeifa
* Reworked favorite server widget * Renamed `server_type` to `ServerInfo` * Renamed `connection_type` to `ServerConnectionType` * Refactored `AOCharButton` * Reimplemented `AOButton` * Partially reimplemented `AOEmoteButton` * Refactored `AOEvidenceButton`
2024-05-15Lift out most server-related data into its own class (#955)Cerapter
* Lift out most server-related data into its own class * Fix missing negation in the auth packet support check * Update `get_feature(BASE_FEATURE_SET)`'s documentation * Make the version numbers public * Add support for custom blips --------- Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
2024-05-15Merge branch 'master' into kaleidoscopeTrickyLeifa
2024-05-15Ported to CMake, ...TrickyLeifa
* Ported the project to CMake * Android and Mac support dropped for the time being. * Tests, BASS and Discord-RPC are now options * Restructured and reformated the project. * Merged `include` and `src` * Renamed `resource` to `data` * Renamed various files * External libraries headers are no longer included in `src` * Replaced header guards with #pragma once * Multiple refactors (keywords, headers) * Added Qt6 compatibility * Removed various unused functions and headers * Reworked AOPacket * When content is passed to AOPacket, it should be ensured that the content is already decoded. * Encoding/decoding are now static methods. * Fixed various memory leaks * Removed animation code for AOImage * AOImage is always using static images * Simplified ChatLogPiece
2024-05-14Add [Options] override for blips and shownames for parity with 2.5 (#953)in1tiate
* split get_blips into two functions Because otherwise it would always return only what was read from char.ini, and we want it to be able to read our custom QLineEdit too, right? * include new function, rewrite description * check for custom blips support in packet * add custom blips enabled bool * increase MS_MAXIMUM, add custom blips QLineEdit * add BLIPNAME to chat message * introducing custom blips * introducing custom blips I said * unfold if * unfold other if * retool custom blips code, add ini parser * remove extraneous debug calls * fix incorrect default value on get_showname * restructure ini format * fix parser again --------- Co-authored-by: Lernos <lernoskey@gmail.com> Co-authored-by: stonedDiscord <Tukz@gmx.de>
2023-05-312.10.1 Changes (#888)Salanto
* Utilise .ui file to create settings dialog (#858) * Remove config loading from AOApplications Removes most, but not all config functions from AOApplication and moves them into their own class. Not even remotely done here. but holy shit I'm tired. * First steps towards UI file * Fixed your UI layout issue * Leifa bullies me * Set all the setters Reminder : Figure out why username and ooc_name exist. Are they the same? Maybe. Maybe not. Gonna have to look at it and migrate the key. Todo : Cleanup key naming. Most of these are terrible, imprecise or I just don't like them. * Make layout appear proper * Minor option dialog update * Hookup AOOptionsdialogue to Options Getter/setter Not done yet, but parts of the options interactions work again. * More settings menu working * Mostly working settings dialogue Restore default and cancel still need work * Fix asset widget * Tooltips Also removes the commented out tooltip code * Finish Tooltips Move widget implementation to its own folder * Migrate callwords to config.ini Also correct sleep deprived code. * Fix widget translation * Language dropdown changes We might want to look into doing this a bit better. * Remove QSettings from AOApplication Try cleaning up stray references to said object anymore * Fix constructor order to prevent runtime crash * Slightly sort implementation file * Remove unused label declarations from header Fix some comments * Formatting * Fix buttons Also fixes restore settings when a restore to default is aborted. * Raise pair list after courtroom construction (#859) * Don't reset evidence selection (#860) They are defaulted in the header. This SHOULD not affect the client negatively. * Hitting the emergency exit (#861) Don't change the widget state when the ID exceeds the current widget list due to pages being changed while evidence is being edited. * add CI and license badge * add contributors * Handle config.temp after confirmation * Deletes config.temp when the user has confirmed they want to keep the current settings. * Make reset to default destructive Don't worry, we ask first! :) * Fix case of self_offset received without a y offset (#864) caused by typos in #701 it's possible for older clients to send x offsets without a y offset. if you think this case is annoying you can remove it in the next version and handle it server-side instead * Change default settings (#839) * Make default config enable features for most cases except for Continuous Playback due to it introducing performance issues according to tooltip and confirmed in testing * Increase log size to 1000 * Default disable animated themes Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> * Make it a singleton? Maybe? I dunno? Ask Longbyte * Commit suggestions * More suggestions Also try fixing a memory leak. Not going to well. * Return to dialog Otherwise we don't have Exec. * Cleanup * Deprecate ooc_name, implement username * Remove ooc_name key and copy its value to default_showname if its empty. * Consistent naming in AOOptionsDialog * Clang format * Don't write the username to the showname * Fix theme dropdown being incorrectly set * Bandaid callword playing every message * Remove unused or duplicate includes * More include removals Removes lobby and courtroom direct includes from the dialog source * Burn baby, burn! * Remove reload_theme function * Remove "Case Alert Supported Message" All servers I tested on master supported it. The text is redundant in operation. Co-authored-by: TrickyLeifa <date.epoch@gmail.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: Crystalwarrior <Varsash@Gmail.com> * Cleanup lobby (#880) * Remove config loading from AOApplications Removes most, but not all config functions from AOApplication and moves them into their own class. Not even remotely done here. but holy shit I'm tired. * First steps towards UI file * Fixed your UI layout issue * Leifa bullies me * Set all the setters Reminder : Figure out why username and ooc_name exist. Are they the same? Maybe. Maybe not. Gonna have to look at it and migrate the key. Todo : Cleanup key naming. Most of these are terrible, imprecise or I just don't like them. * Make layout appear proper * Minor option dialog update * Hookup AOOptionsdialogue to Options Getter/setter Not done yet, but parts of the options interactions work again. * More settings menu working * Mostly working settings dialogue Restore default and cancel still need work * Fix asset widget * Tooltips Also removes the commented out tooltip code * Finish Tooltips Move widget implementation to its own folder * Migrate callwords to config.ini Also correct sleep deprived code. * Fix widget translation * Language dropdown changes We might want to look into doing this a bit better. * Remove QSettings from AOApplication Try cleaning up stray references to said object anymore * Fix constructor order to prevent runtime crash * Slightly sort implementation file * Remove unused label declarations from header Fix some comments * Formatting * Fix buttons Also fixes restore settings when a restore to default is aborted. * Raise pair list after courtroom construction (#859) * Don't reset evidence selection (#860) They are defaulted in the header. This SHOULD not affect the client negatively. * Hitting the emergency exit (#861) Don't change the widget state when the ID exceeds the current widget list due to pages being changed while evidence is being edited. * add CI and license badge * add contributors * Handle config.temp after confirmation * Deletes config.temp when the user has confirmed they want to keep the current settings. * Make reset to default destructive Don't worry, we ask first! :) * Fix case of self_offset received without a y offset (#864) caused by typos in #701 it's possible for older clients to send x offsets without a y offset. if you think this case is annoying you can remove it in the next version and handle it server-side instead * Change default settings (#839) * Make default config enable features for most cases except for Continuous Playback due to it introducing performance issues according to tooltip and confirmed in testing * Increase log size to 1000 * Default disable animated themes Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> * Make it a singleton? Maybe? I dunno? Ask Longbyte * Commit suggestions * More suggestions Also try fixing a memory leak. Not going to well. * Return to dialog Otherwise we don't have Exec. * Cleanup * Deprecate ooc_name, implement username * Remove ooc_name key and copy its value to default_showname if its empty. * Consistent naming in AOOptionsDialog * Clang format * Don't write the username to the showname * Fix theme dropdown being incorrectly set * Bandaid callword playing every message * Remove unused or duplicate includes * More include removals Removes lobby and courtroom direct includes from the dialog source * Burn baby, burn! * Remove reload_theme function * Remove "Case Alert Supported Message" All servers I tested on master supported it. The text is redundant in operation. * Create preliminary lobby design Attempts to slightly modernize the aging lobby to a scheme more akin to modern server browsers. * Fix missing header, add necessary search lineedits * More UI changes * Start hooking up new UI elements * Hookup Serverbrowser to new UI frontend Still need to fix the favorites AND implement the NEW demolist * Fixup demo ui and make demoserver functional * More demoserver cleanup * Remove jarring ao_app pointer shenigans Still a bit to do before we can safely remove that pointer, but hey, its something. * *unholy screeches* Tried to untangle the tange of dependencies that is connection behaviour * Rip out loading screen Some servers are not even sending proper values anymore, like vanilla, so why keep it? * Optimise includes, format header Lobby should not even have to know what an AOPacket is, smh * Formatting fixes and turn settings menu opening into a signal * Why does netmanager never emit when the server is connected * Fixup final parts About as well implemented as I can do rn. Missing the load screen, but that was more flair than anything else * Correct start page * demo qol Co-authored-by: TrickyLeifa <date.epoch@gmail.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: Crystalwarrior <Varsash@Gmail.com> * Delete rebase artifact * only set setting codec on qt5 * fix old regex * qlocale include was missing * Add default soundfont value + cleaup stream checks * Remove Case Announcement * Add add_server dialog and move logic to options.h * Add Direction Connection Widget and function * Visual Fluff, don't show direct connection on demo screen * Implement ui-file reload and RCC mounting. * Add edit menu to favorites * Add Server remains active when no server is selected * Hack together window title for courtroom I hate this. * Fix incorrect subtheme location code * Cleanup * Make all charicons appear on first join This entire system needs a rework, but this will do for now. Also slightly improves performance by not making it load the character list 4 times, only 2 now :^) closes #854 * Fix evidence hover selector under Qt5 #closes #890 * Remove options calling itself trough pointer * Fix Android CI (#891) * pro gamer move * remove pregenerated android files * version * install old ass android platform * Revert "remove pregenerated android files" This reverts commit c81a94c6fd337e187af61e9dd706fac5cd51bcc0. * switch to 24 * CharButton - Fix enterEvent override in Qt5 Also mark them as override. Also make the preprocessor if a bit less copypastey. * version bump * Update embeeded lobby ui color sheme Shoutout to Dumb Fuck (That is their real discord name). Co-Authored-By: Crystalwarrior <3470436+Crystalwarrior@users.noreply.github.com> * Add changelog.md loading logic from main mount path * Expand tabbar of optional Tabbar widget * Fix order column being incorrectly sized * missed a space * remove fonts * change margins * fix minimum sizes * Allow theme overwrite of settings menu * Cleanup iterator for subthemes * Allow reload of settings menu Might aswell do them all :shrug: * AO base path (#893) * make get_base_path global and move parts that use base to use it * options uses base * sal moved a bunch of code * fix creating case folder --------- Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com> * Android 2 10 1 (#894) * ask for file permissions before trying to load a file * create armv7 gitignore * extract all the abis * don't fail if the dir exists * Clear options map before reloading the UI * Fix runtime warning for theme/subtheme combobox Shouldn't do the job of something that the template can do for me. Also fix formatting cause it was busted. Also made the subtheme/theme load code not give me cancer. * Sort dropdown numerically to match explorer preview closes #793 * fuck bass * copy mingw * copy other dll * wrong folder * Account for server subtheme * Replace incorrect subtheme check * Settings, not server * Remove debug * Add compatibility code, suppress compiler warning (#896) lobby.cpp: * Added compatibility code so 2.10.1 can run on Qt versions older than 5.14, such as the version that ships with Ubuntu 20.04 courtroom.cpp: * Used a Q_UNUSED macro on an unused variable to suppress a compiler warning * Resolve Qt6(.5.0) compiler errors * Undo incompetence. * Force theme reload on theme change If a user saves a new theme and does not reload the UI it will cause misplacement of widgets inside of courtroom. This is mitigated by forcing a reload. * make speedlines stretch by default (in *actually* non-stupid way this time) (#901) * Rework default volume settings (#903) * rework volume default settings * remove default volume settings in options dialog * make client remember last volume settings instead * fix options starting tab * Reworked direct connect (#906) Resolve issue #905 Works as advertised. * Set join text when double-click on connected server Good enough. I would handle this a bit smarter and lock based on the connection state of NetworkManager, but NetworkManager sucks and I refuse to fix it this close before 2.10.1 is done. * remove unused m_looping * remove useless underflow check * do not fall from server to favorites * Ci android fix (#899) * pro gamer move * remove pregenerated android files * version * install old ass android platform * Revert "remove pregenerated android files" This reverts commit c81a94c6fd337e187af61e9dd706fac5cd51bcc0. * switch to 24 * use android\src\android\templates instead * deprecate "chat" deskmod (#910) * ignore deskmod when zoom speaking * clean up deskmod a bit * adds an enum for deskmods * deprecates the "chat" deskmood * modifies set_scene since it never rly used the deskmod argument meaningfully * actually use the enums i made lol * fix typo * Add credits for lamdacalculus --------- Co-authored-by: TrickyLeifa <date.epoch@gmail.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: Crystalwarrior <Varsash@Gmail.com> Co-authored-by: Crystalwarrior <3470436+Crystalwarrior@users.noreply.github.com> Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com> Co-authored-by: segfault <128277930+memsecviolator@users.noreply.github.com> Co-authored-by: lambdcalculus <64238778+lambdcalculus@users.noreply.github.com> Co-authored-by: Leifa♥ <26681464+TrickyLeifa@users.noreply.github.com>
2023-01-29Fix incorrect judge-button display behaviour(#884)Salanto
Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-12-28Qt6 (#824)stonedDiscord
* Major cleanup of screenshake code * Add pre-5.10 support for screenshake math * more compat, uglier too * add surprise tool * we don't need inline functions * only run qsrand on old versions * Squash compiler warnings * >= not > please * don't set codec in qt6 * switch to new regex * remove qdesktopwidget (was unused) * make enter event an enter event * forgot header file * rename emote_mod enum as there is an enum of the same name in chat_message * regexp * no more codec * fix warning about emote_mod type * change to new qtconcurrent * misc was unused * fix run * change qtconcurrent for music * codecs came back * make CI run on qt6 too * seperate artifacts * qFormatLogMessage is wonky here * maybe actually use the qt version from matrix * change qt version here as well * even lower * use my own fixed installer * use my own fixed version of qapng * get websockets * minor spelling mistake * yOu nEeD aDdOnS * aaaaaaaaaaaaaaaaaaaaaaaaaaaaa * Revert "maybe actually use the qt version from matrix" This reverts commit 7ab6b1b4c2f1200318d52f325efd2ef46c3fbd6a. * Revert "Revert "maybe actually use the qt version from matrix"" This reverts commit a6f7c5bedf214a1992c15b296edd195f96a9196a. * use jurplels again * Revert "use jurplels again" This reverts commit 5795474bca64590f1479af3ccbf7d8cc57f427e7. * revert CI to master * main not master Co-authored-by: in1tiate <woodward.randall02+github@gmail.com>
2022-07-31Pending ghost messages (#736)Crystalwarrior
This feature allows text to be posted to the IC log as a "ghost" before it has been displayed in-game. When desync chat is enabled, it's common for the player to wait a little while before their messages are displayed. Ghosts only apply to the active player's messages, not all queued messages. They are also pinned at the end of the IC log until they are displayed. Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-30Never send an unencoded packet to the server (#719)Crystalwarrior
* never send an unencoded packet to the server * oops * Improve packet validation to remove segfaults * WARNING: commit breaks connecting to servers, need help start fixing omniwhy caused by single fuckin string packets (AAAAAAAAAAAAAAAAA) * Fix failed connections to servers (Thanks to @Iuvee for helping me figure this out!) * Fix demoserver * who the fuck still uses goto Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * ANOTHER GOTO???? Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * braces Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * good bot Update src/packet_distribution.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix demoserver harder * Improve demo logging * Fix memory leakage by deleting the packet Fix useless demoserver wait packet creation when none of that packet is used Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-23Change FL variable names for clarity (#810)Rosemary Witchaven
* Change FL variable names for clarity * Missed one somehow Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-05-23Fix messy window title and make it all nice and pretty (#705)Crystalwarrior
2022-03-29Add two ways of controlling judge buttons that aren't hardcoded nonsense ↵Rosemary Witchaven
(networked and local) (#537) * add both network and local ways to show judge buttons on pos other than jud * hide judge buttons when pos_removing to a non-judge position * alter packet header * Only use pos jud hardcoding if no design.ini if design.ini does not define judges= then we fall back to pos jud garbage * Fix judge buttons being disabled if default_side pos is judge (logic poopy) Fix positions.isEmpty() returning False cuz a split of an empty string returns the list with an empty string by default * Expand JD packet to be able to send -1, 0 and 1. If -1 is received, fall back on client-sided judge button behavior. If 0 or 1 is received, treat it as "absolute override" and adhere to that packet. * alter check for empty qstringlist to support old qt versions * heehoo * trigger client side behavior when jd -1 is sent * less confusing variable names * remove useless code, trim some fat Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> * use an enum dammit! & warn on malformed auth * use an enum dammit! pt. 2 * appease clang, rewrite ugly judge controls function * please squash this its so bad Co-authored-by: Crystalwarrior <Varsash@Gmail.com> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-03-13Allow character select list to refresh even if client is already loaded in ↵Crystalwarrior
(#655) * Allow "SC" packet to be used to refresh the character list even if the client is loaded in Fix tree list of characters not being cleared properly between "SC" packets Fix client theme breaking when joining a server with empty character select list * Do my review suggestions on CW's behalf Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-02-15Add server description to favourites, if supported by server. (#648)Salanto
* Allow servers to directly set the server description * Hijack PN packet to add description. * Update lobby.cpp Apply suggested change
2022-02-15Add demo_append to WT/CE part of the "RT" packet handler. (#649)Salanto
* Add demo_append to WT/CE part of the "RT" packet handler. * Fix indentation + put demo recording outside the if else chain
2022-01-07Merge pull request #619 from AttorneyOnline/feature/http-msoldmud0
Switch to HTTP-based server list
2021-12-30Remove AO1 MS codeoldmud0
You won't be missed :')
2021-12-30Add and refine debug log messages (#625)oldmud0
Since these are going to be visible to the user now, at least let's properly format them and make them somewhat helpful.
2021-12-30Merge branch 'master' into feature/http-msoldmud0
# Conflicts: # src/networkmanager.cpp
2021-12-25Change master chat in courtroom to debug logoldmud0
Since the MS chat has been disabled for quite some time now (and we aren't planning on bringing it back since Discord, Guilded etc. have better chat features), I decided to go ahead and change the pane into a debug log to keep it useful and avoid creating a gaping hole in themes. Though, maybe it is worth removing the whole switcher and keeping the debug log hidden away where it can't scare people.
2021-12-24Merge pull request #621 from AttorneyOnline/split-demo-optionoldmud0
Split logging option into text and demo
2021-12-23Split logging option into text and demooldmud0
Apparently, people don't like logging demos because it takes up too much space. It's possible to enable NTFS compression for demo files (or the entire demos folder), though.
2021-12-23Add version to window title (#613)Pyraqq
Also updated the translation files for missing strings and updated the Polish translation.
2021-12-18Qt 5.9 compat; remove dead codeoldmud0
2021-06-13Use new HTTP-based master server clientoldmud0
2021-06-06Fix excess calls to arup_appendoldmud0
According to profiling results, arup_append was being called around 90k times (!!) because it had been placed in the inner for loop. That's (tracks * areas)^2. Yikes!
2021-05-12Prevent crash when sending empty ASS packetSalanto
2021-05-04Add Asset PacketSalanto
This packet is used to send the client the URL of an online content repository, if available.
2021-04-20Better logs with OOC logging, [IC] and [OOC] tags (#519)Crystalwarrior
* Add OOC logging to the .log files, making them infinitely more precious to GMs especially of ambitious multi-area RPs Add [IC] and [OOC] tags to distinguish between the types of msg * minor wording change for .log top line to make it clearer that it's the server address and not the user address Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-04-16Fix CASEA failing to validate packets with exactly six arguments (#521)in1tiate
2021-04-07Fix demos incorrectly saving the packets (breaking encoding for things such ↵Crystalwarrior
as evidence by recording <and> instead of &) ACTUALLY fix encoding errors, stop supporting the absolutely bonkers <and> exceptions just to support the previous bug instead of fixing the root issue
2021-03-28add exception for LE packets in demos, which encode ampersand separatorsin1tiate