atrooney-online-2/README.md
OmniTroid 0e45f3c0ee
Universal configure script (#1022)
* Init configure.sh

* echo detected platform

* Implement check_command

* Implement install_bass_macos, plus checks

* Ignore tmp

* Add configure main function and bass installs

* Less functions

* Reformat file, add some stuff

* Start adding automatic qt detection

* Curl is more portable it seems

* Try finding Qt's bundled cmake

* fix cmake command checking

* Reorder to windows first

* do not download deps if already present

* Add configure clean

* Fix basic command checks

* cmd fixes

* thank you bash, very cool!

* fix file shenanigans

* unneccessary comment

* Use qt_path instead of qt_cmake

* Ignore apng folder

* Rework with QT_PATH

* Move find_qt to the top

* move check_command near the top

* Tidy up command checking

* Rename QT_PATH to QT_ROOT and call the qt installation path QT_PATH instead

* only clone qtapng if no dir

* Cmake shenanigans

* Fix build with ninja

* Fix apng cp cmd

* Fix apng check

* Just call it cmake

* Run cmake in configure.sh

* Ignore generated files

* Comment out mega cmake command

* Fix apng check

* more cmake stuff

* make the cmake command we use very clear

* ignore cmake_cmd.txt

* Note that linux and macos is not supported

* Update README

* Add some stuff to windeployqt

* Clone themes

* macos fixes

* Only call windeployqt on windows

* Linux fixes

* Remove linux todo comment

* Remove git stuff from themes checkout

* Note about vanilla content..

* Add note about formatting in readme

* Remove e flag so script doesn't stop with no error messages

* Note about toolchains on unix-likes

* Fix cmake path on linux

* Rework get_zip for better error handling and less unzipping unnecessary files

* Adjust get_zip calls

* Hopefully make error handling more robust

* Fix bassopus on linux

* linux bassopus pathing fix

* Fix discord rpc linux

* Add note about opengl

* Ignore test_aopacket

* Tidy up readme a bit again

* Remove old configure scripts
2024-07-31 13:40:43 +02:00

91 lines
2.9 KiB
Markdown

# Attorney Online
![CI build](https://github.com/AttorneyOnline/AO2-Client/actions/workflows/build.yml/badge.svg?event=push) ![license](https://img.shields.io/github/license/AttorneyOnline/AO2-Client?color=blue) ![contributors](https://img.shields.io/github/contributors/AttorneyOnline/AO2-Client)<br>
[Attorney Online](https://aceattorneyonline.com) is a world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format.
**[Refer to the docs](https://github.com/AttorneyOnline/docs/blob/master/docs/index.md) for more information.**
## Setting up for development
### Prerequisites
Unix-like systems will expect a C toolchain, installed using eg.:
Ubuntu: `sudo apt install build-essential`
macOS: `xcode-select --install`
You may also need openGL libraries to compile QApng, eg:
Ubuntu: `sudo apt install libgl1-mesa-dev`
macOS: `brew install glfw glew`
### Setup
This program's main dependency is Qt and the currently recommended version for development is **6.5.3**. See [this link](https://doc.qt.io/qt-6/qt-online-installation.html)
on how to install Qt. You will need to check off the following under "Additional Libraries":
- Qt Image formats
- Qt WebSockets
Under "Developer and Designer tools", you may also want to check off:
- CMake
- Ninja
- If you're on Windows, a toolchain (MinGW)
Assuming all this is in place, you should be able to run `configure.sh` to generate the necessary build files.
This also compiles the program and shows a cmake command that can be used to recreate the build files.
### Content
To test key features, you may need the vanilla base content, which is not included in this repository.
You can get it from https://ao-dl.b-cdn.net/vanilla_full_2023.6_4.zip
This should be put in `./bin/base`
### Formatting
All code should be formatted according to the `.clang-format` file.
This will be checked by CI and will fail if the code is not formatted correctly.
## Running Tests
Running tests requires Catch2 and cmake
```sh
mkdir cbuild && cd cbuild
cmake ..
make test
# usage: run all tests
./test/test
# usage: Optionally specify tests and success verbosity
./test/test [bass] --success
```
`[noci]` tag is used to disable a test on GitHub actions
## Credits
The original Attorney Online client was created by FanatSors.
This is an open-source remake of that client created by OmniTroid.
The logo (`logo.png` and `logo.ico`) was designed by Lucas Carbí. The characters depicted in the logo are owned by Capcom.
## Copyright
The project is dual-licensed; you are free to copy, modify and distribute AO2 under the GPLv3 or the MIT license.
Copyright (c) 2016-2018 OmniTroid
Modifications copyright (c) 2017-2018 oldmud0
Case Café additions copyright (c) 2018 Cerapter
Killing Fever Online additions copyright (c) 2019 Crystalwarrior
## Contact
You can find us in the official Attorney Online Discord server: https://discord.gg/wWvQ3pw