Commit Graph

365 Commits

Author SHA1 Message Date
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
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
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
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
in1tiate
97cb8cf192 fix bg not resizing on reload theme 2021-02-14 19:21:49 -06:00
in1tiate
36a1e26069 fix borked chatbox themes 2021-02-13 07:48:42 -06:00
Crystalwarrior
fe00c6b7de
Animated Themes. Subthemes. Custom default_theme. Overhaul asset paths. Fix a ton of asset resolution bugs. (#466)
* Remove get_static_image_suffix (webp, gif etc. can be non-animated)
Replace QList<QString> with QStringList

* forgot to remove static image from aoimage

* Simplify get_theme_path, get_custom_theme_path and get_default_theme_path all into a single get_theme_path func
Add a default_theme variable which defines the currently recognized default theme
Add a new "get_asset_path" that will be used to simplify asset resolution considerably

* Simplify AOImage set_image function to use get_asset_path
Begin working on the subtheme system

* Add p_default_theme for get_asset_path
Implement get_asset_path for AOButton

* Condense aolayer path lookups into the get_asset_path function

* Get rid of get_font_name due to underuse (and it just does the same thing as get_design_element anyway)
Get rid of get_char_shouts (use chat= instead)
Use get_subtheme() instead of subtheme (because get_subtheme() can perform overrides based on the user's settings)
Make get_color() use get_asset_path()
Make get_design_element() use get_asset_path()

* Adapt a whole bunch of text_file_functions to the get_asset_path method, fixing an enormous amount of invalid path resolutions
Unfortunately I have to keep backwards compatibility for the backwards ass config.ini method for the chat markup (new way is chat_config.ini)
Get rid of get_theme_effects and implement the stacking behavior into get_effects instead

* Program doesn't run, color lists stop generating for some reason
Also implement safety checks for the asset path generator

* Fix a really tricky issue that popped up regarding char_color_rgb_list not being generated, causing segfaults

* Address the sfx player path resolution being really, really stupid and resolve major inconsistencies (such as the bug where objection sfx wouldn't be playing despite the default theme or default misc folder having them)

* Fix sfx path resolution being funky (apparently D:/Qt/Projects/AO2-Client/bin/base/themes/default//objection.wav is a valid qt5 path...)

* Implement:
get_asset_paths - Return an untested list of universal paths from the provided args
get_asset_path - Loop through the list of provided asset paths and return the first valid file
get_image_path - Loop through the list of provided asset paths, apply get_image_suffix and return the first valid image file
get_sfx_path - Loop through the list of provided asset paths, apply get_sfx_suffix and return the first valid sound file
get_asset - return an asset (must contain file extension) from the get_asset_path() applied on the get_asset_paths()
get_image - return an image with get_image_suffix() applied on the get_image_path() for the get_asset_paths()
get_sfx - return a sfx from provided args with the uniquely constructed asset path list for sounds

Rename old get_sfx to get_court_sfx for better clarity of its function
This replaces previous asset stuff I implemented, as I think this is a better solution lol

* Add a new get_config_value that obtains a value from the config that matches identifier
Adjust all calls to get_asset() to actually look for a config identifier value instead, so even if a config.ini is found if it doesn't contain the identifier we want we keep looking

* Fix effects.ini sounds not working
Remove debug text

* Make it so even if you miss the required asset, and don't have a missingno, the viewport still doesn't freeze up due to waiting on Objections etc. due to signals.

* Implement default_theme option for courtroom_design.ini, allowing you to make themes that inherit from other themes that are not default.

* move sounds folder lower in sfx pathlist

* fix realization sfx not being fetched from config

* Make aosfxplayer actually use get_sfx I made
Move sounds folder path check last in get_sfx

* I thought this would fix QSettings::value: Empty key passed but I guess not, that annoying error will keep pestering us :(((

* Remove silly .png exception for SplashLayer
Fix static image Objections freezing the viewport due to done(); signal that never arrives

* Make WTCE cooler by including a stop method for witness testimony indicator, and add support for custom WTCE

* Reduce code duplication for get_sfx

* Fix the program hanging/entering an infinite loop/segfaults/a number of nasty issues due to done(); signal being sent as soon as playback begins if the image is invalid.
This is done by removing the file_exists check, and letting the rest of the functionality handle this case - the system is robust enough and treats an invalid image as a static image.

* Fix segfaults with AOLayers by sanity checking using max_frames
Fix "Pixmap is null" console spam

* You'll hate me for this.
Make it possible to have fully animated AOButton and AOImage

* Add a settings option to toggle animated themes on or off

* Add a setting for animated theme elements
Add a "static image" toggle for get_image_suffix

* Fix custom chat and generally the chat boxes not having consistent behaivor with subthemes
Add a settings option for subthemes
Have AOImage keep track of its last valid path

* Add SubTheme (ST) packet. Pass subtheme as arg0, and "1" if you want the client's theme to be reloaded.
ST packet sets ao_app->subtheme no matter what. It will not reload theme unless the user has their subtheme set to "server".
Fix showname widths by rearranging font metrics to do its calculations *after* the showname font is set, and not before (making it lag behind the correct display size by 1 msg)

Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2021-02-13 11:52:12 +03:00
Crystalwarrior
940b04adb1
aolayer Debug text bamboozled (#461)
Set focus to chat on pos remove click
2021-02-11 14:42:37 +03:00
in1tiate
e6ced65922
Fix expanded_desk_mods (2-5) being nonfunctional (#451)
Also fix backgrounds appearing off to the left if they are less wide than the viewport.
i am in agony

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-02-09 14:57:29 -06:00