Skip to content

Commit e4cc3f4

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 2a073b8 + bd482d9 commit e4cc3f4

File tree

1,504 files changed

+63839
-17293
lines changed

Some content is hidden

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

1,504 files changed

+63839
-17293
lines changed

.appveyor.yml

Lines changed: 79 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,96 @@
11
version: '{branch}.{build}'
22

3-
branches:
4-
except:
5-
- gh-pages
3+
skip_tags: true
4+
skip_branch_with_pr: true
65

7-
clone_depth: 5
6+
clone_depth: 2
87

98
environment:
10-
# Building with MinGW-w64 version 6.3.0. These env settings are used by the makefile.
11-
MINGW_ROOT: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64
12-
matrix:
13-
- es_run_mode: 'dist'
9+
TEST_REPORT_FILE: .\tests\test-report.xml
10+
PYTHON_BINARY: C:/Python38-x64/python.exe
11+
SCCACHE_DIR: sccache
12+
CXX: sccache g++
13+
AR: gcc-ar
14+
es_run_mode: 'dist'
15+
matrix:
16+
- MINGW_ROOT: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64
17+
MINGW_VERSION: v6.3.0
18+
- MINGW_ROOT: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64
19+
MINGW_VERSION: v7.3.0
20+
- MINGW_ROOT: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64
21+
MINGW_VERSION: v8.1.0
1422

1523
install:
16-
- ps: |
17-
# Update env variables to use the desired MinGW version
18-
Set-AppveyorBuildVariable -Name PATH -Value "$Env:MINGW_ROOT\bin\;$Env:PATH";
19-
Set-AppveyorBuildVariable -Name DIR_MINGW64 -Value "$Env:MINGW_ROOT\x86_64-w64-mingw32";
20-
# Ensure we have the precompiled libraries to link with (SDL, etc.).
21-
if (!(Test-Path 'C:\dev64')) { New-Item 'C:\dev64' -ItemType Directory; }
22-
if (!(Test-Path 'C:\dev64\bin'))
23-
{
24-
Start-FileDownload 'http://endless-sky.github.io/win64-dev.zip' 'C:\dev64.zip'
25-
$zipArgs = 'x C:\dev64.zip -oC:\';
26-
Start-Process '7z.exe' -ArgumentList $zipArgs -Wait;
27-
}
28-
# Ensure we have instructions on how to build our executable.
29-
if (!(Test-Path '.winmake'))
30-
{
31-
if (!(Test-Path 'C:\cbp2make')) { New-Item 'C:\cbp2make' -ItemType Directory; }
32-
$cbp2make_dir = 'C:\cbp2make\cbp2make-stl-rev147-all\bin';
33-
if (!(Test-Path $cbp2make_dir))
34-
{
35-
Start-FileDownload 'https://downloads.sourceforge.net/project/cbp2make/cbp2make-stl-rev147-all.tar.7z?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fcbp2make%2Ffiles%2F%3Fsource%3Dnavbar&ts=1500511318&use_mirror=managedway' 'C:\cbp2make.tar.gz';
36-
$zipArgs = 'x C:\cbp2make.tar.gz -oC:\cbp2make';
37-
Start-Process '7z.exe' -ArgumentList $zipArgs -Wait;
38-
}
39-
(Get-Content 'EndlessSky.cbp') -replace 'C:\\Program Files\\mingw64\\x86_64-w64-mingw32', $Env:DIR_MINGW64 | Set-Content 'EndlessSky.cbp';
40-
$makeExe = "$cbp2make_dir\Release\cbp2make.exe";
41-
$makeArg = '--local -in EndlessSky.cbp -out .winmake';
42-
Start-Process $makeExe -ArgumentList $makeArg -Wait;
43-
}
24+
# Update env variables to use the desired MinGW version
25+
- ps: |
26+
Set-AppveyorBuildVariable -Name PATH -Value "$Env:MINGW_ROOT\bin\;$Env:PATH";
27+
Set-AppveyorBuildVariable -Name DIR_MINGW64 -Value "$Env:MINGW_ROOT\x86_64-w64-mingw32";
28+
# Ensure we have the precompiled libraries to link with (SDL, etc.).
29+
- ps: |
30+
if (!(Test-Path 'C:\dev64')) { New-Item 'C:\dev64' -ItemType Directory; }
31+
if (!(Test-Path 'C:\dev64\bin'))
32+
{
33+
Start-FileDownload 'http://endless-sky.github.io/win64-dev.zip' 'C:\dev64.zip'
34+
$zipArgs = 'x C:\dev64.zip -oC:\';
35+
Start-Process '7z.exe' -ArgumentList $zipArgs -Wait;
36+
}
37+
# Use sccache
38+
- ps: choco install sccache
4439

4540
cache:
46-
- C:\dev64
41+
- C:\dev64
42+
- C:\ProgramData\chocolatey\bin
43+
- C:\ProgramData\chocolatey\lib
44+
- scons-local -> .winmake
45+
- sccache -> .winmake
46+
- .sconsign.dblite -> .winmake
4747

4848
build_script:
49-
- ps: mingw32-make.exe -k -j2 -e -f .winmake $Env:es_run_mode;
49+
- ps: mingw32-make.exe -re -j2 -f .winmake $Env:es_run_mode;
5050

5151
before_test:
52-
- ps: |
53-
$here = (Get-Location).Path;
54-
Copy-Item -Path "bin\*\EndlessSky.exe" -Destination $here;
55-
Copy-Item -Path "C:\dev64\bin\*.dll" -Exclude "libstdc*" -Destination $here;
52+
- ps: mingw32-make.exe -re -j2 -f .winmake build-tests;
53+
- ps: |
54+
$here = (Get-Location).Path;
55+
Copy-Item -Path "bin\pkgd\release\endless-sky.exe" -Destination $here;
56+
Copy-Item -Path "C:\dev64\bin\*.dll" -Exclude "libstdc*" -Destination $here;
5657
5758
test_script:
58-
- ps: .\tests\test_parse.ps1 'EndlessSky.exe';
59+
- ps: .\tests\endless-sky-tests.exe -n es-ci -i --warn NoAssertions --order rand --rng-seed 'time' --filenames-as-tags -r junit -o $Env:TEST_REPORT_FILE;
60+
- ps: .\tests\test_parse.ps1 'endless-sky.exe';
5961

62+
# Upload the build if tests passed.
6063
after_test:
61-
- ps: |
62-
$here = (Get-Location).Path;
63-
Copy-Item -Path "$Env:DIR_MINGW64\lib\libstdc++-6.dll" -Destination $here;
64-
Copy-Item -Path "$Env:DIR_MINGW64\lib\libgcc_s_seh-1.dll" -Destination $here;
65-
Copy-Item -Path "$Env:DIR_MINGW64\lib\libwinpthread-1.dll" -Destination $here;
66-
# Zip the directory for release
67-
$ARCHIVE_NAME = "$Env:APPVEYOR_REPO_NAME-$Env:APPVEYOR_REPO_BRANCH-$Env:APPVEYOR_REPO_COMMIT-win64.7z";
68-
$ZIP_ARGS = "a $ARCHIVE_NAME .\*.exe -i!.\*.dll -i!.\data\ -i!.\icons\ -i!.\images\ -i!.\sounds\ -i!.\source\ -i!license.txt -i!copyright -i!README.md -i!changelog -i!credits.txt -i!keys.txt";
69-
Start-Process '7z.exe' -ArgumentList $ZIP_ARGS -Wait;
70-
Push-AppveyorArtifact $ARCHIVE_NAME;
64+
- ps: |
65+
$here = (Get-Location).Path;
66+
Copy-Item -Path "$Env:DIR_MINGW64\lib\libstdc++-6.dll" -Destination $here;
67+
Copy-Item -Path "$Env:DIR_MINGW64\lib\libgcc_s_seh-1.dll" -Destination $here;
68+
Copy-Item -Path "$Env:DIR_MINGW64\lib\libwinpthread-1.dll" -Destination $here;
69+
70+
# Zip the directory for release
71+
$BRANCH_NAME = switch ( [string]::IsNullOrEmpty($Env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH) ) {
72+
$true { $Env:APPVEYOR_REPO_BRANCH }
73+
$false { $Env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH }
74+
};
75+
$REPO_NAME = $Env:APPVEYOR_REPO_NAME -replace "^.+/";
76+
$ARCHIVE_NAME = "$REPO_NAME-$BRANCH_NAME-$($Env:APPVEYOR_REPO_COMMIT.SubString(0,7))-MinGW$Env:MINGW_VERSION-win64.7z";
77+
78+
# Remove invalid characters that would prevent saving the artifact.
79+
$INVALID_CHARS = [IO.Path]::GetInvalidFileNameChars() -join '';
80+
$REPLACER = "[{0}]" -f [RegEx]::Escape($INVALID_CHARS);
81+
$ARCHIVE_NAME = ($ARCHIVE_NAME -replace $REPLACER)
82+
83+
$ZIP_ARGS = "a $ARCHIVE_NAME .\*.exe -i!.\*.dll -i!.\data\ -i!.\icons\ -i!.\images\ -i!.\sounds\ -i!.\source\ -i!license.txt -i!copyright -i!README.md -i!changelog -i!credits.txt -i!keys.txt";
84+
Start-Process '7z.exe' -ArgumentList $ZIP_ARGS -Wait;
85+
Push-AppveyorArtifact $ARCHIVE_NAME;
86+
87+
# Upload the test report even if tests failed.
88+
on_finish:
89+
- ps: |
90+
if (Test-Path $Env:TEST_REPORT_FILE)
91+
{
92+
(New-Object 'System.Net.WebClient').UploadFile(
93+
"https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)",
94+
(Resolve-Path $Env:TEST_REPORT_FILE)
95+
);
96+
}

.codespell.exclude

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
"Woh"
2+
"mor"
3+
"Grey"
4+
"Mitre"
5+
"Alph"
6+
"Gord"
7+
"gard"
8+
"Diamond Grey"
9+
"Grey Wolf"
10+
` "The Grey Goose."`
11+
` He stops and frowns. "Look at me, rambling like an ol' man. Ser, Captain, I'd like to pay you <payment> to take me home, to <destination>."`
12+
` He smiles sadly. "Skaldgar always had a nose for good folks. Anyways, he told me he had a nephew named Helm who worked at the Norn spaceport. Find 'im and he can get'cha and this stone where it needs to go." The young man than looks you in the eye and gives a slow respectful nod, "For Ol' Skaldgar, may he be findin' ore in hel."`
13+
` Cygnet strokes his mustache. "Tod Copper. Tod Copper. Tell you what, that name doesn' ring a bell. Heck, I don' even keep track of names 'less I get someone impor'ant. If ya lookin' for someone in particular to buy, can I get a description?"`
14+
goto shotdown
15+
label shotdown
16+
"ser"
17+
"cach"
18+
"oder"
19+
" Grat"

.editorconfig

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,30 @@ root = true
33

44
[*]
55
insert_final_newline = true
6+
trim_trailing_whitespace = true
67

78
# Data files
89
[data/**.txt]
910
trim_trailing_whitespace = false
1011
indent_style = tab
1112

1213
# Code files
13-
[*.{cpp,h,rc,hpp}]
14-
trim_trailing_whitespace = false
14+
[*.{cpp,h,rc,hpp}, SConstruct, SConscript]
1515
indent_style = tab
1616

1717
# Markdown
1818
[*.md]
1919
trim_trailing_whitespace = false
2020

21+
# Scripts
22+
[*.{sh,ps1}]
23+
indent_style = space
24+
indent_size = 2
25+
2126
[*.xml]
2227
indent_style = space
2328
indent_size = 2
29+
30+
[*.{yml,yaml}]
31+
indent_size = 2
32+
indent_style = space
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Bug Report
2+
description: Create a report to help us fix the game
3+
labels: [bug, unconfirmed]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for filing a bug report!
10+
We know that filling this form out in full takes time, but we are also busy, unpaid volunteers--the more details you can provide, the smoother things will go.
11+
- type: checkboxes
12+
attributes:
13+
label: Is there an existing issue for this?
14+
description: Please search to see if an issue already exists for the bug you encountered.
15+
options:
16+
- label: I have searched the existing issues
17+
required: true
18+
- type: textarea
19+
id: description
20+
attributes:
21+
label: Describe the bug
22+
description: Provide a clear and concise description of what the bug is.
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: reproduction
27+
attributes:
28+
label: Steps to Reproduce
29+
description: How can others reproduce the issue?
30+
value: |
31+
1. Go to '...'
32+
2. Click on '...'
33+
3. Scroll down to '...'
34+
4. See error
35+
validations:
36+
required: true
37+
- type: textarea
38+
id: expectation
39+
attributes:
40+
label: Expected Behavior
41+
description: A clear and concise description of what you expected to happen.
42+
validations:
43+
required: true
44+
- type: textarea
45+
attributes:
46+
label: Screenshots
47+
description: |
48+
If applicable, attach screenshots that may help others identify and resolve the issue.
49+
(If you are reporting a visual bug, a screenshot is effectively required!)
50+
- type: textarea
51+
attributes:
52+
label: Link to save file
53+
description: You can either upload your save here, or to e.g. hastebin / GitHub Gists
54+
placeholder: |
55+
Windows: %APPDATA%\endless-sky\saves
56+
Linux: ~/.local/share/endless-sky/saves
57+
macOS: ~/Library/Application Support/endless-sky/saves
58+
- type: input
59+
attributes:
60+
label: Operating System
61+
description: What OS do you use?
62+
placeholder: Windows 10 Pro, version 1803 build 17134.407
63+
validations:
64+
required: true
65+
- type: dropdown
66+
attributes:
67+
label: Game Source
68+
description: From where did you obtain your current game version?
69+
options:
70+
- Steam
71+
- ESLauncher2
72+
- Built from source
73+
- GitHub Releases
74+
- Homebrew
75+
- Other (please describe)
76+
validations:
77+
required: true
78+
- type: input
79+
attributes:
80+
label: Game Version
81+
description: What game version are you running?
82+
placeholder: E.g. "v0.9.14" or "commit SHA cab74fd3"
83+
validations:
84+
required: true
85+
- type: textarea
86+
attributes:
87+
label: Additional Information
88+
description: Add any other context about the problem here that didn't fit into the form inputs above.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for filing a feature request! This project has been around for quite a while, so it is quite common for ideas to have come up before. To help save everyone's time, you are required to search for related issues and address any comments and concerns that arose previously.
9+
Otherwise, your issue will be closed--it is not fair to ask maintainers and collaborators to do background research for *your* feature request.
10+
11+
Where should you search?
12+
- [GitHub Issues](https://github.com/endless-sky/endless-sky/issues?q=is%3Aissue)
13+
- [Steam Forum](https://steamcommunity.com/app/404410/discussions/)
14+
- [Discord Community](https://discord.gg/ZeuASSx)
15+
- [Reddit](https://reddit.com/r/endlesssky/)
16+
- [Google Groups](https://groups.google.com/g/endless-sky)
17+
- type: textarea
18+
attributes:
19+
label: Problem Description
20+
description: Provide a clear and concise description of what underlying issue is addressed by your feature request.
21+
placeholder: I'm always frustrated when [...]
22+
validations:
23+
required: true
24+
- type: textarea
25+
attributes:
26+
label: Related Issue Links
27+
description: |
28+
Provide links to other topics that have sought to address the same issue, or discussed this same idea. Include links to Steam, GitHub, Google Groups, Reddit, or Discord.
29+
(You can also address these related issues, to help differentiate your idea from those that have been dismissed in the past.)
30+
validations:
31+
required: true
32+
- type: textarea
33+
attributes:
34+
label: Desired Solution
35+
description: Provide a clear and concise description of what you want to happen.
36+
validations:
37+
required: true
38+
- type: textarea
39+
attributes:
40+
label: Alternative Approaches
41+
description: Provide a clear and concise description of any alternative solutions or features you've considered that would also address the underlying issue.
42+
validations:
43+
required: true
44+
- type: textarea
45+
attributes:
46+
label: Additional Context
47+
description: Add any other context or screenshots about the feature request here. If you're proposing new UI features, creating a mock-up can really go a long way in conveying your intent.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)