pax_global_header 0000666 0000000 0000000 00000000064 15127726017 0014522 g ustar 00root root 0000000 0000000 52 comment=2a7ccef207be68f5e1365467ab064c4c98e829f6
deathkiller-jazz2-native-2a7ccef/ 0000775 0000000 0000000 00000000000 15127726017 0017110 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/.editorconfig 0000664 0000000 0000000 00000021411 15127726017 0021564 0 ustar 00root root 0000000 0000000 # Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true
# C# files
[*.cs]
#### Core EditorConfig Options ####
# Indentation and spacing
indent_size = 4
indent_style = tab
tab_width = 4
# New line preferences
end_of_line = crlf
insert_final_newline = false
#### .NET Coding Conventions ####
# this. and Me. preferences
dotnet_style_qualification_for_event = false:silent
dotnet_style_qualification_for_field = false:silent
dotnet_style_qualification_for_method = false:silent
dotnet_style_qualification_for_property = false:silent
# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent
# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
# Expression-level preferences
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_throw_expression = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_null_propagation = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_prefer_auto_properties = false:silent
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
# Field preferences
dotnet_style_readonly_field = false:suggestion
# Parameter preferences
dotnet_code_quality_unused_parameters = all:suggestion
#### C# Coding Conventions ####
# var preferences
csharp_style_var_elsewhere = false:silent
csharp_style_var_for_built_in_types = false:silent
csharp_style_var_when_type_is_apparent = false:silent
# Expression-bodied members
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
# Null-checking preferences
csharp_style_conditional_delegate_call = true:suggestion
# Modifier preferences
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
# Code-block preferences
csharp_prefer_braces = true:suggestion
# Expression-level preferences
csharp_prefer_simple_default_expression = false:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
csharp_style_prefer_range_operator = true:suggestion
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
#### C# Formatting Rules ####
# New line preferences
csharp_new_line_before_catch = false
csharp_new_line_before_else = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = accessors,methods,properties,types
csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = false
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true
# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
# Wrapping preferences
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
# IDE0063: Use simple 'using' statement
csharp_prefer_simple_using_statement = false:suggestion
# IDE0066: Convert switch statement to expression
csharp_style_prefer_switch_expression = false:suggestion
# C++ files
[*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]
#### Core EditorConfig Options ####
# Indentation and spacing
indent_style = tab
tab_width = 4
# New line preferences
end_of_line = crlf
insert_final_newline = false
#### C++ Coding Conventions ####
cpp_generate_documentation_comments = doxygen_slash_star
cpp_indent_braces = false
cpp_indent_multi_line_relative_to = innermost_parenthesis
cpp_indent_within_parentheses = indent
cpp_indent_preserve_within_parentheses = true
cpp_indent_case_contents = true
cpp_indent_case_labels = true
cpp_indent_case_contents_when_block = false
cpp_indent_lambda_braces_when_parameter = false
cpp_indent_goto_labels = one_left
cpp_indent_preprocessor = leftmost_column
cpp_indent_access_specifiers = false
cpp_indent_namespace_contents = true
cpp_indent_preserve_comments = false
cpp_new_line_before_open_brace_namespace = ignore
cpp_new_line_before_open_brace_type = ignore
cpp_new_line_before_open_brace_function = ignore
cpp_new_line_before_open_brace_block = same_line
cpp_new_line_before_open_brace_lambda = same_line
cpp_new_line_scope_braces_on_separate_lines = false
cpp_new_line_close_brace_same_line_empty_type = false
cpp_new_line_close_brace_same_line_empty_function = false
cpp_new_line_before_catch = false
cpp_new_line_before_else = false
cpp_new_line_before_while_in_do_while = false
cpp_space_before_function_open_parenthesis = remove
cpp_space_within_parameter_list_parentheses = false
cpp_space_between_empty_parameter_list_parentheses = false
cpp_space_after_keywords_in_control_flow_statements = true
cpp_space_within_control_flow_statement_parentheses = false
cpp_space_before_lambda_open_parenthesis = false
cpp_space_within_cast_parentheses = false
cpp_space_after_cast_close_parenthesis = false
cpp_space_within_expression_parentheses = false
cpp_space_before_block_open_brace = true
cpp_space_between_empty_braces = true
cpp_space_before_initializer_list_open_brace = true
cpp_space_within_initializer_list_braces = true
cpp_space_preserve_in_initializer_list = true
cpp_space_before_open_square_bracket = false
cpp_space_within_square_brackets = false
cpp_space_before_empty_square_brackets = false
cpp_space_between_empty_square_brackets = false
cpp_space_group_square_brackets = true
cpp_space_within_lambda_brackets = false
cpp_space_between_empty_lambda_brackets = false
cpp_space_before_comma = false
cpp_space_after_comma = true
cpp_space_remove_around_member_operators = true
cpp_space_before_inheritance_colon = true
cpp_space_before_constructor_colon = true
cpp_space_remove_before_semicolon = true
cpp_space_after_semicolon = true
cpp_space_remove_around_unary_operator = true
cpp_space_around_binary_operator = insert
cpp_space_around_assignment_operator = insert
cpp_space_pointer_reference_alignment = left
cpp_space_around_ternary_operator = insert
cpp_wrap_preserve_blocks = never
deathkiller-jazz2-native-2a7ccef/.github/ 0000775 0000000 0000000 00000000000 15127726017 0020450 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/.github/ISSUE_TEMPLATE/ 0000775 0000000 0000000 00000000000 15127726017 0022633 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/.github/ISSUE_TEMPLATE/bug_report.yml 0000664 0000000 0000000 00000003274 15127726017 0025534 0 ustar 00root root 0000000 0000000 name: Bug report
description: Report a bug in Jazz² Resurrection
labels:
- bug
body:
- type: markdown
attributes:
value: |
- Write a descriptive issue title above.
- Search [open](https://github.com/godotengine/godot/issues) and [closed](https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported.
- Verify that you are using the latest stable or development version of Jazz² Resurrection.
- type: input
attributes:
label: Jazz² Resurrection version
description: >
Specify the Git commit hash if using a development or non-official build.
If you use a custom build, please test if your issue is reproducible in official builds too.
placeholder: "1.7.0"
validations:
required: true
- type: input
attributes:
label: System information
description: |
Specify the OS version, and when relevant hardware information.
For graphics-related issues, specify the GPU model and driver version.
placeholder: Windows 10, Intel HD Graphics 620 (27.20.100.9616)
validations:
required: true
- type: textarea
attributes:
label: Issue description
description: |
Describe your issue briefly. What doesn't work, and how do you expect it to work instead?
You can include images or videos with drag and drop, and format code blocks or logs with ``` tags.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: |
List of steps or sample code that reproduces the issue. Having reproducible issues is a prerequisite for contributors to be able to solve them.
validations:
required: true deathkiller-jazz2-native-2a7ccef/.github/ISSUE_TEMPLATE/feature_request.yml 0000664 0000000 0000000 00000002524 15127726017 0026564 0 ustar 00root root 0000000 0000000 name: Feature request
description: Request a feature to be added or improved in Jazz² Resurrection
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
- Write a descriptive issue title above.
- Search [open](https://github.com/godotengine/godot/issues) and [closed](https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been requested.
- Verify that you are using the latest stable or development version of Jazz² Resurrection.
- type: input
attributes:
label: Jazz² Resurrection version
description: >
Specify the Git commit hash if using a development or non-official build.
If you use a custom build, please test if your issue is reproducible in official builds too.
placeholder: "1.7.0"
validations:
required: true
- type: textarea
attributes:
label: Problem or limitation
description: |
Describe the problem or limitation you're encountering and why a new feature is needed.
You can include images or videos with drag and drop, and format code blocks or logs with ``` tags.
validations:
required: true
- type: textarea
attributes:
label: Proposed solution
description: |
Describe a solution to resolve the problem you've outlined above.
validations:
required: true
deathkiller-jazz2-native-2a7ccef/.github/workflows/ 0000775 0000000 0000000 00000000000 15127726017 0022505 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/.github/workflows/android.yml 0000664 0000000 0000000 00000020702 15127726017 0024651 0 ustar 00root root 0000000 0000000 name: 'Android'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: ARM
- BuildType: Release
Platform: x64
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt update -y
sudo apt install -y cmake curl g++
- name: 'Configure CMake'
run: |
case "${{ matrix.Platform }}" in
ARM ) architecture="arm64-v8a;armeabi-v7a"
universalApk="ON" ;;
x64 ) architecture="x86_64"
universalApk="OFF" ;;
* ) exit 1 ;;
esac
rm -f ./Content/Translations/*.po
export JAVA_HOME=$JAVA_HOME_17_X64
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_BUILD_ANDROID=ON -D NCINE_UNIVERSAL_APK="$universalApk" -D NCINE_NDK_ARCHITECTURES="$architecture"
- name: 'Build'
run: |
export JAVA_HOME=$JAVA_HOME_17_X64
make -j $(nproc) -C ./_build/
cd ./_build/Android/
gradle assemble${{ matrix.BuildType }}
- name: 'Create Package'
run: |
case "${{ matrix.BuildType }}" in
Debug ) buildDir="debug"
fileSuffix="debug" ;;
* ) buildDir="release"
fileSuffix="release-unsigned" ;;
esac
case "${{ matrix.Platform }}" in
ARM ) filename="app-universal-$fileSuffix.apk" ;;
x64 ) filename="app-x86_64-$fileSuffix.apk" ;;
* ) exit 1 ;;
esac
mkdir ./_package/
$ANDROID_HOME/build-tools/34.0.0/zipalign -p 4 "./_build/Android/app/build/outputs/apk/$buildDir/$filename" "./_package/Jazz2.apk"
cp -f ./LICENSE ./_package/LICENSE
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
echo 'Pull requests are not signed!'
else
echo 'Signing APK file...'
echo '${{ secrets.ANDROID_KEYSTORE_FILE }}' | base64 --decode > ./_keystore.jks
$ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks-key-alias Main --ks "./_keystore.jks" --ks-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" --key-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" "./_package/Jazz2.apk"
fi
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Android_${{ matrix.Platform }}
path: ./_package/
# Testing builds with workarounds
Workarounds:
if: ${{ false }} # Temporarily disabled, it will be removed in the future as it's no longer needed.
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: ARM
WorkaroundSwitch: WITH_FIXED_BATCH_SIZE
- BuildType: Release
Platform: x64
WorkaroundSwitch: WITH_FIXED_BATCH_SIZE
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt-get update -y
sudo apt-get install -y cmake curl g++
- name: 'Configure CMake'
run: |
case "${{ matrix.Platform }}" in
ARM ) architecture="arm64-v8a;armeabi-v7a"
universalApk="ON" ;;
x64 ) architecture="x86_64"
universalApk="OFF" ;;
* ) exit 1 ;;
esac
rm -f ./Content/Translations/*.po
export JAVA_HOME=$JAVA_HOME_17_X64
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_BUILD_ANDROID=ON -D NCINE_UNIVERSAL_APK="$universalApk" -D NCINE_NDK_ARCHITECTURES="$architecture" -D DEATH_DEBUG=ON -D NCINE_WITH_FIXED_BATCH_SIZE=10
#cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_BUILD_ANDROID=ON -D NCINE_UNIVERSAL_APK="$universalApk" -D NCINE_NDK_ARCHITECTURES="$architecture" -D DEATH_DEBUG=ON -D NCINE_INPUT_DEBUGGING=ON
- name: 'Build'
run: |
export JAVA_HOME=$JAVA_HOME_17_X64
make -j $(nproc) -C ./_build/
cd ./_build/Android/
gradle assemble${{ matrix.BuildType }}
- name: 'Create Package'
run: |
case "${{ matrix.BuildType }}" in
Debug ) buildDir="debug"
fileSuffix="debug" ;;
* ) buildDir="release"
fileSuffix="release-unsigned" ;;
esac
case "${{ matrix.Platform }}" in
ARM ) filename="app-universal-$fileSuffix.apk" ;;
x64 ) filename="app-x86_64-$fileSuffix.apk" ;;
* ) exit 1 ;;
esac
mkdir ./_package/
$ANDROID_HOME/build-tools/34.0.0/zipalign -p 4 "./_build/Android/app/build/outputs/apk/$buildDir/$filename" "./_package/Jazz2d.apk"
cp -f ./LICENSE ./_package/LICENSE
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
echo 'Pull requests are not signed!'
else
echo 'Signing APK file...'
echo '${{ secrets.ANDROID_KEYSTORE_FILE }}' | base64 --decode > ./_keystore.jks
$ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks-key-alias Main --ks "./_keystore.jks" --ks-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" --key-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" "./_package/Jazz2d.apk"
fi
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Android_DEBUG_${{ matrix.Platform }}
path: ./_package/
# Testing builds with online multiplayer
MultiplayerPreview:
#if: ${{ false }} # Temporarily disabled, it will be removed in the future as it's no longer needed.
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: ARM
- BuildType: Release
Platform: x64
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt-get update -y
sudo apt-get install -y cmake curl g++
- name: 'Configure CMake'
run: |
case "${{ matrix.Platform }}" in
ARM ) architecture="arm64-v8a;armeabi-v7a"
universalApk="ON" ;;
x64 ) architecture="x86_64"
universalApk="OFF" ;;
* ) exit 1 ;;
esac
rm -f ./Content/Translations/*.po
export JAVA_HOME=$JAVA_HOME_17_X64
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_BUILD_ANDROID=ON -D NCINE_UNIVERSAL_APK="$universalApk" -D NCINE_NDK_ARCHITECTURES="$architecture" -D WITH_MULTIPLAYER=ON
- name: 'Build'
run: |
export JAVA_HOME=$JAVA_HOME_17_X64
make -j $(nproc) -C ./_build/
cd ./_build/Android/
gradle assemble${{ matrix.BuildType }}
- name: 'Create Package'
run: |
case "${{ matrix.BuildType }}" in
Debug ) buildDir="debug"
fileSuffix="debug" ;;
* ) buildDir="release"
fileSuffix="release-unsigned" ;;
esac
case "${{ matrix.Platform }}" in
ARM ) filename="app-universal-$fileSuffix.apk" ;;
x64 ) filename="app-x86_64-$fileSuffix.apk" ;;
* ) exit 1 ;;
esac
mkdir ./_package/
$ANDROID_HOME/build-tools/34.0.0/zipalign -p 4 "./_build/Android/app/build/outputs/apk/$buildDir/$filename" "./_package/Jazz2.apk"
cp -f ./LICENSE ./_package/LICENSE
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
echo 'Pull requests are not signed!'
else
echo 'Signing APK file...'
echo '${{ secrets.ANDROID_KEYSTORE_FILE }}' | base64 --decode > ./_keystore.jks
$ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks-key-alias Main --ks "./_keystore.jks" --ks-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" --key-pass "pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" "./_package/Jazz2.apk"
fi
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Android_MultiplayerPreview_${{ matrix.Platform }}
path: ./_package/ deathkiller-jazz2-native-2a7ccef/.github/workflows/docs.yml 0000664 0000000 0000000 00000002616 15127726017 0024165 0 ustar 00root root 0000000 0000000 name: 'API Docs'
on:
push:
branches:
- 'master'
pull_request_target:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: 'ubuntu-latest'
#runs-on: 'ubuntu-22.04'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Checkout Repository (m.css)'
uses: actions/checkout@v4
with:
repository: 'deathkiller/m.css'
ref: 'death-main'
ssh-key: ${{ secrets.DOCS_DEPLOY_PRIVATE_KEY }}
path: 'm.css'
- name: 'Create Build Environment'
run: |
sudo apt update -y
#sudo apt install doxygen
sudo apt install texlive-base texlive-latex-extra texlive-fonts-extra texlive-fonts-recommended
pip3 install jinja2 natsort Pygments
- name: 'Install Doxygen'
uses: ssciwr/doxygen-install@v1
with:
version: "1.15.0"
- name: 'Build'
run: |
mkdir -p ./build/docs/
./m.css/documentation/doxygen.py ./Docs/Config.py
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_ApiDocs
path: ./build/docs/html/ deathkiller-jazz2-native-2a7ccef/.github/workflows/emscripten.yml 0000664 0000000 0000000 00000004100 15127726017 0025374 0 ustar 00root root 0000000 0000000 name: 'Emscripten'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Backend: GLFW
Mode:
- BuildType: Release
Backend: SDL2
Mode:
- BuildType: Release
Backend: GLFW
Mode: SharewareDemo
- BuildType: Release
Backend: SDL2
Mode: SharewareDemo
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Install Emscripten SDK'
run: |
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
cd ..
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
#EMSDK_VERSION=latest
EMSDK_VERSION=3.1.64
./emsdk install $EMSDK_VERSION
./emsdk activate $EMSDK_VERSION
- name: 'Configure CMake'
run: |
case "${{ matrix.Mode }}" in
SharewareDemo ) sharewareDemo="ON" ;;
* ) sharewareDemo="OFF" ;;
esac
export OS=emscripten
export CC=emcc
source ../emsdk/emsdk_env.sh
rm -f ./Content/Translations/*.po
emcmake cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D SHAREWARE_DEMO_ONLY=$sharewareDemo
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
#- name: 'Create Package'
# run: |
# mkdir ./_package/
# cp -f ./_build/jazz2 ./_package/jazz2
# cp -f -r ./Content/ ./_package/Content/
#
#- name: 'Upload Package'
# uses: actions/upload-artifact@v4
# with:
# name: Jazz2_Emscripten_${{ matrix.CC }}_${{ matrix.Backend }}
# path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/linux.yml 0000664 0000000 0000000 00000020221 15127726017 0024364 0 ustar 00root root 0000000 0000000 name: 'Linux'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x64
Backend: GLFW
CC: gcc
CXX: g++
- BuildType: Release
Platform: x64
Backend: GLFW
CC: clang
CXX: clang++
- BuildType: Release
Platform: x64
Backend: SDL2
CC: gcc
CXX: g++
- BuildType: Release
Platform: x64
Backend: SDL2
CC: clang
CXX: clang++
#runs-on: 'ubuntu-latest'
runs-on: 'ubuntu-22.04'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt update -y
sudo apt install -y cmake curl g++ libgl1-mesa-dev libopenmpt-dev libcurl4-openssl-dev rpm
- if: matrix.CC == 'clang'
name: 'Configure Clang Compiler'
uses: egor-tensin/setup-clang@v1
with:
version: 15
- name: 'Configure CMake'
run: |
export CC=${{ matrix.CC }}
export CXX=${{ matrix.CXX }}
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_STRIP_BINARIES=ON -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_ASSEMBLE_DEB=ON -D NCINE_ASSEMBLE_RPM=ON -D NCINE_WITH_GLEW=OFF
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
make package -C ./_build/
mkdir ./_package/
cp -f ./_build/jazz2 ./_package/jazz2
cp -f ./_build/*.deb ./_package/jazz2.deb
cp -f ./_build/*.rpm ./_package/jazz2.rpm
cp -f -r ./Content/ ./_package/Content/
cp -f ./LICENSE ./_package/LICENSE
case "${{ matrix.CC }}" in
gcc ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}" ;;
clang ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_Clang" ;;
* ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_${{ matrix.CC }}" ;;
esac
echo "artifactPath=$artifactPath" >> $GITHUB_ENV
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/
Build-AppImage:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x64
Backend: GLFW
CC: gcc
CXX: g++
- BuildType: Release
Platform: x64
Backend: SDL2
CC: gcc
CXX: g++
#runs-on: 'ubuntu-latest'
runs-on: 'ubuntu-22.04'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt-get update -y
sudo apt-get install -y cmake curl g++ libgl1-mesa-dev libglew2.2 libglfw3 libsdl2-2.0-0 libopenal1 libvorbisfile3 libopenmpt-dev libcurl4-openssl-dev fuse
- name: 'Configure CMake'
run: |
export CC=${{ matrix.CC }}
export CXX=${{ matrix.CXX }}
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_STRIP_BINARIES=ON -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_GLEW=OFF -D NCINE_LINUX_PACKAGE=jazz2 -D NCINE_PACKAGED_CONTENT_PATH=ON -D CMAKE_INSTALL_PREFIX=/usr
- name: 'Build'
run: |
DESTDIR=../_appdir/ make install -j $(nproc) -C ./_build/
- name: 'Create AppImage'
run: |
if [ ! -f linuxdeploy-x86_64.AppImage ]; then
curl -s -S -O --location 'https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh'
curl -s -S -O --location 'https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage'
chmod a+x linuxdeploy-x86_64.AppImage linuxdeploy-plugin-checkrt.sh
fi
mv -f ./_appdir/usr/share/jazz2/Content/ ./_appdir/usr/bin/Content/
rm -f -r ./_appdir/usr/share/jazz2/
rm -f -r ./_appdir/usr/share/doc/
LDAI_OUTPUT="./_build/jazz2.AppImage" ARCH=x86_64 ./linuxdeploy-x86_64.AppImage --appdir=./_appdir/ --icon-filename=jazz2 --desktop-file=./_appdir/usr/share/applications/jazz2.desktop --executable=./_appdir/usr/bin/jazz2 --custom-apprun=./Sources/AppRun --output=appimage --plugin checkrt
artifactPath="Jazz2_${{ matrix.Platform }}_${{ matrix.Backend }}.AppImage"
echo "artifactPath=$artifactPath" >> $GITHUB_ENV
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_build/jazz2.AppImage
CodeQL:
name: 'CodeQL Analyze'
strategy:
fail-fast: false
runs-on: 'ubuntu-latest'
permissions:
security-events: write
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Initialize CodeQL'
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: 'Create Build Environment'
run: |
sudo apt-get update -y
sudo apt-get install -y cmake curl g++ libgl1-mesa-dev libopenmpt-dev libcurl4-openssl-dev
- name: 'Configure CMake and Build'
run: |
export CC=gcc
export CXX=g++
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=Release -D NCINE_WITH_GLEW=OFF
make -j $(nproc) -C ./_build/
- name: 'Perform CodeQL Analysis'
uses: github/codeql-action/analyze@v3
# Testing builds with online multiplayer
MultiplayerPreview:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x64
Backend: SDL2
CC: gcc
CXX: g++
#runs-on: 'ubuntu-latest'
runs-on: 'ubuntu-22.04'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt update -y
sudo apt install -y cmake curl g++ libgl1-mesa-dev libopenmpt-dev libcurl4-openssl-dev rpm
sudo apt install -y libdw-dev
- if: matrix.CC == 'clang'
name: 'Configure Clang Compiler'
uses: egor-tensin/setup-clang@v1
with:
version: 15
- name: 'Configure CMake'
run: |
export CC=${{ matrix.CC }}
export CXX=${{ matrix.CXX }}
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_GLEW=OFF -D DEATH_DEBUG_SYMBOLS=ON -D WITH_MULTIPLAYER=ON
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
make package -C ./_build/
mkdir ./_package/
cp -f ./_build/jazz2 ./_package/jazz2
cp -f ./_build/jazz2.pdb ./_package/jazz2.pdb
cp -f -r ./Content/ ./_package/Content/
cp -f ./LICENSE ./_package/LICENSE
cp -f ./Docs/Snippets/ServerConfiguration.json ./_package/Jazz2.Server.config
case "${{ matrix.CC }}" in
gcc ) artifactPath="Jazz2_Linux_MultiplayerPreview_${{ matrix.Platform }}_${{ matrix.Backend }}" ;;
clang ) artifactPath="Jazz2_Linux_MultiplayerPreview_${{ matrix.Platform }}_${{ matrix.Backend }}_Clang" ;;
* ) artifactPath="Jazz2_Linux_MultiplayerPreview_${{ matrix.Platform }}_${{ matrix.Backend }}_${{ matrix.CC }}" ;;
esac
echo "artifactPath=$artifactPath" >> $GITHUB_ENV
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/ deathkiller-jazz2-native-2a7ccef/.github/workflows/linux_cc.yml 0000664 0000000 0000000 00000005423 15127726017 0025040 0 ustar 00root root 0000000 0000000 name: 'Linux (Cross-compile)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: aarch64
Backend: GLFW
CC: gcc
CXX: g++
- BuildType: Release
Platform: aarch64
Backend: SDL2
CC: gcc
CXX: g++
runs-on: 'ubuntu-22.04'
#runs-on: 'ubuntu-22.04-arm'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Configure Cross-Compile Support (ARM64)'
uses: cyberjunk/gha-ubuntu-cross@v4
with:
arch: arm64
- name: 'Create Build Environment'
run: |
sudo apt install -y cmake curl
sudo apt install -y libgl1-mesa-dev:arm64 libglfw3-dev:arm64 libsdl2-dev:arm64 libopenal-dev:arm64 libopenmpt-dev:arm64 libcurl4-openssl-dev:arm64 zlib1g:arm64
#sudo apt install -y libgl1-mesa-dev libglfw3-dev libsdl2-dev libopenal-dev libopenmpt-dev libcurl4-openssl-dev zlib1g
- name: 'Configure CMake'
run: |
export CC=aarch64-linux-gnu-${{ matrix.CC }}
export CXX=aarch64-linux-gnu-${{ matrix.CXX }}
#export CC=${{ matrix.CC }}
#export CXX=${{ matrix.CXX }}
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_SYSTEM_NAME=Linux -D CMAKE_SYSTEM_PROCESSOR=aarch64 -D CMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu -D NCINE_STRIP_BINARIES=ON -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_GLEW=OFF
#cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_STRIP_BINARIES=ON -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_GLEW=OFF
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
mkdir ./_package/
cp -f ./_build/jazz2 ./_package/jazz2
cp -f -r ./Content/ ./_package/Content/
cp -f ./LICENSE ./_package/LICENSE
case "${{ matrix.CC }}" in
gcc ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}" ;;
clang ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_Clang" ;;
* ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_${{ matrix.CC }}" ;;
esac
echo "artifactPath=$artifactPath" >> $GITHUB_ENV
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/ deathkiller-jazz2-native-2a7ccef/.github/workflows/linux_legacy.yml_ 0000664 0000000 0000000 00000004445 15127726017 0026061 0 ustar 00root root 0000000 0000000 name: 'Linux (Legacy)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x64
Backend: GLFW
CC: gcc
CXX: g++
- BuildType: Release
Platform: x64
Backend: SDL2
CC: gcc
CXX: g++
runs-on: 'ubuntu-20.04'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Create Build Environment'
run: |
sudo apt update -y
sudo apt install -y cmake curl g++ libgl1-mesa-dev libglew-dev libglfw3-dev libsdl2-dev libopenal-dev libopenmpt-dev libcurl4-openssl-dev rpm
- name: 'Configure CMake'
run: |
export CC=${{ matrix.CC }}
export CXX=${{ matrix.CXX }}
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_STRIP_BINARIES=ON -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_ASSEMBLE_DEB=ON -D NCINE_ASSEMBLE_RPM=ON -D NCINE_DOWNLOAD_DEPENDENCIES=OFF -D NCINE_WITH_GLEW=OFF
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
make package -C ./_build/
mkdir ./_package/
cp -f ./_build/jazz2 ./_package/jazz2
cp -f ./_build/*.deb ./_package/jazz2.deb
cp -f ./_build/*.rpm ./_package/jazz2.rpm
cp -f -r ./Content/ ./_package/Content/
cp -f ./LICENSE ./_package/LICENSE
case "${{ matrix.CC }}" in
gcc ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_Legacy" ;;
clang ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_LegacyClang" ;;
* ) artifactPath="Jazz2_Linux_${{ matrix.Platform }}_${{ matrix.Backend }}_Legacy${{ matrix.CC }}" ;;
esac
echo "artifactPath=$artifactPath" >> $GITHUB_ENV
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/macos.yml 0000664 0000000 0000000 00000006402 15127726017 0024334 0 ustar 00root root 0000000 0000000 name: 'MacOS'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: ARM64
Backend: GLFW
- BuildType: Release
Platform: ARM64
Backend: SDL2
- BuildType: Release
Platform: x64
Backend: GLFW
- BuildType: Release
Platform: x64
Backend: SDL2
runs-on: 'macos-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Configure CMake'
run: |
case "${{ matrix.Platform }}" in
ARM64 ) architecture="arm64"
withVorbis="OFF" ;;
x64 ) architecture="x86_64"
withVorbis="ON" ;;
* ) exit 1 ;;
esac
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D NCINE_STRIP_BINARIES=ON -D CMAKE_OSX_ARCHITECTURES="$architecture" -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_VORBIS=$withVorbis
- name: 'Build'
run: |
make -j 3 -C ./_build/
- name: 'Create Package'
run: |
make package -C ./_build/
mkdir ./_package/
cp -f ./_build/*.dmg ./_package/
cp -f ./LICENSE ./_package/LICENSE
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_MacOS_${{ matrix.Platform }}_${{ matrix.Backend }}
path: ./_package/
# Testing builds with online multiplayer
MultiplayerPreview:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: ARM64
Backend: SDL2
- BuildType: Release
Platform: x64
Backend: SDL2
runs-on: 'macos-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Configure CMake'
run: |
case "${{ matrix.Platform }}" in
ARM64 ) architecture="arm64"
withVorbis="OFF" ;;
x64 ) architecture="x86_64"
withVorbis="ON" ;;
* ) exit 1 ;;
esac
rm -f ./Content/Translations/*.po
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_OSX_ARCHITECTURES="$architecture" -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_WITH_VORBIS=$withVorbis -D DEATH_DEBUG_SYMBOLS=ON -D WITH_MULTIPLAYER=ON
- name: 'Build'
run: |
make -j 3 -C ./_build/
- name: 'Create Package'
run: |
make package -C ./_build/
mkdir ./_package/
cp -f ./_build/*.dmg ./_package/
cp -f ./LICENSE ./_package/LICENSE
cp -f ./Docs/Snippets/ServerConfiguration.json ./_package/Jazz2.Server.config
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_MacOS_MultiplayerPreview_${{ matrix.Platform }}_${{ matrix.Backend }}
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/switch.yml 0000664 0000000 0000000 00000005060 15127726017 0024532 0 ustar 00root root 0000000 0000000 name: 'Switch'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
runs-on: 'ubuntu-latest'
container:
#image: devkitpro/devkita64:20241023
image: devkitpro/devkita64:latest
options: --user root
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Configure CMake'
run: |
rm -f ./Content/Translations/*.po
git config --global --add safe.directory '*'
# DEATH_TRACE_ASYNC is causing crashes on startup, so it's disabled for now
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_TOOLCHAIN_FILE=${DEVKITPRO}/cmake/Switch.cmake -D DEATH_TRACE_ASYNC=OFF
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
mkdir ./_package/
cp -f ./_build/jazz2.nro ./_package/Jazz2.nro
cp -f ./LICENSE ./_package/LICENSE
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Switch
path: ./_package/
# Testing builds with online multiplayer
MultiplayerPreview:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
runs-on: 'ubuntu-latest'
container:
#image: devkitpro/devkita64:20241023
image: devkitpro/devkita64:latest
options: --user root
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Configure CMake'
run: |
rm -f ./Content/Translations/*.po
git config --global --add safe.directory '*'
# DEATH_TRACE_ASYNC is causing crashes on startup, so it's disabled for now
cmake -B ./_build/ -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_TOOLCHAIN_FILE=${DEVKITPRO}/cmake/Switch.cmake -D WITH_MULTIPLAYER=ON -D DEATH_TRACE_ASYNC=OFF
- name: 'Build'
run: |
make -j $(nproc) -C ./_build/
- name: 'Create Package'
run: |
mkdir ./_package/
cp -f ./_build/jazz2.nro ./_package/Jazz2.nro
cp -f ./LICENSE ./_package/LICENSE
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Switch_MultiplayerPreview
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/uwp.yml 0000664 0000000 0000000 00000015325 15127726017 0024051 0 ustar 00root root 0000000 0000000 name: 'Universal Windows Platform'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Backend: ANGLE
Platform: x64
ArchExts:
- BuildType: Release
Backend: ANGLE
Platform: x64
ArchExts: AVX
- BuildType: Release
Backend: ANGLE
Platform: x64
ArchExts: AVX2
- BuildType: Release
Backend: Mesa
Platform: x64
ArchExts: AVX2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- name: 'Configure CMake'
run: |
switch('${{ matrix.Backend }}') {
'ANGLE' { $withAngle = 'ON' }
'Mesa' { $withAngle = 'OFF' }
}
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
rm -force ".\Content\Translations\*.po"
if ($env:GITHUB_EVENT_NAME -eq 'pull_request') {
Write-Output "Pull requests are not signed!"
$certPath = ""
$certPass = ""
} else {
$currentDirectory = Get-Location
$certBytes = [System.Convert]::FromBase64String("${{ secrets.UWP_CERTIFICATE_FILE }}")
$certPath = Join-Path -Path $currentDirectory -ChildPath "_cert.pfx"
[IO.File]::WriteAllBytes("$certPath", $certBytes)
$certPass = "${{ secrets.UWP_CERTIFICATE_PASSWORD }}"
}
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION="10.0" -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS="${{ matrix.ArchExts }}" -D NCINE_STRIP_BINARIES=ON -D NCINE_UWP_CERTIFICATE_PATH="$certPath" -D NCINE_UWP_CERTIFICATE_PASSWORD="$certPass" -D NCINE_WITH_ANGLE="$withAngle" -D DEATH_TRACE=OFF
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch -p:UapAppxPackageBuildMode="Sideload" -p:AppxBundlePlatforms="${{ matrix.Platform }}" -p:AppxPackageDir=".\_out\"
- name: 'Create Package'
run: |
cd .\_build\_out\
$cerFiles = Get-ChildItem -Path .\*\*.cer
$msixbundlePath = (Get-ChildItem -Path .\*\*.msixbundle)[0]
cd ..\..\
mkdir _package
if ($cerFiles.Count -gt 0) {
$cerPath = $cerFiles[0]
Move-Item -Path "$cerPath" -Destination ".\_package\Jazz2.cer"
}
Move-Item -Path "$msixbundlePath" -Destination ".\_package\Jazz2.msixbundle"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
if ('${{ matrix.ArchExts }}') { $artifactPath = 'Jazz2_UWP_${{ matrix.Backend }}_${{ matrix.Platform }}_${{ matrix.ArchExts }}' } else { $artifactPath = 'Jazz2_UWP_${{ matrix.Backend }}_${{ matrix.Platform }}' }
Add-Content -Path $env:GITHUB_ENV -Value "artifactPath=$artifactPath"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/
# Testing builds with online multiplayer
MultiplayerPreview:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Backend: ANGLE
Platform: x64
ArchExts: AVX
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- name: 'Configure CMake'
run: |
switch('${{ matrix.Backend }}') {
'ANGLE' { $withAngle = 'ON' }
'Mesa' { $withAngle = 'OFF' }
}
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
rm -force ".\Content\Translations\*.po"
if ($env:GITHUB_EVENT_NAME -eq 'pull_request') {
Write-Output "Pull requests are not signed!"
$certPath = ""
$certPass = ""
} else {
$currentDirectory = Get-Location
$certBytes = [System.Convert]::FromBase64String("${{ secrets.UWP_CERTIFICATE_FILE }}")
$certPath = Join-Path -Path $currentDirectory -ChildPath "_cert.pfx"
[IO.File]::WriteAllBytes("$certPath", $certBytes)
$certPass = "${{ secrets.UWP_CERTIFICATE_PASSWORD }}"
}
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION="10.0" -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS="${{ matrix.ArchExts }}" -D NCINE_STRIP_BINARIES=ON -D NCINE_UWP_CERTIFICATE_PATH="$certPath" -D NCINE_UWP_CERTIFICATE_PASSWORD="$certPass" -D NCINE_WITH_ANGLE="$withAngle" -D WITH_MULTIPLAYER=ON
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch -p:UapAppxPackageBuildMode="Sideload" -p:AppxBundlePlatforms="${{ matrix.Platform }}" -p:AppxPackageDir=".\_out\"
- name: 'Create Package'
run: |
cd .\_build\_out\
$cerFiles = Get-ChildItem -Path .\*\*.cer
$msixbundlePath = (Get-ChildItem -Path .\*\*.msixbundle)[0]
cd ..\..\
mkdir _package
if ($cerFiles.Count -gt 0) {
$cerPath = $cerFiles[0]
Move-Item -Path "$cerPath" -Destination ".\_package\Jazz2.cer"
}
Move-Item -Path "$msixbundlePath" -Destination ".\_package\Jazz2.msixbundle"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
if ('${{ matrix.ArchExts }}') { $artifactPath = 'Jazz2_UWP_MultiplayerPreview_${{ matrix.Backend }}_${{ matrix.Platform }}_${{ matrix.ArchExts }}' } else { $artifactPath = 'Jazz2_UWP_${{ matrix.Backend }}_${{ matrix.Platform }}' }
Add-Content -Path $env:GITHUB_ENV -Value "artifactPath=$artifactPath"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifactPath }}
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/windows.yml 0000664 0000000 0000000 00000016507 15127726017 0024733 0 ustar 00root root 0000000 0000000 name: 'Windows'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: GLFW
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: SDL2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- if: matrix.Platform != 'ARM64'
name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
#Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.9/VC-LTL-5.0.9-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL/releases/download/v4.1.3/VC-LTL-4.1.3-Binary-VS2019.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Configure CMake'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
'ARM64' { $arch = 'ARM64EC' }
}
rm -force ".\Content\Translations\*.po"
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_STRIP_BINARIES=ON -D CMAKE_GENERATOR_TOOLSET=v142
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
'ARM64' { $arch = 'ARM64EC' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Release\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Release\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\_build\Release\*.dll" -Destination ".\_package\"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_${{ matrix.Platform }}_${{ matrix.ArchExts }}_${{ matrix.Backend }}
path: ./_package/
# Testing builds with online multiplayer
MultiplayerPreview:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: SDL2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- if: matrix.Platform != 'ARM64'
name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
#Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.9/VC-LTL-5.0.9-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL/releases/download/v4.1.3/VC-LTL-4.1.3-Binary-VS2019.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Configure CMake'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
'ARM64' { $arch = 'ARM64EC' }
}
rm -force ".\Content\Translations\*.po"
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D CMAKE_GENERATOR_TOOLSET=v142 -D WITH_MULTIPLAYER=ON
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
'ARM64' { $arch = 'ARM64EC' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Release\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Release\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\_build\Release\*.dll" -Destination ".\_package\"
- name: 'Configure CMake (Dedicated Server)'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
'ARM64' { $arch = 'ARM64EC' }
}
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D CMAKE_GENERATOR_TOOLSET=v142 -D WITH_MULTIPLAYER=ON -D DEDICATED_SERVER=ON
- name: 'Build (Dedicated Server)'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
'ARM64' { $arch = 'ARM64EC' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package (Dedicated Server)'
run: |
Move-Item -Path ".\_build\Release\Jazz2.Server.exe" -Destination ".\_package\Jazz2.Server.exe"
Move-Item -Path ".\_build\Release\Jazz2.Server.pdb" -Destination ".\_package\Jazz2.Server.pdb"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
Move-Item -Path ".\Docs\Snippets\ServerConfiguration.json" -Destination ".\_package\Jazz2.Server.config"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_MultiplayerPreview_${{ matrix.Platform }}_${{ matrix.ArchExts }}_${{ matrix.Backend }}
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/windows_clang.yml 0000664 0000000 0000000 00000006076 15127726017 0026077 0 ustar 00root root 0000000 0000000 name: 'Windows (Clang)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: GLFW
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: SDL2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.9/VC-LTL-5.0.9-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Configure CMake'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
}
rm -force ".\Content\Translations\*.po"
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_STRIP_BINARIES=ON -D NCINE_COPY_DEPENDENCIES=ON -T ClangCL
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Release\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Release\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\_build\Release\*.dll" -Destination ".\_package\"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_${{ matrix.Platform }}_${{ matrix.ArchExts }}_${{ matrix.Backend }}_Clang
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/windows_sln.yml 0000664 0000000 0000000 00000004115 15127726017 0025577 0 ustar 00root root 0000000 0000000 name: 'Windows (Fallback)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x86
- BuildType: Release
Platform: x64
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
git clone https://github.com/deathkiller/jazz2-libraries.git .
git checkout
#Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.5/VC-LTL-5.0.5-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL/releases/download/v4.1.3/VC-LTL-4.1.3-Binary-VS2019.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Build'
run: |
rm -force ".\Content\Translations\*.po"
msbuild ".\Jazz2.sln" -t:Rebuild -p:Configuration=${{ matrix.BuildType }} -p:Platform=${{ matrix.Platform }} -p:VC_LTL_Root=".\Libs\VC-LTL\" -p:OutDir="..\_build\"
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\Sources\nCine\Shaders\" -Destination ".\_package\Content\Shaders\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_${{ matrix.Platform }}_Default
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.github/workflows/windows_v143.yml 0000664 0000000 0000000 00000006553 15127726017 0025510 0 ustar 00root root 0000000 0000000 name: 'Windows (v143)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: GLFW
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: SDL2
- BuildType: Release
Platform: ARM64
Backend: GLFW
- BuildType: Release
Platform: ARM64
Backend: SDL2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- if: matrix.Platform != 'ARM64'
name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.9/VC-LTL-5.0.9-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Configure CMake'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
'ARM64' { $arch = 'ARM64EC' }
}
rm -force ".\Content\Translations\*.po"
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D CMAKE_SYSTEM_VERSION=10 -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_STRIP_BINARIES=ON -D CMAKE_GENERATOR_TOOLSET=v143
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
'ARM64' { $arch = 'ARM64EC' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Release\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Release\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\_build\Release\*.dll" -Destination ".\_package\"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_${{ matrix.Platform }}_${{ matrix.ArchExts }}_${{ matrix.Backend }}_v143
path: ./_package/
deathkiller-jazz2-native-2a7ccef/.gitignore 0000664 0000000 0000000 00000014176 15127726017 0021111 0 ustar 00root root 0000000 0000000 /Sign.props
/Libs/
/desktop.ini
/desktop.ico
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd deathkiller-jazz2-native-2a7ccef/CMakeLists.txt 0000664 0000000 0000000 00000012514 15127726017 0021653 0 ustar 00root root 0000000 0000000 cmake_minimum_required(VERSION 3.15)
# Policies
if(POLICY CMP0127)
cmake_policy(SET CMP0127 NEW)
endif()
if(POLICY CMP0141)
cmake_policy(SET CMP0141 NEW)
endif()
if(POLICY CMP0144)
cmake_policy(SET CMP0144 NEW)
endif()
if(NOT CMAKE_CONFIGURATION_TYPES)
get_property(_haveMultiConfigGenerator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(_haveMultiConfigGenerator)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
endif()
endif()
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(_defaultBuildtype "Debug")
message(STATUS "Setting build configuration to \"${_defaultBuildtype}\" as none was specified")
set(CMAKE_BUILD_TYPE "${_defaultBuildtype}" CACHE STRING "Build configuration" FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
endif()
# Project metadata
set(NCINE_ROOT ${CMAKE_SOURCE_DIR})
set(NCINE_SOURCE_DIR "${NCINE_ROOT}/Sources")
set(NCINE_APP "jazz2")
set(NCINE_APP_NAME "Jazz² Resurrection")
set(NCINE_APP_DESCRIPTION "Open-source reimplementation of Jazz Jackrabbit 2")
set(NCINE_APP_DESCRIPTION_FULL "Jazz² Resurrection is reimplementation of the game Jazz Jackrabbit 2 released in 1998. Supports various versions of the game (Shareware Demo, Holiday Hare '98, The Secret Files and Christmas Chronicles). Also, it partially supports some features of JJ2+ extension and MLLE.\n\nFurther information can be found here: https://deat.tk/jazz2/")
set(NCINE_APP_VENDOR "Dan R.")
set(NCINE_REVERSE_DNS "jazz2.resurrection")
set(NCINE_VERSION "3.5.0")
project(Jazz2
VERSION "${NCINE_VERSION}"
DESCRIPTION "${NCINE_APP_NAME}"
HOMEPAGE_URL "https://deat.tk/jazz2/"
LANGUAGES CXX C)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
if(NOT CMAKE_GENERATOR_PLATFORM OR "${CMAKE_GENERATOR_PLATFORM}" STREQUAL "${CMAKE_SYSTEM_PROCESSOR}")
if(EMSCRIPTEN)
message(STATUS "Compiling for architecture: WASM (on ${CMAKE_SYSTEM_PROCESSOR} machine)")
elseif(NINTENDO_SWITCH)
message(STATUS "Compiling for architecture: ${CMAKE_SYSTEM_PROCESSOR} (Nintendo Switch)")
elseif(APPLE AND CMAKE_OSX_ARCHITECTURES)
message(STATUS "Compiling for architecture: ${CMAKE_OSX_ARCHITECTURES} (on ${CMAKE_SYSTEM_PROCESSOR} machine)")
else()
message(STATUS "Compiling for architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()
else()
message(STATUS "Compiling for architecture: ${CMAKE_GENERATOR_PLATFORM} (on ${CMAKE_SYSTEM_PROCESSOR} machine)")
endif()
if(APPLE AND CMAKE_OSX_ARCHITECTURES)
if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64")
set(NCINE_ARM_PROCESSOR TRUE)
elseif(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
# Default architecture
else()
message(FATAL_ERROR "Architecture \"${CMAKE_OSX_ARCHITECTURES}\" is not supported. Only one architecture (arm64 or x86_64) could be specified at build time.")
endif()
else()
string(FIND ${CMAKE_SYSTEM_PROCESSOR} "arm" ARM_SUBSTRING_FOUND)
string(FIND ${CMAKE_SYSTEM_PROCESSOR} "aarch64" AARCH64_SUBSTRING_FOUND)
if (ARM_SUBSTRING_FOUND GREATER -1 OR AARCH64_SUBSTRING_FOUND GREATER -1)
set(NCINE_ARM_PROCESSOR TRUE)
endif()
endif()
include(ncine_options)
include(ncine_get_version)
include(ncine_imported_targets)
include(ncine_imgui)
include(ncine_tracy)
if(NOT IS_DIRECTORY ${NCINE_CONTENT_DIR})
message(WARNING "Content directory not found at: ${NCINE_CONTENT_DIR}")
else()
message(STATUS "Content directory: ${NCINE_CONTENT_DIR}")
endif()
if(NCINE_BUILD_ANDROID)
include(ncine_generated_sources)
include(ncine_build_android)
return()
endif()
add_executable(${NCINE_APP})
if(WINDOWS_PHONE OR WINDOWS_STORE)
message(STATUS "Compiling for Windows RT")
else()
# Falling back to either GLFW or SDL2 if the other one is not available
if(NOT GLFW_FOUND AND NOT SDL2_FOUND AND NOT Qt5_FOUND)
message(FATAL_ERROR "No backend between SDL2, GLFW, and QT5 has been found")
elseif(GLFW_FOUND AND NCINE_PREFERRED_BACKEND STREQUAL "GLFW")
message(STATUS "Using GLFW as the preferred backend")
elseif(SDL2_FOUND AND NCINE_PREFERRED_BACKEND STREQUAL "SDL2")
message(STATUS "Using SDL2 as the preferred backend")
elseif(Qt5_FOUND AND NCINE_PREFERRED_BACKEND STREQUAL "QT5")
message(STATUS "Using QT5 as the preferred backend")
elseif(SDL2_FOUND AND NOT GLFW_FOUND AND NCINE_PREFERRED_BACKEND STREQUAL "GLFW")
set(NCINE_PREFERRED_BACKEND "SDL2")
message(WARNING "Using SDL2 as backend because GLFW cannot be found")
elseif(GLFW_FOUND AND NOT SDL2_FOUND AND NCINE_PREFERRED_BACKEND STREQUAL "SDL2")
set(NCINE_PREFERRED_BACKEND "GLFW")
message(WARNING "Using GLFW as backend because SDL2 cannot be found")
endif()
endif()
include(ncine_compiler_options)
include(ncine_headers)
include(ncine_sources)
include(ncine_extra_sources)
include(ncine_generated_sources)
# Organize main project files into folders
ncine_assign_source_group(PATH_PREFIX ${NCINE_SOURCE_DIR} FILES ${HEADERS} ${SOURCES})
foreach(SOURCE_FILE IN LISTS SHADER_FILES)
source_group("Shaders" FILES ${SOURCE_FILE})
endforeach()
foreach(SOURCE_FILE ${GENERATED_SOURCES})
source_group("Generated Files" FILES ${SOURCE_FILE})
endforeach()
target_sources(${NCINE_APP} PRIVATE ${SOURCES} ${HEADERS} ${SHADER_FILES} ${GENERATED_SOURCES})
# Windows RT uses custom packaging, enable it only for other platforms
if(NOT WINDOWS_PHONE AND NOT WINDOWS_STORE AND NOT ANDROID AND NOT NCINE_BUILD_ANDROID AND NOT NINTENDO_SWITCH)
include(ncine_installation)
endif()
include(ncine_strip_binaries)
deathkiller-jazz2-native-2a7ccef/Content/ 0000775 0000000 0000000 00000000000 15127726017 0020522 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/Content/Animations/ 0000775 0000000 0000000 00000000000 15127726017 0022624 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/Content/Animations/Common/ 0000775 0000000 0000000 00000000000 15127726017 0024054 5 ustar 00root root 0000000 0000000 deathkiller-jazz2-native-2a7ccef/Content/Animations/Common/player_shield.aura 0000664 0000000 0000000 00000002417 15127726017 0027556 0 ustar 00root root 0000000 0000000 ☄️ L L <