From 5520fc746319e1f567ccbe3b7a615b5c36a8e9c3 Mon Sep 17 00:00:00 2001 From: afwbkbc Date: Wed, 8 Nov 2023 20:32:47 +0200 Subject: [PATCH] v0.3 release --- .github/workflows/c-cpp.yml | 100 ++++++++++++++++++------------------ CHANGELOG.md | 65 +++++++++++++++++++---- src/version.h | 2 +- 3 files changed, 106 insertions(+), 61 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index bf73baee..2007b5f8 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -12,53 +12,53 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: benjlevesque/short-sha@v2.1 - id: short-sha - with: - length: 7 - - run: echo $SHA - env: - SHA: ${{ steps.short-sha.outputs.sha }} - - name: install_dependencies - run: | - sudo apt-get update - sudo apt-get install libfreetype-dev libsdl2-dev libsdl2-image-dev libglu-dev libglew-dev libossp-uuid-dev libyaml-cpp-dev - - name: cmake64 - run: cmake -DCMAKE_BUILD_TYPE=Portable64 . - - name: make64 - run: make - - name: pack64 - run: tar zcvf GLSMAC-v0.2-${{ env.SHA }}-bin64.tar.gz bin/ - - name: publish - uses: actions/upload-artifact@v3 - with: - name: GLSMAC-ubuntu-bin - path: | - ./GLSMAC-v0.2-${{ env.SHA }}-bin64.tar.gz - - uses: dev-drprasad/delete-older-releases@v0.2.0 - with: - keep_latest: 4 - delete_tags: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: v0.2-${{ env.SHA }} - release_name: v0.2-${{ env.SHA }} - draft: false - prerelease: false - - name: Upload Release Asset 64 - id: upload-release-asset-64 - 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 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 - name: upload - asset_path: ./GLSMAC-v0.2-${{ env.SHA }}-bin64.tar.gz - asset_name: GLSMAC-v0.2-${{ env.SHA }}-bin64.tar.gz - asset_content_type: application/gzip + - uses: actions/checkout@v3 + - uses: benjlevesque/short-sha@v2.1 + id: short-sha + with: + length: 7 + - run: echo $SHA + env: + SHA: ${{ steps.short-sha.outputs.sha }} + - name: install_dependencies + run: | + sudo apt-get update + sudo apt-get install libfreetype-dev libsdl2-dev libsdl2-image-dev libglu-dev libglew-dev libossp-uuid-dev libyaml-cpp-dev + - name: cmake64 + run: cmake -DCMAKE_BUILD_TYPE=Portable64 . + - name: make64 + run: make + - name: pack64 + run: tar zcvf GLSMAC-v0.3-${{ env.SHA }}-bin64.tar.gz bin/ + - name: publish + uses: actions/upload-artifact@v3 + with: + name: GLSMAC-ubuntu-bin + path: | + ./GLSMAC-v0.3-${{ env.SHA }}-bin64.tar.gz + - uses: dev-drprasad/delete-older-releases@v0.2.0 + with: + keep_latest: 4 + delete_tags: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v0.3-${{ env.SHA }} + release_name: v0.3-${{ env.SHA }} + draft: false + prerelease: false + - name: Upload Release Asset 64 + id: upload-release-asset-64 + 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 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 - name: upload + asset_path: ./GLSMAC-v0.3-${{ env.SHA }}-bin64.tar.gz + asset_name: GLSMAC-v0.3-${{ env.SHA }}-bin64.tar.gz + asset_content_type: application/gzip diff --git a/CHANGELOG.md b/CHANGELOG.md index acc02555..dea7426f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,31 +1,72 @@ # Change Log +## [v0.3] - 2023-11-08 + +### Added + +- Slots, players, connections, local accounts, GSIDs, binding GSIDs to slots when creating new game +- Multiplayer lobby: faction selection, slots management, kicks and bans, map settings configuration, map loading, readycheck +- Hosting and joining games via lobby +- Joining running games +- Map downloading from server to players +- Networking support on Windows +- In-game chat +- New command-line parameters: + + --nosound + + --skipintro + + --windowed + + --window-size + + --quickstart-mapsize + + --prefix + +### Changed + +- Separate thread for game/map processing +- Separate thread for networking + +### Fixed + +- Fullscreen toggling +- Overlapping objects clickthroughs and duplicate mouseovers +- Stuck mouseovers +- Bug when packets not fitting into buffer caused network freeze +- Network errors now cause disconnects instead of crashes +- Clang warnings +- Coding style + ## [v0.2] - 2023-04-03 ### Added + - Entering game mode via main menu: - Start Game -> Make Random Map or Customize Random Map -> ... -> Play With Standard Rules - - Quickstart - - Start Game -> Load Map File + Start Game -> Make Random Map or Customize Random Map -> ... -> Play With Standard Rules + + Quickstart + + Start Game -> Load Map File - Simple perlin-based map generator - default map sizes have ratio of 2:1 instead of original 1:1 because 2:1 looks better on wide screens + default map sizes have ratio of 2:1 instead of original 1:1 because 2:1 looks better on wide screens - total number of tiles for every size are approximately same as in original + total number of tiles for every size are approximately same as in original - Map rendering (tiles, water, coasts, sprites, minimap) - Most of in-game UI - Map editor - activated by default once you're in game + activated by default once you're in game - works same as in original SMAC - select tool and brush and draw with them (left mouse - draw, right mouse - undraw) + works same as in original SMAC - select tool and brush and draw with them (left mouse - draw, right mouse - undraw) - second tool ('Cover Map') replaced with 'Moisture' tool because it makes more sense + second tool ('Cover Map') replaced with 'Moisture' tool because it makes more sense - Map saving ( Left Menu -> EDIT MAP -> Save Map... ) - Map loading ( Left Menu -> EDIT MAP -> Load Map... ) @@ -35,12 +76,14 @@ - Small 'GLSMAC' label with version in top right corner of main menu to avoid confusion ### Changed + - Alien Crossfire background replaced with Alpha Centauri background in main menu - Improved command-line syntax - GLSMAC.exe can now be placed in SMAC directory and launched without arguments - Disabled memory debug and gdb by default in debug builds ### Fixed + - Windows builds - Loading resources from case-insensitive filesystems - Excessive redraws of UI @@ -48,12 +91,14 @@ - Some crashes ### Known bugs + - Small line artifacts between tiles on map zoomout - Crash when loading large maps with very low free RAM ## [v0.1] - 2023-01-24 ### Added + - Basic engine functions (window initialization, sounds, textures, netcode, fonts, etc) - Intro logo - Main menu diff --git a/src/version.h b/src/version.h index 82a46cbf..69e9af43 100644 --- a/src/version.h +++ b/src/version.h @@ -8,7 +8,7 @@ #define GLSMAC_LAST_COMMIT "???????" #endif -#define GLSMAC_VERSION "v0.2" +#define GLSMAC_VERSION "v0.3" #define GLSMAC_VERSION_FULL ( (std::string) "GLSMAC " + GLSMAC_VERSION + "-" + GLSMAC_LAST_COMMIT ) #define GLSMAC_URL ( (std::string) "" )