Commit Graph

470 Commits

Author SHA1 Message Date
stonedDiscord
92633e5ff2
try this reviewer (#668)
* 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
2022-03-01 21:37:11 +01:00
Alex Noir
d424020f42 Add \p for "pause" similar to \s and \f, which will pause the text for 0.1 secods 2022-02-23 21:35:07 +03:00
Crystalwarrior
ad460ceaff
Fix pos dropdown failing to get properly populated with bg pos (#661)
(caused by bc49b3e976
2022-02-20 23:03:36 -06:00
oldmud0
bcbbb899f9
Merge pull request #657 from AttorneyOnline/icons-for-all
Add icons for iniswaps and emotes in the dropdown
2022-02-20 23:00:04 -06:00
oldmud0
d0336c1035
Merge pull request #654 from AttorneyOnline/fix-bg-bug
Fix backgrounds getting messed up, closes #635
2022-02-20 22:51:35 -06:00
oldmud0
7ecb43d3a2
Merge pull request #665 from AttorneyOnline/background-ini-overlays
Add [Overlay] overrides to background design.ini
2022-02-20 19:13:17 -06:00
Salanto
e4779f09eb
Effects follow offset, add ini option to disable offset for effect (#663)
* 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-20 18:56:10 -06:00
Alex Noir
57ff1b9d2c Add background overlay overrides so you don't have to copy-paste the same file if you're just using it across multiple pos 2022-02-20 02:23:26 +03:00
Salanto
dd53b01ffd
Address potential source of race confition inside the play function (#658)
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.
2022-02-18 22:51:27 +03:00
Alex Noir
0e2bd0b110 Add icons for iniswaps and emotes in the dropdown
Fix iniswap list not recognizing a name that's different from a character folder when switching to that character
2022-02-18 22:02:18 +03:00
Alex Noir
737d581b73 Fix backgrounds getting messed up, closes #635 2022-02-18 18:27:56 +03:00
oldmud0
7389b5071b Don't restart background if background is unchanged 2022-01-08 14:52:08 -06:00
oldmud0
c80a019574
Merge pull request #619 from AttorneyOnline/feature/http-ms
Switch to HTTP-based server list
2022-01-07 20:17:02 -06:00
oldmud0
7b4d1e96c6 Disambiguate settings with lobby_settings and courtroom_settings 2021-12-31 10:40:21 -06:00
oldmud0
6e1e847750
Add and refine debug log messages (#625)
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-30 20:44:59 -06:00
oldmud0
ee76c2ce61 Merge branch 'master' into feature/http-ms
# Conflicts:
#	src/networkmanager.cpp
2021-12-30 20:31:44 -06:00
oldmud0
a180600bf4
Merge pull request #623 from AttorneyOnline/feature/debug-log
Remove MS chat and add debug log
2021-12-25 22:57:51 -06:00
oldmud0
ecfe6f2542 Change master chat in courtroom to debug log
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-25 19:17:27 -06:00
Salanto
c57afe821e
Sanity check before removing the ui element (#612)
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-12-24 14:36:41 -06:00
Salanto
5ce0e6416e
Fix animation freeze when loading music files (#609)
* Implement async music loading

* Simplify music filename parsing and fix "missing" on streams

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-12-24 14:05:01 -06:00
oldmud0
efeaf429e7
Merge pull request #621 from AttorneyOnline/split-demo-option
Split logging option into text and demo
2021-12-24 09:09:12 -06:00
oldmud0
2eed786c77 Split logging option into text and demo
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-23 17:29:17 -06:00
oldmud0
bcbe9a8a67 Remove client-side send waiting
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.
2021-12-23 17:05:11 -06:00
oldmud0
d9e69cca06
Merge pull request #578 from AttorneyOnline/fix-desk-mods-again
Handle expanded desk modifiers on chat ticking start rather than on preanim complete signal
2021-12-22 00:59:48 -06:00
oldmud0
b0e9f8dbe5 Merge branch 'master' into feature/http-ms 2021-12-18 22:34:04 -06:00
oldmud0
cf12168ebd Qt 5.9 compat; remove dead code 2021-12-18 22:22:30 -06:00
Salanto
bc49b3e976 Update slots/signals to Qt5 connection style and eliminate some clazy warnings 2021-12-11 02:09:27 +01:00
Salanto
1f985c65c7 Resolve compile error due to enum first introdcued in Qt 5.14
Could Linux distros please update their Qt version? Thanks.
2021-10-12 07:27:06 +02:00
Salanto
2a923ac86f
Purge most clientside-OOC commands (#599)
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>
2021-10-11 17:53:44 -05:00
Rosemary Witchaven
3c3b88f05c
Fix paired character only playing animations once (#603) 2021-10-10 17:59:07 -05:00
Rosemary Witchaven
273ae64535
Add missing check for anim_state 5 (#601) 2021-10-09 10:29:15 -05:00
Rosemary Witchaven
c163aab671
Allow user to configure log timestamp format (#590)
* 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
2021-09-22 18:59:59 -05:00
Salanto
97b1757da9 Remove /pair as a client-side command
Who was using this anyway?
2021-09-08 22:13:22 +02:00
Rosemary Witchaven
7ce4dd6f61
Use event filters instead of subclassing QLineEdit and QPlainTextEdit (#587)
* replace aolineedit and aotextedit with event filters
* use a button to make evidence editable instead of double click
2021-08-30 21:23:11 -05:00
in1tiate
6bbb45a6d1 handle expanded desk mods on chat ticking start 2021-08-01 11:13:52 -05:00
in1tiate
15f0ee3838 swap out custom UNUSED macro for Q_UNUSED 2021-07-29 08:54:34 -05:00
Rose Witchaven
65f812cf73
Extend /pair command to work with character names as well as IDs (#562) 2021-06-16 23:58:39 -05:00
oldmud0
b682d69e49 Use new HTTP-based master server client 2021-06-13 22:16:41 -05:00
oldmud0
9e0a964af8
Merge pull request #554 from AttorneyOnline/feature/mounting
Add support for mounting multiple base folders
2021-06-09 19:41:09 -05:00
oldmud0
2cb7ca7895 Move global stylesheet to lobby and courtroom
This way, it will not affect the options dialog.
2021-06-08 22:50:32 -05:00
oldmud0
9ecd7c453c Merge branch 'master' into feature/mounting 2021-06-06 23:23:33 -05:00
in1tiate
4fe4e6ad54 remember past search term when switching between area and music list 2021-06-06 22:54:14 -05:00
oldmud0
d27501313c Finish mounting feature
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.
2021-06-05 14:58:40 -05:00
Salanto
c6207a5478 Commit suggestion 2021-05-12 13:42:41 +02:00
Salanto
b8b6d3cbb3 Add musclist streaming support
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
2021-05-05 00:42:48 +02:00
Salanto
004bf12428 Merge remote-tracking branch 'origin/handle-music-refactor' into asset-packet-musiclist 2021-05-05 00:24:57 +02:00
oldmud0
75da07d190
Merge pull request #545 from MangosArentLiterature/default-shownames
Add default shownames
2021-04-29 00:53:57 -05:00
MangosArentLiterature
99d083d114 Add default shownames
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.
2021-04-28 00:43:06 -05:00
Crystalwarrior
433b7f3315 Deprecate tick_ms and use actual milliseconds rather than arbitrary 60ms ticks for char.ini [Time]
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
2021-04-24 01:44:52 +03:00
Crystalwarrior
0a1a47c920
Expand .css power by giving object names to all AO UI elements (#534)
* 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>
2021-04-23 14:20:31 -05:00
in1tiate
9359ed7f54 make sure we save the shownames even when theyre disabled 2021-04-23 00:30:50 -05:00
Crystalwarrior
fb4a5e0656
Fix log_chatmessage referring to the global m_chatmessage instead of the local variables that should be sent to it at the point of the func being called. (#530) 2021-04-21 02:54:08 +03:00
oldmud0
d0ef4831de
Merge pull request #504 from AttorneyOnline/fix/css-lag
Fix character select screen lag/performance overhead
2021-04-20 00:20:54 -05:00
oldmud0
56ca90d322
Merge pull request #529 from AttorneyOnline/crystalwarrior/coolchat-plus
Narrator IC chat support
2021-04-20 00:19:51 -05:00
Crystalwarrior
81c0f9a569
Better logs with OOC logging, [IC] and [OOC] tags (#519)
* 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-20 00:13:56 -05:00
oldmud0
31073d090f
Merge pull request #528 from AttorneyOnline/crystalwarrior/coolchat
Tons of bug fixes for IC chat parsing
2021-04-20 00:11:50 -05:00
oldmud0
445d47c5b5
Merge pull request #527 from AttorneyOnline/fix/523
Fix ~~, ~> and <> breaking tick pos
2021-04-20 00:05:41 -05:00
in1tiate
e517a365d5
don't set a mask on elements affected by offsets (#524) 2021-04-20 03:27:25 +03:00
Crystalwarrior
a1abe8abfa Fix blankposting when narrating not hiding the chatbox
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)
2021-04-20 02:50:42 +03:00
Crystalwarrior
1edb5d9ae1 Add support for narrator chat (??!!) which does not affect the state of IC in any way, rather the only thing it affects is the IC chat box. INSANELY useful for GMs to play sound effects, talk over the situation, etc. without causing the IC viewport to reset.
Stress-tested with preanims, non-interrupting preanims, idle chat, talking chat, evidence presenting
2021-04-20 02:38:42 +03:00
Crystalwarrior
e36ac916a9 Fix anim_state deciding whether you're allowed to send a message or not (the only thing that should decide that is if text is done processing or not)
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
2021-04-20 02:36:15 +03:00
Crystalwarrior
9a20143e22 Fix ~~, ~> and <> breaking tick pos 2021-04-20 00:24:14 +03:00
in1tiate
8f0913d30e
euthanize morton (#522) 2021-04-19 23:18:39 +03:00
in1tiate
9b8945f21a
Fix character-specific color list not being properly regenerated on a theme reload (#525) 2021-04-19 00:45:11 -05:00
in1tiate
c82dc8dec7
move code outside if/else block (#518) 2021-04-03 23:27:46 +03:00
oldmud0
350120d1b4
Merge pull request #516 from AttorneyOnline/elide-left
Set Qt::ElideLeft for dropdowns
2021-03-31 20:55:16 -05:00
in1tiate
ac82b83517 set Qt::ElideLeft for dropdowns 2021-03-31 05:11:48 -05:00
oldmud0
2a1905d009
Trivial bounds check fix 2021-03-30 22:48:10 -05:00
in1tiate
1d83fae23d fix chat arrow being loaded when it doesnt need to be 2021-03-30 06:59:35 -05:00
in1tiate
3f651d069d add songs with no parent to clist 2021-03-27 23:01:35 -05:00
Crystalwarrior
48093c3f2b Remove useless code for extra ui_selector that is not used 2021-03-24 23:05:46 +03:00
Salanto
298422d453 Update courtroom.cpp to apply change requests 2021-03-22 20:45:10 +01:00
oldmud0
e9eba9b5ab
Merge pull request #503 from AttorneyOnline/fix/skip-queue
Fix chat queue being cleared with no way to see what the msgs were
2021-03-21 22:42:18 -05:00
Crystalwarrior
ba36356a88 Fix log_chatmessage being called for the same message like 24 or more times causing insane spam
Reduce needless copy-pasting for shit that doesn't even need to be there
I actually made this fix but I stashed the older version when splitting the branches so you got the bugged verison instead.
2021-03-22 03:38:51 +03:00
Crystalwarrior
702b275898 Fix chat messages being lost to the Ether if instant objection was used, or you switched an area during queue being parsed. (Your IC logs will be caught up to speed instead) 2021-03-22 02:10:06 +03:00
Crystalwarrior
106d9f3097 Fix blankposting forcing the message queue to sleep up until another message is received 2021-03-22 01:59:21 +03:00
Salanto
2c5da36992 Apply suggested changes 2021-03-21 21:17:52 +01:00
Salanto
a7b208b92d small refactor handle_music 2021-03-21 04:59:15 +01:00
Crystalwarrior
510c0f4b17
Add timer packets to demo playback (#494)
When the demo skips by some number of seconds, the timer will also skip forward by that duration.

Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-03-20 21:12:44 -05:00
in1tiate
e4483719d4
Deprecate hardcoded string-based authentication, add AUTH packet (#489)
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-03-15 17:56:42 -05:00
oldmud0
7d20de77d2 Fix files not being written as UTF-8 2021-03-03 16:23:06 -06:00
stonedDiscord
6e28bee92a
Hide ARUP fields when empty (#479)
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-03-02 10:02:03 -06:00
Crystalwarrior
1bb93cb7c0 Fix wrong pos being picked/displayed (most likely wit) if current_side is blank (a.k.a. use character default side) 2021-02-28 21:23:26 +03:00
Crystalwarrior
5ac95ada56 Make "stop music on objection" work in tandem with the server by calling "music_stop()" instead of only working on the client-side 2021-02-24 16:02:07 +03:00
oldmud0
7579457e89 Avoid use of QImageReader copy constructor 2021-02-22 14:31:23 -06:00
oldmud0
d32ad43665 Fix crash caused by pre-2.6 IC packet 2021-02-22 12:54:06 -06:00
Crystalwarrior
354fbd239c Stop hardcoding stylesheets so the behavior is more consistent finally (and courtorom_stylesheets.css is more useful) 2021-02-21 16:07:12 +03:00
Crystalwarrior
37011fc22d Remove background-color stylesheet from the set_qfont (allowing stylesheets to properly initialize custom backgrounds for labels w/ transparent ones)
rename "set_dropdown_ to "set_stylesheet" cuz that's what it is
2021-02-21 15:50:34 +03:00
Crystalwarrior
ee918a4f81 Fix edge cases where screenshake uses wrong chatbox coordinates due to it being initialized later than needed. 2021-02-21 12:03:56 +03:00
Crystalwarrior
d6ebc3e80b Fix chat arrow being frozen on frame 1 2021-02-21 11:38:04 +03:00
in1tiate
0ee6888dec prevent static preanims from playing 2021-02-20 04:30:09 -06:00
in1tiate
f1aa57b125 fix speedlines never being unhidden 2021-02-20 04:10:35 -06:00
Crystalwarrior
aa790dbc4b Overhaul pos dropdown and pos remove system to work well with custom pos, char pos etc.
Remove accidental duplicate code
Fix some genius using & instead of && (SMH)
Block pos_dropdown signals better
2021-02-19 11:20:38 +03:00
Crystalwarrior
ec6d657f31 rename wtce lookups to _bubble (themes need to be updated for this) 2021-02-17 15:55:33 +03:00
Crystalwarrior
7246965e00 Adopt better method for setting custom pos using the pos dropdown
Make it actually work properly
2021-02-17 15:47:54 +03:00
Crystalwarrior
b5f581eb5b Revert bad "fix" of the sound names for WTCE courtroom_sounds.ini
Make pos dropdown ui editable for a custom pos
Keep track of the custom pos index
On switching from the custom pos, remove the entry at that index
Fix regression causing the "sort by name" lobby server list header disappearing
Expose column 0 for the # in the lobby server list header
("too ugly" just use lobby_stylesheets.css and pretty it up)
2021-02-17 15:15:40 +03:00
Crystalwarrior
63128fea13 Stop supporting the DRO way (we will make a .bat file or utility that does it for you automatically instead!)
Add an option to enable/disable stickers
Make stickers actually respect the custom chatbox setting properly
2021-02-16 11:20:54 +03:00
Crystalwarrior
5063880530 Patch a segfault by play_frame_effect being wacky
Split behavior for courtroom resizing into its own function
Use that function to optimize character changing screen
Fix reload theme breaking the background positioning
Fix changing character breaking the background positioning
Fix excessive set_widgets() calls that caused unnecessary lag
Fix unnecessary set_size_and_pos calls that didn't need to be there
Only call size_and_pos on the chatbox in the initialize_chatbox func
Remove checks for a boolean that will always be true
Simplify two functions that copy-paste code called set_size_and_pos into a single one
Fix "disable custom chat" setting not being used when setting chat sizes and pos
2021-02-16 11:04:07 +03:00
in1tiate
9359ae2909 fix testimony indicator not reappearing 2021-02-14 19:24:26 -06:00
in1tiate
68851a16aa fix objection prematurely adjusting chatbox 2021-02-14 19:22:05 -06:00