Skip to content

Commit ec1c95b

Browse files
authored
Merge pull request #217 from AttorneyOnline/kfo-ao2
Final mega-merge with the Killing Fever Online client, along with other associated bugfixes and feature additions. This commit is release-ready.
2 parents 8ea01d4 + 36b5af3 commit ec1c95b

File tree

95 files changed

+17323
-12131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+17323
-12131
lines changed

.clang-format

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BasedOnStyle: LLVM
2+
BreakBeforeBraces: Stroustrup

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,19 @@ base_override.h
99
.DS_Store
1010

1111
base-full/
12-
base/
12+
logs/
1313
bass.lib
1414

1515
bin/
1616
bins/
1717
build/
1818
release/
1919
debug/
20+
base/background
21+
base/characters
22+
base/sounds
23+
base/callwords.ini
24+
base/config.ini
2025

2126
.qmake.stash
2227

.gitlab-ci.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,7 @@ build windows i686:
121121
# Base folder
122122
.deploy_base: &deploy_base |
123123
mkdir base
124-
mkdir base/themes
125-
cp -a ../base/themes/default base/themes/
126-
cp -a ../base/config.ini base/config.sample.ini
127-
cp -a ../base/serverlist.txt base/serverlist.sample.txt
124+
cp -a ../base/ base/
128125

129126
# Miscellaneous files
130127
.deploy_misc: &deploy_misc |

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ deploy:
1414
provider: releases
1515
api_key:
1616
secure: mZCNwnqKeqJP5CqgYOanYnr/KHydxueGPRhvGLpY0Pop7MiH3CIHMN5dhHbtgJvE5GGMR4xUIEhPpmkCEJw7YiPREMqT4mkV4DR531ZLB3t/FizyvIwXuP6jFwzTofZ51qHfBpcurVc9sMFeD9Pw+rLTTgIiXL2sZxUUXc8U+ZZug1lYndgcO6P00fUJd6V9lyFQUGmbSca97YbG6KuCym0fEpyRnMqzKLjYsUUo8UKRBADtmD822O6z2FSldNZDn45Mkx0MYfHWyT5hzTb7WGa+DrTB/0un1HqqsNPlb/ahjrFQQNR2qd7HNGZa+Mvwi6egTDug+k15x8lbkacUoi34U1eFq9LSTYm8dSO5g23I1OvGvjTCkDj1jOLPqB99XlbAJ0E/9Jzw7wtlLaAzvFzTj/B63TQnO3IsgHBWR14CZlf05WMOFf2irwl+kL6ktspIHnlGgaiWYYrKeAt7QJAXiQOdYDz6SaWVC6TyOE/SszXRU6xFotmCjkP2irM5yGE8SUw2uIzKjD9uG0ZXtbLcdQEFD316+qglqFTCjnKsRfbtQs2u5spZPsZSdsOZCbLfNIn0GSTFRymFsK6gsvji8AD8AZo0zcOZ/7NMVC6A8RnF3Ve+vU/xljhsIOxoLZDvZPia7WozdV99xmnepWBwkuoQs/K0xmWcnLZDcb0=
17-
file: "../bin/Attorney_Online_mac_x86_64.zip"
17+
file: "../bin/Attorney_Online_macOS.zip"
1818
draft: true
1919
on:
2020
tags: true

Attorney_Online.pro

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ QT += core gui widgets network
33
TARGET = Attorney_Online
44
TEMPLATE = app
55

6-
VERSION = 2.7.2.0
6+
VERSION = 2.8.4.0
77

88
INCLUDEPATH += $$PWD/include
99
DESTDIR = $$PWD/bin
@@ -13,30 +13,39 @@ MOC_DIR = $$PWD/build
1313
SOURCES += $$files($$PWD/src/*.cpp)
1414
HEADERS += $$files($$PWD/include/*.h)
1515

16-
1716
LIBS += -L$$PWD/lib
1817

19-
20-
#DEFINES += DISCORD
18+
# Uncomment to enable Discord Rich Presence
19+
# DEFINES += DISCORD
2120

2221
contains(DEFINES, DISCORD) {
23-
LIBS += -ldiscord-rpc
22+
LIBS += -ldiscord-rpc
2423
}
2524

26-
#DEFINES += BASSAUDIO
25+
# Uncomment to enable the BASS audio engine
26+
# (Recommended for Windows)
27+
# DEFINES += BASSAUDIO
2728

2829
contains(DEFINES, BASSAUDIO) {
29-
LIBS += -lbass
30+
LIBS += -lbass
31+
LIBS += -lbassopus
3032
}
3133

32-
#DEFINES += QTAUDIO
34+
# Uncomment to enable the Qt audio engine
35+
# (Recommended for non-Windows platforms)
36+
# DEFINES += QTAUDIO
3337

3438
contains(DEFINES, QTAUDIO) {
35-
QT += multimedia
39+
QT += multimedia
40+
}
41+
42+
AUDIO_DEFINES = $$find(DEFINES, BASSAUDIO) $$find(DEFINES, QTAUDIO)
43+
count(AUDIO_DEFINES, 0) {
44+
warning("No audio system selected. Your build will not have audio.")
3645
}
3746

38-
contains(CONFIG, qml_debug) {
39-
DEFINES += DEBUG_NETWORK
47+
count(AUDIO_DEFINES, 2) {
48+
error("More than one audio system selected.")
4049
}
4150

4251
macx:LIBS += -framework CoreFoundation -framework Foundation -framework CoreServices
@@ -46,16 +55,16 @@ CONFIG += c++14
4655

4756
RESOURCES += resources.qrc
4857

49-
TRANSLATIONS = resource/translations/ao_en.ts \
50-
resource/translations/ao_jp.ts \
51-
resource/translations/ao_de.ts \
52-
resource/translations/ao_ru.ts \
53-
resource/translations/ao_es.ts \
54-
resource/translations/ao_pt.ts \
55-
resource/translations/ao_pl.ts
58+
TRANSLATIONS = resource/translations/ao_en.ts \
59+
resource/translations/ao_jp.ts \
60+
resource/translations/ao_de.ts \
61+
resource/translations/ao_ru.ts \
62+
resource/translations/ao_es.ts \
63+
resource/translations/ao_pt.ts \
64+
resource/translations/ao_pl.ts
5665

57-
win32:RC_ICONS = resource/logo.ico
58-
macx:ICON = resource/logo.icns
66+
win32:RC_ICONS = resource/logo_ao2.ico
67+
macx:ICON = resource/logo_ao2.icns
5968

6069
android:DISTFILES += \
6170
android/AndroidManifest.xml \

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## Compiling
2+
3+
The traditional route is by undergoing the [AO2 Rite of Passage](https://gist.github.com/oldmud0/6c645bd1667370c3e92686f7d0642c38).
4+
5+
However, these days it is easy to get away with using the default Qt toolchain on any platform, which creates a dynamic executable. (Don't forget to invoke windeployqt when creating a release.)
6+
7+
### Dependencies
8+
9+
- [BASS](http://un4seen.com) (optional; may use Qt Multimedia instead)
10+
- [Discord Rich Presence](https://github.com/discordapp/discord-rpc) (optional)
11+
12+
## Release instructions
13+
14+
Follow these steps to make a new full release:
15+
16+
- Set a new AO version in the `.pro` file and in `aoapplication.h`.
17+
- Compile the project.
18+
- Commit the version bump and and create a tag for the commit.
19+
- Rename the executable to `Attorney_Online`.
20+
- Create a temp directory.
21+
- Copy a fresh `base` folder to the temp dir. Ensure that the timestamps are consistent.
22+
- Ignore this step if creating a client-only release.
23+
- Copy the repository's `base` folder to the temp dir.
24+
- Append `.sample` to the names of all `.ini` files, including `serverlist.txt`.
25+
- Copy the game executable to the temp dir.
26+
- Copy `bass.dll`, `discord-rpc.dll`, and `qapng.dll` if applicable.
27+
- Copy `README.md` as `README.md.txt` with CRLF line endings.
28+
- Copy `LICENSE` as `LICENSE.txt` with CRLF line endings.
29+
- Compress the contents of the temp dir to an archive with maximum compression, but
30+
be sure that the contents are placed inside the root directory of the archive and not
31+
within a subdirectory.
32+
- Compute the SHA-1 hash of the archive.
33+
- Upload the archive to the Wasabi bucket and an additional mirror (e.g. MEGA or OneDrive)
34+
(if this is a full release).
35+
- Publish a GitHub release and upload the archive there (if this is a client-only release).
36+
- Add the new version to the `program.json` manifest for the respective platform
37+
(if this is a client-only release).
38+
- Update the following on the website for the respective platform:
39+
- Full download links (Wasabi and mirror)
40+
- Client download link
41+
- Full download hash
42+
- Client download hash
43+
44+
Repeat for each platform (currently 32-bit Windows and 64-bit Linux). Once you're done, don't forget to announce your release!

0 commit comments

Comments
 (0)