* Ported the project to CMake
* Android and Mac support dropped for the time
being.
* Tests, BASS and Discord-RPC are now options
* Restructured and reformated the project.
* Merged `include` and `src`
* Renamed `resource` to `data`
* Renamed various files
* External libraries headers are no longer included in `src`
* Replaced header guards with #pragma once
* Multiple refactors (keywords, headers)
* Added Qt6 compatibility
* Removed various unused functions and headers
* Reworked AOPacket
* When content is passed to AOPacket, it should be ensured that the content is already decoded.
* Encoding/decoding are now static methods.
* Fixed various memory leaks
* Removed animation code for AOImage
* AOImage is always using static images
* Simplified ChatLogPiece
* Utilise .ui file to create settings dialog (#858)
* Remove config loading from AOApplications
Removes most, but not all config functions from AOApplication and moves them into their own class.
Not even remotely done here. but holy shit I'm tired.
* First steps towards UI file
* Fixed your UI layout issue
* Leifa bullies me
* Set all the setters
Reminder : Figure out why username and ooc_name exist. Are they the same? Maybe. Maybe not. Gonna have to look at it and migrate the key.
Todo : Cleanup key naming. Most of these are terrible, imprecise or I just don't like them.
* Make layout appear proper
* Minor option dialog update
* Hookup AOOptionsdialogue to Options Getter/setter
Not done yet, but parts of the options interactions work again.
* More settings menu working
* Mostly working settings dialogue
Restore default and cancel still need work
* Fix asset widget
* Tooltips
Also removes the commented out tooltip code
* Finish Tooltips
Move widget implementation to its own folder
* Migrate callwords to config.ini
Also correct sleep deprived code.
* Fix widget translation
* Language dropdown changes
We might want to look into doing this a bit better.
* Remove QSettings from AOApplication
Try cleaning up stray references to said object anymore
* Fix constructor order to prevent runtime crash
* Slightly sort implementation file
* Remove unused label declarations from header
Fix some comments
* Formatting
* Fix buttons
Also fixes restore settings when a restore to default is aborted.
* Raise pair list after courtroom construction (#859)
* Don't reset evidence selection (#860)
They are defaulted in the header. This SHOULD not affect the client negatively.
* Hitting the emergency exit (#861)
Don't change the widget state when the ID exceeds the current widget list due to pages being changed while evidence is being edited.
* add CI and license badge
* add contributors
* Handle config.temp after confirmation
* Deletes config.temp when the user has confirmed they want to keep the current settings.
* Make reset to default destructive
Don't worry, we ask first! :)
* Fix case of self_offset received without a y offset (#864)
caused by typos in #701
it's possible for older clients to send x offsets without a y
offset. if you think this case is annoying you can remove it in
the next version and handle it server-side instead
* Change default settings (#839)
* Make default config enable features for most cases except for Continuous Playback due to it introducing performance issues according to tooltip and confirmed in testing
* Increase log size to 1000
* Default disable animated themes
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
* Make it a singleton? Maybe? I dunno? Ask Longbyte
* Commit suggestions
* More suggestions
Also try fixing a memory leak. Not going to well.
* Return to dialog
Otherwise we don't have Exec.
* Cleanup
* Deprecate ooc_name, implement username
* Remove ooc_name key and copy its value to default_showname if its empty.
* Consistent naming in AOOptionsDialog
* Clang format
* Don't write the username to the showname
* Fix theme dropdown being incorrectly set
* Bandaid callword playing every message
* Remove unused or duplicate includes
* More include removals
Removes lobby and courtroom direct includes from the dialog source
* Burn baby, burn!
* Remove reload_theme function
* Remove "Case Alert Supported Message"
All servers I tested on master supported it. The text is redundant in operation.
Co-authored-by: TrickyLeifa <date.epoch@gmail.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: Crystalwarrior <Varsash@Gmail.com>
* Cleanup lobby (#880)
* Remove config loading from AOApplications
Removes most, but not all config functions from AOApplication and moves them into their own class.
Not even remotely done here. but holy shit I'm tired.
* First steps towards UI file
* Fixed your UI layout issue
* Leifa bullies me
* Set all the setters
Reminder : Figure out why username and ooc_name exist. Are they the same? Maybe. Maybe not. Gonna have to look at it and migrate the key.
Todo : Cleanup key naming. Most of these are terrible, imprecise or I just don't like them.
* Make layout appear proper
* Minor option dialog update
* Hookup AOOptionsdialogue to Options Getter/setter
Not done yet, but parts of the options interactions work again.
* More settings menu working
* Mostly working settings dialogue
Restore default and cancel still need work
* Fix asset widget
* Tooltips
Also removes the commented out tooltip code
* Finish Tooltips
Move widget implementation to its own folder
* Migrate callwords to config.ini
Also correct sleep deprived code.
* Fix widget translation
* Language dropdown changes
We might want to look into doing this a bit better.
* Remove QSettings from AOApplication
Try cleaning up stray references to said object anymore
* Fix constructor order to prevent runtime crash
* Slightly sort implementation file
* Remove unused label declarations from header
Fix some comments
* Formatting
* Fix buttons
Also fixes restore settings when a restore to default is aborted.
* Raise pair list after courtroom construction (#859)
* Don't reset evidence selection (#860)
They are defaulted in the header. This SHOULD not affect the client negatively.
* Hitting the emergency exit (#861)
Don't change the widget state when the ID exceeds the current widget list due to pages being changed while evidence is being edited.
* add CI and license badge
* add contributors
* Handle config.temp after confirmation
* Deletes config.temp when the user has confirmed they want to keep the current settings.
* Make reset to default destructive
Don't worry, we ask first! :)
* Fix case of self_offset received without a y offset (#864)
caused by typos in #701
it's possible for older clients to send x offsets without a y
offset. if you think this case is annoying you can remove it in
the next version and handle it server-side instead
* Change default settings (#839)
* Make default config enable features for most cases except for Continuous Playback due to it introducing performance issues according to tooltip and confirmed in testing
* Increase log size to 1000
* Default disable animated themes
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
* Make it a singleton? Maybe? I dunno? Ask Longbyte
* Commit suggestions
* More suggestions
Also try fixing a memory leak. Not going to well.
* Return to dialog
Otherwise we don't have Exec.
* Cleanup
* Deprecate ooc_name, implement username
* Remove ooc_name key and copy its value to default_showname if its empty.
* Consistent naming in AOOptionsDialog
* Clang format
* Don't write the username to the showname
* Fix theme dropdown being incorrectly set
* Bandaid callword playing every message
* Remove unused or duplicate includes
* More include removals
Removes lobby and courtroom direct includes from the dialog source
* Burn baby, burn!
* Remove reload_theme function
* Remove "Case Alert Supported Message"
All servers I tested on master supported it. The text is redundant in operation.
* Create preliminary lobby design
Attempts to slightly modernize the aging lobby to a scheme more akin to modern server browsers.
* Fix missing header, add necessary search lineedits
* More UI changes
* Start hooking up new UI elements
* Hookup Serverbrowser to new UI frontend
Still need to fix the favorites AND implement the NEW demolist
* Fixup demo ui and make demoserver functional
* More demoserver cleanup
* Remove jarring ao_app pointer shenigans
Still a bit to do before we can safely remove that pointer, but hey, its something.
* *unholy screeches*
Tried to untangle the tange of dependencies that is connection behaviour
* Rip out loading screen
Some servers are not even sending proper values anymore, like vanilla, so why keep it?
* Optimise includes, format header
Lobby should not even have to know what an AOPacket is, smh
* Formatting fixes
and turn settings menu opening into a signal
* Why does netmanager never emit when the server is connected
* Fixup final parts
About as well implemented as I can do rn. Missing the load screen, but that was more flair than anything else
* Correct start page
* demo qol
Co-authored-by: TrickyLeifa <date.epoch@gmail.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: Crystalwarrior <Varsash@Gmail.com>
* Delete rebase artifact
* only set setting codec on qt5
* fix old regex
* qlocale include was missing
* Add default soundfont value + cleaup stream checks
* Remove Case Announcement
* Add add_server dialog and move logic to options.h
* Add Direction Connection Widget and function
* Visual Fluff, don't show direct connection on demo screen
* Implement ui-file reload and RCC mounting.
* Add edit menu to favorites
* Add Server remains active when no server is selected
* Hack together window title for courtroom
I hate this.
* Fix incorrect subtheme location code
* Cleanup
* Make all charicons appear on first join
This entire system needs a rework, but this will do for now.
Also slightly improves performance by not making it load the character list 4 times, only 2 now :^)
closes#854
* Fix evidence hover selector under Qt5
#closes #890
* Remove options calling itself trough pointer
* Fix Android CI (#891)
* pro gamer move
* remove pregenerated android files
* version
* install old ass android platform
* Revert "remove pregenerated android files"
This reverts commit c81a94c6fd337e187af61e9dd706fac5cd51bcc0.
* switch to 24
* CharButton - Fix enterEvent override in Qt5
Also mark them as override. Also make the preprocessor if a bit less copypastey.
* version bump
* Update embeeded lobby ui color sheme
Shoutout to Dumb Fuck (That is their real discord name).
Co-Authored-By: Crystalwarrior <3470436+Crystalwarrior@users.noreply.github.com>
* Add changelog.md loading logic from main mount path
* Expand tabbar of optional Tabbar widget
* Fix order column being incorrectly sized
* missed a space
* remove fonts
* change margins
* fix minimum sizes
* Allow theme overwrite of settings menu
* Cleanup iterator for subthemes
* Allow reload of settings menu
Might aswell do them all 🤷
* AO base path (#893)
* make get_base_path global
and move parts that use base to use it
* options uses base
* sal moved a bunch of code
* fix creating case folder
---------
Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com>
* Android 2 10 1 (#894)
* ask for file permissions before trying to load a file
* create armv7 gitignore
* extract all the abis
* don't fail if the dir exists
* Clear options map before reloading the UI
* Fix runtime warning for theme/subtheme combobox
Shouldn't do the job of something that the template can do for me.
Also fix formatting cause it was busted.
Also made the subtheme/theme load code not give me cancer.
* Sort dropdown numerically to match explorer preview
closes#793
* fuck bass
* copy mingw
* copy other dll
* wrong folder
* Account for server subtheme
* Replace incorrect subtheme check
* Settings, not server
* Remove debug
* Add compatibility code, suppress compiler warning (#896)
lobby.cpp:
* Added compatibility code so 2.10.1 can run on Qt versions older than 5.14, such as the version that ships with Ubuntu 20.04
courtroom.cpp:
* Used a Q_UNUSED macro on an unused variable to suppress a compiler warning
* Resolve Qt6(.5.0) compiler errors
* Undo incompetence.
* Force theme reload on theme change
If a user saves a new theme and does not reload the UI it will cause misplacement of widgets inside of courtroom.
This is mitigated by forcing a reload.
* make speedlines stretch by default (in *actually* non-stupid way this time) (#901)
* Rework default volume settings (#903)
* rework volume default settings
* remove default volume settings in options dialog
* make client remember last volume settings instead
* fix options starting tab
* Reworked direct connect (#906)
Resolve issue #905
Works as advertised.
* Set join text when double-click on connected server
Good enough. I would handle this a bit smarter and lock based on the connection state of NetworkManager, but NetworkManager sucks and I refuse to fix it this close before 2.10.1 is done.
* remove unused m_looping
* remove useless underflow check
* do not fall from server to favorites
* Ci android fix (#899)
* pro gamer move
* remove pregenerated android files
* version
* install old ass android platform
* Revert "remove pregenerated android files"
This reverts commit c81a94c6fd337e187af61e9dd706fac5cd51bcc0.
* switch to 24
* use android\src\android\templates instead
* deprecate "chat" deskmod (#910)
* ignore deskmod when zoom speaking
* clean up deskmod a bit
* adds an enum for deskmods
* deprecates the "chat" deskmood
* modifies set_scene since it never rly used the deskmod argument
meaningfully
* actually use the enums i made lol
* fix typo
* Add credits for lamdacalculus
---------
Co-authored-by: TrickyLeifa <date.epoch@gmail.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Co-authored-by: Crystalwarrior <Varsash@Gmail.com>
Co-authored-by: Crystalwarrior <3470436+Crystalwarrior@users.noreply.github.com>
Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com>
Co-authored-by: segfault <128277930+memsecviolator@users.noreply.github.com>
Co-authored-by: lambdcalculus <64238778+lambdcalculus@users.noreply.github.com>
Co-authored-by: Leifa♥ <26681464+TrickyLeifa@users.noreply.github.com>
* 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
* don't set codec in qt6
* switch to new regex
* remove qdesktopwidget (was unused)
* make enter event an enter event
* forgot header file
* rename emote_mod enum as there is an enum of the same name in chat_message
* regexp
* no more codec
* fix warning about emote_mod type
* change to new qtconcurrent
* misc was unused
* fix run
* change qtconcurrent for music
* codecs came back
* make CI run on qt6 too
* seperate artifacts
* qFormatLogMessage is wonky here
* maybe actually use the qt version from matrix
* change qt version here as well
* even lower
* use my own fixed installer
* use my own fixed version of qapng
* get websockets
* minor spelling mistake
* yOu nEeD aDdOnS
* aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
* Revert "maybe actually use the qt version from matrix"
This reverts commit 7ab6b1b4c2f1200318d52f325efd2ef46c3fbd6a.
* Revert "Revert "maybe actually use the qt version from matrix""
This reverts commit a6f7c5bedf214a1992c15b296edd195f96a9196a.
* use jurplels again
* Revert "use jurplels again"
This reverts commit 5795474bca64590f1479af3ccbf7d8cc57f427e7.
* revert CI to master
* main not master
Co-authored-by: in1tiate <woodward.randall02+github@gmail.com>
* never send an unencoded packet to the server
* oops
* Improve packet validation to remove segfaults
* WARNING: commit breaks connecting to servers, need help
start fixing omniwhy caused by single fuckin string packets (AAAAAAAAAAAAAAAAA)
* Fix failed connections to servers (Thanks to @Iuvee for helping me figure this out!)
* Fix demoserver
* who the fuck still uses goto
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* ANOTHER GOTO????
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* braces
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* good bot Update src/packet_distribution.cpp
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix demoserver harder
* Improve demo logging
* Fix memory leakage by deleting the packet
Fix useless demoserver wait packet creation when none of that packet is used
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
* 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>
* 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>
* 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>
* Add click-to-view evidence icons
* Fix the clicky icon not being functional if the presented evidence comes from a different page from the first
Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
Co-authored-by: Alex Noir <Varsash@gmail.com>
Fix evidence editing regressions caused by #587
Fix issues with "ok" button detecting itself as "changes from the server"
Fix "ok" button remaining after you press it once, allowing you to spam evidence update packets by spamclicking it
* Fix ic chatlog placeholder text not being translated
* Fix inconsistent/nonsensical path resolution for the backwards-compatibility misc/default/config.ini vs themes/current_theme/misc/default/config.ini
Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
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.
{ 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)
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.
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
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
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
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
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
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
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)
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