aboutsummaryrefslogtreecommitdiff
path: root/src/courtroom.cpp
AgeCommit message (Collapse)Author
2021-04-21Fix log_chatmessage referring to the global m_chatmessage instead of the ↵Crystalwarrior
local variables that should be sent to it at the point of the func being called. (#530)
2021-04-20Merge pull request #504 from AttorneyOnline/fix/css-lagoldmud0
Fix character select screen lag/performance overhead
2021-04-20Merge pull request #529 from AttorneyOnline/crystalwarrior/coolchat-plusoldmud0
Narrator IC chat support
2021-04-20Better logs with OOC logging, [IC] and [OOC] tags (#519)Crystalwarrior
* 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-20Merge pull request #528 from AttorneyOnline/crystalwarrior/coolchatoldmud0
Tons of bug fixes for IC chat parsing
2021-04-20Merge pull request #527 from AttorneyOnline/fix/523oldmud0
Fix ~~, ~> and <> breaking tick pos
2021-04-20don't set a mask on elements affected by offsets (#524)in1tiate
2021-04-20Fix blankposting when narrating not hiding the chatboxCrystalwarrior
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-20Add support for narrator chat (??!!) which does not affect the state of IC ↵Crystalwarrior
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-20Fix anim_state deciding whether you're allowed to send a message or not (the ↵Crystalwarrior
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-20Fix ~~, ~> and <> breaking tick posCrystalwarrior
2021-04-19euthanize morton (#522)in1tiate
2021-04-19Fix character-specific color list not being properly regenerated on a theme ↵in1tiate
reload (#525)
2021-04-03move code outside if/else block (#518)in1tiate
2021-03-31Merge pull request #516 from AttorneyOnline/elide-leftoldmud0
Set Qt::ElideLeft for dropdowns
2021-03-31set Qt::ElideLeft for dropdownsin1tiate
2021-03-30fix chat arrow being loaded when it doesnt need to bein1tiate
2021-03-27add songs with no parent to clistin1tiate
2021-03-24Remove useless code for extra ui_selector that is not usedCrystalwarrior
2021-03-21Merge pull request #503 from AttorneyOnline/fix/skip-queueoldmud0
Fix chat queue being cleared with no way to see what the msgs were
2021-03-22Fix log_chatmessage being called for the same message like 24 or more times ↵Crystalwarrior
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-22Fix chat messages being lost to the Ether if instant objection was used, or ↵Crystalwarrior
you switched an area during queue being parsed. (Your IC logs will be caught up to speed instead)
2021-03-22Fix blankposting forcing the message queue to sleep up until another message ↵Crystalwarrior
is received
2021-03-20Add timer packets to demo playback (#494)Crystalwarrior
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-15Deprecate hardcoded string-based authentication, add AUTH packet (#489)in1tiate
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-03-03Fix files not being written as UTF-8oldmud0
2021-03-02Hide ARUP fields when empty (#479)stonedDiscord
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-02-28Fix wrong pos being picked/displayed (most likely wit) if current_side is ↵Crystalwarrior
blank (a.k.a. use character default side)
2021-02-24Make "stop music on objection" work in tandem with the server by calling ↵Crystalwarrior
"music_stop()" instead of only working on the client-side
2021-02-22Avoid use of QImageReader copy constructoroldmud0
2021-02-22Fix crash caused by pre-2.6 IC packetoldmud0
2021-02-21Stop hardcoding stylesheets so the behavior is more consistent finally (and ↵Crystalwarrior
courtorom_stylesheets.css is more useful)
2021-02-21Remove background-color stylesheet from the set_qfont (allowing stylesheets ↵Crystalwarrior
to properly initialize custom backgrounds for labels w/ transparent ones) rename "set_dropdown_ to "set_stylesheet" cuz that's what it is
2021-02-21Fix edge cases where screenshake uses wrong chatbox coordinates due to it ↵Crystalwarrior
being initialized later than needed.
2021-02-21Fix chat arrow being frozen on frame 1Crystalwarrior
2021-02-20prevent static preanims from playingin1tiate
2021-02-20fix speedlines never being unhiddenin1tiate
2021-02-19Overhaul pos dropdown and pos remove system to work well with custom pos, ↵Crystalwarrior
char pos etc. Remove accidental duplicate code Fix some genius using & instead of && (SMH) Block pos_dropdown signals better
2021-02-17rename wtce lookups to `_bubble` (themes need to be updated for this)Crystalwarrior
2021-02-17Adopt better method for setting custom pos using the pos dropdownCrystalwarrior
Make it actually work properly
2021-02-17Revert bad "fix" of the sound names for WTCE courtroom_sounds.iniCrystalwarrior
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-16Stop supporting the DRO way (we will make a .bat file or utility that does ↵Crystalwarrior
it for you automatically instead!) Add an option to enable/disable stickers Make stickers actually respect the custom chatbox setting properly
2021-02-16Patch a segfault by play_frame_effect being wackyCrystalwarrior
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-14fix testimony indicator not reappearingin1tiate
2021-02-14fix objection prematurely adjusting chatboxin1tiate
2021-02-14fix bg not resizing on reload themein1tiate
2021-02-13fix borked chatbox themesin1tiate
2021-02-13Animated Themes. Subthemes. Custom default_theme. Overhaul asset paths. Fix ↵Crystalwarrior
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-11aolayer Debug text bamboozled (#461)Crystalwarrior
Set focus to chat on pos remove click
2021-02-09Fix expanded_desk_mods (2-5) being nonfunctional (#451)in1tiate
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>