Skip to content

Commit 2e7cc41

Browse files
committed
Merge remote-tracking branch 'source/master'
# Conflicts: # README.md
2 parents ebb6455 + 636242a commit 2e7cc41

File tree

5,253 files changed

+1873562
-2
lines changed

Some content is hidden

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

5,253 files changed

+1873562
-2
lines changed

.github/CODEOWNERS

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#This file is used to determine who's in charge of different filetypes. It uses the git code owners system to determine who is in charge of pull requests for file types.
2+
#For more information, see the following link: https://help.github.com/en/articles/about-code-owners
3+
#Feel free to suggest changes or updates
4+
5+
#Global default owners for pull requests
6+
* @administrators
7+
8+
#C++ Owners
9+
*.cpp @core-game-code-managers
10+
*.h @core-game-code-managers
11+
*.c++ @core-game-code-managers

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Additional context**
27+
Add any other context about the problem here.
28+
- LogConsole.txt
29+
- coredump
30+
- stacktrace
31+
- etc
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Technical improvement
3+
about: Suggest a direct improvement to the project's code or design.
4+
title: ''
5+
labels: enhancement, refactor
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the Problem and Suggested Improvement**
11+
A clear and concise description of what is wrong with the code and/or design, and how you think it should be improved.
12+
13+
**Describe Additional Work Required Before Improvement Can be Made**
14+
A clear and concise description of any additional work or research or investigation you think will be necessary before this improvement can be made.
15+
16+
**Additional context**
17+
Add any other context or technical improvement here. This can include line numbers, links to useful discussions/articles/tutorials, etc.

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Continuous Integration
2+
3+
on:
4+
# Triggers the workflow for pushes to development, for pull request events, and for the merge queue
5+
push:
6+
branches: [development]
7+
pull_request:
8+
types: [opened, reopened, ready_for_review, synchronize]
9+
merge_group:
10+
types: [checks_requested]
11+
12+
workflow_dispatch:
13+
14+
# Cancel in-progress runs if newer changes to the same branch/PR are pushed.
15+
concurrency:
16+
group: ci-${{ github.head_ref || github.ref }}
17+
cancel-in-progress: true
18+
19+
jobs:
20+
meson:
21+
uses: ./.github/workflows/meson.yml
22+
23+
msbuild:
24+
uses: ./.github/workflows/msbuild.yml
25+

.github/workflows/master_build.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
name: Master Build
3+
4+
on:
5+
# Triggers the workflow for pushes to master
6+
push:
7+
branches: [master]
8+
9+
workflow_dispatch:
10+
11+
# Cancel in-progress runs if newer changes to the same branch/PR are pushed.
12+
concurrency:
13+
group: ci-${{ github.head_ref || github.ref }}
14+
cancel-in-progress: true
15+
16+
# Build the game on all platforms and store build artefacts of both jobs
17+
jobs:
18+
meson:
19+
uses: ./.github/workflows/meson.yml
20+
with:
21+
upload_artefacts: true
22+
23+
msbuild:
24+
uses: ./.github/workflows/msbuild.yml
25+
with:
26+
upload_artefacts: true
27+

.github/workflows/meson.yml

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
name: Meson Build (Linux, macOS)
2+
3+
on:
4+
# Triggers the workflow when manually dispatched
5+
workflow_dispatch:
6+
inputs:
7+
upload_artefacts:
8+
description: "Upload build artefacts"
9+
type: boolean
10+
required: false
11+
default: false
12+
build_type:
13+
description: "Build Configuration"
14+
type: choice
15+
required: false
16+
default: "release"
17+
options:
18+
- "release"
19+
- "debug"
20+
debug_level:
21+
description: "Debug Level"
22+
type: choice
23+
required: false
24+
default: "release"
25+
options:
26+
- "release"
27+
- "minimal"
28+
- "full"
29+
30+
# Triggers the workflow when called by a top-level workflow
31+
workflow_call:
32+
inputs:
33+
upload_artefacts:
34+
type: boolean
35+
required: false
36+
default: false
37+
build_type: # "release" | "debug"
38+
type: string
39+
required: false
40+
default: "release"
41+
debug_level: # "full" | "minimal" | "release"
42+
type: string
43+
required: false
44+
default: "release"
45+
46+
env:
47+
MESON_VERSION: "0.60.3"
48+
49+
jobs:
50+
build-linux:
51+
52+
runs-on: ubuntu-latest
53+
name: Linux Build
54+
55+
steps:
56+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
57+
- uses: actions/checkout@v3
58+
- uses: actions/setup-python@v3
59+
60+
- name: Install Dependencies
61+
run: |
62+
sudo apt-get update -yq
63+
sudo apt-get install --no-install-recommends wget liballegro4-dev libloadpng4-dev libflac++-dev luajit-5.1-dev liblua5.2-dev libminizip-dev liblz4-dev libpng++-dev libx11-dev libboost-dev libtbb-dev libsdl2-dev libopengl-dev libfuse2 ninja-build
64+
sudo pip install meson==${{env.MESON_VERSION}}
65+
66+
- name: Setup Meson
67+
env:
68+
CC: "gcc"
69+
CXX: "g++"
70+
run: |
71+
meson setup --buildtype=${{inputs.build_type}} -Ddebug_type=${{inputs.debug_level}} build
72+
73+
- name: Configure for AppImage
74+
if: ${{inputs.upload_artefacts}}
75+
env:
76+
CC: "gcc"
77+
CXX: "g++"
78+
run: meson configure -Dinstall_data=false -Dinstall_runner=false -Dfmod_dir=/usr/lib/ --prefix=/usr/ build
79+
80+
- name: Build
81+
env:
82+
CC: "gcc"
83+
CXX: "g++"
84+
run: |
85+
meson compile -C build
86+
87+
- name: Create AppDir
88+
if: ${{inputs.upload_artefacts}}
89+
run: |
90+
echo "Setting output prefix"
91+
DESTDIR=${GITHUB_WORKSPACE}/build/AppDir meson install -C $GITHUB_WORKSPACE"/build"
92+
93+
- name: Download linuxdeploy
94+
if: ${{inputs.upload_artefacts}}
95+
working-directory: ${{env.GITHUB_WORKSPACE}}
96+
run: |
97+
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O lindeploy
98+
chmod +x lindeploy
99+
100+
- name: Create AppImage
101+
if: ${{inputs.upload_artefacts}}
102+
working-directory: ${{env.GITHUB_WORKSPACE}}
103+
env:
104+
LD_LIBRARY_PATH: ./external/lib/linux/x86_64/
105+
OUTPUT: CortexCommand.AppImage
106+
run: |
107+
echo ${LD_LIBRARY_PATH}
108+
./lindeploy --appdir=build/AppDir --output appimage
109+
110+
- name: Upload Appimage
111+
if: ${{inputs.upload_artefacts}}
112+
uses: actions/upload-artifact@v3
113+
with:
114+
name: CortexCommand (Linux)
115+
path: CortexCommand.AppImage
116+
if-no-files-found: error
117+
118+
build-macos:
119+
runs-on: macos-latest
120+
name: MacOS Build
121+
122+
steps:
123+
- uses: actions/checkout@v3
124+
- uses: actions/setup-python@v3
125+
126+
- name: Install Dependencies
127+
run: |
128+
brew install pkg-config tbb sdl2 minizip lz4 flac luajit [email protected] libpng gcc@12 ninja meson
129+
130+
- name: Build
131+
env:
132+
CC: "gcc-12"
133+
CXX: "g++-12"
134+
LDFLAGS: "-static-libgcc -static-libstdc++"
135+
run: |
136+
meson setup --buildtype=${{inputs.build_type}} -Ddebug_type=${{inputs.debug_level}} build
137+
meson compile -C build
138+
139+
- name: Artifact Deploy
140+
if: ${{inputs.upload_artefacts}}
141+
uses: actions/upload-artifact@v3
142+
with:
143+
name: CortexCommand (macOS)
144+
path: |
145+
build/CortexCommand
146+
build/CortexCommand_debug
147+
if-no-files-found: error

.github/workflows/msbuild.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Windows Build
2+
3+
on:
4+
# Triggers the workflow when manually dispatched
5+
workflow_dispatch:
6+
inputs:
7+
upload_artefacts:
8+
description: "Upload build artefacts"
9+
type: boolean
10+
required: false
11+
default: false
12+
build_configuration:
13+
description: "Build Configuration"
14+
type: choice
15+
required: false
16+
default: "Final"
17+
options:
18+
- "Final"
19+
- "Debug Release"
20+
- "Debug Minimal"
21+
- "Debug Full"
22+
23+
# Triggers the workflow when called by a top-level workflow
24+
workflow_call:
25+
inputs:
26+
upload_artefacts:
27+
type: boolean
28+
required: false
29+
default: false
30+
build_configuration: # "Final" | "Debug Release" | "Debug Minimal" | "Debug Full"
31+
type: string
32+
required: false
33+
default: "Final"
34+
35+
env:
36+
# Path to the solution file relative to the root of the project.
37+
SOLUTION_FILE_PATH: RTEA.sln
38+
NAME_MAPPING: |
39+
{
40+
"Final": "Cortex Command.exe",
41+
"Debug Release": "Cortex Command.debug.release.exe",
42+
"Debug Minimal": "Cortex Command.debug.minimal.exe",
43+
"Debug Full": "Cortex Command.debug.full.exe"
44+
}
45+
46+
jobs:
47+
build:
48+
name: Windows Build
49+
runs-on: windows-latest
50+
51+
steps:
52+
- uses: actions/checkout@v3
53+
54+
- name: Add MSBuild to PATH
55+
uses: microsoft/setup-msbuild@v1
56+
57+
- name: Build
58+
working-directory: ${{env.GITHUB_WORKSPACE}}
59+
# Add additional options to the MSBuild command line here (like platform or verbosity level).
60+
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
61+
run: msbuild /m /p:Configuration="${{inputs.build_configuration}}" ${{env.SOLUTION_FILE_PATH}}
62+
63+
- name: Determine executable name
64+
id: executable_name
65+
if: ${{inputs.upload_artefacts}}
66+
run: |
67+
echo "EXECUTABLE_NAME=${{ fromJson(env.NAME_MAPPING)[inputs.build_configuration] }}" >> "$GITHUB_OUTPUT"
68+
shell: bash
69+
70+
- name: Upload Artifact
71+
if: ${{inputs.upload_artefacts}}
72+
uses: actions/upload-artifact@v3
73+
with:
74+
name: ${{ steps.executable_name.outputs.EXECUTABLE_NAME }}
75+
path: D:/a/Cortex-Command-Community-Project-Source/Cortex-Command-Community-Project-Data/${{ steps.executable_name.outputs.EXECUTABLE_NAME }}
76+
if-no-files-found: error

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
*.suo
2+
*.sdf
3+
*.ncb
4+
*.log
5+
*.pdb
6+
*.obj
7+
*.vs
8+
*.APS
9+
*.user
10+
11+
compile_commands.json
12+
/.ccls-cache
13+
14+
/build*
15+
16+
/enc_temp_folder
17+
18+
/_Bin
19+
/NATPunchServer/Server/NATCompleteServer/Debug
20+
/NATPunchServer/Server/NATCompleteServer/Release
21+
/Documentation/Doxygen/Output
22+
MemCleanupInfo.txt
23+
RTEA.vcxproj.user
24+
.DS_Store
25+
.vscode

0 commit comments

Comments
 (0)