From 826ba4605b01fa306b6742b61258552f47a17b26 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Fri, 3 Nov 2023 09:58:20 -0500 Subject: [PATCH 01/12] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 31 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..ad39a1a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior, if possible. +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop:** + - OS: [e.g. Linux] + - Version: + +**Port:** +- Curses, SDL, etc. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..11fc491 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 2329f9b6621d9503abce3c3a43f1d7de225f81ea Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 15:32:59 -0600 Subject: [PATCH 02/12] Update release.yml --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e85074..4dd6071 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Create Release +name: Release on: push: tags: From 66d32f56fd658a295f65afaae1b2c62924972f6e Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 15:33:35 -0600 Subject: [PATCH 03/12] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e818326..0ff515e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Zenzizenzizenzic -![Screenshot](/img/screenshot.png) -## Overview +![Release Status](https://github.com/NullCGT/Zenzizenzizenzic-RL/actions/workflows/release.yml/badge.svg?branch=main) + +A traditional roguelike with mechanics that mimic those found in fighting games. -Zenzizenzizenzic is a traditional roguelike. It's still pretty early in development, so please don't -judge it too harshly yet. +![Screenshot](/img/screenshot.png) ## Command Line Options | Syntax | Example | Purpose | From 87e8b2ca8b11495973fd2240b16956455f5b4c84 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 15:37:43 -0600 Subject: [PATCH 04/12] Update release.yml --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4dd6071..331b9a3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release +name: Create Release on: push: tags: @@ -28,7 +28,7 @@ jobs: run: | zip -rq zenzizenzizenzic-${{ runner.os }} build/zenzizenzizenzic_ncurses build/data/ README.md - - name: Create Release + - name: Release id: create_release uses: actions/create-release@v1 env: @@ -44,7 +44,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps asset_path: ./zenzizenzizenzic-${{ runner.os }}.zip asset_name: zenzizenzizenzic-${{ runner.os }}.zip asset_content_type: application/zip From c1d43e9689106723a542ac7f16bd770e9202b023 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 15:50:58 -0600 Subject: [PATCH 05/12] Update README.md --- README.md | 48 +++++++++++------------------------------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 0ff515e..bb7b092 100644 --- a/README.md +++ b/README.md @@ -25,43 +25,17 @@ cmake --build build The game binary and necessary data files will appear in the newly-created build directory. -## Combat - -### Attack Types - -An attack can be one or more of the following types: -- Low: - - Hits standing characters. - - Blocked by crouching characters. -- Mid: - - Hits teching characters. - - Blocked by standing or crouching characters. - - Often very high accuracy. -- High: - - Hits crouching characters. - - Often low accuracy, but high damage. -- Grab: - - Hits crouching or standing characters. - - Deflected by teching characters. - -### Blocking Attacks - -At any time, a character can be in one of threee stances, each of which has different effects. -- Crouching: - - Automatically block low and mid attacks. - - Entered by pressing '<' - - Lasts until manually exited. -- Standing: - - Automatically block mid and high attacks. - - Entered by pressing '>'. - - Lasts until manually exited. -- Teching: - - Deflect grabs. - - Entered by pressing '.' or executing a grab attack. - - Lasts for one turn, after which the character returns to their previous stance. - -When an attack is blocked, the blocker takes reduced damage. When a grab is -deflected, the blocker takes no damage and the attacker is left vulnerable. +## Combat Basics + +An attack can be one or more of four types: Low, Mid, High, or Grab. Conversely, a character can be in one of three stances: Crouch, Stand, or Tech. The way an attack interacts with a target depends on the stance that the target is in, as shown in the following table. + +| | Low | Mid | High | Tech | +|----------|-------|-------|-------|-------| +|**Crouch**| Block | Block | Hit | Hit | +|**Stand**| Hit | Block | Block | Hit | +|**Tech** | Hit | Hit | Hit | Block | + +If an attack hits, the target takes full damage and enters a stunned state. If an attack is blocked, the target takes only partial damage and is not stunned. ## FAQ From 4206a37c42b8fc3cb224a2421381235596272a65 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:17:41 -0600 Subject: [PATCH 06/12] Create cmake-single-platform.yml Test cmake-single-platform workflow. --- .github/workflows/cmake-single-platform.yml | 39 +++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/cmake-single-platform.yml diff --git a/.github/workflows/cmake-single-platform.yml b/.github/workflows/cmake-single-platform.yml new file mode 100644 index 0000000..68ad95e --- /dev/null +++ b/.github/workflows/cmake-single-platform.yml @@ -0,0 +1,39 @@ +# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage. +# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml +name: CMake on a single platform + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. + # You can convert this to a matrix build if you need cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake --preset=dev -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest -C ${{env.BUILD_TYPE}} + From 959a7fdbe532ea96d24fed6637f7c5050079de42 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:22:13 -0600 Subject: [PATCH 07/12] Update cmake-single-platform.yml Ensure cmake-single-platform.yml runs vcpkg. --- .github/workflows/cmake-single-platform.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-single-platform.yml b/.github/workflows/cmake-single-platform.yml index 68ad95e..a5246e4 100644 --- a/.github/workflows/cmake-single-platform.yml +++ b/.github/workflows/cmake-single-platform.yml @@ -20,7 +20,13 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Restore artifacts or run vcpkg. + uses: lukka/run-vcpkg@v10.2 - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From da7b342d1f41ff2c9998494bb69dde7a2b31d0b5 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:34:10 -0600 Subject: [PATCH 08/12] Update release.yml Update release.yml so that it (hopefully) properly builds and cuts a release. --- .github/workflows/release.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 331b9a3..82b22e8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Create Release +name: Release on: push: tags: @@ -24,11 +24,25 @@ jobs: configurePreset: 'release' buildPreset: 'release' + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake --preset=dev -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest -C ${{env.BUILD_TYPE}} + - name: Create Package run: | - zip -rq zenzizenzizenzic-${{ runner.os }} build/zenzizenzizenzic_ncurses build/data/ README.md + zip -rq ${{github.workspace}}/zenzizenzizenzic-${{ runner.os }} ${{github.workspace}}/build/zenzizenzizenzic_ncurses ${{github.workspace}}/build/data/ ${{github.workspace}}/README.md ${{github.workspace}}/LICENSE - - name: Release + - name: Create Release id: create_release uses: actions/create-release@v1 env: @@ -38,13 +52,14 @@ jobs: release_name: Release ${{ github.ref }} draft: false prerelease: false + - name: Upload Release Asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps asset_path: ./zenzizenzizenzic-${{ runner.os }}.zip asset_name: zenzizenzizenzic-${{ runner.os }}.zip asset_content_type: application/zip From 042646443e766eb82ac6d141124d024a4c096dc0 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:34:31 -0600 Subject: [PATCH 09/12] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb7b092..9d78f7a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Zenzizenzizenzic +![Release Status](https://github.com/NullCGT/Zenzizenzizenzic-RL/actions/workflows/cmake-single-platform.yml/badge.svg) ![Release Status](https://github.com/NullCGT/Zenzizenzizenzic-RL/actions/workflows/release.yml/badge.svg?branch=main) A traditional roguelike with mechanics that mimic those found in fighting games. From cf45e9db0b671852603da066ec12282f4d27fede Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:39:51 -0600 Subject: [PATCH 10/12] Update cmake-single-platform.yml --- .github/workflows/cmake-single-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-single-platform.yml b/.github/workflows/cmake-single-platform.yml index a5246e4..153b471 100644 --- a/.github/workflows/cmake-single-platform.yml +++ b/.github/workflows/cmake-single-platform.yml @@ -1,6 +1,6 @@ # This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage. # See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml -name: CMake on a single platform +name: Build on: push: From 985b765f2db7a90cdc0d0b62a888dde551315a4a Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:44:11 -0600 Subject: [PATCH 11/12] Swap the major and minor version numbers. --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef2fa58..681a938 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,8 @@ set(PROJECT_NAME zenzizenzizenzic_ncurses) set(PROJECT_VENDOR Kestrel Gregorich-Trevor) set(PROJECT_DESCRIPTION A roguelike about fighting games.) set(ZZZZZZ_DESKTOP_DIR /usr/share/applications) -set(VERSION_MAJOR 1) -set(VERSION_MINOR 0) +set(VERSION_MAJOR 0) +set(VERSION_MINOR 1) SET(VERSION_PATCH 0) SET(RELEASE_TYPE "alpha") @@ -69,4 +69,4 @@ set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") set(CPACK_PACKAGE_EXECUTABLES "zenzizenzizenzic_ncurses;ZZZZZZ") -include(CPack) \ No newline at end of file +include(CPack) From 9ef51e642054b6744388ce401585399d5868d339 Mon Sep 17 00:00:00 2001 From: Kestrel Gregorich-Trevor Date: Wed, 17 Jan 2024 16:54:10 -0600 Subject: [PATCH 12/12] Update release.yml There are actually some fairly significant differences in compiler flags depending on what preset is used, so this is an important change. --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 82b22e8..b1e5b77 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake --preset=dev -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + run: cmake --preset=release -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}