Commit Graph

527 Commits

Author SHA1 Message Date
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
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
102ca4d641 Create brushes for area list once 2020-08-15 19:47:24 -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
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
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
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
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
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
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
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
sD
ba9aebec57 translate stuff that got run over 2020-05-23 18:32:05 +02:00
sD
5922bf748a no and zone 2020-05-23 17:28:27 +02: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
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
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
likeawindrammer
58b7725406 Change second exclamation to period on tooltip
No need for two exclamations
2020-04-18 02:40:46 -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
in1tiate
ed9632f220 fix dropdown bug, add minor feature 2020-04-11 20:04:41 -05: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
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
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
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
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
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
Crystalwarrior
e4b90d36a9 Fix the rightclick options for editing files not working 2020-03-06 23:29:26 +03:00
stonedDiscord
b668bb2276
Merge branch 'master' into music_list_update 2020-03-06 16:43:03 +01: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
stonedDiscord
d276f14766 full music path in log 2020-03-01 15:59:44 +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
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
0b16ac863c the charselect works again 2020-02-23 02:56:57 +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
f93459ed0e remove fuck 2020-02-21 17:18:25 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
stonedDiscord
d94d2fb405 read and store qt audio device 2019-08-19 19:38:47 +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
230b1a7622 numbered arguments and more strings 2019-08-05 22:07:39 +02:00
stonedDiscord
582417a902 german translation 2019-07-28 20:19:09 +02:00
stonedDiscord
319cb0adee translate new features. is i18n dead 2019-07-28 18:43:46 +02: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
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
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
49938eea0f makes all the bass stuff optional 2019-03-12 00:26:40 +01: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
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
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
2a43d56772 muh macos support 2018-12-26 20:04:11 +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