* 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>
* 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
* 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>
* 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>
* 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>
* 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
* 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
* 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.
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.
Remove OOC-Client commands that are already replaced by UI elements that are easily accessible.
Debatable if /save_case and /load_case should stay as they seem unused by most users/servers.
* Maintain backwards compatability with older servers.
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
* user configurable timestamp format
* fix label making the entire settings window move jankily
* add a dropdown for sane timestamp formats
* streamline adding options to log timestamp format
To pull this one off, a new class called VPath was created that denotes
"virtual" paths that can exist anywhere among the list of mount points.
It is functionally identical to QString, except that implicit conversion
between QString and VPath is not allowed. This makes it easy to spot
errors in path resolution at compile time, since get_real_path must be
called to resolve a VPath into an absolute path that can be passed into
a Qt function as a QString.
Other functions, such as the get_*_suffix functions, also return an
absolute path QString for convenience.
As for the rest of the functions that return a VPath, you will need to
call get_real_path yourself.
Finally, a path resolution cache was added to try to avoid blowing
up what is already a massive lookup cost for assets. The cache
is invalidated when the mount path list is changed.
Currently, this cache isn't bounded. Might need to write an LRU cache
if issues arise.
Attempt Nr. 2 - Based on #548 and #501
+ Allows client to use a remote source as a last resort if the file can't be found locally.
+ Adds a check if the target file is missing.
This implementation assumed the streaming source to be structured like a webao content respository
Adds a new setting to config.ini to set a default showname. This works similarly to default username, but for IC shownames, setting the client's showname automatically. Like default username, this has a 30 character limit.
* Adds a new option to config.ini, default_showname.
* Adds this setting to the options dialog.
* Adds get_default_showname() for retrieving this showname.
* Sets the showname box to this value upon joining a server.
Fix an extremely weird case where CharLayer::Play() was not called even on the CharLayer class (I don't understand why inheritance was straight up just ignored)
Fix using preanims with static images just breaking everything
Deprecate weird insanity [Time] with the % sign BS (What was this for again? Literally no one used this nor was aware of it)
Fix text_stay_time timer firing even if we're immediate
Just in case, stop the text delay timer when start_chat_ticking is called
* Fix ic chatlog placeholder text not being translated
* Fix inconsistent/nonsensical path resolution for the backwards-compatibility misc/default/config.ini vs themes/current_theme/misc/default/config.ini
Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
* 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>
Fix using objections against talking players not causing them to stop talking (with this method, they will only finish their current animation cycle unitl freezing in place)
Fix objections forcing a missingno to appear when you object to someone mid-preanim, and their preanim ends before objection shout finishes. This also resolves a crapton of other bugs related to preanim_done() signal.
Move evidence display from handle_ic_speaking to start_chat_ticking (makes more sense over here)
Remove a misplaced set_static_duration for ui_vp_player_char (must've got here over a strange merge conflict or smth)
Remove useless anim_state and text_state setters in reload_theme func, the func that calls the BG to display already handles everything needed for IC reset