Commit Graph

343 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
oldmud0
5657ac74ae
Fix heartbeat being triggered too frequently (#691)
Actual bruh moment. This was actually quite a costly mistake for my Cloudflare bill.
2022-03-12 17:15:57 +01:00
Alex Noir
db663f0e28 Update version to 2.10.0
Also do we need RELEASE, MAJOR_VERSION and MINOR_VERSION? Can't we just grab the app verison from Attorney_Online.pro somehow?
2022-03-04 00:24:39 +03: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
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
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
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
oldmud0
2748a954f4
Fix build failure in GitLab CI (#630)
error: use of deleted function 'std::atomic<bool>::atomic(const std::atomic<bool>&)'
2022-01-08 21:26:06 -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
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
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
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
ee76c2ce61 Merge branch 'master' into feature/http-ms
# Conflicts:
#	src/networkmanager.cpp
2021-12-30 20:31:44 -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
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
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
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
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
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
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
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
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
42760bc3f8 more accurate comment 2021-08-11 09:40:11 -05:00
in1tiate
ce94cd2d1e preload next frame before ticking over 2021-08-11 09:20:00 -05:00
in1tiate
15f0ee3838 swap out custom UNUSED macro for Q_UNUSED 2021-07-29 08:54:34 -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
in1tiate
097bc3d4f7 stupidly simple fix 2021-06-09 14:50:47 -05:00
oldmud0
2f50cd5528 Clear case sensitive cache as well on vpath cache flush 2021-06-08 23:12:19 -05:00