Commit Graph

1496 Commits

Author SHA1 Message Date
in1tiate
48c7984d66 Add dropdown function to set_widgets 2020-09-07 12:40:22 -05:00
oldmud0
fe5128280c
Merge pull request #274 from AttorneyOnline/windrammer/fix-273-button-generator
Fix: Qt failing to paint a darker button if source image is indexed
2020-08-30 13:34:28 -05:00
oldmud0
9cc73e5502
Merge pull request #278 from Crystalwarrior/bugfix/qmovie-optimization
Cache QMovie objects to reduce lag
2020-08-29 14:51:23 -05:00
Crystalwarrior
e2e3b28de8 Set cache mode to "all" for both QMovie objects to preserve the client's sanity by not horribly lagging them with zoom speedlines and other continuously animated elements. 2020-08-28 15:48:01 +03:00
oldmud0
090e82421d
Merge pull request #276 from Crystalwarrior/bugfix/sprite-freedom
Allow non-png static image lookups
2020-08-25 16:36:56 -05:00
Crystalwarrior
610510eb7b move "check" to the very end instead of very start in packet_distribution 2020-08-25 13:00:00 +03:00
Crystalwarrior
6c62980ffc forgot to ctrl+s header definitions fuck 2020-08-25 12:58:48 +03:00
Crystalwarrior
ee3bad44c7 Implement clock pausing
Implement clock setting w/o starting or stopping
Both of these should make it possible for the server to start/stop/pause/resume the clock with perfect synchronization to the true time.
2020-08-25 12:48:09 +03:00
Crystalwarrior
7e9c5726e0 Introduce the timer packet - "TI".
This timer will start the clock accounting for latency! Cool, right?
Remove useless qDebug() for music looping
2020-08-25 12:21:10 +03:00
Crystalwarrior
febfbeafc1 Actually make use of the completely useless CHECK and CH keepalive timer and use them to determine the client's ping.
Display ping in the application window title.
keepalive timer now fires every second instead of every minute
Remove meme clock starting on set_widgets()
implement get_ping() on w_courtroom
2020-08-25 12:18:49 +03:00
Crystalwarrior
18a9bcfe19 Remove the ".png" check from the load_image lookup to allow non-(a) and (b) images being used for static characters 2020-08-24 20:22:13 +03:00
likeawindrammer
d1ac36d3c2 Fix: Qt failing to paint a darker button if source image is indexed
By converting the image to an 8-bits per channel image with alpha channel
we make sure the client won't fail painting a darker button,
and keep the transparency if the source image had.
2020-08-23 13:58:30 -06:00
oldmud0
9f4487d9cf
Merge pull request #271 from AttorneyOnline/2.8.5-hotfix
2.8.5 hotfixes
2020-08-22 16:07:36 -05:00
oldmud0
8dcddf289f Only reinitialize audio on device change 2020-08-22 15:33:08 -05:00
oldmud0
48675f00d0 Fix upward log scrolling down instead of up
Stop using upwards log. Seriously. No other program does this.
2020-08-22 15:17:48 -05:00
scatterflower
b036134414 add project comment toggle for verbose network logs 2020-08-21 15:52:23 -05:00
scatterflower
565a3cce89 remove slow loading 2020-08-21 15:52:07 -05:00
scatterflower
3f999455a9 remove remaining traces of fantacrypt 2020-08-21 15:36:31 -05:00
scatterflower
c0316ded85 remove fantacrypt 2020-08-21 15:30:54 -05:00
oldmud0
2c6a690d47
Merge pull request #246 from AttorneyOnline/2.8
Merges 2.8.5, which is a patch release for 2.8 with no substantially new features.

This commit is release-ready.
2020-08-21 12:42:45 -05:00
Crystalwarrior
f27f210efe Proof of concept complete. The timer will now take int msecs to start, and will properly display the time remaining until target time in hh:mm:ss.zzz
Clock can be defined in courtroom_config.ini and its font set in courtroom_fonts.ini
Pause and resume functions will not work as expected atm.
2020-08-21 18:01:24 +03:00
Crystalwarrior
edf3d463e9 add a new aoclocklabel class that is a QLabel with fancy DR-Style timing features
WIP
2020-08-21 17:17:49 +03:00
likeawindrammer
af1e760225 Translations: Update Portuguese 2020-08-21 04:14:29 -06:00
likeawindrammer
894abc04db Translations: Update Spanish 2020-08-21 04:13:35 -06:00
likeawindrammer
385f476269 gitignore: Ignore base/serverlist.txt 2020-08-21 00:03:00 -06:00
oldmud0
accca95c71 Rename serverlist.txt -> serverlist.sample.txt
We don't want to accidentally overwrite players' server lists when
performing trivial updates. (The launcher should remove the 'sample'
qualifier when it is performing a full install, though that is not
implemented right now and the move operation is sadly broken.)
2020-08-20 15:03:30 -05:00
oldmud0
a7a33eb5cf Update themes submodule 2020-08-20 15:02:58 -05:00
oldmud0
5e1474fefc Merge some various CI changes
Most importantly, Linux now targets Qt 5.9.5 with a self-built version
of QtApng, which should fix the Qt version issues.
2020-08-19 23:07:45 -05:00
scatterflower
7cd0fa0c6e version bump to 2.8.5 2020-08-19 22:56:36 -05:00
scatterflower
9eb0f53db1
Reset BASS when switching devices; drop Qt Multimedia support (#262)
* Allow changing audio device on the fly while in a server
* Use default audio device if device in config doesn't exist
* Automatically change audio device to default when current one is invalid
* Destroy Qt Multimedia support

It was decided that there was not enough attention being given to Qt
Multimedia support to justify its continued maintenance simply as a
libre alternative to BASS. While substantial changes to audio were being
made in 2.8, the Qt Multimedia support code fell behind in disrepair.
It's clear that there is no vested interest in implementing audio
features twice for the sake of licensing.

When it's time to switch to another audio library, it will be done
unilaterally.

* CI: Use BASS for Linux build

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-08-19 16:40:37 -05:00
Crystalwarrior
cef0ebc6eb
IC log rewrite (#259)
* Rewrite the IC Log code to drastically reduce code duplication and have both downward and upward mode in the same function
Regenerate the IC Log in set_widgets() function, making sure the maximum_blocks is accounted for and clearing the log to prepare for different log mode (upwards/downwards) if it's different from previous
Add placeholder text telling the user the direction in which the log will go
Remove useless first_message_sent global boolean, a remnant from a   w e a k e r   c o d e r m a n

* Add log_colors boolean to reduce color I/O happening in append_ic_text (optimization meme)
Clear the IC log when log_colors setting changes and reload theme is pressed
Fix https://github.com/AttorneyOnline/AO2-Client/issues/221

* Add configurable margin between IC log entries
Add configurable newline/singleline log mode
Options in settings for these

* Add optional timestamps

* Un-hardcode "played music" from the chatlogpiece and introduce the "action" argument so that "presented evidence" is fully supported now
Translate "has presented evidence"
Regenerate IC chatlog instead of clearing it, properly updating every element with the new configurations

* Go away *temp, code duplication making me shid and cry rn
Why is this not done in append_ic_text, or why isn't there a dedicated ic logging func aAAAaaaaAAAaa
Fix presenting evidence not being properly logged
Fix timestamp being UTC instead of local time (local time will not be as confusing)

* okok it was a joke a big ol bamboozle you got gnomed haha rick rolled beaned stickbugged
I did NOT copy paste code, no, I actually intended to fix copy pasted code all along. log_ic_text was always planned.

(Fix copypasted code for ic_chatlog_history and consolidate it into a single log_ic_text func)
2020-08-19 11:16:41 -05:00
likeawindrammer
c984c57102 Update themes reference 2020-08-18 18:36:37 -06:00
oldmud0
a9ca555ec5 CI: Fix nested base folders in artifact 2020-08-18 15:22:58 -05:00
oldmud0
d10ad44ff9 CI: Build QtApng on Linux
- Set lib as artifact instead of cache (to avoid race condition
  described in https://gitlab.com/gitlab-org/gitlab/-/issues/21409)
- Delete _Unadapted folder and .git files when exporting artifact (yuck!
  should probably have never incorporated AO2-Themes as a separate
  repo; it should probably have stayed part of the vanilla repo.)
2020-08-18 14:24:15 -05:00
oldmud0
76af6c030f CI: Pin Linux target to Ubuntu 16.04 (Qt 5.9.5) 2020-08-18 12:40:16 -05:00
Crystalwarrior
475a572c3b
Improved blankposting (#256)
* Consolidate blankposting into singular log entries of "no message" instead of spamming the logs repeatedly when someone decides to keep switching emotes
Return proper blankpost checking to 2.8.5 (chatmessage_is_empty bool makes sure the chatbox doesn't appear - branch broke that behavior by never setting it)
More robust blankpost checking, meaning that passing a competely empty "" string will also count as a blankpost
Fix screenshake not working with blankposting by moving it before the chatmessage_is_empty check in start_chack_ticking() stage of the message parsing

* Allow user to send blankposts without even having to input a single spacebar, but only if last m_chatmessage CID matches ours.

* Reviews are cool and good👌
allow sending no-text chat message to server without weird cid checks (let the server validate if they want to do STR_OR_EMPTY or just STR) - doesn't break existing behavior and lets servers introduce the new one if they want to
Treat all blank/whitespace messages as blankposting and not just single-whitespace.
Remove chatmessage_is_empty bool because why the fuck would you even need it if you have m_chatmessage[MESSAGE] already
Simplify chatlogpiece log entry to not be a *temp pointer by suggestion

* another useless bool destroyed
Make "additive" have a very awesome emergent behavior with blankposting - keep showing the chatbox+message while only changing the emotes. Works with preanims too!
2020-08-18 10:02:53 -05:00
scatterflower
3c13a686a0
Merge pull request #255 from scatterflower/2.8
Do not update colors in log for each IC message
2020-08-17 13:11:21 -05:00
scatterflower
4ada75a3bd fix statement after break; from case 2020-08-17 13:06:35 -05:00
scatterflower
da002085ab Do not update colors in log for each IC message 2020-08-17 07:05:37 -05:00
scatterflower
c24ecc37e7
Merge pull request #254 from scatterflower/2.8
2.8.5 finishing touches
2020-08-16 22:04:27 -05:00
scatterflower
ecb0ee42a3 clang format 2020-08-16 21:59:44 -05:00
scatterflower
359cad73d4 use shownames in log properly 2020-08-16 21:55:14 -05:00
scatterflower
ae7c36e609 use proper syntax to instansiate qbrush 2020-08-16 21:53:05 -05:00
scatterflower
1bbfd71eeb
Merge pull request #253 from scatterflower/2.8
Don't hang IC due to invalid emote mod
2020-08-16 21:50:10 -05:00
scatterflower
c5f8fc8f96 make suggested changes from code review 2020-08-16 21:48:50 -05:00
scatterflower
8712ed3ca1 Don't hang IC due to invalid emote mod 2020-08-16 17:47:05 -05:00
scatterflower
89aa821d36
Merge pull request #251 from scatterflower/2.8
Simplify parts of the IC handler, and fix some bugs
2020-08-16 14:26:06 -05:00
scatterflower
4b7efc8536 allow -1 charid for system messages 2020-08-16 14:17:58 -05:00
scatterflower
3c031db2ea fix check for negative char_id 2020-08-16 14:14:26 -05:00
scatterflower
95725eb129 fix incorrect emote modifier 2020-08-16 13:53:16 -05:00