Commit Graph

836 Commits

Author SHA1 Message Date
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
b5908ad5e6
Merge pull request #660 from AttorneyOnline/fix-evidence
Fix evidence system, improve evidence user experience
2022-02-20 19:47:09 -06:00
oldmud0
f3d2e7078c
Merge pull request #664 from AttorneyOnline/fix-music-segfaults
Don't run the base content vpath shenanigans if music path is HTTP
2022-02-20 19:17:11 -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
Alex Noir
17b6f63268 Fix editing the image name not showing the "ok" button 2022-02-19 18:19:22 +03:00
Alex Noir
42b2a8af95 Fix evidence image button getting set to disabled 2022-02-19 17:59:56 +03:00
Alex Noir
39fbd4a881 Don't run the base content vpath shenanigans if music path is HTTP 2022-02-19 16:48:31 +03:00
Alex Noir
798617fc22 Polish up the evidence system so it's a single-click editing
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-19 00:40: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
Salanto
e6f06d8959
Add server description to favourites, if supported by server. (#648)
* Allow servers to directly set the server description

* Hijack PN packet to add description.

* Update lobby.cpp

Apply suggested change
2022-02-15 08:15:57 -06:00
Salanto
5e60f277e9
Add demo_append to WT/CE part of the "RT" packet handler. (#649)
* Add demo_append to WT/CE part of the "RT" packet handler.

* Fix indentation + put demo recording outside the if else chain
2022-02-15 08:14:42 -06:00
oldmud0
549ceddfaa
Merge pull request #631 from AttorneyOnline/fix/application-version
Fix Qt application version being empty
2022-01-08 15:28:40 -06:00
oldmud0
7389b5071b Don't restart background if background is unchanged 2022-01-08 14:52:08 -06:00
oldmud0
7bf200a437 Fix Qt application version being empty 2022-01-08 14:21:56 -06:00
oldmud0
ba08ec0379 Fix more race conditions in AOLayer loading
- Uninitialized exit_loop variable
- Previous load task should stop completely before starting new load task
2022-01-08 12:55:10 -06:00
oldmud0
3ec3d3a121 Fix wrong precedence order for effects
This was causing the realization.png UI button to be loaded instead of the effect.
2022-01-08 12:51:49 -06:00
oldmud0
c07ff35897 Fix static effects not appearing
Static effects should be treated as infinitely looping animations.
2022-01-08 12:04:57 -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
9f09af1c39
Merge pull request #628 from AttorneyOnline/fix/msvc-aolayer-freeze
Fix MSVC builds freezing due to AOLayer concurrency issue
2022-01-06 08:23:41 -06:00
oldmud0
77b017a083 Fix MSVC builds freezing due to AOLayer concurrency issue
Variables accessed across threads should be atomic.

Also gave AOLayer its own thread pool and switched some lock calls to use QMutexLocker semantics.
2022-01-05 21:39:23 -06:00
oldmud0
7b4d1e96c6 Disambiguate settings with lobby_settings and courtroom_settings 2021-12-31 10:40:21 -06:00
oldmud0
e29a41b58f Remove AO1 MS code
You won't be missed :')
2021-12-30 21:47:41 -06:00
oldmud0
8822db8e82 Remove lobby chat
Goodbye, lobby chat :(
2021-12-30 21:46:24 -06:00
oldmud0
5d79a83fb5 Prevent old/bad "backup MS" values from preventing connection 2021-12-30 21:26:28 -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
593bd54000
Merge pull request #624 from AttorneyOnline/feature/nicer-notice-timer
Polish appearance of "OK" button on notice
2021-12-26 13:18:33 -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
dcff063f19 Don't hide "OK" on message timer, just disable it 2021-12-25 20:40:39 -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
d1fb7fde16
Merge pull request #622 from AttorneyOnline/fix/emote-button-gen
Fix emote buttons not generating due to bad VPath lookup
2021-12-24 09:09:43 -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
f44f3f9fd4
Merge pull request #620 from AttorneyOnline/remove-clientside-wait
Remove client-side send waiting
2021-12-24 09:09:04 -06:00
oldmud0
3c7f5619db Fix emote buttons not generating due to bad VPath lookup 2021-12-23 20:45:57 -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
Pyraqq
26851be536
Add version to window title (#613)
Also updated the translation files for missing strings and updated the Polish translation.
2021-12-23 16:53:26 -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
ecfb791e48 Roll back unintended changes 2021-12-18 22:41:45 -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
oldmud0
d137022174 Remove another markdown thing 2021-12-18 22:02:30 -06:00
oldmud0
133b3b58d9 Remove markdown thing 2021-12-18 21:40:11 -06:00
oldmud0
f1107aeac5 Finish out feature
- Add periodic timer for heartbeat
- Add option to settings for opting out from heartbeat/player metrics
- Change base URL to permanent URL
2021-12-18 20:29:55 -06:00
Salanto
641cca6504
Add compiler flags to ensure correct signal is used in older versions (#617) 2021-12-14 20:32:05 -06:00
Salanto
bc49b3e976 Update slots/signals to Qt5 connection style and eliminate some clazy warnings 2021-12-11 02:09:27 +01:00
in1tiate
658a1ae624 Add an explicit check for empty string to dir_exists 2021-11-15 17:03:36 -06:00
in1tiate
101a5e506f Fix all files being allowed past the suffix check for images 2021-11-15 16:48:46 -06: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
Rosemary Witchaven
b2a4a41fd7
Fix background positions with no desk inheriting the previous position's desk (#598)
* kill bglayer if file not exist

* kill ALL layers if file not found
2021-09-18 09:33:00 -05:00
Salanto
97b1757da9 Remove /pair as a client-side command
Who was using this anyway?
2021-09-08 22:13:22 +02:00
Salanto
74d01e81fb
Fix VPath lookup ignoring possibility of remote files (#588)
* Fix VPath lookup ignoring possibility of remote files

* Use more formal URL check

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-09-02 18:25:28 -05: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
Rosemary Witchaven
8b82f5d592
Fix an infinite hang when loading the pair character, fix strange undesired behavior of the pair character (#586)
* sanity check if the frame we're waiting on isnt nonexistent

* consolidate conditionals
2021-08-24 19:37:13 -05:00
in1tiate
3bcf01bb21 asynchronously load animations for bigly performant gainz 2021-08-13 03:23:12 -05:00
in1tiate
2a18c1cdec wait for thread to finish before starting new one 2021-08-11 20:14:35 -05:00
in1tiate
d84194871e comment out debug_movie 2021-08-11 09:38:05 -05:00
in1tiate
51698ca6ac debug_movie fixes 2021-08-11 09:28:59 -05:00
in1tiate
ce94cd2d1e preload next frame before ticking over 2021-08-11 09:20:00 -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
in1tiate
2d3cab82c8 Fix custom objections not playing sounds 2021-07-22 12:26:57 -05:00
Rose Witchaven
5190490a07
Set BASS_CONFIG_DEV_DEFAULT to 1 to enable automatic reinitialization of the default device when it is lost (#564)
fixes #561
2021-06-18 23:58:46 -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
2f50cd5528 Clear case sensitive cache as well on vpath cache flush 2021-06-08 23:12:19 -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
fbce4937ef
Merge pull request #557 from AttorneyOnline/minor-optimize
Fix excessive calls to arup_append
2021-06-08 22:08:04 -05:00
oldmud0
7cbd343ce9 Fix excess calls to arup_append
According to profiling results, arup_append was being called around 90k times (!!) because it had been placed in the inner for loop. That's (tracks * areas)^2. Yikes!
2021-06-06 23:42:51 -05:00
oldmud0
b0a0926d35 Fix minor memory leak with configini 2021-06-06 23:39:19 -05:00
oldmud0
dcce175052 Fix clazy-range-loop-detach warning 2021-06-06 23:31:48 -05:00
oldmud0
e576a8b23d Fix bug with case-sensitive vpath lookup 2021-06-06 23:27:30 -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
2ef7b206e2 Scan themes in all mount paths 2021-06-06 22:42:16 -05:00
oldmud0
387233e9e3 Don't store key in asset lookup cache 2021-06-06 22:41:40 -05:00
oldmud0
7a1c3f385e Greatly improve case-insensitive lookup speed
By using hash tables, the algorithmic complexity of the case-insensitive
lookup has been reduced from O(n * k) to amortized O(k), where n is the
number of files in each level and k is the number of directory levels
that need to be traversed.

This massively improves performance on Linux when loading characters,
especially when there are many missing characters, since it is no longer
necessary to scan the entire character folder repeatedly.
2021-06-05 22:27:56 -05:00
oldmud0
037d96a5d9 Use intuitive behavior for loading assets with ambiguous extensions 2021-06-05 20:28:55 -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
oldmud0
97f3d7a8bc
Merge pull request #549 from Salanto/asset-packet-musiclist
Music list streaming support over ASSet packet
2021-06-02 22:50:19 -05:00
oldmud0
a023657348 Partial: Add mount list to options dialog 2021-05-29 10:43:53 -05:00
in1tiate
167aae750f account for both theme and misc pathing which are different because this program is well made and does not make me want to pull my hair out 2021-05-16 00:41:41 -05:00
Salanto
c6207a5478 Commit suggestion 2021-05-12 13:42:41 +02:00
Salanto
c056182ba0 Merge branch 'add-asset-packet' into asset-packet-musiclist 2021-05-12 01:56:33 +02:00
Salanto
8fc75f29a7 Prevent crash when sending empty ASS packet 2021-05-12 01:56:15 +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
Salanto
8a9bb6dc69 Add Asset Packet
This packet is used to send the client the URL of an online content repository, if available.
2021-05-04 05:39:50 +02:00
oldmud0
bea9fc1a05
Merge pull request #526 from AttorneyOnline/crystalwarrior/demo-reload
Add a /reload command that quickly reloads the current demo
2021-04-29 01:29:11 -05:00