Skip to content

Conversation

@TrickyLeifa
Copy link
Contributor

@TrickyLeifa TrickyLeifa commented May 14, 2024

Port to CMake

The project has been ported to CMake, minimum version has been bumped to 3.7.0.

Third-party Options

Some of the third-party libraries (Discord RPC, ...) are to be made optional and become options that you may disable at will before building the program.

Backward-compatibility removal

One of the goal of Kaleidoscope is removal of various backward-compatibility options, it's making it harder and harder to justify older and new clients being compatible with each others.

As more and more functionality within AO2 get introduced, the more the user is to be expected to upgrade their client and server. With the server (akashi) and master server being changed in the future to reflect these changes, it will make it easier overall to make Attorney Online move forward and introduce new functionalities.

Multiple upgrades and improvements are planned for different sections of the client, networking, and so on. The packet system will also receive an overhaul.

* 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
@stonedDiscord
Copy link
Member

Bass already was optional at one point but the change was rolled back over looping behaviour

* Reworked favorite server widget
* Renamed `server_type` to `ServerInfo`
* Renamed `connection_type` to `ServerConnectionType`
* Refactored `AOCharButton`
* Reimplemented `AOButton`
* Partially reimplemented `AOEmoteButton`
* Refactored `AOEvidenceButton`
* Lightly reworked `NetworkManager`
* Added new modules to handle various connection types.
  * TCP
  * WebSocket
* Added general string splitter alias based on Qt version.
* Replaced `lobby_constructed` and `courtroom_constructed`
* Refactored and partially reimplemented the following classes:
  * `AOBlipPlayer`
  * `AOEmotePreview`
  * `AOMusicPlayer`
  * `AOSfxPlayer`
  * `AOTextArea`
This comment format is just tiring for the eyes. Imagine being on 1080p and not being able to read more than 5 method definitions due to comments.
* Reimplemented unit tests and simplified addition of new tests
* Minimal support of Qt is now 5.15
@TrickyLeifa TrickyLeifa added DOOM#% Something is doomed to be destroyed heaven No description provided. labels May 18, 2024
@TrickyLeifa TrickyLeifa marked this pull request as ready for review May 18, 2024 00:09
Copy link
Contributor

@Salanto Salanto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carpet bombing of the repo has never looked so good.
I will fix the CI in a following PR.

@TrickyLeifa TrickyLeifa changed the title Ported to CMake, ... Kaleidoscope - Something that had to be done a long time ago. May 18, 2024
@TrickyLeifa TrickyLeifa changed the title Kaleidoscope - Something that had to be done a long time ago. The Kaleidoscope - It's been a long time coming. May 18, 2024
@TrickyLeifa TrickyLeifa changed the title The Kaleidoscope - It's been a long time coming. The Kaleidoscope - Hell, it's about time. May 18, 2024
@Salanto Salanto merged commit 51338e3 into master May 18, 2024
@Salanto Salanto deleted the kaleidoscope branch May 18, 2024 01:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DOOM#% Something is doomed to be destroyed heaven No description provided.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants