mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 07:43:01 +01:00
Merge pull request #23236 from OpenRCT2/signpath
Sign Windows binaries with SignPath certificate
This commit is contained in:
120
.github/workflows/ci.yml
vendored
120
.github/workflows/ci.yml
vendored
@@ -16,6 +16,17 @@ on:
|
|||||||
- '.github/workflows/localisation.yml'
|
- '.github/workflows/localisation.yml'
|
||||||
- '.gitignore'
|
- '.gitignore'
|
||||||
- '.vscode/**'
|
- '.vscode/**'
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
sign:
|
||||||
|
description: Sign binaries
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- 'no'
|
||||||
|
- test-signing
|
||||||
|
- release-signing
|
||||||
|
default: test-signing
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -34,6 +45,11 @@ jobs:
|
|||||||
build_variables:
|
build_variables:
|
||||||
name: Get version info
|
name: Get version info
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# We want to sign tagged releases with release certificates, but it is only allowed to be ran manually.
|
||||||
|
# Disable automatic runs for tags and force release signing for tags.
|
||||||
|
if: |
|
||||||
|
(startsWith(github.ref, 'refs/tags/v') && github.event_name == 'workflow_dispatch' && github.event.inputs.sign == 'release-signing') ||
|
||||||
|
(!startsWith(github.ref, 'refs/tags/v') && github.event.inputs.sign != 'release-signing')
|
||||||
outputs:
|
outputs:
|
||||||
name: ${{ steps.artifact-name.outputs.name }}
|
name: ${{ steps.artifact-name.outputs.name }}
|
||||||
describe: ${{ steps.ghd.outputs.describe }}
|
describe: ${{ steps.ghd.outputs.describe }}
|
||||||
@@ -41,6 +57,8 @@ jobs:
|
|||||||
distance: ${{ steps.ghd.outputs.distance }}
|
distance: ${{ steps.ghd.outputs.distance }}
|
||||||
tag: ${{ steps.ghd.outputs.tag }}
|
tag: ${{ steps.ghd.outputs.tag }}
|
||||||
push: ${{ steps.setenv.outputs.push }}
|
push: ${{ steps.setenv.outputs.push }}
|
||||||
|
sign: ${{ steps.sign.outputs.sign }}
|
||||||
|
certificate: ${{ steps.sign.outputs.certificate }}
|
||||||
steps:
|
steps:
|
||||||
# We need to fetch entire repo to get the tags and correctly run `describe`
|
# We need to fetch entire repo to get the tags and correctly run `describe`
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
@@ -75,6 +93,22 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "name=${{ steps.ghd.outputs.describe }}"
|
echo "name=${{ steps.ghd.outputs.describe }}"
|
||||||
echo "name=${{ steps.ghd.outputs.describe }}" >> $GITHUB_OUTPUT
|
echo "name=${{ steps.ghd.outputs.describe }}" >> $GITHUB_OUTPUT
|
||||||
|
- name: Sign
|
||||||
|
id: sign
|
||||||
|
run: |
|
||||||
|
sign=${{ env.SIGNPATH_API_TOKEN != '' && github.event.inputs.sign != 'no' && (needs.build_variables.outputs.push || startsWith(github.ref, 'refs/tags/v')) }}
|
||||||
|
# if using workflow_dispatch, use the provided certificate
|
||||||
|
if [[ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]]; then
|
||||||
|
certificate=${{ github.event.inputs.sign }}
|
||||||
|
else
|
||||||
|
# Default to no signing
|
||||||
|
certificate=no
|
||||||
|
sign=false
|
||||||
|
fi
|
||||||
|
echo "sign=$sign"
|
||||||
|
echo "certificate=$certificate"
|
||||||
|
echo "sign=$sign" >> $GITHUB_OUTPUT
|
||||||
|
echo "certificate=$certificate" >> $GITHUB_OUTPUT
|
||||||
lint-commit:
|
lint-commit:
|
||||||
name: Lint Commit Message
|
name: Lint Commit Message
|
||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
@@ -139,13 +173,14 @@ jobs:
|
|||||||
windows:
|
windows:
|
||||||
name: Windows
|
name: Windows
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: [check-code-formatting, build_variables]
|
needs: [check-code-formatting, build_variables, g2dat]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
platform: [win32, x64, arm64]
|
platform: [win32, x64, arm64]
|
||||||
env:
|
env:
|
||||||
PLATFORM: ${{ matrix.platform }}
|
PLATFORM: ${{ matrix.platform }}
|
||||||
|
DISTANCE_FROM_TAG: ${{ needs.build_variables.outputs.distance }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup environment
|
- name: Setup environment
|
||||||
run: |
|
run: |
|
||||||
@@ -161,12 +196,50 @@ jobs:
|
|||||||
uses: ammaraskar/msvc-problem-matcher@master
|
uses: ammaraskar/msvc-problem-matcher@master
|
||||||
- name: Build OpenRCT2
|
- name: Build OpenRCT2
|
||||||
run: . scripts/setenv && build
|
run: . scripts/setenv && build
|
||||||
|
- name: Upload unsigned binaries
|
||||||
|
id: upload-windows-binaries-unsigned
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-unsigned-${{ matrix.platform }}
|
||||||
|
path: |
|
||||||
|
bin/openrct2.exe
|
||||||
|
bin/openrct2.com
|
||||||
|
# Sign the binaries first, so that all other artifacts (portable, installer, symbols) use signed binaries
|
||||||
|
- name: Sign binaries
|
||||||
|
id: sign-binaries
|
||||||
|
env:
|
||||||
|
SIGNPATH_API_TOKEN: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||||
|
if: ${{ needs.build_variables.outputs.sign == 'true' }}
|
||||||
|
uses: signpath/github-action-submit-signing-request@v1
|
||||||
|
with:
|
||||||
|
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
||||||
|
organization-id: 645b821f-6283-45e1-8198-264997072801
|
||||||
|
project-slug: OpenRCT2
|
||||||
|
signing-policy-slug: ${{ needs.build_variables.outputs.certificate }}
|
||||||
|
artifact-configuration-slug: 'binaries'
|
||||||
|
github-artifact-id: ${{ steps.upload-windows-binaries-unsigned.outputs.artifact-id }}
|
||||||
|
wait-for-completion: true
|
||||||
|
output-artifact-directory: files-signed
|
||||||
|
parameters: |
|
||||||
|
version: "${{ env.OPENRCT2_VERSION }}.${{ needs.build_variables.outputs.distance }}-${{ needs.build_variables.outputs.short-sha }}"
|
||||||
|
- name: Use signed binaries
|
||||||
|
if: ${{ needs.build_variables.outputs.sign == 'true' }}
|
||||||
|
run: |
|
||||||
|
mv files-signed/openrct2.com bin/openrct2.com
|
||||||
|
mv files-signed/openrct2.exe bin/openrct2.exe
|
||||||
|
- name: Download g2.dat on ARM64
|
||||||
|
if: matrix.platform == 'arm64'
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: g2-${{ needs.build_variables.outputs.name }}.dat
|
||||||
|
path: bin/data/g2.dat
|
||||||
- name: Build artifacts
|
- name: Build artifacts
|
||||||
run: |
|
run: |
|
||||||
. scripts/setenv -q
|
. scripts/setenv -q
|
||||||
build-portable
|
build-portable
|
||||||
build-symbols
|
build-symbols
|
||||||
build-installer -i
|
build-installer -i
|
||||||
|
echo "OPENRCT2_VERSION_EXTRA=$OPENRCT2_VERSION_EXTRA" >> "$GITHUB_ENV"
|
||||||
- name: Rename artifacts
|
- name: Rename artifacts
|
||||||
run: |
|
run: |
|
||||||
mv artifacts/openrct2-portable-*.zip artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-portable-$PLATFORM.zip
|
mv artifacts/openrct2-portable-*.zip artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-portable-$PLATFORM.zip
|
||||||
@@ -178,11 +251,36 @@ jobs:
|
|||||||
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-${{ runner.os }}-portable-${{ matrix.platform }}
|
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-${{ runner.os }}-portable-${{ matrix.platform }}
|
||||||
path: artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-portable-${{ matrix.platform }}.zip
|
path: artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-portable-${{ matrix.platform }}.zip
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
- name: Upload installer artifact (CI)
|
- name: Upload unsigned installer artifact (CI)
|
||||||
|
id: upload-windows-installer-unsigned
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-${{ runner.os }}-installer-${{ matrix.platform }}-unsigned
|
||||||
|
path: artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-installer-${{ matrix.platform }}.exe
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Sign installer
|
||||||
|
id: sign-installer
|
||||||
|
if: ${{ needs.build_variables.outputs.sign == 'true' }}
|
||||||
|
uses: signpath/github-action-submit-signing-request@v1
|
||||||
|
with:
|
||||||
|
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
||||||
|
organization-id: 645b821f-6283-45e1-8198-264997072801
|
||||||
|
project-slug: OpenRCT2
|
||||||
|
signing-policy-slug: ${{ needs.build_variables.outputs.certificate }}
|
||||||
|
artifact-configuration-slug: 'installer'
|
||||||
|
github-artifact-id: ${{ steps.upload-windows-installer-unsigned.outputs.artifact-id }}
|
||||||
|
wait-for-completion: true
|
||||||
|
output-artifact-directory: files-signed
|
||||||
|
parameters: |
|
||||||
|
version: "${{ env.OPENRCT2_VERSION }}${{ env.OPENRCT2_VERSION_EXTRA }}"
|
||||||
|
product: "OpenRCT2 ${{ matrix.platform }} Installer for Windows 7 and later"
|
||||||
|
- name: Upload signed installer artifact (CI)
|
||||||
|
id: upload-windows-installer-signed
|
||||||
|
if: ${{ needs.build_variables.outputs.sign == 'true' }}
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-${{ runner.os }}-installer-${{ matrix.platform }}
|
name: OpenRCT2-${{ needs.build_variables.outputs.name }}-${{ runner.os }}-installer-${{ matrix.platform }}
|
||||||
path: artifacts/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-installer-${{ matrix.platform }}.exe
|
path: files-signed/OpenRCT2-${{ needs.build_variables.outputs.name }}-windows-installer-${{ matrix.platform }}.exe
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
- name: Upload symbols artifact (CI)
|
- name: Upload symbols artifact (CI)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -245,7 +343,7 @@ jobs:
|
|||||||
macos-cmake:
|
macos-cmake:
|
||||||
name: macOS (${{ matrix.arch }}) using CMake
|
name: macOS (${{ matrix.arch }}) using CMake
|
||||||
runs-on: macos-14
|
runs-on: macos-14
|
||||||
needs: check-code-formatting
|
needs: [check-code-formatting, build_variables]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -417,7 +515,7 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
linux-docker:
|
linux-docker:
|
||||||
name: Ubuntu Linux (Docker)
|
name: Ubuntu Linux (Docker)
|
||||||
needs: check-code-formatting
|
needs: [check-code-formatting, build_variables]
|
||||||
if: github.repository == 'OpenRCT2/OpenRCT2' && github.ref == 'refs/heads/develop'
|
if: github.repository == 'OpenRCT2/OpenRCT2' && github.ref == 'refs/heads/develop'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -443,7 +541,7 @@ jobs:
|
|||||||
linux-clang:
|
linux-clang:
|
||||||
name: Ubuntu Linux (noble, debug, [http, network, flac, vorbis OpenGL] disabled) using clang
|
name: Ubuntu Linux (noble, debug, [http, network, flac, vorbis OpenGL] disabled) using clang
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: check-code-formatting
|
needs: [check-code-formatting, build_variables]
|
||||||
container: openrct2/openrct2-build:16-noble
|
container: openrct2/openrct2-build:16-noble
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -539,6 +637,10 @@ jobs:
|
|||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
|
# Having multiple artifacts named the same might be confusing to the users. Drop the unsigned versions.
|
||||||
|
- name: Remove unsigned artifacts
|
||||||
|
run: |
|
||||||
|
rm -rf *unsigned*
|
||||||
- name: Concatenate sha1 files
|
- name: Concatenate sha1 files
|
||||||
run: |
|
run: |
|
||||||
ls -lR
|
ls -lR
|
||||||
@@ -551,11 +653,16 @@ jobs:
|
|||||||
sed -n '1,/^$/p' distribution/changelog.txt >> release_notes.txt
|
sed -n '1,/^$/p' distribution/changelog.txt >> release_notes.txt
|
||||||
echo "" >> release_notes.txt
|
echo "" >> release_notes.txt
|
||||||
|
|
||||||
|
echo "Release created in ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" >> release_notes.txt
|
||||||
|
echo "" >> release_notes.txt
|
||||||
|
|
||||||
echo "SHA1 checksums:" >> release_notes.txt
|
echo "SHA1 checksums:" >> release_notes.txt
|
||||||
echo "\`\`\`" >> release_notes.txt
|
echo "\`\`\`" >> release_notes.txt
|
||||||
cat OpenRCT2-${{ needs.build_variables.outputs.name }}-sha1sums.txt >> release_notes.txt
|
cat OpenRCT2-${{ needs.build_variables.outputs.name }}-sha1sums.txt >> release_notes.txt
|
||||||
echo "\`\`\`" >> release_notes.txt
|
echo "\`\`\`" >> release_notes.txt
|
||||||
echo "" >> release_notes.txt
|
echo "" >> release_notes.txt
|
||||||
|
|
||||||
|
cat release_notes.txt
|
||||||
# Only upload tagged releases, mark them as draft for manual verification
|
# Only upload tagged releases, mark them as draft for manual verification
|
||||||
- name: Create tagged release
|
- name: Create tagged release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
@@ -563,7 +670,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
draft: true
|
draft: true
|
||||||
files: |
|
files: |
|
||||||
OpenRCT2-${{ needs.build_variables.outputs.name }}-sha1sums.txt
|
|
||||||
OpenRCT2-${{ needs.build_variables.outputs.name }}-*
|
OpenRCT2-${{ needs.build_variables.outputs.name }}-*
|
||||||
body_path: release_notes.txt
|
body_path: release_notes.txt
|
||||||
tag_name: ${{ needs.build_variables.outputs.tag }}
|
tag_name: ${{ needs.build_variables.outputs.tag }}
|
||||||
|
|||||||
@@ -436,6 +436,7 @@ if (NOT MACOS_BUNDLE OR (MACOS_BUNDLE AND WITH_TESTS))
|
|||||||
add_definitions(-DDOCDIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}")
|
add_definitions(-DDOCDIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}")
|
||||||
file(GLOB DOC_FILES "${ROOT_DIR}/distribution/*.txt")
|
file(GLOB DOC_FILES "${ROOT_DIR}/distribution/*.txt")
|
||||||
list(APPEND DOC_FILES "${ROOT_DIR}/contributors.md"
|
list(APPEND DOC_FILES "${ROOT_DIR}/contributors.md"
|
||||||
|
"${ROOT_DIR}/PRIVACY.md"
|
||||||
"${ROOT_DIR}/licence.txt"
|
"${ROOT_DIR}/licence.txt"
|
||||||
"${ROOT_DIR}/distribution/scripting.md"
|
"${ROOT_DIR}/distribution/scripting.md"
|
||||||
"${ROOT_DIR}/distribution/openrct2.d.ts")
|
"${ROOT_DIR}/distribution/openrct2.d.ts")
|
||||||
|
|||||||
55
PRIVACY.md
Normal file
55
PRIVACY.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Privacy Policy
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
This document describes how this project collects, handles, and processes data.
|
||||||
|
|
||||||
|
## Data Collection
|
||||||
|
- No personal information is collected without explicit user consent
|
||||||
|
- For multiplayer functionality, we only collect necessary data:
|
||||||
|
- Username
|
||||||
|
- Game session data
|
||||||
|
- Network connection details
|
||||||
|
|
||||||
|
## Data Storage
|
||||||
|
- User preferences and settings are stored locally on your device
|
||||||
|
- No sensitive data is transmitted to external servers
|
||||||
|
- Game saves and configurations remain on your local system
|
||||||
|
|
||||||
|
## Network Communications
|
||||||
|
- Multiplayer sessions only transmit game-relevant data
|
||||||
|
- Server connections are used solely for gameplay functionality
|
||||||
|
- No tracking or analytics services are implemented
|
||||||
|
|
||||||
|
## Crash Reporting
|
||||||
|
- Crash dumps may be sent to Backtrace.io for diagnostic purposes
|
||||||
|
- Each crash report transfer requires explicit user consent
|
||||||
|
- Crash dumps contain:
|
||||||
|
- System information
|
||||||
|
- Machine hostname
|
||||||
|
- System username
|
||||||
|
- Technical data about the crash
|
||||||
|
- In-game screenshot
|
||||||
|
- This data helps improve software stability
|
||||||
|
- Users can decline sending crash reports without limiting gameplay functionality
|
||||||
|
- Only team members have access to crash reports
|
||||||
|
|
||||||
|
## Third-Party Services
|
||||||
|
If you use optional features:
|
||||||
|
- Server hosting services may collect connection data
|
||||||
|
- Plugin systems operate under their own privacy terms
|
||||||
|
|
||||||
|
## User Rights
|
||||||
|
You have the right to:
|
||||||
|
- Access your data
|
||||||
|
- Delete your data
|
||||||
|
- Opt out of any data collection
|
||||||
|
- Request information about stored data
|
||||||
|
|
||||||
|
## Changes to Privacy Policy
|
||||||
|
- Users will be notified of any privacy policy updates
|
||||||
|
- Changes will be documented in the project's changelog
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
For privacy concerns or questions, please open an issue in the project repository or contact the team via [Discord](https://discord.gg/ZXZd8D8)
|
||||||
|
|
||||||
|
Last updated: 2024-11-18
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Last updated: 2024-08-04
|
Last updated: 2024-11-19
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@@ -13,7 +13,8 @@ Table of contents
|
|||||||
6.0) Translation
|
6.0) Translation
|
||||||
7.0) Troubleshooting
|
7.0) Troubleshooting
|
||||||
8.0) Licensing
|
8.0) Licensing
|
||||||
9.0) Credits
|
9.0) Privacy policy
|
||||||
|
10.0) Credits
|
||||||
|
|
||||||
1.0) About
|
1.0) About
|
||||||
---- -----
|
---- -----
|
||||||
@@ -156,6 +157,10 @@ Google Benchmark | Apache 2.0 licence.
|
|||||||
|
|
||||||
Licences for sub-libraries used by the above may vary. For more information, visit the libraries' respective official websites.
|
Licences for sub-libraries used by the above may vary. For more information, visit the libraries' respective official websites.
|
||||||
|
|
||||||
9.0) Credits
|
9.0) Privacy policy
|
||||||
|
|
||||||
|
For privacy policy, see the file 'PRIVACY.md'.
|
||||||
|
|
||||||
|
10.0) Credits
|
||||||
---- -------
|
---- -------
|
||||||
For the full list of contributors to OpenRCT2, see the file 'contributors.md'.
|
For the full list of contributors to OpenRCT2, see the file 'contributors.md'.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ SetCompressor LZMA
|
|||||||
|
|
||||||
; Version Info
|
; Version Info
|
||||||
VIProductVersion "${APPVERSIONINTERNAL}"
|
VIProductVersion "${APPVERSIONINTERNAL}"
|
||||||
VIAddVersionKey "ProductName" "OpenRCT2 ${APPBITS}-bit Installer for ${SUPPORTED_OS}"
|
VIAddVersionKey "ProductName" "OpenRCT2 ${PLATFORM} Installer for ${SUPPORTED_OS}"
|
||||||
VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
|
VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
|
||||||
VIAddVersionKey "CompanyName" "OpenRCT2 Developers"
|
VIAddVersionKey "CompanyName" "OpenRCT2 Developers"
|
||||||
VIAddVersionKey "FileDescription" "Installs ${APPNAMEANDVERSION}"
|
VIAddVersionKey "FileDescription" "Installs ${APPNAMEANDVERSION}"
|
||||||
@@ -44,7 +44,7 @@ VIAddVersionKey "InternalName" "InstOpenRCT2-${APPARCH}"
|
|||||||
VIAddVersionKey "FileVersion" "${APPVERSION}-${APPARCH}"
|
VIAddVersionKey "FileVersion" "${APPVERSION}-${APPARCH}"
|
||||||
VIAddVersionKey "LegalCopyright" " "
|
VIAddVersionKey "LegalCopyright" " "
|
||||||
; Main Install settings
|
; Main Install settings
|
||||||
Name "${APPNAMEANDVERSION} ${APPBITS}-bit for ${SUPPORTED_OS}"
|
Name "${APPNAMEANDVERSION} ${PLATFORM} for ${SUPPORTED_OS}"
|
||||||
|
|
||||||
; NOTE: Keep trailing backslash!
|
; NOTE: Keep trailing backslash!
|
||||||
InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Install Folder"
|
InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Install Folder"
|
||||||
@@ -170,6 +170,9 @@ Section "!OpenRCT2" Section1
|
|||||||
File ..\..\contributors.md
|
File ..\..\contributors.md
|
||||||
Push "$INSTDIR\contributors.md"
|
Push "$INSTDIR\contributors.md"
|
||||||
Call unix2dos
|
Call unix2dos
|
||||||
|
File ..\..\PRIVACY.md
|
||||||
|
Push "$INSTDIR\PRIVACY.md"
|
||||||
|
Call unix2dos
|
||||||
File ..\scripting.md
|
File ..\scripting.md
|
||||||
Push "$INSTDIR\scripting.md"
|
Push "$INSTDIR\scripting.md"
|
||||||
Call unix2dos
|
Call unix2dos
|
||||||
@@ -204,6 +207,7 @@ Section "!OpenRCT2" Section1
|
|||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Contributors.lnk" "$INSTDIR\contributors.md"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Contributors.lnk" "$INSTDIR\contributors.md"
|
||||||
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Privacy Policy.lnk" "$INSTDIR\PRIVACY.md"
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
!insertmacro MUI_STARTMENU_WRITE_END
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
@@ -240,12 +244,14 @@ Section "Uninstall"
|
|||||||
Delete "$SMPROGRAMS\$SHORTCUTS\Readme.lnk"
|
Delete "$SMPROGRAMS\$SHORTCUTS\Readme.lnk"
|
||||||
Delete "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk"
|
Delete "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk"
|
||||||
Delete "$SMPROGRAMS\$SHORTCUTS\Contributors.lnk"
|
Delete "$SMPROGRAMS\$SHORTCUTS\Contributors.lnk"
|
||||||
|
Delete "$SMPROGRAMS\$SHORTCUTS\Privacy Policy.lnk"
|
||||||
|
|
||||||
; Clean up OpenRCT2 dir
|
; Clean up OpenRCT2 dir
|
||||||
Delete "$INSTDIR\changelog.txt"
|
Delete "$INSTDIR\changelog.txt"
|
||||||
Delete "$INSTDIR\licence.txt"
|
Delete "$INSTDIR\licence.txt"
|
||||||
Delete "$INSTDIR\readme.txt"
|
Delete "$INSTDIR\readme.txt"
|
||||||
Delete "$INSTDIR\contributors.md"
|
Delete "$INSTDIR\contributors.md"
|
||||||
|
Delete "$INSTDIR\PRIVACY.md"
|
||||||
Delete "$INSTDIR\scripting.md"
|
Delete "$INSTDIR\scripting.md"
|
||||||
Delete "$INSTDIR\openrct2.d.ts"
|
Delete "$INSTDIR\openrct2.d.ts"
|
||||||
Delete "$INSTDIR\${OPENRCT2_EXE}"
|
Delete "$INSTDIR\${OPENRCT2_EXE}"
|
||||||
|
|||||||
44
readme.md
44
readme.md
@@ -52,9 +52,13 @@ If you want to help translate the game to your language, please stop by the Loca
|
|||||||
- 4.4 - [Graphics](#44-graphics)
|
- 4.4 - [Graphics](#44-graphics)
|
||||||
- 4.5 - [Audio](#45-audio)
|
- 4.5 - [Audio](#45-audio)
|
||||||
- 4.6 - [Scenarios](#46-scenarios)
|
- 4.6 - [Scenarios](#46-scenarios)
|
||||||
- 5 - [Licence](#5-licence)
|
- 5 - [Policies](#5-policies)
|
||||||
- 6 - [More information](#6-more-information)
|
- 5.1 - [Code of conduct](#51-code-of-conduct)
|
||||||
- 7 - [Sponsors](#7-sponsors)
|
- 5.2 - [Code signing policy](#52-code-signing-policy)
|
||||||
|
- 5.3 - [Privacy policy](#53-privacy-policy)
|
||||||
|
- 5 - [Licence](#6-licence)
|
||||||
|
- 6 - [More information](#7-more-information)
|
||||||
|
- 7 - [Sponsors](#8-sponsors)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -246,12 +250,32 @@ We would also like to distribute additional scenarios with the game, when the ti
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 5. Licence
|
# 5. Policies
|
||||||
|
|
||||||
|
## 5.1 Code of Conduct
|
||||||
|
|
||||||
|
We have a [Code of Conduct](CODE_OF_CONDUCT.md) that applies to all OpenRCT2 projects. Please read it.
|
||||||
|
|
||||||
|
## 5.2 Code signing policy
|
||||||
|
|
||||||
|
We sign our releases with a digital certificate provided by SignPath Foundation.
|
||||||
|
|
||||||
|
Free code signing provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/).
|
||||||
|
|
||||||
|
Signed releases can only be done by member of the [development team](https://github.com/OpenRCT2/OpenRCT2/blob/develop/contributors.md#development-team).
|
||||||
|
|
||||||
|
## 5.3 Privacy policy
|
||||||
|
|
||||||
|
See [PRIVACY.md](PRIVACY.md) for more information.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 6. Licence
|
||||||
**OpenRCT2** is licensed under the GNU General Public License version 3 or (at your option) any later version. See the [`licence.txt`](licence.txt) file for more details.
|
**OpenRCT2** is licensed under the GNU General Public License version 3 or (at your option) any later version. See the [`licence.txt`](licence.txt) file for more details.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 6. More information
|
# 7. More information
|
||||||
- [GitHub](https://github.com/OpenRCT2/OpenRCT2)
|
- [GitHub](https://github.com/OpenRCT2/OpenRCT2)
|
||||||
- [OpenRCT2.org](https://openrct2.org)
|
- [OpenRCT2.org](https://openrct2.org)
|
||||||
- [Forums](https://openrct2.org/forums/)
|
- [Forums](https://openrct2.org/forums/)
|
||||||
@@ -266,11 +290,11 @@ We would also like to distribute additional scenarios with the game, when the ti
|
|||||||
| [](https://github.com/OpenLoco/OpenLoco) | [](https://github.com/OpenTTD/OpenTTD) | [](https://github.com/SFTtech/openage) | [](https://github.com/OpenRA/OpenRA) |
|
| [](https://github.com/OpenLoco/OpenLoco) | [](https://github.com/OpenTTD/OpenTTD) | [](https://github.com/SFTtech/openage) | [](https://github.com/OpenRA/OpenRA) |
|
||||||
| Chris Sawyer's Locomotion | Transport Tycoon Deluxe | Age of Empires 2 | Red Alert |
|
| Chris Sawyer's Locomotion | Transport Tycoon Deluxe | Age of Empires 2 | Red Alert |
|
||||||
|
|
||||||
# 7. Sponsors
|
# 8. Sponsors
|
||||||
|
|
||||||
Companies that kindly allow us to use their stuff:
|
Companies that kindly allow us to use their stuff:
|
||||||
|
|
||||||
| [DigitalOcean](https://www.digitalocean.com/) | [JetBrains](https://www.jetbrains.com/) | [Backtrace](https://backtrace.io/) |
|
| [DigitalOcean](https://www.digitalocean.com/) | [JetBrains](https://www.jetbrains.com/) | [Backtrace](https://backtrace.io/) | [SignPath](https://signpath.org/) |
|
||||||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
|
||||||
| [](https://www.digitalocean.com/) | [](https://www.jetbrains.com/) | [](https://backtrace.io/) |
|
| [](https://www.digitalocean.com/) | [](https://www.jetbrains.com/) | [](https://backtrace.io/) | [](https://signpath.org/) |
|
||||||
| Hosting of various services | CLion and other products | Minidump uploads and inspection |
|
| Hosting of various services | CLion and other products | Minidump uploads and inspection | Code signing |
|
||||||
|
|||||||
@@ -12,17 +12,15 @@ cd $basedir
|
|||||||
|
|
||||||
if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]]; then
|
if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]]; then
|
||||||
# Patch version.h
|
# Patch version.h
|
||||||
if [[ -n "$OPENRCT2_BUILD" ]]; then
|
echo -e "\033[0;36mPatching version.h...\033[0m"
|
||||||
echo -e "\033[0;36mPatching version.h...\033[0m"
|
fileversion=$OPENRCT2_VERSION.$OPENRCT2_BUILD
|
||||||
fileversion=$OPENRCT2_VERSION.$OPENRCT2_BUILD
|
productversion="$fileversion-${OPENRCT2_SHA1_SHORT}"
|
||||||
productversion="$fileversion-${OPENRCT2_SHA1_SHORT}"
|
fileversion=${fileversion//./,}
|
||||||
fileversion=${fileversion//./,}
|
# FILEVERSION in the resource file can only take up to 4 digits in the version string, so we remove the surplus of version numbers
|
||||||
# FILEVERSION in the resource file can only take up to 4 digits in the version string, so we remove the surplus of version numbers
|
fileversion=$(echo $fileversion | cut -f1-4 -d",")
|
||||||
fileversion=$(echo $fileversion | cut -f1-4 -d",")
|
echo "#define OPENRCT2_FILE_VERSION $fileversion" > "resources/version.h"
|
||||||
echo "#define OPENRCT2_FILE_VERSION $fileversion" > "resources/version.h"
|
echo "#define OPENRCT2_PRODUCT_VERSION \"$productversion\"" >> "resources/version.h"
|
||||||
echo "#define OPENRCT2_PRODUCT_VERSION \"$productversion\"" >> "resources/version.h"
|
cat "resources/version.h"
|
||||||
cat "resources/version.h"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build everything
|
# Build everything
|
||||||
echo -e "\033[0;36mBuilding OpenRCT2 for Windows $CONFIGURATION|$PLATFORM...\033[0m"
|
echo -e "\033[0;36mBuilding OpenRCT2 for Windows $CONFIGURATION|$PLATFORM...\033[0m"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]]; then
|
|||||||
7z a -r $destination \
|
7z a -r $destination \
|
||||||
openrct2.exe openrct2.com data \
|
openrct2.exe openrct2.com data \
|
||||||
../contributors.md \
|
../contributors.md \
|
||||||
|
../PRIVACY.md \
|
||||||
../licence.txt \
|
../licence.txt \
|
||||||
../distribution/changelog.txt \
|
../distribution/changelog.txt \
|
||||||
../distribution/readme.txt \
|
../distribution/readme.txt \
|
||||||
|
|||||||
@@ -16,9 +16,7 @@ echo -e "\033[0;36mSetting up environment for OpenRCT2...\033[0m"
|
|||||||
# Get the build number (number of commits since last tag)
|
# Get the build number (number of commits since last tag)
|
||||||
get_build_number()
|
get_build_number()
|
||||||
{
|
{
|
||||||
local pattern='.+-([0-9]+)-.+'
|
echo "${DISTANCE_FROM_TAG}"
|
||||||
[[ $OPENRCT2_DESCRIBE =~ $pattern ]]
|
|
||||||
echo "${BASH_REMATCH[1]}"
|
|
||||||
}
|
}
|
||||||
export OPENRCT2_BUILD=$(get_build_number)
|
export OPENRCT2_BUILD=$(get_build_number)
|
||||||
|
|
||||||
|
|||||||
@@ -184,6 +184,7 @@ if(MACOS_BUNDLE)
|
|||||||
PUBLIC ${ROOT_DIR}/distribution/readme.txt
|
PUBLIC ${ROOT_DIR}/distribution/readme.txt
|
||||||
PUBLIC ${ROOT_DIR}/distribution/changelog.txt
|
PUBLIC ${ROOT_DIR}/distribution/changelog.txt
|
||||||
PUBLIC ${ROOT_DIR}/contributors.md
|
PUBLIC ${ROOT_DIR}/contributors.md
|
||||||
|
PUBLIC ${ROOT_DIR}/PRIVACY.md
|
||||||
PUBLIC ${ROOT_DIR}/resources/mac/openrct2.icns
|
PUBLIC ${ROOT_DIR}/resources/mac/openrct2.icns
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -192,6 +193,7 @@ if(MACOS_BUNDLE)
|
|||||||
${ROOT_DIR}/distribution/readme.txt
|
${ROOT_DIR}/distribution/readme.txt
|
||||||
${ROOT_DIR}/distribution/changelog.txt
|
${ROOT_DIR}/distribution/changelog.txt
|
||||||
${ROOT_DIR}/contributors.md
|
${ROOT_DIR}/contributors.md
|
||||||
|
${ROOT_DIR}/PRIVACY.md
|
||||||
${ROOT_DIR}/resources/mac/openrct2.icns
|
${ROOT_DIR}/resources/mac/openrct2.icns
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -439,9 +439,10 @@ static void PrintAbout()
|
|||||||
Console::WriteLine("includes some 3rd party software under different licenses. See the file");
|
Console::WriteLine("includes some 3rd party software under different licenses. See the file");
|
||||||
Console::WriteLine("\"licence.txt\" shipped with the game for details.");
|
Console::WriteLine("\"licence.txt\" shipped with the game for details.");
|
||||||
Console::WriteLine();
|
Console::WriteLine();
|
||||||
Console::WriteLine("Website: https://openrct2.io");
|
Console::WriteLine("Website: https://openrct2.io");
|
||||||
Console::WriteLine("GitHub: https://github.com/OpenRCT2/OpenRCT2");
|
Console::WriteLine("GitHub: https://github.com/OpenRCT2/OpenRCT2");
|
||||||
Console::WriteLine("Contributors: https://github.com/OpenRCT2/OpenRCT2/blob/develop/contributors.md");
|
Console::WriteLine("Contributors: https://github.com/OpenRCT2/OpenRCT2/blob/develop/contributors.md");
|
||||||
|
Console::WriteLine("Privacy Policy: https://github.com/OpenRCT2/OpenRCT2/blob/develop/PRIVACY.md");
|
||||||
Console::WriteLine();
|
Console::WriteLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user