Commit Graph

178 Commits

Author SHA1 Message Date
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
ecb0ee42a3 clang format 2020-08-16 21:59:44 -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
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
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
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
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
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
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
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
Crystalwarrior
c423a5ee56
Make music 'fade out previous' an effect enabled by default (#196)
Simply make the "FADE_OUT" music effect flag by default so more users experience the SMOOTH FADE OUT magic by accident and praise the based client.
2020-07-26 11:21:58 -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
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
sD
e81fac7e07 fix qt sfx player 2020-05-23 19:28:34 +02:00
sD
8a4fc4516c fix qt music player 2020-05-23 19:18:35 +02:00
sD
ba9aebec57 translate stuff that got run over 2020-05-23 18:32:05 +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
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
4617e3135e Change version number to 2.8.4 2020-05-22 15:28:33 +03: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
oldmud0
4af7bc5fff
Fix broken APNG (#153)
* Remove explicit APNG check

* Update aocharmovie.h
2020-05-19 18:49:29 -05: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
likeawindrammer
7a3ebc8362 Revert faster blip speed
Without an option to change it users will complain
Thanks Initiate for telling me how to change this
2020-04-19 17:04:19 -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
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
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
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
sD
1b0930b977 move area list detection algorithm into a seperate function 2020-03-13 16:29:01 +01: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
in1tiate
a2f1a79bc9 add theme support 2020-03-08 05:44:49 -05:00
stonedDiscord
b668bb2276
Merge branch 'master' into music_list_update 2020-03-06 16:43:03 +01:00
Crystalwarrior
39f9d1043e Add sorting by name for lobby 2020-03-05 21:23:42 +03: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
0123b4d192 move the click event back to the slots 2020-02-23 03:19:05 +01:00
sD
2716416b62 only load bass plugins when bass is included 2020-02-21 18:00:23 +01:00
sD
f93459ed0e remove fuck 2020-02-21 17:18:25 +01:00