* 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!
* 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
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
- 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.
* 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>
* 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
* 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
* Added apng support for animated background positioning.
* Adjusted the apng background position search.
* Fixed libbassopus.dylib path on MacOS preventing opus files from playing.
* 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
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".
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 :^)