aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-07-29Fix or suppress compiler warnings (Qt 5.15 w/MinGW) (#818)Rosemary Witchaven
* 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 * only run qsrand on old versions * Squash compiler warnings * >= not > please Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-29Add settings option for Evidence double-click that can be turned off ↵Crystalwarrior
(single-click evidence view) and more (#749) * Add 'evidence_one_click_view' courtroom_design.ini function, which allows you to treat every click as if it's a double-click (meaning every click will bring evidence overlay) Fix name not being set to read only when evidence is initialized If evidence is double-clicked and overlay is visible, trigger "on_x_clicked" behavior Make sure evidence is selected when double-click is called Stop hovering from changing name text if overlay is visible Simplify on_evidence_x_clicked "modified" check by simply checking if "ui_evidence_ok" is visible * Fix pressing "cancel" when trying to switch between evidence still acting the same as "discard" * Remove unnecessary ic message input focus setters for evidence, make only the Present button set focus on ic message input * Fix second page ignoring the evidence_one_click_view setting because of a wrong ID being used for the double-click call * Make evidence_switch() have everything required to properly switch between private/global * Make evidence cursor start at the top when looking at evidence description * Change it from theme setting to settings option * Make evidence double click default option to "true" due to it being the default for years Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-27Code to support effects ini version 2 (#813)Crystalwarrior
* Code to support effects ini version 2 * Update theme commit * Get it to actually work properly * Rework effect loading code * Added auto-migration to new format * Reorganised code for improved readability and clarity * Add functional checks for operation to not run into missing file issues * Minor logic fix * Add debug message * Trim any empty items from the list * Add mandatory culling * See https://discord.com/channels/278529040497770496/323377366997008394/998661402669617233 * Reworked implementation * Resolve warning of temporary container allocation * Unbreak what I broke last commit * Also make it a QStringLiteral to cheat clazy. * Set default layer * Ignore that for realization, that one covers the screen. * Document migration regex * This should clarify the ambiguity of its functionality and reason why it exists. Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com> Co-authored-by: TrickyLeifa <date.epoch@gmail.com>
2022-07-27Fix an extremely rare issue where loop point goes outside track bounds if ↵Crystalwarrior
loop end is not defined (#748) * Fix an incredibly edge-case loop end issue where the loop end is outside track boundaries somehow * WIP-AB Cleanup and incorrect loop bugfix Cleanup AB-Loop code * Someone has to check if AB loop works properly still cause I have no idea how this shit works and the code prior was unreadable. Don't blame me, blame whoever left this code undocumented like the hag they are. * Increase max-sample we can accept in the AB loop Also change conversion to UInt. If someone adds a bad value, it will just return 0, which I guess is fair. Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-26Part 2 of #713: merge get_real_suffixed_path into get_real_path (#717)Crystalwarrior
* Fix get_real_suffixed_path existing, causing the previous PR to not function on suffixed... anything Fix suffixes ignoring a case where a suffixed path is already provided, causing that pre-suffixed filepath to fail to find anything * Fix image paths being used as sound effects and vice versa Better check for sfx and image absolute paths which double-checks the absolute path we got is *actually a valid file format* Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-23Android hdid (#822)stonedDiscord
* get ANDROID_ID * make it more complicated
2022-07-23Fix multiple issues with screenshake code (#812)Rosemary Witchaven
* 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
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-07-23Add Emote preview (#774)Crystalwarrior
* Add an emote preview which pops up from right click context menu * rename action names to "preanim/idle/talk" * Improve emote preview window * Preview no longer ignores offsets No longer override stylesheets Add "Preview Selected" option to the dropdown * bruh * Fix "set play once" being ignored when a (c) emote is loaded * Remove useless comments * Implement Salanto suggestions Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-23Suppress application volume when alt-tabbed (#730)Crystalwarrior
* Suppress application volume when alt-tabbed Add a "suppress_audio" slider setting, 50% by default, which decides how much audio remains when the client is not in focus Add a "muted" setting for blip, music, and sfx players Add update_audio_volume func * change "suppress" to "how much audio is suppressed" instead of "how much audio remains" * Fix last commit just flipping the behavior and being ultra wacky * Fix evidence present sound ignoring audio suppression settings Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-18Add effect layering under the character, flippable effects and more (#701)Crystalwarrior
* Fix effect offsets only applying after the effect already plays Add "_layer" property which can be "behind", "character" or default "chat". This deprecates the "under_chatbox" property * Add a "sticky" effect property which is the same as "stickyeffects" setting being enabled but just for that 1 effect * Clang is tidy, clang is caring * make character layer actually stack over the character but under the desk add new "over" layer which is over everything in the viewport but under the chat box * Switch "ignore_offset" to "respect_offset" so effects only respect character offsets if explicitly told to * Appease clang tidy... mostly. I don't understand the last thing it's talking about. * Appease clang tidy further * Remove "effect_done" due to it overwriting the AOLayers behavior Add "loop" effect property so you set up in the ini if the effect should loop rather than it using the file's loop settings Add "max_duration" effect property Add "cull" effect property which decides whether to clear the effect or not when it's done (if loop is false) * Fix effects not allowed to have underscores (_) in them without breaking * Change the way effects.ini looks and is parsed to be more sane and doable. However, since order may or may not matter, you can optionally include index:name and it orders it properly. * Appeal to clang * Fix a dumb way I created QSettings in get_effects * Fix effect properties being broken due to optional index * Fix get_effect_property not getting the current theme properties if a misc theme exists * If sound list has a sound effect selected, if pre is not checked, don't play effect sound and prefer the sfx we chose instead. * Fix \f not using the theme's realization effect * Add missing curly bracket * Yolo Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com> Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-16Add "chatbox_always_show" courtroom_config.ini option (#725)Crystalwarrior
* Add "chatbox_always_show" courtroom_config.ini option Remove copy-pasted code from set_widgets for initializing chatbox * make chatbox_always_show work with misc folders * Fix sticker disappearing despite chatbox_always_show setting Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-16Reorganise logging option into its own settings tab (#790)Salanto
* Split logging options into its own tab This is so ugly its not even funny. * Update src/aooptionsdialog.cpp bot being annoying. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Can't trust the bot with anything Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-07Overlay emote_buttons with emote_selected image from theme instead of ↵Crystalwarrior
generating files (#727) * Create an "emote_selected" overlay for emote buttons using default theme's emote_selected image It is used if "_on" button image is not found on the character. If emote_selected image is missing from the default theme, use a simple transparent black color overlay instead. Replaces auto-generation of _off images * clang plz * use static overlays only
2022-07-07Added Play SFX context menu action (#791)Leifa♥
* Added Play SFX context menu action Resolve #746 * The SFX context menu now allows the user to preview the sound selected by playing it. * Changed declarations for methods.
2022-06-23Added penalty effects (#786)Leifa♥
Themes can be configured to play an SFX and/or effect when the HP bar increases or decreases. Effects can be any defined effect, or a built-in effect such as "screenshake" or "flash". Resolves AttorneyOnline/AO2-Client#743
2022-06-11Add line limit to server chat and debug log panes (#784)Salanto
Set default maximum block size to 5,000 unless otherwise specified
2022-06-06Clear selection when switching between favorites and public servers (#763)Rosemary Witchaven
Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2022-06-06Dual-Stack AO2 Client to handle both TCP and Websocket connections ↵Salanto
seemlessly (#696) * Replace TCP Serversocket with Websocket * Have TCP sockets live harmoniously with WS "like 5 lines" yeah probably lost a bet. * Update .gitlab-ci.yml * hack to fix favorites * Add support for websockets in the favorites list (serverlist.txt) Make "add_favorite_server" remember the socket type * Preserve old serverlist style This will keep new entries compatible with 2.9 and prior clients. Makes parsing the list easier too. * Add lookup table and correct write code to use lowercase * I have no idea what a lookup table is, but this looks close enough * Fix lookup table * Otherwise backend selection behaviour is inverted * clang-tidy had one job * Yet it did not do it. Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> * const p_data * Switch serverlist.txt to an ini format * Fixes an Omni bug where : would split the servername * Utilises internally QSettings properly for low parsing effort and clear structure * Automatically migrates the legacy serverlist.txt to favorite_servers.ini * Pleases my OCD * Replace sample serverlist. Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: Alex Noir <Varsash@gmail.com>
2022-06-03Add icons for pos dropdown (#715)Crystalwarrior
* Add icons for pos dropdown * Make sure to upscale the icons to actually fit (so tiny 1pix bg images for ex. still show up properly) * move get_pos_path * add const to desk mod Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Revert "add const to desk mod" This reverts commit 7d6007fb1be0781e29985d0b83f2f6da16295e90. * make set_scene const * make pos const * add and to const Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * add braces Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Revert "add and to const" This reverts commit aa5e5066dcf42ae18c2aeb349d470271226601da. * make desk const * fix get pos path for real Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24GitHub android ci (#767)stonedDiscord
* try this matrix thing * syntax error * use my own qt installer so it actually works * allow changing path * whoops cant have it twice * get the right version of discord rpc * get correct bass * try to fix windows * overwrite bass files * forgot to delete these * here's your version bro * what did we even use catch2 for?? * linux doesnt have a c folder * android bass * switch from cmake to qmake * opus dylib * we don't install * put bass in a subfolder so we don't build the stupid examples * was using wrong arch for android * fix up gitignore * get correct artifact folder * lets hope qmake will ignore the ABI for all the other platforms * use platform name for artifact * copy dlls into bin folder * lmao i yeeted the folder * create folder * use more recent mingw * windows uses dlls * 2017 doesn't work * our libs are 64 bit * install msvc * shitty ms documentation * ok ms * wrong directory for deploy * copy apng * use correct image for msvc2019 * deploy android * 32bit windows it is * adroideploy * try this * Update build.yml * move libs * armeabi-v7a * fix android build files * only get linux bass for linux * don't try to install discord on android * deploy mac * get rid of double permission warning * define filename for APK * add mac dependencies * put android bass in the correct folder * mac apng * android apng * remove old CI * ask for storage permissions * qt bug .......... * update clang-tidy-review * update everything * fuck you lukka * fuck you jurplel for merging that shitty PR that broke everything * give it what it wants * Update clang-tidy-review.yml * github is failing it because it's too big * wait for the user and request a proper permission string * underscore moment * use write external storage instead * try this instead * 082 fails with docker again
2022-05-21Feature: Clicking the evidence icon when it's presented by a player will ↵Rosemary Witchaven
show the details of that evidence (#760) * Add click-to-view evidence icons * Fix the clicky icon not being functional if the presented evidence comes from a different page from the first Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu> Co-authored-by: Alex Noir <Varsash@gmail.com>
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-25Fix aoimage masking being enabled by default (#703)Crystalwarrior
2022-03-25Midi music (#614)stonedDiscord
* add bassmidi everywhere but CI * hello CI please don't ban me from github * add lib and open midi files with the lib * overlooked windows CI * yes, overwrite everything * add tracker support * add file formats that bass supports * forgot .mid smh * load all plugins in one function
2022-03-24Fix SFX dropdown regressions, make dropdown play sound if custom sound is ↵Crystalwarrior
listed regardless of Pre (#656) * Fix SFX dropdown not playing a sound despite a sound being selected. It was waiting on a preanim box to be checked, but that behavior was not intuitive. Plus this is a regression from intended behavior * Make "default" sfx behavior behave as expected * Tidy up the network logic for emote_mod and comment all of its behavior Fix sfx not playing when immeidate is checked on * make emote_mod an enum so I don't have to go scouring documentation to learn what it does anymore not adding emote mod for enums 2, 3 and 4 cuz those are planned to be deprecated in a later PR Make Clang happy with no bracket-less if statements
2022-03-19Add showname and selfname colors to courtroom_fonts.ini (#672)Crystalwarrior
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-19Fix demoserver max_wait skips happening even when they're not supposed to (#680)Crystalwarrior
* Fix demoserver max_wait logic being absolutely bonkers, causing random skips that make no sense actually comment this piece of code * Add /debug command to demos which allows you to see the remaining time for each packet, allowing you to visualize wait packets. Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@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-03-12Fix heartbeat being triggered too frequently (#691)oldmud0
Actual bruh moment. This was actually quite a costly mistake for my Cloudflare bill.
2022-03-04Update version to 2.10.0Alex Noir
Also do we need RELEASE, MAJOR_VERSION and MINOR_VERSION? Can't we just grab the app verison from Attorney_Online.pro somehow?
2022-02-20Merge pull request #660 from AttorneyOnline/fix-evidenceoldmud0
Fix evidence system, improve evidence user experience
2022-02-20Effects follow offset, add ini option to disable offset for effect (#663)Salanto
* Effects follow offset, add ini option to disable offset for effect This is pretty hacky, but the offset data is necessary to move the effect layer in relation to the character.
2022-02-19Polish up the evidence system so it's a single-click editingAlex Noir
Fix evidence editing regressions caused by #587 Fix issues with "ok" button detecting itself as "changes from the server" Fix "ok" button remaining after you press it once, allowing you to spam evidence update packets by spamclicking it
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-01-08Fix build failure in GitLab CI (#630)oldmud0
error: use of deleted function 'std::atomic<bool>::atomic(const std::atomic<bool>&)'
2022-01-08Fix more race conditions in AOLayer loadingoldmud0
- Uninitialized exit_loop variable - Previous load task should stop completely before starting new load task
2022-01-07Merge pull request #619 from AttorneyOnline/feature/http-msoldmud0
Switch to HTTP-based server list
2022-01-05Fix MSVC builds freezing due to AOLayer concurrency issueoldmud0
Variables accessed across threads should be atomic. Also gave AOLayer its own thread pool and switched some lock calls to use QMutexLocker semantics.
2021-12-30Remove AO1 MS codeoldmud0
You won't be missed :')
2021-12-30Remove lobby chatoldmud0
Goodbye, lobby chat :(
2021-12-30Prevent old/bad "backup MS" values from preventing connectionoldmud0
2021-12-30Merge branch 'master' into feature/http-msoldmud0
# Conflicts: # src/networkmanager.cpp
2021-12-25Merge pull request #623 from AttorneyOnline/feature/debug-logoldmud0
Remove MS chat and add debug log
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-24Fix animation freeze when loading music files (#609)Salanto
* Implement async music loading * Simplify music filename parsing and fix "missing" on streams Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-12-24Merge pull request #622 from AttorneyOnline/fix/emote-button-genoldmud0
Fix emote buttons not generating due to bad VPath lookup
2021-12-23Fix emote buttons not generating due to bad VPath lookupoldmud0
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-18Merge branch 'master' into feature/http-msoldmud0