Commit Graph

991 Commits

Author SHA1 Message Date
oldmud0
de3533fbf2 Rework timer and ping logic
The timer's time as received by the server is clarified to be the actual
numerical time, in milliseconds, to be shown on the clock.
2021-01-09 01:18:19 -06:00
Skye Deving
512b7a37de Adopt the orphaned msgBox's and add delete on close attribute 2021-01-07 23:32:00 -06:00
Skye Deving
df24961c0d Set delete on close attribute for orphaned widgets 2021-01-07 23:31:08 -06:00
Skye Deving
c46ab13c62 Adopt the scroll widget in the options dialog 2021-01-07 23:30:46 -06:00
Skye Deving
86fd030ef0 Adopt the poor orphaned QWidgets 2021-01-07 23:30:10 -06:00
Skye Deving
cbf8391a65
Add QMenu delete on close attributes (#381)
Fixes a minor memory leak with context menu creation.
2021-01-07 20:44:58 -06:00
Skye Deving
e2c447f1d7
Set emote format to apng if png supports animation (#379) 2021-01-07 16:21:56 -06:00
oldmud0
d308fc83de
Merge pull request #316 from AttorneyOnline/messagebox
add BB packet for a MessageBox popup
2021-01-06 12:41:52 -06:00
oldmud0
c4b739292a
Use call_error() for character load error message 2021-01-06 11:43:31 -06:00
oldmud0
6e57e170e7
Merge pull request #362 from skyedeving/fix-casedoc-loading
Encode doc contents with hash sign
2021-01-06 11:23:37 -06:00
Skye Deving
cb19f55a06 Checking for apng should be lower case 2021-01-06 00:59:22 -06:00
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
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
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
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
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
oldmud0
be4b6e78ab Fix regression parsing HTML escapes
Introduced trying to fix emoji. This parsing function is cancerous.
2020-07-30 21:55:15 -05:00
Crystalwarrior
1802f6309f
Make spectator function as a character with ID -1 (#211)
- Don't hide spectator button anymore.
- Make the spectator button properly send the char switch packet.
- Fix the spectator button not properly loading the courtroom and music list etc.
2020-07-30 16:25:19 -05:00
oldmud0
906a600a64
Fix emoji displaying extraneous characters (#219)
Fixes #192.
2020-07-30 16:17:06 -05:00
windrammer
55fa6d7da0
Add darker button generator (#201)
When an `_off` emote button exists without an `_on` counterpart, the client will automatically generate the `_on` button and save it to disk.

Co-authored-by: Cents02 <Cents02@Cents0.me>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-07-30 12:10:58 -05:00
oldmud0
6844f72ab5
Fix build error from bad merge
redefinition of objection_mod
2020-07-29 18:31:15 -05:00
in1tiate
3afdad90c8
Add support for multiple custom interjections via context menu (#162)
* YOU DO NOT BELONG IN THIS PR
GET OUT

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: likeawindrammer <31085911+likeawindrammer@users.noreply.github.com>
Co-authored-by: Crystalwarrior <Varsash@Gmail.com>
2020-07-29 17:45:46 -05:00
windrammer
abe80513d8
Add Qt 5.9 compatibility (#202)
* Added Ubuntu 18 backwards compatibility

Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-29 17:43:33 -05:00
in1tiate
949a323903
Fix showname placeholder text and shout button after changing characters (#147) 2020-07-29 17:38:34 -05:00
windrammer
fc9fe6b34b
Fix colors not persisting when refreshing IC log (#204)
Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-29 17:08:39 -05:00
windrammer
58180371ef
Hitting return on blank search box should collapse music list (#205)
* If enter is hit with no query it collapses the music list

Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-29 17:07:55 -05:00
likeawindrammer
b15c78af0d Add Portuguese and Polish language options 2020-07-29 11:23:17 -06:00
windrammer
0b7b70c76a
Fix character-specific theme not falling back to current theme (#207)
It is only logical to say that the user, when not specifying any specific speedline or similar in the theme, then the current theme should be checked first rather than the default theme.

Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-29 12:19:27 -05:00
windrammer
a640def157
Fix screenshake button shunting character to origin (#215)
* Fix #193
By making sure handle_chatmessage_3 calls start_chat_ticking
and thus do_screenshake only after either play_idle or play_talking is called

* Move call to start_chat_ticking to the end of handle_chatmessage_3
2020-07-29 12:15:30 -05:00
Crystalwarrior
4a0df25c39
Fix chatlog instances where char_id 0 is ignored (#210) 2020-07-27 12:09:09 -05:00
windrammer
37520f9318
Fix connect button issue when using favorites list (#206)
Co-authored-by: Cents02 <Cents02@Cents0.me>
2020-07-27 12:08:14 -05:00
Crystalwarrior
d9d9232ea8
Fix private evidence arrows not updating (#213) 2020-07-27 12:06:33 -05:00
oldmud0
1bccc5c3d8
Merge pull request #198 from Crystalwarrior/bugfix/max_colors
Fix max colors being one int off
2020-07-26 11:17:50 -05:00
Crystalwarrior
154ba64f4a Fix max_colors allowing +1 more than the actual max 2020-07-25 19:31:36 +03:00
Crystalwarrior
e84426ae8d Credits corrected for CrazyJC and MaximumVolty involvement in 2.8 2020-07-24 18:39:22 +03:00
Crystalwarrior
29f0e06bc8
Make 'FL' packet reset settings to default and take the new settings in (#186)
* Fix colors in ic logs not parsing HTML properly when log_goes_downwards=false and colorlog=true

* Restore KFO branding

* Reset the settings values when receiving the 'FL' packet. This allows enabling/disabling features at runtime, such as ARUP system.

* Revert "Restore KFO branding"

This reverts commit 7f19b6257a0d75ec1d392b9b8c02a384c8dba43d.
2020-07-23 19:32:34 +02:00
Crystalwarrior
b2a5f517d9
Add showname alignment option for theme makers (#189)
* Add alignment options for shownames

* Make shownames align to the left by default like before

* Use this branch as an opportunity to fix showname not being resized according to misc/ folder courtroom_design.ini
2020-07-23 19:28:53 +02:00
raidensnake
b38e221fb1
Fix APNG backgrounds not appearing on list; fix BASSOPUS path for macOS (#185)
* Added apng support for animated background positioning.

* Adjusted the apng background position search.

* Fixed libbassopus.dylib path on MacOS preventing opus files from playing.
2020-07-11 23:06:38 -05:00
Crystalwarrior
4c5fdab9e9 Fix the color fix pr when logs go downwards where it didn't add an \n because html doesn't like \n very much so it has to be <br> because that's what HTML does
yea
2020-07-08 00:02:17 +03:00
Crystalwarrior
c29fe7c7ba
Regenerate the background when reload_theme is pressed to prevent scaling issues (#181) 2020-07-06 17:46:22 -05:00
Crystalwarrior
b12f82dc8c
Fix html not being parsed in ic logs when ic logs go downwards (#178)
I found this bug like 3 weeks ago but I forgot to actually make a PR for it oops
2020-07-04 19:07:09 -05:00
oldmud0
43419933e5
Merge pull request #175 from Crystalwarrior/feature/packet-music
More sensible music loop packet configuration
2020-07-04 12:17:53 -05:00
Crystalwarrior
44a4a2d23e
Fix an issue where the Ambience layer would break looping points for all other channels due to loop_start and loop_end only being a single variable. (#164)
This occurs due to BASS not having any private variables of its own, so it was simply using the public variables loop_start and loop_end as reference - since those changed for any new song playing on another channel, the old looping points got replaced, and the seamless looping stops working.
The solution was easy - just make a  loop_start/loop_end variable for every supported channel - so 4 variables in our case.
2020-07-04 12:15:52 -05:00
Crystalwarrior
c533370fd8
Fix the blips folder not seeking the blips/ folder for the male.wav sound effect first instead of trying to find sfx-blipmale in base/general folder, makes using the blips folder more viable. (#173) 2020-07-04 12:15:19 -05:00
Crystalwarrior
0a31a20266
Add a setting to turn on/off custom character-defined chatboxes (#166)
* Add a new "Custom Chatboxes" settings option to enable/disable char.ini setting custom chat box designs per-character

* Fix chat_arrow being incorrectly updated between character messages if the custom chatbox modified the chat arrow positioning/size in any way

* brackets matter
2020-07-03 16:34:09 -05:00
oldmud0
5cd9da3706 Credit some more people
Not sure how to split this up, frankly. Some people have been more
involved in client/server/protocol development than others. I'll figure
this out eventually.
2020-07-03 09:58:03 -05:00
Crystalwarrior
19c3aa93fe Some commit managed to regress the colors and it actually totally wasn't my fault!!!
Fix colors being broken
2020-07-02 21:52:35 +03:00
Crystalwarrior
6d4eb87749 Add explanation comments to the music looping vars
Make music not loop by default for backwards compatibility with old style on servers not supporting clientside music looping
Make the music loop when the packet containing loop data gives us "1", treating it as "looping=true".
2020-06-30 23:29:51 +03:00
Crystalwarrior
19d0c29b35
Fix issues when undefined colors result in everyone's chat not using talk anims (#174)
base/misc/default/config.ini with properly defined "baseline" colors will have to be supplied with vanilla content later.
Remove hardcoded colors - user has no access to these unless config.ini is valid, yet when others speak using these ID's their text shows up just fine.
Either reimplement full on hardcoding madness (NOOOOOOOOOOOOOOOOOOOOOOOO NO NO NO NOOOOOOOOOOOOOOOO NOOOOO!!!!) or yeet.
I chose the sensible option :^)
2020-06-29 10:39:27 -05:00
in1tiate
45baa626bc set tooltips of char buttons to char names 2020-06-27 10:11:33 -05:00
oldmud0
3d3de26140 Fix connect button not enabling
Apparently this had never been staged, and while everyone was having
problems with the connect button, everything was working just fine for
me.

This enables the connect button a bit earlier in the handshake process
than in 2.6, since there are some older servers out there that don't
send FL (and so the connect button would never get enabled). This might
lead to race conditions, and sometimes the progress bar does hang,
but you can just cancel and reconnect - I haven't encountered a crash
so far.
2020-06-12 16:45:50 -05:00
oldmud0
35b9c834e2 Lobby: Fix incorrect sorted server list 2020-06-10 14:33:10 -05:00
oldmud0
f13635b5cd Update credits again
- Alphabetized QA section
- Added MaximumVolty
- Added court-records.net
- Renamed Unishred to Lewdton
2020-06-10 14:33:10 -05:00
oldmud0
e0fb90984c Update about dialog
- Credited FanatSors
- Added Qt version, audio engine, and build date
2020-06-06 23:20:32 -05:00
oldmud0
032e53d157 Fix SFX playing at 1/100th of its intended volume 2020-05-31 21:54:35 -05:00
oldmud0
8e106c5d21 Fix server list showing in reverse order 2020-05-31 17:08:01 -05:00
oldmud0
6dde524a16 Lobby: Change "font_*" config entry to "*_font" 2020-05-31 17:07:35 -05:00
sD
e81fac7e07 fix qt sfx player 2020-05-23 19:28:34 +02:00
sD
7a7dd25459 i don't need this 3 times 2020-05-23 19:21:25 +02:00
sD
8a4fc4516c fix qt music player 2020-05-23 19:18:35 +02:00
sD
e7ec42f977 undo branding 2020-05-23 18:41:27 +02:00
sD
3329ce1416 use new hdid method if supported 2020-05-23 18:32:45 +02:00
sD
ba9aebec57 translate stuff that got run over 2020-05-23 18:32:05 +02:00
sD
68bd38b7fe forgot those on noaudio 2020-05-23 17:28:54 +02:00
sD
5922bf748a no and zone 2020-05-23 17:28:27 +02:00
sD
52736498b1 fix up nomusic 2020-05-23 17:21:22 +02:00
oldmud0
75453510e0 Fix compile errors from merge 2020-05-22 21:14:37 -05:00
oldmud0
df8f19320b Bring back CI changes and macOS support 2020-05-22 19:35:49 -05:00
oldmud0
fd1855b8d0 Merge KFO source unconditionally into AO2 2020-05-22 19:17:55 -05:00
oldmud0
8928aa2718 Perform clang-format
If you don't want to see this commit on blames, use the hidden
whitespace option on GitHub, or use `-w` in git-blame.
2020-05-22 17:13:37 -05:00
oldmud0
156a760eba Full revert to tag 2.6.2
Due to a countless number of changes made to the core that were not
fully understood, tested, or documented, it was decided to roll
everything back to the last known stable version (2.6.2).

Changes dropped include:
 - Witness needed
 - Shake
 - Frame SFX
 - Multiple custom objections
 - Multithreaded thumbnail generation
 - Looping
 - Various translation additions
 - "Mirror IC"
 - Color in IC log
 - An invocation of clang-format

Next time, work together and split your big fork into independently
testable feature branches.
2020-05-22 17:02:32 -05:00
Crystalwarrior
a5868aa380 Fix looping frame SFX not working w/ AOV's definitions 2020-05-22 04:53:19 +03:00
Crystalwarrior
88de4cde04 clang 2 electric boogaloo
{ BasedOnStyle: LLVM, BreakBeforeBraces: Stroustrup}
2020-05-22 02:14:54 +03:00
Crystalwarrior
c8e12558cd Clang-ify the code with this styling using Visual Studio Code:
{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Stroustrup, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }
(this is the Visual Studio preset with only "BreakBeforeBraces" changed from Allman to Stroustrup)
2020-05-22 01:18:24 +03:00
in1tiate
8c0bb87f09 specify encoding for qsettings calls 2020-05-20 00:22:48 -05:00
oldmud0
4af7bc5fff
Fix broken APNG (#153)
* Remove explicit APNG check

* Update aocharmovie.h
2020-05-19 18:49:29 -05:00
oldmud0
e9940c82bd
Fix syntax error from unclean merge 2020-05-02 21:44:34 -05:00
oldmud0
bbdad2a40d Merge branch '2.7-rc'
Includes full code reformat.

# Conflicts:
#	src/aomusicplayer.cpp
#	src/path_functions.cpp
2020-05-02 21:29:06 -05:00
sD
992c0b14e1 what is this, c++ for ANDs
this kept it from buildinf with MSVC
2020-04-24 12:54:48 +02:00
cents
896c4e4dbc Fixed wrong name being written in mirror mode 2020-04-23 11:57:27 -07:00
likeawindrammer
0a656d222d fix typo 2020-04-21 01:52:17 -06:00
cents
8fa96535ef Hooked up the new settings
Did you know you could scale the iclog with ctrl + mouse wheel?
2020-04-20 12:37:28 -07:00
cents
5b6d58bd02 Added additional customization options.
I didn't format anything tho that is at the end
2020-04-20 07:51:42 -07:00
cents
5f88b1fd30 Removed Duplicates 2020-04-19 12:47:50 -07:00
likeawindrammer
5bd8c960c9 Fix crash on saving settings
Thanks Initiate for actually fixing this
2020-04-19 12:35:03 -06:00
stonedDiscord
1e2d71fb96
Merge pull request #134 from AttorneyOnline/streammusic
Streaming music
2020-04-19 16:10:59 +02:00
likeawindrammer
f224ea0589 Add Polish to the language options 2020-04-18 15:04:34 -06:00
likeawindrammer
58b7725406 Change second exclamation to period on tooltip
No need for two exclamations
2020-04-18 02:40:46 -06:00
likeawindrammer
26872be05d Add missing periods on two tooltips 2020-04-18 02:35:09 -06:00
likeawindrammer
9faf41a89f "interupted" -> "interrupted"; "expierence" -> "experience" 2020-04-18 00:45:13 -06:00
likeawindrammer
ac60466ac9 "IC_Log" -> "IC Log" 2020-04-18 00:14:59 -06:00
likeawindrammer
9a041bdf2a Change some tooltips 2020-04-18 00:00:43 -06:00
likeawindrammer
50d5aa2a0e Revert "Change "Custom shownames:" to "Show custom IC names:""
This reverts commit cd034b996a.
2020-04-17 23:26:44 -06:00
likeawindrammer
aed4396584 Change tickbox to checkbox
As far as I know checkbox is more common
2020-04-17 23:21:05 -06:00
likeawindrammer
cd034b996a Change "Custom shownames:" to "Show custom IC names:"
"shownames" isn't a word, and what does "Custom shownames" even mean anyway?
"Show custom IC names" should do a better job at explaining what this option does.
2020-04-17 23:13:18 -06:00
oldmud0
13942345c6 Run clang-format on entire project
Indentation fixed to 2 spaces per tab. Braces set to Stroustrup style.
Lines reflow at 80 characters. One-line method bodies are on the same
line as the signature. Space always after `//`. No indentation
on preprocessor macros. Includes are sorted lexicographically.

If you don't want to see this commit on blames, use the hidden
whitespace option on GitHub, or use `-w` in git-blame.
2020-04-17 21:57:16 -05:00
oldmud0
faac191f0b Mega-merge of CR fork
CR likely stands for "CentsRaidensnake." Like the Case Cafe mega-merge
before it, this was not a clean merge, and it had to be split up into
two parts: the actual changes, and the attempt it made to reformat the
entire code via clang-format.

This branch had a complicated set of changes that would be difficult to
describe in this commit message. It would be better described in a
proper changelog.
2020-04-17 21:48:34 -05:00
Crystalwarrior
dfac0652c8 Add possibility for custom use text besides just "played music"
Implemented "presented evidence" message
2020-04-13 17:16:26 +03:00
in1tiate
901012eb28
Remove dumb memes (#141)
* remove memes

* Update courtroom.cpp
2020-04-12 15:43:39 -07:00
oldmud0
21a8b6f6e6
Merge pull request #139 from AttorneyOnline/posdrp
Fix an oversight with the pos dropdown, add a small feature
2020-04-11 22:46:57 -05:00
in1tiate
ed9632f220 fix dropdown bug, add minor feature 2020-04-11 20:04:41 -05:00
likeawindrammer
8486e19119 Add Portuguese translation 2020-04-11 18:21:04 -06:00
Crystalwarrior
e0ae7c0eb5 Fix evidence display viewport element being a FUCKING JACKASS 2020-04-02 23:10:54 +03:00
Crystalwarrior
71ebdac1c1 Fix collapse all rightclick option being annoying in its behavior. Now it's *smart*! 2020-04-01 20:01:00 +03:00
Crystalwarrior
c49c9cdd77 Fix weird behavior with area list and arup system + wrong column being used for 'metadata' 2020-04-01 19:48:58 +03:00
sD
02dd9b0a35 bass being bass again 2020-04-01 12:51:24 +02:00
sD
1b5c1ebb04 don't look in music for URLs 2020-04-01 12:51:13 +02:00
Crystalwarrior
8007b1d1b9 Add courtroom_design.ini partial parsing for misc/ folder (only chat_arrow and showname atm)
Initialize chat arrow n stuff
this is still pretty gay because you can't ignore size and set pos or something like that
2020-03-31 18:12:15 +03:00
Crystalwarrior
7816c8ab23 Add legacy fallback for "chatbox.png" name if chat.png doesn't exist 2020-03-31 17:09:00 +03:00
Crystalwarrior
feaf04a5c4 Fix custom chatboxes not working at all 2020-03-31 17:03:41 +03:00
Crystalwarrior
7fb19ae7bd Fix aomovie resizing algorithm for BG's crashing the client because I fucked up, lol 2020-03-31 14:24:48 +03:00
Crystalwarrior
4aa1ae62e1 Fix wrong pos being shown when entering area due to index signal being called in the wrong place 2020-03-28 19:29:46 +03:00
cents02
558fa55be8
Made the shake button useful.
Apparently nobody tested it before.
2020-03-27 21:11:33 +02:00
Crystalwarrior
614522bc0c Quality of Life improvements
Fix a bug where IC view received focus as soon as you receive the BG image update (it made navigating using /area commands a pain in the ass)
Make music search behave better and not reset when server sends us music list update (todo: remember which elements were/weren't expanded)
2020-03-27 15:48:16 +03:00
Crystalwarrior
1634db7864 Make backgrounds preserve aspect ratio when used with different aspect ratio themes
(e.g. a 16:9 theme would not stretch a 4:3 bg and instead have a letterboxing effect. A 4:3 theme using a 16:9 BG will not stretch the BG but instead center it, making it look like the BG is 4:3 all along.)
2020-03-26 14:41:56 +03:00
Crystalwarrior
f668d70ac5 Change @ and $ to \s and \f standing for s[hake] and f[lash].
This is done because @ is used very often to refer to people, and $ is used to indicate cash money.
2020-03-25 00:42:20 +03:00
oldmud0
ede1236b70 Fix syntax error introduced in 530721f 2020-03-22 15:25:13 -05:00
Crystalwarrior
825042b32c Fix a really obscure bug breaking custom realization sound effects (realization=thing) char.ini definition not starting from base/sounds/general folder 2020-03-22 22:26:46 +03:00
in1tiate
530721f2d0
frame count check 2 electric boogaloo
re-fix the same bug oh joy
2020-03-22 07:44:01 -05:00
in1tiate
6db808ec60
If frame count is 0, don't try to play the next frame (#129)
ya goofus.
2020-03-21 18:03:12 -05:00
sD
dd2daf55f3 it's basically the same packet minus requesting the next list 2020-03-15 13:20:33 +01:00
sD
beb469cd80 Merge branch 'master' into pr/104 2020-03-15 13:12:52 +01:00
in1tiate
64f18ee632 add placeholder to OOC chat message box 2020-03-14 23:00:50 -05:00
sD
1b0930b977 move area list detection algorithm into a seperate function 2020-03-13 16:29:01 +01:00
sD
ba03fb03e2 musictime is a bad name for this 2020-03-13 16:22:41 +01:00
Crystalwarrior
71967d44fd Keep verison string as-is and only update the actual VERSION display as for some weird ass reason doing it this way won't let you join KFO server 2020-03-12 19:20:26 +03:00
Crystalwarrior
4c8bf57268 VERSION 2.8.3 BABYYYYYYYY
Add "KFO" to version display in lobby so it's even clearer this is a custom client
Add a settings button to the Lobby screen
2020-03-12 18:34:51 +03:00
Crystalwarrior
7aa24bf501 Add a search bar for server list
Add options for sticky sounds, sticky effects and sticky preanims
Optimize the search for areas and music (previously, area search also searched for music in the background, causing lag with huge music lists)
2020-03-12 18:09:56 +03:00
Crystalwarrior
ce3269cc36 Only use anti-aliasing when sprites are being downscaled, otherwise preserve crispyness™️ 2020-03-12 00:47:39 +03:00
Crystalwarrior
9b8f60061a The Crispy™️ update
Make it so BG's and Characters will not be blurred when rescaled

TODO: Make Qmovies ditch anti-aliasing during scaling as well
Only apply crispy scaling if the size is 2x of the previous size or something
2020-03-08 17:40:52 +03:00
in1tiate
a2f1a79bc9 add theme support 2020-03-08 05:44:49 -05:00
sD
369cc298e4 rename fallback chatbox 2020-03-07 21:45:27 +01:00
in1tiate
cc1afbe30e add support for 2.4-style chatboxes 2020-03-07 01:49:54 -06:00
sD
80bf49ee90 ok bass 2020-03-06 22:14:59 +01:00
Crystalwarrior
e4b90d36a9 Fix the rightclick options for editing files not working 2020-03-06 23:29:26 +03:00
sD
2701fab91f indentation 2020-03-06 17:14:49 +01:00
sD
27a101d010 fix compiler warnings for unused vars 2020-03-06 17:14:42 +01:00
stonedDiscord
b668bb2276
Merge branch 'master' into music_list_update 2020-03-06 16:43:03 +01:00
BuildTools
21314271ae Add condition for classic PNG folders 2020-03-05 20:14:53 -06:00
Crystalwarrior
ee9de222ad Fix a bug where you couldn't join servers from your favorites list
Make column 0 the area index instead so that the areas take the full width of the treewidget
2020-03-06 01:14:05 +03:00
Crystalwarrior
39f9d1043e Add sorting by name for lobby 2020-03-05 21:23:42 +03:00
stonedDiscord
b44338996b make volume scale log 2020-03-01 16:05:40 +01:00
stonedDiscord
d276f14766 full music path in log 2020-03-01 15:59:44 +01:00
stonedDiscord
88b686b9d1 put full path in debug log 2020-03-01 14:37:32 +01:00
Crystalwarrior
a4e448576b Make pos dropdown more abstract and actually useful by letting servers send only pos you can actually access.
Pos dropdown system also reads the actual bg folder of the current BG to see all the created pos.
2020-02-24 22:20:43 +03:00
sD
a6f980f444 rename modcalls 2020-02-23 20:12:41 +01:00
sD
b6eb61c187 move language setting to the correct position 2020-02-23 13:18:51 +01:00
sD
3c30098360 translate char not found 2020-02-23 13:08:19 +01:00
sD
ea099a5141 loading lost in translation 2020-02-23 12:59:20 +01:00
sD
4af8ba9c38 what was graphmeme even fot 2020-02-23 12:28:07 +01:00
sD
1291e776b6 handle all types of musiclists 2020-02-23 12:25:10 +01:00
sD
444b0ff60f replace music loading 2020-02-23 11:43:41 +01:00
sD
16bd89b6ad detect == as music start 2020-02-23 11:35:32 +01:00
sD
5cf1fdcc2d connect the signal to char_clicked 2020-02-23 03:13:07 +01:00
sD
0b16ac863c the charselect works again 2020-02-23 02:56:57 +01:00
sD
ed240c6ab0 same here 2020-02-21 18:33:04 +01:00
sD
4580816f96 character is a little nondescriptive for the button 2020-02-21 18:29:36 +01:00
sD
2716416b62 only load bass plugins when bass is included 2020-02-21 18:00:23 +01:00
sD
87e359487d combine these conditions 2020-02-21 17:57:46 +01:00
sD
9f5343e0bd put the old char loading back 2020-02-21 17:18:39 +01:00
sD
f93459ed0e remove fuck 2020-02-21 17:18:25 +01:00
sD
8d6b69e2f2 replace mycourt_fuck 2020-02-21 17:02:55 +01:00
sD
6c154841c3 area count got renamed 2020-02-21 16:54:06 +01:00
sD
0afca9243a looping wasnt in 2020-02-21 16:53:56 +01:00
stonedDiscord
7d55ff01f5
Merge branch 'master' into 2.7 2020-02-21 16:39:32 +01:00
Crystalwarrior
43c4e3e9d7 Network effects folder so you don't need to modify your own char.ini to see custom effects 2020-01-17 18:41:27 +03:00
Crystalwarrior
6138bb107b Separate screenshake options button from effects options button
Add a color logging option button
Update version to 2.8.2
2020-01-15 16:42:44 +03:00
Crystalwarrior
f30013f7f9 i am REtArd
Fixed a major bug that crashed the clients on chatting + broke a lot of assets because of a single `.` boi anywhere in the filepath.
2020-01-15 16:06:27 +03:00
Crystalwarrior
8791109c66 Remove borders for chatlogs 2020-01-03 22:34:22 +03:00
Crystalwarrior
59e8a72a50 Allow colors in server chatlogs 2019-12-28 05:47:33 +03:00
Crystalwarrior
7518ed8a00 excuse me what the fuck 2019-12-27 01:20:15 +03:00
Crystalwarrior
819d091171 UGH I BROKE BACKWARDS COMPATIBILITY NOW I'M SCRAMBLING TO FIX IT 2019-12-27 01:04:48 +03:00
Crystalwarrior
eb014a9778 Add a message delay modifier when punctuation is reached to simulate Ace Attorney 1 chat parsing (replicating the effect where characters would make a short pause, as if saying the line out loud)
TODO: Make this a configurable thing
2019-12-05 22:46:26 +03:00
Crystalwarrior
07763c5ac0 actually fix the chat instead of breaking it 2019-11-22 00:31:17 +03:00
Crystalwarrior
34848c4eaf Fix a bug where user would be unable to speak if the BG changed when someone else was speaking
Make it so blip sounds are accessed in base/sounds/blips/* if such a path exists
2019-11-18 20:27:37 +03:00
Crystalwarrior
886ec26e20 "temporarily" simplify code by stripping long since botched and unused AO1 backwards compatibility 2019-11-04 17:14:46 +03:00
Crystalwarrior
9939637dda Fix the sound bonanza so they actually play
sfx player and blip player now both account for extension-less sound paths and also correctly handle paths that do provide the extension.
2019-11-04 17:13:52 +03:00
Crystalwarrior
d402921257 Fix screenshaking only shaking down right 2019-11-04 16:31:42 +03:00
Crystalwarrior
a49c4a503b add .opus support 2019-11-04 16:10:54 +03:00
Crystalwarrior
963e321095 If def/pro/jud/hld/hlp are missing, put the character in pos wit instead of showing broken bg. 2019-11-04 15:38:54 +03:00
Crystalwarrior
773a61f3d4 Make the music search bar search in music metadata instead of just the displayed name (aka the filepath)
Make sfx player able to play sfx without the file extension provided
Allow blipsounds to seek in blips/ folder to allow better categorization, as well as direct sound references
add get_emote_blip for detecting the blipsound used by an emote. Currently unused.
Less strict/hardcoded custom objection detection system
Allow system (charid -1) messages, and don't do the same message detection on blankposting
Allow objection, hold it, take that and custom sound players to detect sounds that are not exclusively .wav
2019-11-04 15:32:01 +03:00
Crystalwarrior
bef368e986 Allow gender (blip sounds) that don't use sfx-blip naming convention
Fix "prezoom" packet being ignored
Allow char.ini's to indicate a zoom w/ preanimation by using emote_mod=4

((ALL OF THESE ARE UNTESTED - TESTING NEEDED!))
2019-10-23 05:08:20 +03:00
Crystalwarrior
7d73347618 Version 2.8.0.5
Add Killing Fever Online icon (mac icon not updated yet)
2019-10-20 17:59:38 +03:00
Crystalwarrior
3605f223d2 Fix input bg's not being transparent
FIx chat_tick_timer not stopping when you receive a bg
2019-10-20 01:44:54 +03:00
Crystalwarrior
6d7a6d7398 Fix an issue with "missing desk" not properly replacing last_image (making everyone's desk break from pos hld to def/wit/pro) 2019-10-13 02:51:07 +03:00
Crystalwarrior
a9a0f65ddb Allow area list to contain metadata (as well as categories for future expansion)
Fix backwards compatibility breaking when you join a server that doesn't support effects after previously joining a server that does
2019-10-12 17:57:18 +03:00
Crystalwarrior
330aa97550 Properly handle "true song name" even with folders/categories and file formats (paving way for folder-categorized music lists set up by servers)
Prevent BG's from falling back on default BG path (this isn't really user-convenient and causes more trouble than its worth, e.g. stands appearing on BG's that dont' want stands to appear)
Implement Case Cafe's method of categorization for (a) and (b) emotes
2019-10-12 01:43:48 +03:00
Crystalwarrior
990f653e4a Allow -1 charid messages to be sent (system/server messages) UNTESTED 2019-10-08 01:35:10 +03:00
Crystalwarrior
ec02078b4d Fix music display not displaying a stripped down version of the song name 2019-10-06 23:23:52 +03:00
Crystalwarrior
91eeffb959 Courtroom Fonts can now have the "sharpness" setting (pixelated/no anti alias) 2019-10-06 13:47:36 +03:00
Crystalwarrior
85f33e13c7 Fix some edge cases where the AOChar qlabel is moved around in weird ways (reload theme still puts qlabel at 0,0 without centering)
Fix a full message of speed 0 not properly displaying itself
2019-10-06 13:27:11 +03:00
Crystalwarrior
2956a183b4 Merge branch 'bass-hell' 2019-10-05 20:32:41 +03:00
Crystalwarrior
9f543f9ef7 I HAVE CONQUERED BASS HELL
BEHOLD, LOOP_START AND LOOP_END MUSIC POINTS! It reads the songname.mp3.txt file, looking for loop_start, loop_length and loop_end in samples
MUSIC EFFECTS SYSTEM THAT CAN ***COMMUNICATE WITH THE SERVER***, WOAHHHHHHHHH!
RIGHT-CLICK CONTEXT MENUS TO ENABLE/DISABLE SPECIFIC MUSIC EFFECTS
MUSIC EFFECTS ENUMS
Fix an issue with music looping
2019-10-05 20:32:19 +03:00
Crystalwarrior
bc8158cc96 Meme fix to <>, ~~ and ~> parsing (does not fully solve the issue but at least hides it from the user)
Allow ascii characters to be used for color dropdown symbols
2019-10-05 16:47:59 +03:00
Crystalwarrior
65332f209c fucking hell it's not accurate and doesn't match the absolute quality when it's played back in audacity jesus christ will the torture ever end 2019-10-04 14:41:33 +03:00
Crystalwarrior
9451822e09 Fix move func making characters slowly move to the left every frame on animated chars which are sized differently from viewport
Add a new get_qfont function
Fix message box font being different from every other font due to incorrect font loading scheme
Fix ui_evidence_save and ui_evidence_load tooltips being wrong
2019-10-03 23:17:21 +03:00
Crystalwarrior
cfc3312840 Inject wholesome 2019-10-03 17:13:23 +03:00
Crystalwarrior
bdef10ace5 Remove /rainbow as clientside slash commands are cursed. I shall purge all clientside slash command memery soon...
Fix /save_case iterating from last to first instead of first to last
Implement private evidence saving/loading to and from an .ini file
2019-10-03 17:01:41 +03:00
Crystalwarrior
829604e808 Positional evidence implemented. Click a button to change between private/global evidence list.
There's also a button to transfer evidence to global/private, context sensitive.
TODO: Save/load private evidence list
2019-10-03 15:44:18 +03:00
Crystalwarrior
6f5b3d2462 Add support for backgrounds outside of predefined positions, grabbing the overlay from X_overlay.png/.gif/.webp/etc. 2019-10-03 01:00:15 +03:00
Crystalwarrior
e3ddc41cc8 Add rightclick context menus to sfx dropdown, iniswap dropdown and effects dropdown to open the ini's and respective folders
try to fix settings menu (I failed)
2019-10-02 20:28:42 +03:00
Crystalwarrior
4c23e15935 Rewrite pairing character ordering logic to instead operate based on a user-accessible drpodown menu (it's a dropdown for the future when there's more options)
Fix current charmovie breaking offsets
Make pairing offsets applicable even without a pairing partner, making it a generic offset
Fix the chat message hardcoding max colors to 8 (when it should be max_colors)
Come up with a way to convey the ordering information without creating an extra new packet in a cool way (backwards compatibility AND less clutter!)
More info on the evidence_x and evidence_ok tooltips
Don't mute music when you switch to CSS anymore
2019-10-02 01:20:00 +03:00
Crystalwarrior
292c425c78 Fix music volume being weird due to m_volume being shared by ambience and music at the same time
Fix version= being wrong
2019-10-01 04:58:57 +03:00
Crystalwarrior
0eccf1ba22 Make screenshakes work with preanim delays 2019-10-01 01:38:38 +03:00
Crystalwarrior
4f738bfe34 Fix some read_file errors on effect loading
Make FM packet only fetch music, and new FA packet to fetch areas (this way you don't have to reload the entire music list just to get new areas)
Fix a possible segfault with emote lists if emote list size is bad
Hide casing button if server doesn't support casing
Hide the remove buttons by default for iniswaps and sfx list so they're not clickable when they shouldn't be
Prevent background from being displayed unless the server asked us to
Fix some redundancy surrounding current_side
Rework music list so list_music doesn't care about search bar and the hiding is actually done in the search function
Implement text centering, rightening and justifying
Fix text scrolling meme that happened with \n and skipped chars
Fix the pos dropdown not actually caring if you selected jur and sea pos.
Fix the pos dropdown sending like a million packets when scrolled through.
Prevent characters from being incorrectly resized if a different-scaled character speaks
Fix character select screen letting you choose characters that the server doesn't want us to be
2019-10-01 01:07:03 +03:00
Crystalwarrior
1f72205716 Mysterious super-similar-to-AA font, please don't elude me. 2019-09-29 04:43:28 +03:00
Crystalwarrior
d5cbb085db Update Bass.dll headers to newer version
Remove a bunch of comments
Add lqapng and lqwebp to try and get apng and webp support to fuckin load already
2019-09-29 03:27:36 +03:00
Crystalwarrior
30c02221d2 Make the client select a default font that resembles classic AA font the most (cleartype off, MS Sans)
Create a better method to replace trailing whitespace with proper HTML representation
Don't bother rendering the string character-by-character to prevent any latency happening with instant text speed
2019-09-29 03:26:16 +03:00
Crystalwarrior
b0f11e53df Strip out QRandomGenerator because it's "too new" of a module (linux build does not compile with it)
Add QPluginLoader checks for qapng and qwebp
2019-09-28 22:00:16 +03:00
Crystalwarrior
709ebb7e18 Fix AOEvidenceDisplay not respecting the size of the viewport properly and breaking if a static image was used for evidence appearance
Fix an issue with chat message being resized before the chat box is in reload theme
2019-09-28 20:43:19 +03:00
Crystalwarrior
d3a58770d3 Overhaul the evidence system:
You can now press the checkmark to save evidence. The checkmark only appears when your edited evidence differs from evidence on the server.
You will now be alerted if you try to exit out of the evidence with unsaved changes (pressing "X")
Fix double-clicking on image name not doing anything
You will now be alerted if the evidence changed as you were editing it
Add tooltips
Make an evidence_close function that can be referred to from multiple places
2019-09-28 20:22:38 +03:00
Crystalwarrior
8c9275c497 Add cute color icons to color dropdown ui
Fix current_side not using the character's preferred one after changing character
Add cool tool tip describing how to do cool select+color thing
Fix chatlogpiece not appending ": " in the log files
2019-09-27 15:52:51 +03:00
Crystalwarrior
3c27988423 Fix ic chatlogs displaying escaped html 2019-09-27 15:48:35 +03:00
Crystalwarrior
1a3d3281a7 Display the first character of the ic message right away instead of having a delay 2019-09-27 15:12:09 +03:00
Crystalwarrior
a3d1d5bf9d i did it
i did the thing

Final overhaul of filter_ic_text
Fix spoken colors not being actually spoken
Fix a message of ()()()() spamming idle/talking animations (instead it just does the idle animation until you feed it an actual character)
Prevent spamming of play_idle and play_talking on the fastest text speed
Properly escape html and construct a message that works with characters &, <, >, ", etc. for filter_ic_text
Turn whitespace into html entities to prevent html from eating it up (alternative/better solution would be to erase excessive whitespace entirely but yaknow, some niche applications, whatever)
Fix filter_ic_text not displaying the best string it could in ic logs (strip html, display newlines as \n, etc.)
Scroll the scrollbar of the message box correctly according to some real wacky magic stuff I'm doing here. Let's hope there's no situations where it desyncs from the actual text.
2019-09-27 15:11:46 +03:00
Crystalwarrior
c38061a990 help me jesus
HTML gotta be like escaped n shit
2019-09-25 04:58:38 +03:00
Crystalwarrior
0649884d3c Fix issue with ao line edit not correctly preserving selection
Resolve a segfault with text formatting
Implement ability to color text inline by selecting text and using the color dropdown

TODO: allow html characters to be used for coloring text, oof
2019-09-25 04:45:45 +03:00
Crystalwarrior
b67f083506 Optimize color markdown stuff properly by creating lists and preloading things 2019-09-25 03:40:44 +03:00
Crystalwarrior
a028b8496e Fix objections botching up single frame preanims, etc. 2019-09-25 03:39:32 +03:00
Crystalwarrior
923548c997 Hellcommit of doom and suffering
Create two new helper functions - get_chat_markdown and remake read_char_ini_tag to be read_ini_tags for more general purpose
Modify aolineedit to support preserving selection after unfocusing (building this for using dropdown list for setting colors), as well as remove the setReadOnly functionality and use it in signals instead
Overhaul the color system to get rid of inline colors, allow full customization of colors and usage of configuration files for every facet of how a color functions (should we be talking, should we remove that markdown char, etc.)
Complete overhaul of color markdowns system

TODO: Make this thing not lag to hell, fix chat messages hogging the IC as the animation never ends apparently
2019-09-25 02:05:52 +03:00
Crystalwarrior
7097053723 Change all instances of "colour" to "color" for consistency's sake
Overhaul inline colors system to properly support additive text and further expansion
Add two new colors - Gray and Blank, the latter being used for IC parsing.
Instead of adding text symbol by symbol, reveal more of the already-rendered text instead so that it properly anticipates words that need to be on the newline.
Changed the append_ic function slightly so it appends ": " to text only after it's no longer needed.
Made gray color less inconsistent with everything else
2019-09-24 21:24:25 +03:00
Crystalwarrior
9911aeb5e6 Fix an issue with AOCharmovie hanging on frame1 animations
Fix an issue with the logger screwing up the server folder name string if character ' was used
2019-09-24 13:29:08 +03:00
Crystalwarrior
fb6c5076aa Fix some tooltips
Workaround for music list updates forcing the music list to collapse, prioritize expanding it instead. (ISSUE: does not fix the underlying problem of the music list inexplicably collapsing/expanding. Need to preserve info for that somewhere.)
Fix additive chat not showing up for anyone that's not yourself (Todo: update server code to do the proper checking)
2019-09-24 04:15:06 +03:00
Crystalwarrior
1e4f8fc2ac Fix a bug with music search that didn't show the item's parent when it's being searched for 2019-09-24 00:59:12 +03:00
Crystalwarrior
d8857aa2e4 When the background is changed, display it in the correct position as dictated by the server packets
Add a new "set pos" packet
Udpate the pos dropdown according to the current pos
2019-09-24 00:38:26 +03:00
Crystalwarrior
398f37794f Make music list a QTreeWidget instead for easier category searching, etc.
Temporarily allow music suffix until I let the client perform a fileExists check similar to how images are handled (.mp3? play mp3, if not mp3, play .ogg, etc. etc.)
2019-09-23 15:48:35 +03:00
Crystalwarrior
2c265ebc0b Clear the screen and display the background in the correct position when background change func is called 2019-09-21 00:23:01 +03:00
Crystalwarrior
842b829bee Tweak the ambience/crosfade layer to fade in regardless of another sample being there
Fix music not being looped sometimes
Prevent channel less than 0 from being passed
Set up a new music display element with an attached music name, it displays a scrolling text of the currently playing music
Fix music packet processing issues
Make SFX slider responsible for all music channels besides 0 (actual music)

scrolltext.cpp code recipe was taken from https://stackoverflow.com/questions/10651514/text-scrolling-marquee-in-qlabel - thanks to leemes for that one, I only adapted it for newer C++ version and tweaked some stuff.
2019-09-20 22:11:37 +03:00
Crystalwarrior
497901e8c3 Allow realizationflash, prosecution_speedlines and defense_speedlines to be changed in a similar way shouts can be changed from the character, as well as misc folder, etc.
Same for chat indicator
Rename themes/ name of shouts from "objection.gif" to "objection_bubble.gif" naming convention for consistency
Reorganize the default theme a bit as well as to support new elements
Fix the background size not being updated properly due to bad order of reload theme
Set up proper tooltips for sfx dropdown, iniswap dropdown, custom objection
2019-09-20 22:08:36 +03:00
Crystalwarrior
3fd93ab341 Make ui_additive_button insert a whitespace character at the start of the message when you use it (to make it so by default, the added message will have that space, but you can safely remove it if you need to)
Support for aomovie to check inside the character folder for relevant stuff if p_char is provided
2019-09-20 17:26:41 +03:00
Crystalwarrior
520c4f5947 *better-rer* character scaling algorithm 2019-09-20 17:04:44 +03:00
Crystalwarrior
6dd0845f1c Better scaling algorithm for characters of variable size 2019-09-20 17:03:49 +03:00
Crystalwarrior
d3f23708c4 Revert buttons using setIcon and use a better stylesheet method instead
Fix evidence buttons and emote buttons being hardcoded size
2019-09-20 15:54:45 +03:00
Crystalwarrior
3899dbe0bd I dunno what the fuck was I doing for the past 4 hours but I made crossfading music work.
Music packets can receive channel to play the song in and the crossfading option too.
2019-09-20 05:30:07 +03:00
Crystalwarrior
df08ec4be6 Get rid of some debug text 2019-09-18 22:46:10 +03:00
Crystalwarrior
38137657de emote_button_size,evidence_button_size added to courtroom_design.ini
evidence_name, evidence_image_name, evidence_description added to courtroom_fonts.ini
2019-09-18 20:45:36 +03:00
Crystalwarrior
a175a1884c Concurrent evidence updating!
Similar to the way Google Docs work, the evidence will be updated immediately as you make any changes to it.
2019-09-18 20:02:51 +03:00
Crystalwarrior
cda7d430b3 use SetIcon for AOEmoteButton instead of stylesheets
Fix aolineedit not sending the double_clicked signal
Add tooltips for emotes that display the number and the emote_comment (name)
Add similar tooltips to evidence buttons
Resolve an issue where you could edit evidence name without double-clicking a piece of evidence first
2019-09-18 19:43:11 +03:00
Crystalwarrior
0fe94d5d9f Evidence and emotes reloading when reload_theme is pressed
Update evidence a bit and change the way it sets images to something much better and less confusing
Update the hovering logic a bit so there's less weird occurences happening e.g. evidence button is deleted
2019-09-18 17:34:22 +03:00
Crystalwarrior
04daff7446 When the realization button is pressed, update the Effects thing too. 2019-09-18 15:46:43 +03:00
Crystalwarrior
f8d3d5d8fd Fix a bug with sound effect from misc/ folder not being read
Make an "effects_icon_size" entry in courtroom_design.ini for scaling the buttons in the effects list
2019-09-18 14:28:26 +03:00
Crystalwarrior
2d329cdbd2 Bugfixes for the thing and how it orders things 2019-09-18 05:45:02 +03:00
Crystalwarrior
9b0f07d125 Make effects stop when next message is received 2019-09-18 05:24:40 +03:00
Crystalwarrior
ad057c6f7a make icons for effects n shit
they're grabbed from the effects/icons/*same name as effects*
gotta be .png or w/e
i need my sleep
2019-09-18 05:22:00 +03:00
Crystalwarrior
605e15bb8c Implement effects system that reads your folder in theme/effects, or misc/<folder name>/<effects>
Add an effect packet
Allow aomovie to be fed a direct path
Add some really terrible helper functions that shouldn't exist, sorry.
2019-09-18 04:14:52 +03:00
Crystalwarrior
e151964785 Add a sfx list that allows you to choose custom sfx from a list. Allows the same amount of customization as the iniswap list.
It tries to read soundlist.ini in the character folder first. If it can't find it, it will fall back to the theme's character_soundlist.ini.
It will only save the soundlist.ini if it differs from the character.soundlist.ini.
There is currently no way to dynamically change sound delay atm but the function for it is there.
Add more tooltips, my favorite!
2019-09-17 23:50:01 +03:00
Crystalwarrior
8409b71611 Tool tips! Tool tips for everyone!
Change the way AOButton loads images into itself (stylesheet broke tooltips)
2019-09-17 21:17:30 +03:00
Crystalwarrior
9d20cf0322 Streamlined ini swapping so the user can set up multiple character folders associated with a character.
This will save to the character folder's iniswaps.ini. You can click on the dropdown and edit the text inside to add an iniswap, and press the [X] button that'll appear next to it to remove the ini swap.
Recode the enter_courtroom and add a new update_character feature - the two are now separate and responsible for different things. The courtroom will reload the whole theme and widgets while the character is only responsible for all ui elements related to the character. This drastically improves performance when switching characters using /switch or something
Add a set_char_ini helper function that allows you to modify the character variables. For now only used to set name= field when iniswapping
2019-09-17 18:51:40 +03:00
Crystalwarrior
6747bfdd5e Allow lobby server descriptions to parse links
Fix bad reference to ui_emote_right image
Fix chatbox being part of the viewport (gets cut off if it's outside)
2019-09-17 03:31:18 +03:00
Crystalwarrior
9695c621c2 so this solution doesn't really work. It makes the chat message box appear over the character select screen.
this bug only occurs when the chat box is initialized inside the viewport. Annoying as hell but at least it can be reproduced reliably.
2019-09-17 00:56:39 +03:00
Crystalwarrior
684e26cb77 Change the way sideplayer/playerchar ordering works to be stackUnder instead of Raise so it doesn't break anything (like the chatbox) 2019-09-16 23:54:42 +03:00
Crystalwarrior
19ff6cd5f8 Fix an incredibly obscure bug where if the viewport message is inside the viewport itself it would not let you scroll it up should the message be too long. 2019-09-16 23:53:32 +03:00
Crystalwarrior
13221319b8 Change get_stylesheet to return text of a parsed stylesheet file, its functionality was transferred to get_tagged_stylesheet
Remove some useless/unused ui elements
Implement stylesheet for courtrooms in a way that lets the end user modify a lot of its elements
Use get_image_suffix for evidence_appear images
2019-09-16 23:22:34 +03:00
Crystalwarrior
f3c7beab70 Chat arrow indicator to inform you if the current message stopped being processed
Can be modified from the theme in chat_arrow of courtroom_design.ini
Uses chat_arrow .png/.gif/etc.
2019-09-16 21:10:21 +03:00
Crystalwarrior
b085be5a2a Add two new helper functions - get_design_element and get_static_image_suffix
Modify all set_image calls to utilize said suffix helper function
Dynamically change betweehn chatblank, chat, chatmed, chatbig based on the showname's length
Use char.ini showname if showname is set to whitespace (doesn't yet check if char.ini showname is also whitespace)
2019-09-16 21:08:43 +03:00
Crystalwarrior
b037edc9d8 Add additive text option where your messages are added to your previous one, fully networked and ready for the server
Adjust some pointless static bool casts to be actual logic checks
2019-09-16 18:11:19 +03:00
Crystalwarrior
9b39b7d6aa Allow char.ini to override the chat font and font size with chat_font = and chat_size =
Scream at the coders that decided hard-coding fonts and colors was a good idea (gotta properly let the themes modify that later)
Fix a lot of ui elements not properly respecting the themes and their colors
add a set_qfont method for those situations that need it
Allow the theme to change sender colors for ooc and ms chatlogs
rename url parser variable to something more immediately apparent as to what it is for readability's sake
2019-09-16 06:09:39 +03:00
Crystalwarrior
03ebad6bb6 Add expanded style sheet support
Allow lobby fonts to happen
2019-09-16 04:16:59 +03:00
Crystalwarrior
6785f35762 Begin implementation of scroll bars in the options menu 2019-09-16 01:20:03 +03:00
Crystalwarrior
2268df7b15 Update preanim_timer to follow the weird ass time_mod constant 2019-09-16 01:17:13 +03:00
Crystalwarrior
bf999f195a Add file reading, writing and appending functions that create folders if bool is true
Fix server_address not being properly created in packet distribution
Create a log file when you join a server in the logs/<server name>/<logname>.log and update it every time there's a new chat entry
minor refactor of chatlogpiece
2019-09-16 01:16:37 +03:00
Crystalwarrior
1b36be9dbc Add an option for networking frame-specific effects
I'm starting to realize the options menu/system needs a complete overhaul at this point. (Auto-generating options menu, anyone?)
2019-09-15 21:39:39 +03:00
Crystalwarrior
6afce05661 Adjust options dialog to use a "row" variable for adding new elements easier
Add the "allow shake/flash" button
Add the "enable looping SFX" button
2019-09-15 21:17:12 +03:00
Crystalwarrior
ba28c244aa Add an opton to enable/disable screenshake + flashing
Fix moderation guard button not doing what it's supposed to (enable/disable modcalls)
Fix moderation guard button appearing with failed logins
Fix the option to toggle looping sfx not doing anything
2019-09-15 21:15:40 +03:00
Crystalwarrior
661ec87646 Implement networking for frame-specific effects data sending/parsing if the server supports it
Reorganize charmovie.h a bit and make some functions private
Add a new helper function "read_char_ini_tag" which returns a qstringlist of all key=value strings associated with the tag
2019-09-15 20:02:24 +03:00
Crystalwarrior
e94640b349 Looping SFX system - Defined this way:
[SoundL]
sfx-roar = 1
2019-09-15 17:44:47 +03:00
Crystalwarrior
a2f9df4042 Finally implement frame-specific effects such as screenshake, realization flash, sound effects, etc.
Fix screenshake animation modifying the default positions of shook elements
Fix aomovie sometimes not playing the last frame and causing lagspikes due to the delay() method
2019-09-15 17:44:02 +03:00
Crystalwarrior
4db1140074 Add a bunch of cool refactors to support variable speed percentage
Partially bring back the differing [Time] duration variable, however, the speed of the image will not be adjusted to accomodate it due to the need for using m_reader to read through every frame to determine the final full delay value (which tanks performance).
Comment all the functions for the charmovie in aocharmovie.h
2019-09-15 14:26:57 +03:00
Crystalwarrior
37d192b430 Load frames as they're needed instead of loading everything at once, and cache them for optimization. The cache is cleared when a new animation is played.
Resolve an issue where if a preanim transitions into (a)idle it would get stuck on the first frame of that (removed the ticker->stop();)
2019-09-15 02:14:40 +03:00
Crystalwarrior
938f1aeea1 Optimize the heck out of animated images. There is no lag after the image is loaded now.
HOWEVER, there's lag when the image is first loaded due to the aspect ratio and sizing (at least with .apng's).
2019-09-14 22:35:02 +03:00
Crystalwarrior
ab30cca586 Use a ticker and QImageReader instead of QMovie
Issue: absolutely fucking broken, needs shittons of fixing or ditching. Might not be that efficient, anyway.
2019-09-14 19:50:46 +03:00
Crystalwarrior
51c97ad51c Allow [Time] to be blank for pre-anims to not be required to use it
play_talking and play_idle reduced in useless code
2019-09-14 19:38:56 +03:00
Crystalwarrior
f225df6f19 Fix objections hiding the character 2019-09-14 14:50:16 +03:00
Crystalwarrior
b608f84100 Resolve a segfault with screenshake, need to determine a better method to finish previous animation (if it exists) properly. 2019-09-14 01:20:01 +03:00
Crystalwarrior
4b452e968d Fix the objection_stop_music option not doing anything
Stop the animation for the side player char in pairing so as not to affect anything
Remove the "DOOM" packet as anyone who has the source code can just remove it anyway
2019-09-14 00:48:07 +03:00
Crystalwarrior
4645d9dd08 Add a blip sound QElapsedTimer so blipsounds don't play more frequently than 60ms to preserve all of our ears.
Adjust the message display speeds to feel more accurate to AA, with }}} speed displaying text instantly for that section
2019-09-14 00:46:46 +03:00
iamgoofball
1139bf5cd0 Bass.dll functionality-based clientside music looping system by using channel loopable flags (no use of QTimer required)
Implement Goofball's AOV loopable music server message where any value that's not -1 when the length of the handle_message packet is longer than 3 will not loop the music (still confused about this but w/e)
2019-09-14 00:28:27 +03:00
Crystalwarrior
f9b3bd5bb5 forgot to actually uncomment the change, oops 2019-09-13 17:57:30 +03:00
Crystalwarrior
f1b3169713 CONTROVERSIAL: Detach ui_vp_message from ui_vp_chatbox to prevent it from being affected by the screenshake. ui_vp_message still sets position relative to the chat box for now (as doing otherwise would break a lot of themes). 2019-09-13 15:13:40 +03:00
Crystalwarrior
040898feff Set up screenshake button ui
Rewrite Goofball's doScreenshake() function to be much more modular and multi-purpose (also rename to do_screenshake() to match other functions)
Add networking needed to make screenshake work. Works with AOV version of tsuserver3 (button screenshake only so far).
Add get_theme_pos helper function, currently unused.
2019-09-13 15:11:30 +03:00
Crystalwarrior
ab072132c3 Merge branch 'aomovies'
# Conflicts:
#	include/aomovie.h
#	src/aomovie.cpp
#	src/courtroom.cpp
2019-09-13 12:00:27 +03:00
Crystalwarrior
9aa88b1d6e Use brace constructors instead of << append operator for path lists
Rename gif_path into emote_path for charmovie.cpp
Rename p_gif into p_image for aomovie.cpp
2019-09-13 11:44:50 +03:00
Crystalwarrior
bb8edab579 Make shout, verdict and wtce default duration values into constants 2019-09-13 11:41:59 +03:00
Crystalwarrior
8027bbffad Use brace constructors instead of << append operator for path lists 2019-09-13 11:37:06 +03:00
Crystalwarrior
5c69d10cd5 Add a tool tip to blip rate settings
Adapt the blip rate to allow variable speed value array sizes
2019-09-13 11:31:06 +03:00
Crystalwarrior
455e020b19 Make log go downwards by default
Rename kill_music_on_object to objection_stop_music for readability
Update blip rate (faster overall, more accurate to the trilogy) - based on AOV values
Update default blip rate to be "once every two symbols"
2019-09-13 11:13:50 +03:00
Crystalwarrior
ba41b070a2 Cut music on objection if config is enabled for it (does not transmit networked message yet) 2019-09-13 11:03:23 +03:00
iamgoofball
8a5bc8632e Kill Music on Object option
(todo: actual functionality, cherrypicked from Goofball's 2.7 branch)
2019-09-13 00:34:15 +03:00
Crystalwarrior
2a5cd56d57 Fixes Objections hiding the current character, instead of overlaying on top of it. (from goofball's 2.7 branch commit e6cb5bd2cf) 2019-09-12 22:55:24 +03:00
Crystalwarrior
3b3507df60 Fix compilation error
Allow realization flashes to be animated images by making them AOMovies
Eploit the newly added 'duration' system for realization AOMovie

(cherry picked from commit bb98f79083)
2019-09-12 22:46:06 +03:00
Crystalwarrior
5a31516a36 Remove unecessary hard-coded timers for the witness testimony .png
Make the witness testimony use AOMovie instead of AOImage
Remove pointless "testimony_in_progress" variable
CONTROVERSIAL: Make the witness testimony indicator be position-ignorant so as to reduce the amount of hardcoding and allow broader usage of the witness testimony system (For example, Danganronpa investigation indicator, etc.) - This should not affect how the testimony indicator is received currently, as witness testimony usually requires the entire rest of the court to shut up until the cross-examination either way.

(cherry picked from commit 932f430b68)
2019-09-12 22:45:52 +03:00
Crystalwarrior
e76a83ddfe Allow AOMovie to have timers that take priority over the animated image frame count
Set it up so feeding the timer value when playing the AOMovie would use the timer but only in cases where a non-animated image is used
Update shouts and wtce to pass the 'duration' argument which will be used if the image used is non-animated. Otherwise, prioritize the animated image duration.
2019-09-12 22:45:02 +03:00
Crystalwarrior
280abedf63 Merge branch 'music_list_update' 2019-09-12 22:26:00 +03:00
Crystalwarrior
bb98f79083 Fix compilation error
Allow realization flashes to be animated images by making them AOMovies
Eploit the newly added 'duration' system for realization AOMovie
2019-09-12 19:37:44 +03:00
Crystalwarrior
932f430b68 Remove unecessary hard-coded timers for the witness testimony .png
Make the witness testimony use AOMovie instead of AOImage
Remove pointless "testimony_in_progress" variable
CONTROVERSIAL: Make the witness testimony indicator be position-ignorant so as to reduce the amount of hardcoding and allow broader usage of the witness testimony system (For example, Danganronpa investigation indicator, etc.) - This should not affect how the testimony indicator is received currently, as witness testimony usually requires the entire rest of the court to shut up until the cross-examination either way.
2019-09-12 19:03:42 +03:00
Crystalwarrior
2a899b1476 Allow AOMovie to have timers that take priority over the animated image frame count
Set it up so feeding the timer value when playing the AOMovie would use the timer but only in cases where a non-animated image is used
Update shouts and wtce to pass the 'duration' argument which will be used if the image used is non-animated. Otherwise, prioritize the animated image duration.
2019-09-12 18:28:08 +03:00
Crystalwarrior
3b415f5a70 Expand get_image_suffix to fall back on .png last
Reorganize the file_exists checks to be an array iterator instead for much less code duplication and easier ordering of priority
Reorganize desk and set_image loading on AOScene class, resolve issues with last_image setting to prevent animations from being restarted when characters talk on the same pos in succession
Apply get_image_suffix for seancestand and jurystand searches
TODO: At the moment, if you feed a .png shout, it will send the "Done" signal on the first frame (frame 0), not showing you the .png image at all. The shout code should be reorganized to allow static images to be displayed for exactly 720ms - the standard AA objection length. Usage of the timer similarly to the realizationflash.png might be possible.
2019-09-12 15:40:19 +03:00
Crystalwarrior
c2fd3796a9 Add clear_music and clear_areas
Comment out the index as it can be potentially confusing alongside "true" area numbers
Add "FM" to Packet Received that would reload the areas and music list

TODO: Test this with arup systems
2019-09-11 00:49:30 +03:00
Crystalwarrior
7e2ec58c7e Prevent the animated background/foreground from restarting itself if the image is the exact same as the currently playing one 2019-09-10 23:26:03 +03:00
Crystalwarrior
7378205523 Expand .apng and .webp support for get_image_suffix
Add get_image_suffix for all .gif's so that all animated pieces can be .webp or .apng instead
Expand on .webp .apng support and clean up the code somewhat
2019-09-10 21:57:06 +03:00
stonedDiscord
5520c24869 bass blips were slightly too quiet 2019-08-22 21:02:09 +02:00
stonedDiscord
5807410b1d doubleclick to join a server 2019-08-20 18:35:42 +02:00
stonedDiscord
177c56e2b8 move button enabling to ID because not all servers understand FL 2019-08-20 18:28:25 +02:00
stonedDiscord
d94d2fb405 read and store qt audio device 2019-08-19 19:38:47 +02:00
stonedDiscord
35f2333403 list audio devices (doesn't apply it yet) 2019-08-19 19:06:41 +02:00
stonedDiscord
49be444d74 OOP 🏪 2019-08-17 21:09:13 +02:00
stonedDiscord
4700902551 fix qaudio volume 2019-08-17 20:47:41 +02:00
mac builder
2509cc5e0b get mac serial for hdid 2019-08-13 20:01:42 +02:00
stonedDiscord
047ce04631 fix mac content loading
it now looks for the content next to the .app bundle and not inside it
2019-08-11 23:58:43 +02:00
stonedDiscord
7fe64163ea
Merge pull request #88 from AttorneyOnline/i18n
I18n
2019-08-08 00:20:51 +02:00
stonedDiscord
0247ca07fe show current setting 2019-08-07 14:51:21 +02:00
stonedDiscord
338dd2003e missed a backwards lowercase N with accent mark 2019-08-07 14:22:18 +02:00
stonedDiscord
c6b949335a +1 on style 2019-08-06 21:27:27 +02:00
stonedDiscord
47eb36789e numbered arguments for kick and ban torture 2019-08-06 21:25:33 +02:00
stonedDiscord
dd325de31e use languages own name 2019-08-06 21:22:49 +02:00
stonedDiscord
c974ab01ca add es and ru to options and translate a lot more strings from the courtroom 2019-08-06 20:29:04 +02:00
stonedDiscord
078ad79b65 language setting 2019-08-05 23:30:00 +02:00
stonedDiscord
cab5310029 missed 2 lobby related ones 2019-08-05 22:20:04 +02:00
stonedDiscord
230b1a7622 numbered arguments and more strings 2019-08-05 22:07:39 +02:00
stonedDiscord
223f69d67a eat shit tsuserver 2019-08-05 21:57:17 +02:00
stonedDiscord
df72671105 Revert "make the password field in charselect useful"
This reverts commit 15a48a051c.
2019-08-05 21:54:03 +02:00
stonedDiscord
15a48a051c make the password field in charselect useful
let the server decide what to do with this
2019-08-05 18:53:34 +02:00
stonedDiscord
77a536e2a9 Merge branch 'master' into i18n 2019-07-30 20:43:12 +02:00
stonedDiscord
afbbc5476b move #ifdef BASSAUDIO so the audio tab isn't deleted as a whole 2019-07-30 20:42:33 +02:00
stonedDiscord
460805d072 make discord integration the same for all locales 2019-07-30 19:42:38 +02:00
stonedDiscord
adf1a97304 adjust translation path in main.cpp 2019-07-29 21:54:35 +02:00
stonedDiscord
b7012cec10 fixed 2 strings 2019-07-29 21:46:26 +02:00
stonedDiscord
259422c4af at least the german translation works 2019-07-28 20:39:36 +02:00
stonedDiscord
582417a902 german translation 2019-07-28 20:19:09 +02:00
stonedDiscord
69e4da4c43 it didn't like doing that with a pointer 2019-07-28 19:17:47 +02:00
oldmud0
762702aff8 Make all strings translatable 2019-07-28 19:00:34 +02:00
stonedDiscord
319cb0adee translate new features. is i18n dead 2019-07-28 18:43:46 +02:00
oldmud0
56ddd024eb
Fall back to Sans if no font setting found
Sigh...
2019-07-27 21:19:45 -05:00
stonedDiscord
98389e7e03 1% more readable 2019-07-26 01:37:11 +02:00
stonedDiscord
71d91e5012 fixed copypasta mistake on objection sfx 2019-07-26 01:33:29 +02:00
windrammer
2dbd0c1482 Remove C style char buffer in favor of QByteArray 2019-07-22 21:39:37 -05:00
oldmud0
e0c49ceb07 Merge branch 'bass-optional' into 'master'
Bass+discord optional

See merge request AttorneyOnline/AO2-Client!59
2019-07-20 16:57:27 +00:00
cents02
82db3e2263 Revert "More bug fixing."
This reverts commit ca84ba516fc892deaeafc18b23ad5a06822b29f5
2019-07-20 16:33:33 +00:00
stonedDiscord
4a2a167f7d Merge branch 'master' into 'bass-optional'
# Conflicts:
#   Attorney_Online.pro
#   include/aoapplication.h
2019-07-20 16:20:05 +00:00
David Skoland
5eccabcad1 Less insane debugging; minor refactoring (!75) 2019-07-12 23:00:25 +00:00
Windrammer
b15c6f15f0 Fix bug #82 causing a client crash if /save_case was used without providing a courtroom state 2019-07-11 09:05:26 -06:00
cents02
432069844a Revert "More bug fixing."
This reverts commit ca84ba516fc892deaeafc18b23ad5a06822b29f5
2019-07-07 22:32:57 +00:00
oldmud0
1552f3f19c Merge branch 'master' into 'master'
Fix escaped HTML characters screwing up the grapheme cluster sizes.

See merge request AttorneyOnline/AO2-Client!61
2019-07-07 14:45:16 +00:00
cents02
d07dd1d5fe Permanent and not temporary solution for evidence. Supports up to infite subfolders. 2019-07-03 08:48:04 +00:00
cents02
ca3f113377 Fixed evidence not recognizing subfolder issue. Can support 1 folder tho. 2019-07-01 18:50:30 +00:00
cents02
099fea176c Indentation 2019-06-30 22:09:12 +00:00
cents02
f826ba390b New feature! /save_case . Takes two parameters, name and cr status.
E.g: /save_case case1 lfp . It takes court evidence but leaves the doc and cmdoc options blank to be entered manually(if anybody actually puts anything).
2019-06-30 21:47:48 +00:00
cents02
ae85525780 Resolved requests/issues. 2019-06-03 09:00:24 +00:00
cents02
09d8e9e7a4 Update courtroom.cpp 2019-05-31 21:52:22 +00:00
cents02
1f9a1bdd5d Fixed issues #47 on both client and server 2019-05-31 21:47:47 +00:00
Cerapter
c8a4f69d14 Fix escaped HTML characters fucking up the grapheme cluster sizes. 2019-05-10 20:49:59 +02:00
Cerapter
2e4f0117b0 Text is now advanced based on graphemes, rather than bytes. 2019-05-09 23:49:20 +02:00
iamgoofball
2d9fff2e96 Reverts screenshake on object, was controversial 2019-03-25 11:14:53 -07:00
iamgoofball
e6cb5bd2cf Fixes Objections hiding the current character, instead of overlaying on top of it. Adds screenshake to objects. 2019-03-23 14:33:31 -07:00
stonedDiscord
785168f8d3 add a default for this 2019-03-13 22:05:36 +01:00
stonedDiscord
44d433d941 sfx glitch 2019-03-13 22:05:24 +01:00
stonedDiscord
bdde8822f4 begone, commented code 2019-03-13 21:36:12 +01:00
stonedDiscord
ece08930e3 setVolume doesn't take floats 2019-03-13 13:06:11 +01:00
stonedDiscord
1514ffea6a qt music 2019-03-12 20:47:47 +01:00
stonedDiscord
71da60b5d6 sfx tested and works 2019-03-12 20:14:54 +01:00
stonedDiscord
0b6f376f8f qt can play the blips just fine 2019-03-12 19:53:06 +01:00
stonedDiscord
6e93d6e1be discord optional v2 2019-03-12 19:30:03 +01:00
stonedDiscord
92c54ba2eb Revert "make discord optional"
This reverts commit 744c100159.
2019-03-12 19:27:13 +01:00
stonedDiscord
744c100159 make discord optional 2019-03-12 00:27:11 +01:00
stonedDiscord
49938eea0f makes all the bass stuff optional 2019-03-12 00:26:40 +01:00
iamgoofball
4eb0d18c66 whoops 2019-02-01 17:16:43 -08:00
iamgoofball
fc984fcfe2 bugfixes and shit 2019-02-01 16:28:14 -08:00
iamgoofball
0649e7b28e Case Announcer: Witness Support also some other shit 2019-01-23 07:35:29 -08:00
iamgoofball
f9406d0a7f multithread the music **harder** 2019-01-23 01:56:56 -08:00
iamgoofball
edbd67c2dc multi-threaded music 2019-01-23 01:40:57 -08:00
iamgoofball
f750328404 Multithreaded filtering of the character list 2019-01-23 01:07:20 -08:00
iamgoofball
906c9016bb Multithreaded character generation TODO: fix loading screen 2019-01-23 00:58:30 -08:00
iamgoofball
13bc82094f >>>>multi-threading the frame sfx/screenshake/flashes 2019-01-23 00:14:47 -08:00
iamgoofball
a7a614482e final commit 2019-01-21 15:45:51 -08:00
iamgoofball
debd386a71 Bugfixes and blip speeds 2019-01-20 21:06:21 -08:00
iamgoofball
1043699214 Suffix-independent Music, Mod Music List, looping bugfixes, easter eggs, etc. 2019-01-19 21:01:19 -08:00
iamgoofball
c44832a707 guard -> disable modcalls, bugfixes for guard button, etc. 2019-01-19 14:39:42 -08:00
iamgoofball
248444307f Fix bug with simultaneous shakes 2019-01-19 00:13:25 -06:00
iamgoofball
3c0cedbe92 Add screenshake, frame-specific effects, looping SFX, and clientside music looping
Committed by patch since Goof is currently banned on GitHub for no good reason.
2019-01-18 23:08:46 -06:00
perplexedMurfy
d62ff4d3af Fix #57 2019-01-08 18:51:20 -06:00
David Skoland
3965a847c2 fixed opus plugin load for macOS 2019-01-06 12:14:00 +01:00
David Skoland
fb076ca7e7 Merge remote-tracking branch 'upstream/master' 2019-01-05 23:00:46 +01:00
oldmud0
6716a4532e Fix APNG preanimations not working (#52) 2019-01-03 21:45:58 -06:00
perplexedMurfy
115fc0ff15 Show ban reason with BD packet
This fully fixes issue 39 with tsuserver3
(https://github.com/AttorneyOnline/tsuserver3/issues/39)
2019-01-03 16:51:33 -06:00
David Skoland
0788b162f1 fixed a crash condition where blip rate is less than 1 2019-01-02 22:28:16 +01:00
David Skoland
110751ac39 added dynamic loading of qapng and fixed mac sound 2018-12-26 22:19:49 +01:00
David Skoland
2a43d56772 muh macos support 2018-12-26 20:04:11 +01:00
David Skoland
1f754776b4 finished ubuntu build script and made default plugin mode dynamic linking 2018-12-26 17:31:43 +01:00
David Skoland
00cfd2750d moved headers into include and cpp files into src + logo into resource 2018-12-26 16:43:08 +01:00