Commit Graph

59 Commits

Author SHA1 Message Date
Salanto
7c1fe80d4c
2.10.1 Changes (#888)
* 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>
2023-05-31 20:17:30 +02:00
stonedDiscord
a449aa86e9
Qt6 (#824)
* 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>
2022-12-28 21:35:11 +01:00
Caleb Mabry
8a0404f424
Gitignore bin (#867)
* Adding MS

* Ignore bin folder contents but keep folder

* Undo a file change

* On pull request
2022-12-17 11:44:12 +01:00
Salanto
59f5cccfbf
Fix CI on master due to CVE in zlib and changed BASS folder layout (#881)
* Bump zlib version

* Libbass changed the folder structure, it seems.

* Should update the rest too.
2022-12-04 20:09:27 +01:00
stonedDiscord
f55cbe543b
move themes into bin folder (#849)
* as if this is going to work

* use android libs and spec for android

* install ndk and use clang over g++

* shut the fuck up

* SHUT THE FUCK UP

* shut up shut up shut up

* get remove from favs button

* move themes into bin folder

* bin folder now already comes with repo

* actually install old ndk version

* Delete .gitlab-ci.yml

* apply font for version
2022-08-14 23:16:55 +02:00
stonedDiscord
517b67e952
Android CI (#850)
* as if this is going to work

* use android libs and spec for android

* install ndk and use clang over g++

* shut the fuck up

* SHUT THE FUCK UP

* shut up shut up shut up

* actually install old ndk version

* Delete .gitlab-ci.yml
2022-08-08 18:51:46 +02: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
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
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
oldmud0
729ad1c24e
Update build.yml (#775) 2022-06-02 22:04:34 +02:00
stonedDiscord
d87371b65e
GitHub android ci (#767)
* try this matrix thing

* syntax error

* use my own qt installer so it actually works

* allow changing path

* whoops cant have it twice

* get the right version of discord rpc

* get correct bass

* try to fix windows

* overwrite bass files

* forgot to delete these

* here's your version bro

* what did we even use catch2 for??

* linux doesnt have a c folder

* android bass

* switch from cmake to qmake

* opus dylib

* we don't install

* put bass in a subfolder so we don't build the stupid examples

* was using wrong arch for android

* fix up gitignore

* get correct artifact folder

* lets hope qmake will ignore the ABI for all the other platforms

* use platform name for artifact

* copy dlls into bin folder

* lmao i yeeted the folder

* create folder

* use more recent mingw

* windows uses dlls

* 2017 doesn't work

* our libs are 64 bit

* install msvc

* shitty ms documentation

* ok ms

* wrong directory for deploy

* copy apng

* use correct image for msvc2019

* deploy android

* 32bit windows it is

* adroideploy

* try this

* Update build.yml

* move libs

* armeabi-v7a

* fix android build files

* only get linux bass for linux

* don't try to install discord on android

* deploy mac

* get rid of double permission warning

* define filename for APK

* add mac dependencies

* put android bass in the correct folder

* mac apng

* android apng

* remove old CI

* ask for storage permissions

* qt bug ..........

* update clang-tidy-review

* update everything

* fuck you lukka

* fuck you jurplel for merging that shitty PR that broke everything

* give it what it wants

* Update clang-tidy-review.yml

* github is failing it because it's too big

* wait for the user and request a proper permission string

* underscore moment

* use write external storage instead

* try this instead

* 082 fails with docker again
2022-05-24 21:16:04 +02:00
stonedDiscord
e0c67124a6
Midi music (#614)
* add bassmidi everywhere but CI

* hello CI please don't ban me from github

* add lib and open midi files with the lib

* overlooked windows CI

* yes, overwrite everything

* add tracker support

* add file formats that bass supports

* forgot .mid smh

* load all plugins in one function
2022-03-25 15:58:59 +03:00
oldmud0
4bb4ddd0f9
Enable GitHub Actions for all branches 2021-02-02 14:53:09 -06:00
Skye Deving
29370b49cb Rename push workflow 2021-01-28 11:05:42 -06:00
Skye Deving
33ba7a3ea0 Disable workflow trigger to make hopefully make it work 2021-01-28 11:05:42 -06:00
Skye Deving
d4a2282a3e Get QtApng 2021-01-28 11:05:42 -06:00
Skye Deving
b55082a676 Use the relative paths to be compatible with the bash shell 2021-01-28 11:05:42 -06:00
Skye Deving
ed91d60332 Use dynamic discord-rpc and copy libs to release folder 2021-01-28 11:05:42 -06:00
Skye Deving
56f8d1505c Remove unnecessary .zip extension to the name 2021-01-28 11:05:42 -06:00
Skye Deving
1871a43dc8 Upload the release folder 2021-01-28 11:05:42 -06:00
Skye Deving
232a299612 Remove listing directory 2021-01-28 11:05:42 -06:00
Skye Deving
e4152f577b Fix path 2021-01-28 11:05:42 -06:00
Skye Deving
196982ffe5 Add in extension 2021-01-28 11:05:42 -06:00
Skye Deving
4e18874762 Attempt to deploy 2021-01-28 11:05:42 -06:00
Skye Deving
353ed07464 Rename to zip since artifact is a zip 2021-01-28 11:05:42 -06:00
Skye Deving
af6cacf9d0 Upload the right artifact 2021-01-28 11:05:42 -06:00
Skye Deving
712a48cbac Use the x64 bass lib 2021-01-28 11:05:42 -06:00
Skye Deving
3bd57190f0 Add lib as well 2021-01-28 11:05:42 -06:00
Skye Deving
e9a53b1f88 Copy the bass x64 dll 2021-01-28 11:05:42 -06:00
Skye Deving
8d7d04e284 Copy the dynamic dll over as well 2021-01-28 11:05:42 -06:00
Skye Deving
ea9284d18d Fix paths and remove env 2021-01-28 11:05:42 -06:00
Skye Deving
46d6b6719b Try using win32 2021-01-28 11:05:42 -06:00
Skye Deving
0074bd0e70 Copy the dynamic lib 2021-01-28 11:05:42 -06:00
Skye Deving
ecf472d4a2 Fix typo 2021-01-28 11:05:42 -06:00
Skye Deving
7a9cb6a00c Grab discord-rpc too 2021-01-28 11:05:42 -06:00
Skye Deving
23b1cf4703 Change the copy 2021-01-28 11:05:42 -06:00
Skye Deving
bb63cfd178 Renable build and copy more bass 2021-01-28 11:05:42 -06:00
Skye Deving
214e941464 Make this just install qt for cache 2021-01-28 11:05:42 -06:00
Skye Deving
6a2e7e16d0 Remove unneeded option 2021-01-28 11:05:42 -06:00
Skye Deving
f9700bf6eb Remove sudo 2021-01-28 11:05:42 -06:00
Skye Deving
0a1dc4a234 Install Catch2 2021-01-28 11:05:42 -06:00
Skye Deving
2e66e802a1 Try using proper cmake steps 2021-01-28 11:05:42 -06:00
Skye Deving
9b36fb8bda Maybe using cmake will work 2021-01-28 11:05:42 -06:00
Skye Deving
afb534bf67 Grab bass dependency 2021-01-28 11:05:42 -06:00
Skye Deving
6ae4e617b0 Attempt to do things again 2021-01-28 11:05:42 -06:00
Skye Deving
4429d5e630 Add new step for compiler 2021-01-28 11:05:42 -06:00
Skye Deving
0cd3351013 Change the windows again 2021-01-28 11:05:42 -06:00
Skye Deving
51b77403eb Try to invoke the bat file better 2021-01-28 11:05:42 -06:00
Skye Deving
672b315272 Attempt to use different qt installer 2021-01-28 11:05:42 -06:00
Skye Deving
d4f24b3109 Setup python 2021-01-28 11:05:42 -06:00