* 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 🤷
* 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>
* 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>
* Replace legacy Linux HDID code
This should, I guess, fix t
* Bump zlib version
* Libbass changed the folder structure, it seems.
* Should update the rest too.
* Add default HDID
* 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>
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
* as if this is going to work
* use android libs and spec for android
* install ndk and use clang over g++
* shut the fuck up
* SHUT THE FUCK UP
* shut up shut up shut up
* get remove from favs button
* move themes into bin folder
* bin folder now already comes with repo
* actually install old ndk version
* Delete .gitlab-ci.yml
* apply font for version
The function removed was meant to provide a prompt before removing the favorite server. I accidentally left it in, removing it will not affect the functionality of the client.
* Let's try that again. This time, less stupid.
Made the updated licensing from 2021 to 2022 and new credits and whatnot.
* executive meddling
* Update credits.
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
* Add "edit" and "open folder" actions for dropdowns:
- CharSelect char button with "edit char.ini," "open this char folder"
- pos dropdown with "open this background"
- text color dropdown with "open chat_config.ini"
- evidence button with "open evidence folder"
- sound list with "open sounds folder"
- music list with "open music folder"
- theme list with "open themes folder"
* Implement "Play <sfx_name>" for the Play action, and only show it if the sfx is not "0" or "1" or "-"
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
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>
* Added server list context menu, ...
Resolve#832, #560
* The demo server listing now always appears at the top for consistency.
* Add a context menu to server listing.
Only appears during favorite server listing. Requires a valid item under cursor. Cannot be the demo server item.
* Add a new UI element: `remove_from_fav`
Only appears during favorite server listing. Require a selection to remove. Cannot be the demo server.
Uses `removefromfav.png` and `removefromfav_pressed.png` images as textures.
* Favorite servers are now loaded whenever the Lobby is created in addition to refresh and server listing switch.
* `serverlist.txt` is now renamed to `(deprecated)serverlist.txt` if read from.
* Updated comments
* Typos
* Add option to disable streamintg
This one gets a unique message to prevent people forgetting they disable it and the wondering why streaming broke.
* Fix code order
* Fixes the music channel still playing audio when a new stream was blocked.
* Update tooltip
* Update tooltip to reflect the current way the feature works.
* 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>
* Add an "sfx_on_idle" FL packet flag, UNFORTUNATELY servers have to go out of their way to support this feature due to clients below 2.10 fucking spamming sfx for 2.10 otherwise
* Revert feature flag, implement a method that works regardless of server instead
* Revert "Revert feature flag, implement a method that works regardless of server instead"
This reverts commit c14b4fb2a1bbf2796db4a26e83609ba743826655.
* Stop using FL packet, but make SFX on Idle a client-side setting to reduce confusion and reliance on servers for a client feature to a minimum.
This reverts commit 687e64e37839b77923c93d13f971ee6750bd4330.
* Update src/aooptionsdialog.cpp
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* Add private evidence autosaving into inventories/autosave.ini
* Make evidence autosave more robust by accounting for evidence transfers and deleteions
Fix the ini not using UTF-8 codec
Correct save/load functions working on local evidence list (displayed) rather than the proper private one
* set ini codec
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* Stop iniswapping from modifying the char.ini (which can potentially remove comments such as credits, charmaker notes, etc.)
* Fix iniswaps.ini and soundlist.ini not using vpath
* Deprecate get_char_name, making "name=" part in the char.ini no longer a thing
* Fix iniswap and emote dropdowns not getting properly updated when theme is reloaded
* Prevent reload theme from resetting your emote to the first one
* Fallback soundlist.ini
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder
* Revert "Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder"
This reverts commit 8dd5c8299676e7cd89644c85db622aa6048b8616.
* Implement a better method that doesn't break anything
That weird behavior I menteioned previously is what shouts rely on...
* Support for DRO's sounds.ini as a fallback if soundlist.ini is not found for the character
* readability i guess?
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* 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
* 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.
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".
ResolvesAttorneyOnline/AO2-Client#743
* stop magic number spam
* forgot to remove avoid
* Update .clang-format
* yeet qt translations and unused image formats
* also remove bearer and styles
* remove another svg dll
* create dmg on mac
* forgot .app
* delete folder after packing
* skip runtime webkit and opengl
* switch back to fixed qt setup
* try installing the NDK
* update discord rpc includes
* enable discord in CI builds
* copypaste lmao
* windows doesn't have export
* forgot the quotes
* guess i'm not root
* downgrade ubuntu
* lets hope ubuntu 18 comes with android ndk
* it doesn't
* try to update libpng
* script wasn't executable
* downgrade android
* typo
* use qmake to enable discord
* exit code 101 very funny qmake
* its in defines not just true
* can i use qmake like this?
* add discord
* exclude android from discord
* android runs on linux after all
* Fix adding mounted folders not using relative path if the chosen folder is inside the application folder
Fix evidence relative pathing not being aware of mounted base folders, and fix default evidence folder being in base/evidence rather than first found "evidence" folder
* more braces
Co-authored-by: stonedDiscord <Tukz@gmx.de>
* 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>
* improve placeholder text for IC and OOC
* Keep showname box placeholder at "showname" so as not to be confusing
* Apply my own suggestions
* Revert "Keep showname box placeholder at "showname" so as not to be confusing"
This reverts commit bad5507b9e4b9501d27b7b46e66c5e1cc2eb9859.
* Bring back showname for showname box
let "update_character" handle placeholder text properly
Fix spectator placeholder text not appearing if switching to spectator using /switch, etc.
* fix an oopsie
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* 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>
* 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
* 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>
* Fix a segfault caused by animated desks because aolayer did not make sure that movie_delays is not empty
This happened because kill() did not actually reset the max_frames. Fix that too.
* do the thingy longbyte said
* 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>
* add new hdid algo
* forgot the w for unicode
* add advapi32 to windows
* get rid of visual studio 2022 shit
* Update src/hardware_functions.cpp
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* close handle when it fails
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* Make objections respect the user's preanim setting
* Replace all magic numbers with the emote mod enum
Fix preanim zoom not toggling the checkbox from char.ini, but deprecated "4" doing it
* Comment handle_emote_mod a bit better to explain some jank
* Fix play SFX logic being inconsistent during narrator chat (emote is "")
* hail clang-tidy
* 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
* 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
* 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>
* 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>
* try this reviewer
* test the reviewer with a very bad piece of code
* it can't handle spaces
* run cmake to find all the files
* file go brr haha
* cmake needs qt installed
* rename file once again
* use windows
* also doesn't like brackets
* can't use windows
* install qt the linux way
* try using cmake this way
* cmon cmake
* install qt before running cmake
* forgot catch2
* need to install as root
* add build dir
* delete test file
* fix 3 warnings
* enable clazy
* Revert "fix 3 warnings"
This reverts commit 7e64d4a546c397b5b69554ccf6765bf0a068f695.
* disable 3 warnings
* add a bracket for readability
* install clazy before
* get qt 5 real
* try lukkas cmake modules
* dupe courtroom again to test clang-tidy
* courtroom.cpp was a mistake
* remove magic number warning
* 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.
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
Current working theory is that setting the future opens a brief interval where it deconstructs the old future and returning an invalid QFuture,, causing a segmentation fault.
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.
* Implement async music loading
* Simplify music filename parsing and fix "missing" on streams
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
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.
This piece of code from another era is not needed anymore thanks
to the message queue and decent server-side anti-flooding. Player
input won't be thrown away since the client waits for an
acknowledgement from the server before clearing the input box.