Commit Graph

744 Commits

Author SHA1 Message Date
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
oldmud0
75da07d190
Merge pull request #545 from MangosArentLiterature/default-shownames
Add default shownames
2021-04-29 00:53:57 -05:00
oldmud0
1d809726a9
Merge pull request #542 from AttorneyOnline/fix/aolayer-crap
Fix AOLayer-related regressions, deprecate BS no one uses and return sane behavior
2021-04-29 00:44:50 -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
in1tiate
0ced99c966 check for effects without path in p_misc 2021-04-26 12:14:16 -05:00
Crystalwarrior
8d9331a3ea fix interfacelayer not applying stretching when load_image is called (reload theme, chat arrows, etc.) 2021-04-24 02:28:24 +03: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
oldmud0
6e3435ddba Add setting for default scaling method 2021-04-23 16:09:25 -05:00
oldmud0
60daac3823 Move other duplicate reset calls to their own method 2021-04-23 14:29:16 -05: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
Crystalwarrior
31abe0c848
Fix get_court_sfx using latin1 instead of utf-8 (#540)
Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
2021-04-23 14:17:45 -05:00
Crystalwarrior
de4115e20a Merge branch 'master' into crystalwarrior/demo-reload 2021-04-23 16:12:35 +03:00
in1tiate
66f2369af2
Fix Cyrillic characters not being read correctly from QSettings inis (#535)
* set ini codecs to utf8

* fix color config reading in Latin1 rather than Utf8
2021-04-23 02:18:56 -05:00
oldmud0
93c8befece
Merge pull request #538 from AttorneyOnline/fix/showname-enable
Fix shownames disappearing forever if a message is sent while the shownames checkbox is unticked
2021-04-23 01:58:55 -05:00
oldmud0
b7585a1c6f
Merge pull request #533 from AttorneyOnline/fix/regression-charlayer-path
Fix regression that won't allow us to give a direct base/ path to a char emote
2021-04-23 01:57:24 -05:00
Crystalwarrior
9fbe899c0e
Automatically fix desynced demo files with issues pre-#496 PR (#532)
* Implement a demo auto-fixing solution. If the client detects a pre-2.9.1 demo file, it will prompt the user if they wish to correct it, since otherwise the demo will be desynched from reality.
The aforementioned issue was fixed in https://github.com/AttorneyOnline/AO2-Client/pull/496 however 2.9.0 still has incorrect demo recording.
Fix potential memory leak by not flushing and closing the demo file after opening it for reading.

* backup broken demo file before fixing it

* comments ahoy

Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2021-04-23 01:55:04 -05:00
in1tiate
9359ed7f54 make sure we save the shownames even when theyre disabled 2021-04-23 00:30:50 -05:00
in1tiate
43340e8869 move timer reset to its own method 2021-04-22 23:46:55 -05:00
Crystalwarrior
2c259a6337 Do the same as previous commit for the get_asset_paths func - only check for the direct file path before missingno 2021-04-22 19:11:39 +03:00
Crystalwarrior
d3e5cb933c Charlayer - only check for direct path after the previous checks fail but before missingno 2021-04-22 19:09:44 +03:00
Crystalwarrior
d2c0c4fa0d Fix charlayer regression not allowing us to *directly* refer to an emote we want to use with a file path (base/misc/blank for example)
Actually use the helper funcs for searching images instead of reimplementing the same thing
2021-04-22 19:02:07 +03:00
oldmud0
3e4de5da62
Merge pull request #531 from AttorneyOnline/fix/broken-demos
Fix demo playback max_wait -1 incorrect behavior when non-IC is processed
2021-04-21 01:04:45 -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
Crystalwarrior
7b058d1401 Fix last line in the .demo file not being processed
Fix timings for OOC being really busted if max_wait is -1 (dunno at which point this bug was introduced)
2021-04-21 02:14:49 +03:00
Crystalwarrior
86b342badc Reset timers, evidence list and background whenever /load or /reload is used 2021-04-20 15:08:24 +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
Crystalwarrior
97ea1a6ad4 Fix potential memory leak due to QMovie not being parented to anything 2021-04-19 23:11:17 +03:00
Crystalwarrior
79d1abb48e Add a /reload command that quickly reloads the current demo 2021-04-19 23:08:20 +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
a5e1cc4173
Fix CASEA failing to validate packets with exactly six arguments (#521) 2021-04-16 00:42:43 -05:00
in1tiate
33cf6dea26
Send "CC" packet when selecting "Spectator" from the character selection screen (#511)
If n_char is -1, don't wait for a server response.
2021-04-11 15:36:32 -05:00
Crystalwarrior
d5c1273518 Fix demos incorrectly saving the packets (breaking encoding for things such as evidence by recording <and> instead of &)
ACTUALLY fix encoding errors, stop supporting the absolutely bonkers <and> exceptions just to support the previous bug instead of fixing the root issue
2021-04-07 15:25:18 +03:00
Crystalwarrior
132bf9b9d9 Don't generate QMovie() at all if we're told we're a static AOImage 2021-04-07 02:09:41 +03: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
oldmud0
8ee7acb0c0
Merge pull request #514 from AttorneyOnline/fix/demoserver
Fix demo server not being added if serverlist.txt is missing, add translation support to demo server messages
2021-03-30 22:44:04 -05:00
in1tiate
9707753777
Update src/demoserver.cpp
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-03-30 22:10:29 -05:00
oldmud0
8dd7b4fa3c
Merge pull request #513 from AttorneyOnline/fix/chat-arrow-display
Fix chat arrow being displayed even when blankposting
2021-03-30 21:49:21 -05:00
in1tiate
b15e669bee add translation support to demo server messages 2021-03-30 11:00:25 -05:00
in1tiate
6b267e8fdc fix demo server not being added if serverlist.txt is absent 2021-03-30 11:00:13 -05:00
in1tiate
1d83fae23d fix chat arrow being loaded when it doesnt need to be 2021-03-30 06:59:35 -05:00
in1tiate
73395f057b
use a string and not a boolean (stupid) 2021-03-30 05:49:28 -05:00
in1tiate
05ff6b08a2 add exception for LE packets in demos, which encode ampersand separators 2021-03-28 23:11:54 -05:00
in1tiate
4140a3339a fix packets containing unencoded newlines being incorrectly split into multiple entries 2021-03-28 23:11:22 -05:00
oldmud0
7583c57442
Merge pull request #506 from AttorneyOnline/fix/song-parents
Fix a crash when shuffling songlists that have songs with no parent category
2021-03-28 18:55:14 -05:00
in1tiate
3f651d069d add songs with no parent to clist 2021-03-27 23:01:35 -05:00
Crystalwarrior
885c510e3c Merge branch 'master' into fix/css-lag 2021-03-25 23:44:46 +03:00
Crystalwarrior
48093c3f2b Remove useless code for extra ui_selector that is not used 2021-03-24 23:05:46 +03:00
Crystalwarrior
37de947a3d Mark ui_selector, ui_passworded, ui_taken for evidence and character select as static-only due to massice performance overhead for no substantial benefit 2021-03-24 23:05:09 +03:00
Crystalwarrior
d4c0b7a740 Fix desynchronized logs options checkbox not loading properly (is still properly saved tho) 2021-03-24 21:31:29 +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
in1tiate
bddf6c67c2
Don't decode LE contents until after splitting by "&" (#500)
Should fix evidence, again.
2021-03-20 22:39:15 -05: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
Crystalwarrior
e3ba27c47e
Deprecate demo playback /min_wait (#498) 2021-03-20 13:41:35 -05:00
oldmud0
4bfd9f0d14
Merge pull request #497 from AttorneyOnline/fix/demos-evidence
Make demo files record evidence packets
2021-03-20 12:48:24 -05:00
oldmud0
8ba03150f6
Merge pull request #496 from AttorneyOnline/fix/demos-fix
Fix demos being recorded with incorrect timing. ⚠HUGE, VERY IMPORTANT FIX⚠
2021-03-20 12:47:38 -05:00
Crystalwarrior
f4cecc98af Make demo files record evidence packets 2021-03-20 20:36:06 +03:00
Crystalwarrior
f113396ad3 ⚠HUGE, VERY IMPORTANT FIX⚠
Fix demo playback being incorrectly timed due to the misplaced order of the wait#% packet (it should go BEFORE the appended message, not AFTER! We're delaying the message we're *writing*, not the *next message*!!!)

(cherry picked from commit 8319ebffe4c22c59c33d9c90161036d9c1ddddd5)
2021-03-20 20:30:12 +03:00
Crystalwarrior
118ff5c804 Fix demo playback not using UTF-8 codec, making it impossible to use for Russian chars and other special chars like emoji etc.
(cherry picked from commit f3e96ca6b38a5e069d98f2db4b17dfb7bb3f239b)
2021-03-20 20:29:17 +03: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
in1tiate
3cac877378
Fix evidence icons not appearing after evidence has been presented once (#491)
all around me are familiar faces, worn out places, worn out faces
2021-03-14 19:35:30 -05:00
oldmud0
2cbb5c95ef
Fix timer using 32-bit ints instead of 64-bit ints (#487) 2021-03-07 00:01:54 +03:00
Crystalwarrior
016ce3ac40 Fix a segfault/crash due to invalid packet size checking for the timer (TI) packet 2021-03-04 14:03:37 +03: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
113529450d Stop parenting qMesageBoxes to the courtroom (fixes stylesheet conflicts) 2021-02-28 21:04:47 +03:00
Crystalwarrior
71ceb758b9 Fix stickers settings option not being saved 2021-02-28 21:03:02 +03:00
Crystalwarrior
989234cf46 set default .css behavior to match established convention 2021-02-26 23:40:24 +03:00
oldmud0
a64241a0f0
Merge pull request #473 from AttorneyOnline/fix/everything
Fix change character lag, bg resizing and repos weirdness, inconsistent behavior, sticker setting etc.
2021-02-24 10:26:56 -06: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
f1eb91a612
Load fonts located in base/fonts (#475)
This will register any font (OTF/TTF) located in the base/fonts folder
recursively. They can be used for any purpose, without needing to
install them on the system.
2021-02-22 23:22:46 +03:00
oldmud0
d32ad43665 Fix crash caused by pre-2.6 IC packet 2021-02-22 12:54:06 -06:00
Crystalwarrior
679dcca079 Remove hardcoded stylesheets from lobby
Stop doing the "tagget stylesheets" monstrosity
2021-02-21 16:18:45 +03:00