Commit Graph

991 Commits

Author SHA1 Message Date
Salanto
368f2b04ea
Reorganise logging option into its own settings tab (#790)
* Split logging options into its own tab

This is so ugly its not even funny.

* Update src/aooptionsdialog.cpp

bot being annoying.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Can't trust the bot with anything

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-16 15:47:04 +02:00
Rosemary Witchaven
15c2e0022d
add compatibility code for pre 5.15 qt (#807) 2022-07-16 15:45:04 +02:00
Rosemary Witchaven
d056030e6c
Swap a bitwise AND for a logical AND (#809)
Didn't cause any problems here because these are both of type bool, but it's bad form anyway
2022-07-16 15:18:49 +02:00
Crystalwarrior
758ea0c516
Add support for sounds/ subfolder in themes, misc and char folders (#732)
* Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder

* Revert "Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder"

This reverts commit 8dd5c8299676e7cd89644c85db622aa6048b8616.

* Implement a better method that doesn't break anything
That weird behavior I menteioned previously is what shouts rely on...
2022-07-07 14:00:27 +03:00
Crystalwarrior
06e8f82c87
Support for DRO's sounds.ini as a fallback if soundlist.ini is not found for the character (#731)
* Support for DRO's sounds.ini as a fallback if soundlist.ini is not found for the character

* readability i guess?

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-07-07 13:59:50 +03:00
Crystalwarrior
d458345612
Overlay emote_buttons with emote_selected image from theme instead of generating files (#727)
* Create an "emote_selected" overlay for emote buttons using default theme's emote_selected image
It is used if "_on" button image is not found on the character.
If emote_selected image is missing from the default theme, use a simple transparent black color overlay instead.
Replaces auto-generation of _off images

* clang plz

* use static overlays only
2022-07-07 13:59:34 +03:00
Leifa♥
7805e80e83
Added Play SFX context menu action (#791)
* Added Play SFX context menu action

Resolve #746

* The SFX context menu now allows the user to preview the sound selected by playing it.

* Changed declarations for methods.
2022-07-07 13:55:44 +03:00
Leifa♥
7b4b297a22
Added penalty effects (#786)
Themes can be configured to play an SFX and/or effect when the HP bar increases or decreases. Effects can be any defined effect, or a built-in effect such as "screenshake" or "flash".

Resolves AttorneyOnline/AO2-Client#743
2022-06-23 18:58:17 -05:00
stonedDiscord
0be8d0f5ae
Shutup ci (#782)
* stop magic number spam

* forgot to remove avoid

* Update .clang-format

* yeet qt translations and unused image formats

* also remove bearer and styles

* remove another svg dll

* create dmg on mac

* forgot .app

* delete folder after packing

* skip runtime webkit and opengl

* switch back to fixed qt setup

* try installing the NDK

* update discord rpc includes

* enable discord in CI builds

* copypaste lmao

* windows doesn't have export

* forgot the quotes

* guess i'm not root

* downgrade ubuntu

* lets hope ubuntu 18 comes with android ndk

* it doesn't

* try to update libpng

* script wasn't executable

* downgrade android

* typo

* use qmake to enable discord

* exit code 101 very funny qmake

* its in defines not just true

* can i use qmake like this?

* add discord

* exclude android from discord

* android runs on linux after all
2022-06-15 22:16:30 -05:00
Salanto
ffcd783c10
Add line limit to server chat and debug log panes (#784)
Set default maximum block size to 5,000 unless otherwise specified
2022-06-11 18:09:53 -05:00
Crystalwarrior
b8a5deeaae
Fix relative paths for evidence image and mounted base folders (#757)
* Fix adding mounted folders not using relative path if the chosen folder is inside the application folder
Fix evidence relative pathing not being aware of mounted base folders, and fix default evidence folder being in base/evidence rather than first found "evidence" folder

* more braces

Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-06-08 20:19:57 -05:00
stonedDiscord
06db93bd0d
save and load server description in favorites (#783) 2022-06-06 20:03:00 +02:00
Rosemary Witchaven
a545561343
Clear selection when switching between favorites and public servers (#763)
Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2022-06-06 19:31:18 +02:00
Salanto
f0a5e48f5c
Dual-Stack AO2 Client to handle both TCP and Websocket connections seemlessly (#696)
* Replace TCP Serversocket with Websocket

* Have TCP sockets live harmoniously with WS

"like 5 lines" yeah probably lost a bet.

* Update .gitlab-ci.yml

* hack to fix favorites

* Add support for websockets in the favorites list (serverlist.txt)
Make "add_favorite_server" remember the socket type

* Preserve old serverlist style

This will keep new entries compatible with 2.9 and prior clients. Makes parsing the list easier too.

* Add lookup table and correct write code to use lowercase

* I have no idea what a lookup table is, but this looks close enough

* Fix lookup table

* Otherwise backend selection behaviour is inverted

* clang-tidy had one job

* Yet it did not do it.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

* const p_data

* Switch serverlist.txt to an ini format

* Fixes an Omni bug where : would split the servername
* Utilises internally QSettings properly for low parsing effort and clear structure
* Automatically migrates the legacy serverlist.txt to favorite_servers.ini
* Pleases my OCD

* Replace sample serverlist.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: Alex Noir <Varsash@gmail.com>
2022-06-06 19:14:44 +02:00
Lernos
c4f459b6cc
UTF-8 support and human sorting for evidence (#781) 2022-06-05 19:32:09 +03:00
oldmud0
87d3310efa
Merge pull request #777 from AttorneyOnline/shorter-offsets
make x/y pair spinboxes shorter and not have "offset" in it
2022-06-03 22:40:52 -05:00
oldmud0
e4125d3f52
Merge pull request #770 from AttorneyOnline/fix-stickers
Fix stickers being layered under the chatbox rather than above
2022-06-03 22:27:30 -05:00
Crystalwarrior
d4e3956271
improve placeholder text for IC and OOC (#753)
* improve placeholder text for IC and OOC

* Keep showname box placeholder at "showname" so as not to be confusing

* Apply my own suggestions

* Revert "Keep showname box placeholder at "showname" so as not to be confusing"

This reverts commit bad5507b9e4b9501d27b7b46e66c5e1cc2eb9859.

* Bring back showname for showname box
let "update_character" handle placeholder text properly
Fix spectator placeholder text not appearing if switching to spectator using /switch, etc.

* fix an oopsie

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-06-03 22:26:32 -05:00
Crystalwarrior
c3a5bfb98a
Add icons for pos dropdown (#715)
* Add icons for pos dropdown

* Make sure to upscale the icons to actually fit (so tiny 1pix bg images for ex. still show up properly)

* move get_pos_path

* add const to desk mod

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "add const to desk mod"

This reverts commit 7d6007fb1be0781e29985d0b83f2f6da16295e90.

* make set_scene const

* make pos const

* add and to const

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* add braces

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "add and to const"

This reverts commit aa5e5066dcf42ae18c2aeb349d470271226601da.

* make desk const

* fix get pos path for real

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-03 12:41:31 +02:00
Alex Noir
af91da7cb0 make x/y pair spinboxes shorter and not have "offset" in it cuz it always gets in the fuckin way 2022-06-03 02:17:02 +03:00
stonedDiscord
d87371b65e
GitHub android ci (#767)
* try this matrix thing

* syntax error

* use my own qt installer so it actually works

* allow changing path

* whoops cant have it twice

* get the right version of discord rpc

* get correct bass

* try to fix windows

* overwrite bass files

* forgot to delete these

* here's your version bro

* what did we even use catch2 for??

* linux doesnt have a c folder

* android bass

* switch from cmake to qmake

* opus dylib

* we don't install

* put bass in a subfolder so we don't build the stupid examples

* was using wrong arch for android

* fix up gitignore

* get correct artifact folder

* lets hope qmake will ignore the ABI for all the other platforms

* use platform name for artifact

* copy dlls into bin folder

* lmao i yeeted the folder

* create folder

* use more recent mingw

* windows uses dlls

* 2017 doesn't work

* our libs are 64 bit

* install msvc

* shitty ms documentation

* ok ms

* wrong directory for deploy

* copy apng

* use correct image for msvc2019

* deploy android

* 32bit windows it is

* adroideploy

* try this

* Update build.yml

* move libs

* armeabi-v7a

* fix android build files

* only get linux bass for linux

* don't try to install discord on android

* deploy mac

* get rid of double permission warning

* define filename for APK

* add mac dependencies

* put android bass in the correct folder

* mac apng

* android apng

* remove old CI

* ask for storage permissions

* qt bug ..........

* update clang-tidy-review

* update everything

* fuck you lukka

* fuck you jurplel for merging that shitty PR that broke everything

* give it what it wants

* Update clang-tidy-review.yml

* github is failing it because it's too big

* wait for the user and request a proper permission string

* underscore moment

* use write external storage instead

* try this instead

* 082 fails with docker again
2022-05-24 21:16:04 +02:00
Crystalwarrior
868c26f52e
Fix screenshake misaligning the char on idle screenshake (#724) 2022-05-23 20:49:41 +02:00
Crystalwarrior
629066f376
Add compatibility layer for "witnesstestimony" in courtroom_sounds.ini because bubbles and buttons have no underscore, yet courtroom_design.ini does (#756) 2022-05-23 20:49:03 +02:00
Crystalwarrior
967e6a00ff
Fix custom objection folders not working (#726)
Fix reload theme screwing up the default custom objection folder if a custom.gif doesn't exist near char.ini
2022-05-23 20:46:24 +02:00
Crystalwarrior
704c279f48
Disable DPI scaling for good (#769) 2022-05-23 20:45:16 +02:00
Crystalwarrior
35004921d3
Fix messy window title and make it all nice and pretty (#705) 2022-05-23 20:42:35 +02:00
Alex Noir
7d687955d4 Fix stickers being layered under the chatbox rather than above (but still under text/showname)
Fix stickers being incorrectly layered and affected by effects etc.
2022-05-21 20:34:49 +03:00
Crystalwarrior
b56805e3e2
Try to fix music list disappearing randomly (#768) 2022-05-21 16:27:45 +02:00
Rosemary Witchaven
94dbdf73e0
Feature: Clicking the evidence icon when it's presented by a player will show the details of that evidence (#760)
* Add click-to-view evidence icons

* Fix the clicky icon not being functional if the presented evidence comes from a different page from the first

Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
Co-authored-by: Alex Noir <Varsash@gmail.com>
2022-05-21 16:21:34 +02:00
Crystalwarrior
8657f7c2a2
Fix a segfault caused by animated desks and switching to area without a desk (#718)
* Fix a segfault caused by animated desks because aolayer did not make sure that movie_delays is not empty
This happened because kill() did not actually reset the max_frames. Fix that too.

* do the thingy longbyte said
2022-05-21 16:17:24 +02:00
Crystalwarrior
a1edef048f
Remove "debug_log" moniker for debug log and reuse ms_chatlog so old themes don't break (#716) 2022-05-21 16:12:24 +02:00
Crystalwarrior
9214952aea
Fix iniswap remove button removing character iniswaps (#710)
Fix the character being added twice to the iniswap if the iniswap list contains the og character name
2022-05-21 16:07:07 +02:00
Crystalwarrior
1544d5d3a6
Fix sound in the sound list using the alias of the sound list as the sound instead of its actual reference (#708) 2022-05-21 16:06:07 +02:00
Rosemary Witchaven
6d1c8fd560
Check for settings.png if courtroom_settings.png doesn't exist (#762)
Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2022-05-18 18:42:51 +02:00
Salanto
b69f9f17f4
Load serverlist.txt with UTF-8 Coded (#741)
Fixes #738
The values are correctly written, so this should fix it.
2022-04-05 21:35:09 +03:00
Alex Noir
70f39f33a6 Fix subthemes not appearing in the settings box 2022-03-31 19:38:04 +03:00
Rosemary Witchaven
68d0b838cf
Add two ways of controlling judge buttons that aren't hardcoded nonsense (networked and local) (#537)
* add both network and local ways to show judge buttons on pos other than jud

* hide judge buttons when pos_removing to a non-judge position

* alter packet header

* Only use pos jud hardcoding if no design.ini

if design.ini does not define judges= then we fall back to pos jud garbage

* Fix judge buttons being disabled if default_side pos is judge (logic poopy)
Fix positions.isEmpty() returning False cuz a split of an empty string returns the list with an empty string by default

* Expand JD packet to be able to send -1, 0 and 1. If -1 is received, fall back on client-sided judge button behavior. If 0 or 1 is received, treat it as "absolute override" and adhere to that packet.

* alter check for empty qstringlist to support old qt versions

* heehoo

* trigger client side behavior when jd -1 is sent

* less confusing variable names

* remove useless code, trim some fat

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

* use an enum dammit! & warn on malformed auth

* use an enum dammit! pt. 2

* appease clang, rewrite ugly judge controls function

* please squash this its so bad

Co-authored-by: Crystalwarrior <Varsash@Gmail.com>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-03-29 17:37:02 +03:00
Crystalwarrior
18412cc930
Allow base folder to be overridden by reversing the mount paths lookup (#713)
* Allow base folder to be overridden by reversing the mount paths lookup

* Improve label communicating how assets work
2022-03-28 16:50:41 +03:00
stonedDiscord
7e9ad9946b
add new hdid algo (#694)
* add new hdid algo

* forgot the w for unicode

* add advapi32 to windows

* get rid of visual studio 2022 shit

* Update src/hardware_functions.cpp

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

* close handle when it fails

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-03-27 15:02:08 +02:00
Crystalwarrior
69f49f7fee
Fix emote icon scaling being nearest neighbor due to qt stylesheet dumbness (#699) 2022-03-25 18:18:42 +03:00
Crystalwarrior
7bb7889923
Add timestamp colors you can change in courtroom_fonts.ini (#698)
* Add ic_chatlog_timestamp_color and ic_chatlog_selftimestamp_color to courtroom_fonts.ini

* clang tidy. clang stronk.
2022-03-25 16:01:57 +03:00
Crystalwarrior
ca83573d1b
Objections no longer force you into preanimations (#697)
* Make objections respect the user's preanim setting

* Replace all magic numbers with the emote mod enum
Fix preanim zoom not toggling the checkbox from char.ini, but deprecated "4" doing it

* Comment handle_emote_mod a bit better to explain some jank

* Fix play SFX logic being inconsistent during narrator chat (emote is "")

* hail clang-tidy
2022-03-25 16:01:39 +03:00
Crystalwarrior
7af4d285c2
Fix aoimage masking being enabled by default (#703) 2022-03-25 16:00:20 +03:00
stonedDiscord
e0c67124a6
Midi music (#614)
* add bassmidi everywhere but CI

* hello CI please don't ban me from github

* add lib and open midi files with the lib

* overlooked windows CI

* yes, overwrite everything

* add tracker support

* add file formats that bass supports

* forgot .mid smh

* load all plugins in one function
2022-03-25 15:58:59 +03:00
Crystalwarrior
70230a6e61
for music, stop checking if future was cancelled due to a horrible race condition with an unknown reason why it happens (#700) 2022-03-25 14:31:10 +03:00
oldmud0
9dd1407103
Merge pull request #674 from AttorneyOnline/pausechar
Add \p for "pause", which lasts 0.1 seconds
2022-03-24 08:10:51 -05:00
Crystalwarrior
c3fd82eacc
Fix SFX dropdown regressions, make dropdown play sound if custom sound is listed regardless of Pre (#656)
* Fix SFX dropdown not playing a sound despite a sound being selected.
It was waiting on a preanim box to be checked, but that behavior was not intuitive. Plus this is a regression from intended behavior

* Make "default" sfx behavior behave as expected

* Tidy up the network logic for emote_mod and comment all of its behavior
Fix sfx not playing when immeidate is checked on

* make emote_mod an enum so I don't have to go scouring documentation to learn what it does anymore
not adding emote mod for enums 2, 3 and 4 cuz those are planned to be deprecated in a later PR
Make Clang happy with no bracket-less if statements
2022-03-24 03:05:27 +03:00
Crystalwarrior
35fcbdeea8
Add showname and selfname colors to courtroom_fonts.ini (#672)
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-19 17:21:24 -05:00
Crystalwarrior
aa2a29f091
Fix demoserver max_wait skips happening even when they're not supposed to (#680)
* Fix demoserver max_wait logic being absolutely bonkers, causing random skips that make no sense
actually comment this piece of code

* Add /debug command to demos which allows you to see the remaining time for each packet, allowing you to visualize wait packets.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-19 17:18:27 -05:00
Crystalwarrior
df1c8ccd83
Add blip rate of 0 which only plays a single blip sound per message (#659)
* Add blip rate of 0 which only plays a single blip sound per message

* don't have copy-pasted code I GUESS
2022-03-19 15:31:38 -05:00
Crystalwarrior
fa6eef8eba
Allow character select list to refresh even if client is already loaded in (#655)
* Allow "SC" packet to be used to refresh the character list even if the client is loaded in
Fix tree list of characters not being cleared properly between "SC" packets
Fix client theme breaking when joining a server with empty character select list

* Do my review suggestions on CW's behalf

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-03-13 18:29:42 +03:00
stonedDiscord
92633e5ff2
try this reviewer (#668)
* try this reviewer

* test the reviewer with a very bad piece of code

* it can't handle spaces

* run cmake to find all the files

* file go brr haha

* cmake needs qt installed

* rename file once again

* use windows

* also doesn't like brackets

* can't use windows

* install qt the linux way

* try using cmake this way

* cmon cmake

* install qt before running cmake

* forgot catch2

* need to install as root

* add build dir

* delete test file

* fix 3 warnings

* enable clazy

* Revert "fix 3 warnings"

This reverts commit 7e64d4a546c397b5b69554ccf6765bf0a068f695.

* disable 3 warnings

* add a bracket for readability

* install clazy before

* get qt 5 real

* try lukkas cmake modules

* dupe courtroom again to test clang-tidy

* courtroom.cpp was a mistake

* remove magic number warning
2022-03-01 21:37:11 +01:00
Alex Noir
d424020f42 Add \p for "pause" similar to \s and \f, which will pause the text for 0.1 secods 2022-02-23 21:35:07 +03:00
Crystalwarrior
ad460ceaff
Fix pos dropdown failing to get properly populated with bg pos (#661)
(caused by bc49b3e976
2022-02-20 23:03:36 -06:00
oldmud0
bcbbb899f9
Merge pull request #657 from AttorneyOnline/icons-for-all
Add icons for iniswaps and emotes in the dropdown
2022-02-20 23:00:04 -06:00
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
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