Commit Graph

1924 Commits

Author SHA1 Message Date
Crystalwarrior
d9bdb7e6bc
Fix get_effect_property ignoring the provided effect folder and using the char.ini instead. Makes it consistent with get_effect behavior (#828) 2022-07-30 14:38:37 +02:00
Crystalwarrior
d8c89f056b
Add private evidence autosaving into inventories/autosave.ini (#778)
* Add private evidence autosaving into inventories/autosave.ini

* Make evidence autosave more robust by accounting for evidence transfers and deleteions
Fix the ini not using UTF-8 codec
Correct save/load functions working on local evidence list (displayed) rather than the proper private one

* set ini codec

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-07-30 05:06:34 +03:00
Crystalwarrior
f896475de4
Stop iniswapping from modifying the char.ini file (#712)
* Stop iniswapping from modifying the char.ini (which can potentially remove comments such as credits, charmaker notes, etc.)
* Fix iniswaps.ini and soundlist.ini not using vpath
* Deprecate get_char_name, making "name=" part in the char.ini no longer a thing
* Fix iniswap and emote dropdowns not getting properly updated when theme is reloaded
* Prevent reload theme from resetting your emote to the first one
* Fallback soundlist.ini

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-07-29 19:45:42 -05:00
Rosemary Witchaven
e36d79f749
Fix or suppress compiler warnings (Qt 5.15 w/MinGW) (#818)
* Major cleanup of screenshake code

* Add pre-5.10 support for screenshake math

* more compat, uglier too

* add surprise tool

* we don't need inline functions

* only run qsrand on old versions

* Squash compiler warnings

* >= not > please

* only run qsrand on old versions

* Squash compiler warnings

* >= not > please

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-29 18:23:36 +02:00
Crystalwarrior
834c5ff929
Fix lobby force-switching you from Favorites list if you switched from the Serverlist before it was populated (#826) 2022-07-29 18:40:02 +03:00
Crystalwarrior
da5437ab6f
Fix evidence image lookup behaving weirdly if the mounted path from which it looks for evidence starts with "base" , so "base_Extra" will be ignored for example if it's next to the normal "base" folder (#825)
Start evidence image search in the base evidence folder rather than the topmost mounted path
2022-07-29 18:39:10 +03:00
Crystalwarrior
3c3002122e
Add settings option for Evidence double-click that can be turned off (single-click evidence view) and more (#749)
* Add 'evidence_one_click_view' courtroom_design.ini function, which allows you to treat every click as if it's a double-click (meaning every click will bring evidence overlay)
Fix name not being set to read only when evidence is initialized
If evidence is double-clicked and overlay is visible, trigger "on_x_clicked" behavior
Make sure evidence is selected when double-click is called
Stop hovering from changing name text if overlay is visible
Simplify on_evidence_x_clicked "modified" check by simply checking if "ui_evidence_ok" is visible

* Fix pressing "cancel" when trying to switch between evidence still acting the same as "discard"

* Remove unnecessary ic message input focus setters for evidence, make only the Present button set focus on ic message input

* Fix second page ignoring the evidence_one_click_view setting because of a wrong ID being used for the double-click call

* Make evidence_switch() have everything required to properly switch between private/global

* Make evidence cursor start at the top when looking at evidence description

* Change it from theme setting to settings option

* Make evidence double click default option to "true" due to it being the default for years

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-29 18:36:58 +03:00
Crystalwarrior
7301e62c73
Fix iniswaps.ini and soundlist.ini not using vpath (#714)
Fixes #670

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-07-28 20:29:32 -05:00
Crystalwarrior
f40b3d162d
Code to support effects ini version 2 (#813)
* Code to support effects ini version 2

* Update theme commit

* Get it to actually work properly

* Rework effect loading code

* Added auto-migration to new format
* Reorganised code for improved readability and clarity
* Add functional checks for operation to not run into missing file issues

* Minor logic fix

* Add debug message

* Trim any empty items from the list

* Add mandatory culling

* See https://discord.com/channels/278529040497770496/323377366997008394/998661402669617233

* Reworked implementation

* Resolve warning of temporary container allocation

* Unbreak what I broke last commit

* Also make it a QStringLiteral to cheat clazy.

* Set default layer

* Ignore that for realization, that one covers the screen.

* Document migration regex

* This should clarify the ambiguity of its functionality and reason why it exists.

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: TrickyLeifa <date.epoch@gmail.com>
2022-07-27 21:43:50 +02:00
Crystalwarrior
b9e9e02977
Fix an extremely rare issue where loop point goes outside track bounds if loop end is not defined (#748)
* Fix an incredibly edge-case loop end issue where the loop end is outside track boundaries somehow

* WIP-AB Cleanup and incorrect loop bugfix

Cleanup AB-Loop code
* Someone has to check if AB loop works properly still cause I have no idea how this shit works and the code prior was unreadable.
Don't blame me, blame whoever left this code undocumented like the hag they are.

* Increase max-sample we can accept in the AB loop

Also change conversion to UInt. If someone adds a bad value, it will just return 0, which I guess is fair.

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-27 00:27:01 +02:00
Crystalwarrior
f8c2b1a2f0
Part 2 of #713: merge get_real_suffixed_path into get_real_path (#717)
* Fix get_real_suffixed_path existing, causing the previous PR to not function on suffixed... anything
Fix suffixes ignoring a case where a suffixed path is already provided, causing that pre-suffixed filepath to fail to find anything

* Fix image paths being used as sound effects and vice versa
Better check for sfx and image absolute paths which double-checks the absolute path we got is *actually a valid file format*

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-26 00:54:11 +03:00
oldmud0
0dac3cc2c0
Merge pull request #819 from AttorneyOnline/lambda-core
Make lambda captures of 'this' explicit
2022-07-23 16:31:37 -05:00
stonedDiscord
b0a958e744
Android hdid (#822)
* get ANDROID_ID

* make it more complicated
2022-07-23 18:19:40 +03:00
Rosemary Witchaven
0519abab03
Fix multiple issues with screenshake code (#812)
* Major cleanup of screenshake code

* Add pre-5.10 support for screenshake math

* more compat, uglier too

* add surprise tool

* we don't need inline functions
2022-07-23 18:19:06 +03:00
Rosemary Witchaven
8138187f92
Change FL variable names for clarity (#810)
* Change FL variable names for clarity

* Missed one somehow

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-23 18:19:00 +03:00
Crystalwarrior
ef49b46c37
Add Emote preview (#774)
* Add an emote preview which pops up from right click context menu

* rename action names to "preanim/idle/talk"

* Improve emote preview window

* Preview no longer ignores offsets
No longer override stylesheets
Add "Preview Selected" option to the dropdown

* bruh

* Fix "set play once" being ignored when a (c) emote is loaded

* Remove useless comments

* Implement Salanto suggestions

Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-23 18:18:54 +03:00
Crystalwarrior
ad578eb0bd
Suppress application volume when alt-tabbed (#730)
* Suppress application volume when alt-tabbed
Add a "suppress_audio" slider setting, 50% by default, which decides how much audio remains when the client is not in focus
Add a "muted" setting for blip, music, and sfx players
Add update_audio_volume func

* change "suppress" to "how much audio is suppressed" instead of "how much audio remains"

* Fix last commit just flipping the behavior and being ultra wacky

* Fix evidence present sound ignoring audio suppression settings

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2022-07-23 18:18:45 +03:00
stonedDiscord
1953b26233
Linux apng (#820)
* copy qapng

* correct case

* delete folder from zip

* build qapng without it crashing
2022-07-21 18:10:53 +02:00
in1tiate
df7214fdb5 Make lambda captures of 'this' explicit 2022-07-19 08:10:07 -05:00
stonedDiscord
972ce47fc2
use base folder on android so the error matches (#815)
also makes extracting vanilla or applying updates easier
2022-07-19 09:20:14 +02:00
stonedDiscord
3e0e4583cb
Linux ci (#816)
* turn off sized deallocation on desktop

* add an easy launch script and tar it

to keep the +x bit

* too many spaces

* add os name and fix linux deploy
2022-07-19 09:13:48 +02:00
Salanto
881913e78d
Remove floating scrollbar (#817)
I probably shouldn't copy paste code while not knowing what they do.
2022-07-19 09:13:30 +02:00
Crystalwarrior
c8914c9302
Add effect layering under the character, flippable effects and more (#701)
* Fix effect offsets only applying after the effect already plays
Add "_layer" property which can be "behind", "character" or default "chat". This deprecates the "under_chatbox" property

* Add a "sticky" effect property which is the same as "stickyeffects" setting being enabled but just for that 1 effect

* Clang is tidy, clang is caring

* make character layer actually stack over the character but under the desk
add new "over" layer which is over everything in the viewport but under the chat box

* Switch "ignore_offset" to "respect_offset" so effects only respect character offsets if explicitly told to

* Appease clang tidy... mostly. I don't understand the last thing it's talking about.

* Appease clang tidy further

* Remove "effect_done" due to it overwriting the AOLayers behavior
Add "loop" effect property so you set up in the ini if the effect should loop rather than it using the file's loop settings
Add "max_duration" effect property
Add "cull" effect property which decides whether to clear the effect or not when it's done (if loop is false)

* Fix effects not allowed to have underscores (_) in them without breaking

* Change the way effects.ini looks and is parsed to be more sane and doable.
However, since order may or may not matter, you can optionally include index:name and it orders it properly.

* Appeal to clang

* Fix a dumb way I created QSettings in get_effects

* Fix effect properties being broken due to optional index

* Fix get_effect_property not getting the current theme properties if a misc theme exists

* If sound list has a sound effect selected, if pre is not checked, don't play effect sound and prefer the sfx we chose instead.

* Fix \f not using the theme's realization effect

* Add missing curly bracket

* Yolo

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-18 15:45:47 +03:00
Rosemary Witchaven
9849ce2610
Use QStyle to fetch checkbox size and spacing info instead of relying on magic numbers for label truncation (#805)
* Use QStyle to fetch checkbox size and spacing info

* remove unnecessary use of auto*

* access static member the correct way
2022-07-18 15:01:53 +03:00
Salanto
2977016b5f
Prevent dupes of default mount path on default (#808)
Properly clears the mount list when restoring the default settings. Fixes #804.
2022-07-17 15:46:11 -05:00
stonedDiscord
4f559374fd
Begone bot (#811)
* this branch was dead

* bot was more annoying than helpful
2022-07-17 14:54:58 -05:00
Crystalwarrior
229a423e0f
Add "chatbox_always_show" courtroom_config.ini option (#725)
* Add "chatbox_always_show" courtroom_config.ini option
Remove copy-pasted code from set_widgets for initializing chatbox

* make chatbox_always_show work with misc folders

* Fix sticker disappearing despite chatbox_always_show setting

Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-16 16:00:03 +02:00
Crystalwarrior
fef33dfc4f
Optimize area list slightly by recycling QTreeWidgetItems instead of clearing and creating them every time (#754)
Remove index that only shows up during ARUP cuz it confuses the hell out of area indexes defined by server

Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-07-16 15:51:05 +02:00
Rosemary Witchaven
e587c76eb0
correct spelling of "deprecated" (#803) 2022-07-16 15:47:56 +02:00
Salanto
368f2b04ea
Reorganise logging option into its own settings tab (#790)
* Split logging options into its own tab

This is so ugly its not even funny.

* Update src/aooptionsdialog.cpp

bot being annoying.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Can't trust the bot with anything

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-16 15:47:04 +02:00
Rosemary Witchaven
15c2e0022d
add compatibility code for pre 5.15 qt (#807) 2022-07-16 15:45:04 +02:00
Rosemary Witchaven
d056030e6c
Swap a bitwise AND for a logical AND (#809)
Didn't cause any problems here because these are both of type bool, but it's bad form anyway
2022-07-16 15:18:49 +02:00
Crystalwarrior
758ea0c516
Add support for sounds/ subfolder in themes, misc and char folders (#732)
* Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder

* Revert "Add support for sounds/ subfolder checking for character folder, themes and misc folder, replacing weird behavior where it would prefer an unorganized sound file in any of the above over the sound folder"

This reverts commit 8dd5c8299676e7cd89644c85db622aa6048b8616.

* Implement a better method that doesn't break anything
That weird behavior I menteioned previously is what shouts rely on...
2022-07-07 14:00:27 +03:00
Crystalwarrior
06e8f82c87
Support for DRO's sounds.ini as a fallback if soundlist.ini is not found for the character (#731)
* Support for DRO's sounds.ini as a fallback if soundlist.ini is not found for the character

* readability i guess?

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-07-07 13:59:50 +03:00
Crystalwarrior
d458345612
Overlay emote_buttons with emote_selected image from theme instead of generating files (#727)
* Create an "emote_selected" overlay for emote buttons using default theme's emote_selected image
It is used if "_on" button image is not found on the character.
If emote_selected image is missing from the default theme, use a simple transparent black color overlay instead.
Replaces auto-generation of _off images

* clang plz

* use static overlays only
2022-07-07 13:59:34 +03:00
Leifa♥
7805e80e83
Added Play SFX context menu action (#791)
* Added Play SFX context menu action

Resolve #746

* The SFX context menu now allows the user to preview the sound selected by playing it.

* Changed declarations for methods.
2022-07-07 13:55:44 +03:00
Leifa♥
7b4b297a22
Added penalty effects (#786)
Themes can be configured to play an SFX and/or effect when the HP bar increases or decreases. Effects can be any defined effect, or a built-in effect such as "screenshake" or "flash".

Resolves AttorneyOnline/AO2-Client#743
2022-06-23 18:58:17 -05:00
stonedDiscord
0be8d0f5ae
Shutup ci (#782)
* stop magic number spam

* forgot to remove avoid

* Update .clang-format

* yeet qt translations and unused image formats

* also remove bearer and styles

* remove another svg dll

* create dmg on mac

* forgot .app

* delete folder after packing

* skip runtime webkit and opengl

* switch back to fixed qt setup

* try installing the NDK

* update discord rpc includes

* enable discord in CI builds

* copypaste lmao

* windows doesn't have export

* forgot the quotes

* guess i'm not root

* downgrade ubuntu

* lets hope ubuntu 18 comes with android ndk

* it doesn't

* try to update libpng

* script wasn't executable

* downgrade android

* typo

* use qmake to enable discord

* exit code 101 very funny qmake

* its in defines not just true

* can i use qmake like this?

* add discord

* exclude android from discord

* android runs on linux after all
2022-06-15 22:16:30 -05:00
Salanto
ffcd783c10
Add line limit to server chat and debug log panes (#784)
Set default maximum block size to 5,000 unless otherwise specified
2022-06-11 18:09:53 -05:00
Crystalwarrior
b8a5deeaae
Fix relative paths for evidence image and mounted base folders (#757)
* Fix adding mounted folders not using relative path if the chosen folder is inside the application folder
Fix evidence relative pathing not being aware of mounted base folders, and fix default evidence folder being in base/evidence rather than first found "evidence" folder

* more braces

Co-authored-by: stonedDiscord <Tukz@gmx.de>
2022-06-08 20:19:57 -05:00
stonedDiscord
06db93bd0d
save and load server description in favorites (#783) 2022-06-06 20:03:00 +02:00
Rosemary Witchaven
a545561343
Clear selection when switching between favorites and public servers (#763)
Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
2022-06-06 19:31:18 +02:00
Pyraqq
f2b1861c5d
Polish translation update (#779) 2022-06-06 19:15:31 +02:00
Salanto
f0a5e48f5c
Dual-Stack AO2 Client to handle both TCP and Websocket connections seemlessly (#696)
* Replace TCP Serversocket with Websocket

* Have TCP sockets live harmoniously with WS

"like 5 lines" yeah probably lost a bet.

* Update .gitlab-ci.yml

* hack to fix favorites

* Add support for websockets in the favorites list (serverlist.txt)
Make "add_favorite_server" remember the socket type

* Preserve old serverlist style

This will keep new entries compatible with 2.9 and prior clients. Makes parsing the list easier too.

* Add lookup table and correct write code to use lowercase

* I have no idea what a lookup table is, but this looks close enough

* Fix lookup table

* Otherwise backend selection behaviour is inverted

* clang-tidy had one job

* Yet it did not do it.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>

* const p_data

* Switch serverlist.txt to an ini format

* Fixes an Omni bug where : would split the servername
* Utilises internally QSettings properly for low parsing effort and clear structure
* Automatically migrates the legacy serverlist.txt to favorite_servers.ini
* Pleases my OCD

* Replace sample serverlist.

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: Alex Noir <Varsash@gmail.com>
2022-06-06 19:14:44 +02:00
Lernos
c4f459b6cc
UTF-8 support and human sorting for evidence (#781) 2022-06-05 19:32:09 +03:00
oldmud0
87d3310efa
Merge pull request #777 from AttorneyOnline/shorter-offsets
make x/y pair spinboxes shorter and not have "offset" in it
2022-06-03 22:40:52 -05:00
oldmud0
e4125d3f52
Merge pull request #770 from AttorneyOnline/fix-stickers
Fix stickers being layered under the chatbox rather than above
2022-06-03 22:27:30 -05:00
Crystalwarrior
d4e3956271
improve placeholder text for IC and OOC (#753)
* improve placeholder text for IC and OOC

* Keep showname box placeholder at "showname" so as not to be confusing

* Apply my own suggestions

* Revert "Keep showname box placeholder at "showname" so as not to be confusing"

This reverts commit bad5507b9e4b9501d27b7b46e66c5e1cc2eb9859.

* Bring back showname for showname box
let "update_character" handle placeholder text properly
Fix spectator placeholder text not appearing if switching to spectator using /switch, etc.

* fix an oopsie

Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2022-06-03 22:26:32 -05:00
Crystalwarrior
c3a5bfb98a
Add icons for pos dropdown (#715)
* Add icons for pos dropdown

* Make sure to upscale the icons to actually fit (so tiny 1pix bg images for ex. still show up properly)

* move get_pos_path

* add const to desk mod

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "add const to desk mod"

This reverts commit 7d6007fb1be0781e29985d0b83f2f6da16295e90.

* make set_scene const

* make pos const

* add and to const

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* add braces

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "add and to const"

This reverts commit aa5e5066dcf42ae18c2aeb349d470271226601da.

* make desk const

* fix get pos path for real

Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-03 12:41:31 +02:00
stonedDiscord
a392d31ad2
italian translation by dev and mandarino (#771)
* italian translation by dev and mandarino

* swap music and character loading

* update all the other translations as well
2022-06-03 10:43:41 +02:00