aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: ba99404d5786086fcf7e3f68f229d13a75178100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# 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