Commit Graph

523 Commits

Author SHA1 Message Date
oldmud0
9486f44770
Merge pull request #369 from skyedeving/fix-showname-toggle
Fix timestamps when toggling showname
2021-01-05 21:07:48 -06:00
Skye Deving
371ca313e6 Add in support for streaming music with bass 2021-01-05 12:36:17 -06:00
Skye Deving
5abc685b47 Sort case evidence numerically before adding in
inventories get displayed lexigraphically too but it is assumed to not
matter
2021-01-04 19:58:30 -06:00
Skye Deving
8aaba6633e Change default parameter to be QDateTime::currentDateTime()
Print debug message if provided timestamp is invalid
2021-01-04 19:21:11 -06:00
Skye Deving
6570bcf066 Fix timestamps when toggling showname
On toggling shownames, regenerate_ic_chatlog() gets called to reprint
the entire chatlog with append_ic_text().  The issue is that
append_ic_text() uses QDateTime::currentDateTime() for the timestamp
when it's called.  Therefore the fix is adding a new timestamp
parameter to the append_ic_text() which we supply from the datetime
provided by each chatlogpiece
2021-01-04 13:45:18 -06:00
Skye Deving
4d02cc8d68
Use QList::mid when constructing QStringList (#365)
The constructor with two iterators is too cutting edge from 5.14 to be
widely supported right now
2021-01-04 12:51:27 -06:00
stonedDiscord
714f54b9dc CI needs an extra include for bind 2021-01-04 18:05:03 +01:00
stonedDiscord
04ed1a1812 add 3 second timer before OK shows up 2021-01-04 16:44:14 +01:00
Skye Deving
a0ef2a75ef Encode doc contents with hash sign 2021-01-04 06:43:40 -06:00
Skye Deving
aabb256207 Refactor AOPacket 2021-01-04 06:38:31 -06:00
scatterflower
29f8733dba
FL toggle for Y offset (#360)
Use "y_offset" to enable the Y offset protocol extension.
2021-01-03 19:23:01 -06:00
oldmud0
9cd533cf40
Merge pull request #351 from in1tiate/in1tiate/sane-libs
Search for libraries inside a dedicated "lib" folder (and notes on distributing future releases)
2020-12-28 12:28:10 -06:00
in1tiate
38b730ce0d
add library path instead of setting it
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-12-28 04:37:33 -06:00
Crystalwarrior
570bad6d47
Fix blankposting not respecting character ID's in the equation (#282)
Fixes an issue where if you blankpost on top of another character's blankpost, your message won't show up on the ic log clientside.
2020-12-28 01:19:15 -06:00
in1tiate
39a8ab8ab2
Enable support for up to 6 SFX channels (#355)
I'm somewhat confused as to why this wasn't enabled to begin with, since all the necessary code is here.

Closes #306, and fixes the issue with realizations being cut off by other sounds.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-12-28 00:54:08 -06:00
in1tiate
b159ca35df
Fix sounds and blips being muted forever on changing character (#345)
Re-fix of #277.
2020-12-28 00:49:50 -06:00
oldmud0
8ed373597b
Merge pull request #340 from AttorneyOnline/path-traversal
Prevent path from escaping base.

Truly the end of an era.
Alexa, play ../../../../../../../../Users/Public/Music/Sample Music/Kalimba.mp3
2020-12-28 00:48:00 -06:00
in1tiate
3d4d637838 Search for plugins in "lib" directory 2020-12-12 06:54:45 -06:00
oldmud0
b155ab8488
Merge pull request #342 from AttorneyOnline/charselect-sounds
Fix #277 (sounds in charselect)
2020-11-17 15:51:33 -06:00
oldmud0
0356165d82
Fix SFX tooltip description (#343)
Fixes #290.

Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com>
2020-11-17 15:49:10 -06:00
stonedDiscord
fa083923f9 change the sfx tooltop description 2020-11-16 15:17:49 +01:00
stonedDiscord
0c382eea7d move enter courtroom to the PV packet instead of just doing it when you click a character 2020-11-16 15:13:33 +01:00
stonedDiscord
6e58b6a943 don't display the ? in the titlebar 2020-11-16 15:06:25 +01:00
stonedDiscord
548eae95f2 filter path traversal 2020-11-16 14:49:28 +01:00
stonedDiscord
10298230ce clean up path functions 2020-11-16 14:32:04 +01:00
oldmud0
4eb45ef2b0
Merge pull request #305 from Crystalwarrior/bugfix/blip-accuracy
More accurate/consistent blip rate functionality + punctuation slowdown fixes
2020-11-10 14:07:45 -06:00
oldmud0
fe3b16829f
Merge pull request #335 from AttorneyOnline/white_space
* set no maximize flag on lobby
* set no maximize flag on courtroom
* set no maximize flag on charselect
* stop them from dragging the charselect
* stop them from dragging the courtroom
* stop them from dragging the lobby

Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com>
2020-11-10 08:56:45 -06:00
in1tiate
fe3224d7e8
Add vertical offset feature (#333) 2020-11-10 08:43:18 -06:00
in1tiate
1502a18593
Reformat emote_mod logic (#307)
Interjections should not force preanimation if 'Pre' is unchecked.
2020-11-09 15:05:21 -06:00
in1tiate
5aee23d56b
Add context menu entry to stop music (#301)
Also included in this commit are changes to the music packet handler that change the text from "has played a song" to "has stopped the music" in the case that the special "stop song" track is played, as well as a condition stopping music categories from triggering a music packet when double-clicked.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-11-09 14:47:51 -06:00
oldmud0
2d398c3237
Merge pull request #312 from AttorneyOnline/fix-doubleclick
fix doubleclick server being buggy
2020-11-07 19:11:43 -06:00
stonedDiscord
2dbedf5163 stop them from dragging the lobby 2020-11-05 23:27:58 +01:00
stonedDiscord
1e1ada7437 stop them from dragging the courtroom 2020-11-05 23:27:49 +01:00
stonedDiscord
0a5e5582a3 stop them from dragging the charselect 2020-11-05 23:27:43 +01:00
stonedDiscord
c1dfb4928c set no maximize flag on charselect 2020-11-05 23:17:30 +01:00
stonedDiscord
997462ad54 set no maximize flag on courtroom 2020-11-05 23:17:22 +01:00
stonedDiscord
c49ce181c9 set no maximize flag on lobby 2020-11-05 23:17:15 +01:00
scatterflower
a46c7ca8f6 reset doubleclick flag on connect 2020-11-01 13:35:57 -06:00
oldmud0
dd085c8958
Merge pull request #331 from AttorneyOnline/no-fantacrypt
Drop AO1 compatibility
2020-11-01 12:32:48 -06:00
oldmud0
93f370b062
Merge pull request #309 from AttorneyOnline/fix-272
When deciding to present evidence, check if we've already done so
2020-10-31 18:26:38 -05:00
oldmud0
e0e2898393
Merge pull request #319 from AttorneyOnline/in1tiate/music-missingno
Indicate when a song was not found to reduce confusion
2020-10-31 18:26:10 -05:00
in1tiate
f4cdb3954f Fix missing #include, run clang-format 2020-10-13 18:52:23 -05:00
in1tiate
38d5fc7586 Add proper masking to AOImage elements 2020-10-13 15:42:06 -05:00
in1tiate
5fc87a93d2
Inmplement suggested change 2020-10-09 20:17:23 -05:00
in1tiate
74c15447b5 [MISSING] should be translatable 2020-10-09 10:24:03 -05:00
in1tiate
f00801feb6 add indicator when song is not found 2020-10-09 10:22:58 -05:00
stonedDiscord
5ab50c8431 add BB packet for a MessageBox popup 2020-10-06 12:43:50 +02:00
scatterflower
f91fc5739c fix doubleclick server being buggy 2020-10-04 01:41:23 -05:00
oldmud0
849f91d991
Merge pull request #299 from AttorneyOnline/fix-283
Fix shout sounds not being initialized from the default theme when current theme lacks them
2020-09-20 09:13:24 -05:00
in1tiate
48f8d8aa27 add variable check for evidence presenting 2020-09-19 04:12:40 -05:00
oldmud0
aa6f073ea8
Merge pull request #298 from AttorneyOnline/fix-293
Fix iniswap removal button disappearing on clicking 'reload theme'
2020-09-11 22:19:53 -05:00
Crystalwarrior
d00d0769a9 Lots of blip rate fixes:
Remove qElapsedTimer method of blip earrape protection due to major inconsistency issues with this method (the same message would produce wildly different blip sounds - consistency is preferred)
More sophisticated blip earrape prevention is calculated in the chat ticker function itself, it also properly adjusts itself depending on the blip_rate used.
2020-09-11 23:38:36 +03:00
Crystalwarrior
8cc067dee4 More accurate/consistent blip rate functionality inspired by https://youtu.be/Min0hkwO43g 2020-09-11 22:17:13 +03:00
in1tiate
6c2010a1cf Apply suggested change to remove need for additional function 2020-09-07 14:53:17 -05:00
in1tiate
311e260d65 Add 600ms rate limit to IC signal 2020-09-07 13:38:10 -05:00
in1tiate
4562bcd82f Alter logic flow to include theme folders for shout sounds 2020-09-07 13:00:59 -05:00
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
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
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
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
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
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
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
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
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
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
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
scatterflower
1c5b097f65 further cleanup of chat handler 2020-08-16 12:43:26 -05:00
scatterflower
5c6dad88ce
Merge branch '2.8' into ic_fixes 2020-08-16 12:35:41 -05:00
scatterflower
a31693323c
Merge pull request #250 from scatterflower/boldfix
Fix improper bolding behavior due to malformed string literal
2020-08-16 11:00:03 -05:00
scatterflower
42d939614f Fix improper bolding behavior due to malformed string literal 2020-08-16 10:59:06 -05:00
scatterflower
507180d164 Clean up logic in handle_chatmessage() 2020-08-16 08:37:12 -05:00
scatterflower
de6a2ba4ae
Merge pull request #244 from scatterflower/is241
Optimize ARUP
2020-08-16 07:26:55 -05:00
scatterflower
cd3ddfe16c Update brushes on theme reload 2020-08-16 07:21:49 -05:00
scatterflower
34604742f1
Merge pull request #245 from scatterflower/realization_fix
Check for custom realization sound when using effects list
2020-08-16 07:12:29 -05:00
scatterflower
079ce93b85 Remove clientside doublepost checking 2020-08-16 07:06:53 -05:00
scatterflower
11250e1386 Ensure consistent behavior in IC log, clarify showname logic, and define constants for minimum and maximum packet sizes 2020-08-16 06:50:19 -05:00
scatterflower
002086343a Check for custom realization sound when using effects list 2020-08-16 04:03:56 -05:00
scatterflower
102ca4d641 Create brushes for area list once 2020-08-15 19:47:24 -05:00
scatterflower
8b44d4ae95 Only regenerate the area list once per ARUP packet 2020-08-15 19:40:52 -05:00
windrammer
0ce60d66a7
Fix not using custom chatbox's colors (#228)
* Fix not using custom chatbox's colors

Moved set_text_color_dropdown() to after current_char is actually updated
with the selected char. Otherwise set_text_color_dropdown will try to
update the colors with either nothing as character, or with the previously
selected character.

Use get_chat() so it actually gets the name of the custom chatbox
instead of using the same name as the character.
Remove the extra "c" since get_chat_color it's already called
with this "c" in place.

* Fix previous fix crashing the client on DRO servers

For some reason the client would work just fine
if set_text_color_dropdown() was called only once
after updating the character selected by the user.
But when joining a DRO server the client would crash
just before loading the music.

* Improve comment with where crash happens

* Fix get_chat_markdown to get the custom chatbox on misc of the char

instead of trying to find the character folder on misc

* Fix client using the current character colors on other people's messages

Also remove the comment explaining the crash if set_text_color_dropdown
is removed from set_widgets

* Fix loading custom colors loading after the message was added to the log
2020-08-05 09:18:08 -05:00
windrammer
630518020a
Fix music display disappearing on theme reload (#233) 2020-08-04 10:09:27 -05:00
windrammer
07e1127096
Fix current_display_speed overflow (#232) 2020-08-04 10:03:40 -05:00
windrammer
36b5af3cb9
Add option for automatic logging (#203)
Just so we're on the same page, this is enabled by default.

Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-31 15:14:39 -05:00
Crystalwarrior
bab10ea14d
Add "Play Random Song" option (#200)
It also respects the search string, so only visible tracks are chosen from the pool. Categories (i.e. entries with children) are also ignored.
2020-07-31 15:11:38 -05:00
Crystalwarrior
56d7fff500
Fix reload theme breaking BG sizing (#212)
May need additional testing with animated BGs.
2020-07-31 15:07:14 -05:00
Crystalwarrior
740d825fd2
Add a p_char optional argument to set_fonts() (#209)
Add overrides to set_font for font name and size (this is to preserve the chat_size and chat_font char.ini arguments that were implemented way earlier)
Cease the baddening with set_font that was there before and condense it into a proper set_font function call
Implement set_font for custom showname shenanigans from the misc folder
2020-07-31 15:06:55 -05:00