Commit Graph

1829 Commits

Author SHA1 Message Date
in1tiate
8163071d90 if its the same file, dont interrupt playback 2021-02-13 07:36:57 -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
b78479f4cc
Update the Settings screen - reload theme, restore defaults (#463)
* Add a Reload Theme button to the settings screen (works with both lobby and courtroom)

* Move all value updates on elements to "update_values" func in the settings screen
Add a "restore to defaults" option that allows you to restore all the configuration to its default values.
Set up a .temp settings file that allows you to undo the effects of restoring default options.

* wtf why didn't this error
2021-02-11 19:53:47 +03:00
Crystalwarrior
3ac6b337a1
Fix charselect elements not affected by theme reloading (#465) 2021-02-11 15:50:19 +03:00
Crystalwarrior
90190f5a80
Fix https://github.com/AttorneyOnline/AO2-Client/issues/425 (#464) 2021-02-11 15:50:08 +03:00
in1tiate
84280b7053
remove fucky wucky (#462) 2021-02-11 14:42:47 +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
oldmud0
617f956f2a
Merge pull request #459 from AttorneyOnline/fix/237
Fix crash to desktop if the "emotes" element has a height or width of zero
2021-02-10 00:17:58 -06:00
in1tiate
ff7c45cfc2 add workaround for emotes crash 2021-02-09 23:46:59 -06: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
in1tiate
8162783e8b
Fix blankposts never appearing in the IC log (#449)
* remove broken blankpost check

* Revert "remove broken blankpost check"

This reverts commit 9f3013b9f5d9c1f859e7e6bb42bed0be3eb15cfb.

* restore functionality
2021-02-09 04:21:17 +03:00
oldmud0
6e4b621992
Merge pull request #455 from AttorneyOnline/fix/speedmax
Make instant text instant again
2021-02-08 18:42:30 -06:00
oldmud0
1126f2a092
Merge pull request #453 from AttorneyOnline/fix/stopmusic-option
[ULTRA TOP PRIORITY] Fix backwards compatibility with the stopmusic [!!!!!!!!!!!!!!!]
2021-02-08 18:38:12 -06:00
Crystalwarrior
2135d84ff9 make instant text instant again 2021-02-09 03:24:04 +03:00
Crystalwarrior
aea0e2ef80 Fix backwards compatibility with the stopmusic
Hide ~stop.mp3 and the stop category
Add an option to make it so when you double-click a category, it expands/collapses it without sending the stop-music command
Make right click stop music backwards compatible
2021-02-09 03:00:51 +03:00
oldmud0
ce77e50f75
Merge pull request #450 from AttorneyOnline/fix/447
Fix additive text duplication
2021-02-05 00:52:02 -06:00
oldmud0
91f015ea64
Merge pull request #446 from AttorneyOnline/ci-enable-actions
Enable GitHub Actions for all branches
2021-02-05 00:51:03 -06:00
in1tiate
e5eeef1b0f remove extraneous additive appendation 2021-02-04 17:59:33 -06:00
oldmud0
4bb4ddd0f9
Enable GitHub Actions for all branches 2021-02-02 14:53:09 -06:00
oldmud0
097220f11a
Merge pull request #368 from skyedeving/add-tests
Add a CMakeLists, tests, and pipeline to automatically test with Github actions
2021-01-29 12:17:54 -06:00
in1tiate
5cafb011f5
Fix music_display not stretching properly, reconsolidate ForegroundLayer into InterjectionLayer, rename InterjectionLayer to SplashLayer (#436)
* more intelligent separation

* separation 2 electric boogaloo

* rename InterjectionLayer to SplashLayer

* remove redundant layer type

* comments and cleanup

* fix incorrect use of continuous

* remove nonfunctional check

* fix additive not coloring correctly

Co-authored-by: Crystalwarrior <varsash@gmail.com>
2021-01-29 20:41:53 +03:00
Emiko
4a9480afdc
Updated Russian TL (#442)
* Updated Russian TL

* Smol edit
2021-01-29 16:23:54 +03:00
Crystalwarrior
9628ba6b07
fix looping effects not looping (#444)
tested by @in1tiate and said to be working
2021-01-29 15:09:35 +03:00
in1tiate
639d4738db
Improvements to the way the position dropdown is handled (#428)
* it works

* woops

* oops 2 electric boogaloo

* fix "SP" packet not working properly
2021-01-28 22:38:15 +01:00
in1tiate
3683e54501
more elegantly handle streaming urls (#443) 2021-01-28 22:35:50 +01:00
Skye Deving
9242c3dd0d Add the rc file 2021-01-28 11:05:42 -06:00
Skye Deving
29370b49cb Rename push workflow 2021-01-28 11:05:42 -06:00
Skye Deving
33ba7a3ea0 Disable workflow trigger to make hopefully make it work 2021-01-28 11:05:42 -06:00
Skye Deving
c7c5f5bf2d Add icon to windows executable 2021-01-28 11:05:42 -06:00
Skye Deving
5ac4a9ed97 Set property for win32 exectuable to true 2021-01-28 11:05:42 -06:00
Skye Deving
d4a2282a3e Get QtApng 2021-01-28 11:05:42 -06:00
Skye Deving
b55082a676 Use the relative paths to be compatible with the bash shell 2021-01-28 11:05:42 -06:00
Skye Deving
ed91d60332 Use dynamic discord-rpc and copy libs to release folder 2021-01-28 11:05:42 -06:00
Skye Deving
56f8d1505c Remove unnecessary .zip extension to the name 2021-01-28 11:05:42 -06:00
Skye Deving
1871a43dc8 Upload the release folder 2021-01-28 11:05:42 -06:00
Skye Deving
232a299612 Remove listing directory 2021-01-28 11:05:42 -06:00
Skye Deving
e4152f577b Fix path 2021-01-28 11:05:42 -06:00
Skye Deving
196982ffe5 Add in extension 2021-01-28 11:05:42 -06:00
Skye Deving
4e18874762 Attempt to deploy 2021-01-28 11:05:42 -06:00
Skye Deving
353ed07464 Rename to zip since artifact is a zip 2021-01-28 11:05:42 -06:00
Skye Deving
af6cacf9d0 Upload the right artifact 2021-01-28 11:05:42 -06:00
Skye Deving
712a48cbac Use the x64 bass lib 2021-01-28 11:05:42 -06:00
Skye Deving
3bd57190f0 Add lib as well 2021-01-28 11:05:42 -06:00
Skye Deving
e9a53b1f88 Copy the bass x64 dll 2021-01-28 11:05:42 -06:00
Skye Deving
8d7d04e284 Copy the dynamic dll over as well 2021-01-28 11:05:42 -06:00
Skye Deving
ea9284d18d Fix paths and remove env 2021-01-28 11:05:42 -06:00
Skye Deving
46d6b6719b Try using win32 2021-01-28 11:05:42 -06:00
Skye Deving
0074bd0e70 Copy the dynamic lib 2021-01-28 11:05:42 -06:00
Skye Deving
ecf472d4a2 Fix typo 2021-01-28 11:05:42 -06:00
Skye Deving
7a9cb6a00c Grab discord-rpc too 2021-01-28 11:05:42 -06:00