Skip to content

Commit

Permalink
Merge pull request #1225 from etternagame/develop
Browse files Browse the repository at this point in the history
0.72.1 merge
  • Loading branch information
poco0317 authored Jan 9, 2023
2 parents f07cd67 + a291b20 commit 5acb2a3
Show file tree
Hide file tree
Showing 53 changed files with 1,045 additions and 250 deletions.
27 changes: 27 additions & 0 deletions .changelog/Release_0-72-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Release Changelog


## [0.72.1] - 2023-01-09 - Hotfix

### Added
- Github Actions automatically produces game documentation for every commit - [1a106a7](../../../commit/1a106a787ad11fb34ddf0e29116f2be663aafbb3) [d90e86e](../../../commit/d90e86ef8358311abd4d2681a0ce7c09b589607d) [a07683c](../../../commit/a07683c31e8f1a2cd563862773895cf090f42a89)
- Holding Shift while pressing the random song button brings you to the previous song you got by pressing random. This only goes backwards 1 song - [8dd3f80](../../../commit/8dd3f80d184f8f5ddb2c84277094b862d62d16ab)
- NoteskinManager has a Lua binding to add a Noteskin element directly to an ActorFrame as a child - [8b43403](../../../commit/8b43403e3a5bb9f304f3608a0fc846900ce56e72)

### Changed
- Cleartypes changed to not grant SDP/SDG if any CB is present - [a12a825](../../../commit/a12a82573bf10ddcdcf26aa1eaae24763a9a7263) [1fd615c](../../../commit/1fd615cc5f6024b1da12a559c5e511d3be752d22)
- Judge difficulties 1-3 are now finally invisible. They haven't functioned for a long time - [d0173f6](../../../commit/d0173f6f32d115293797ad16f3feeebc41342fe2)
- Noteskin Preview optimized for loading. Should greatly reduce screen load times for Rebirth SelectMusic and all PlayerOptions screens - [bfbccfb](../../../commit/bfbccfbec7cffeb0ef1e19032f3953f586cc39ef)
- Updated websocketpp to 0.8.2 - [18419c5](../../../commit/18419c56ba3f4ed6c0d26c300e7762d416b590a8)

### Fixed
- Binding a letter to the Operator key doesn't cause it to be untypeable - [482ac7e](../../../commit/482ac7ea34b76f0587a10ea7d22c58ffe8acaac4)
- Downloading a pack containing filenames or paths not compatible with your current locale used to partially or fully break the extract - [eaaafb9](../../../commit/eaaafb91919029b8824d972a7e45d47eaafca025)
- Files loaded from .osu should no longer crash due to 0 length holds - [fee6baa](../../../commit/fee6baab9b7664186a7291d7a972b49e1b0b4454)
- Legacy Options input debounce option used to be broken and nonfunctional - [f5c7588](../../../commit/f5c75881bc4842a13f42471f550c431dba6b9969)
- Mac users sometimes could not run the game properly for ssh related reasons - [1292209](../../../commit/1292209508c2ae6293ef6e6b354ec7b2ea9714d0)
- Replays used to drop the first notes of playback if they were hit early - [9addca6](../../../commit/9addca67febb570654c7d80ca33cd799ff862aa1)
- Replays used to never delete the decompressed input data after reading it and failing - [a178233](../../../commit/a178233ee83b2f9a49924e6fdb6ec16a185f2be5)
- Replays used to play back very incorrectly if you have multiple charts with the same chartkey and different audio or different offsets - [7572298](../../../commit/7572298349890a69fd4faeb810a331bc21f53919)
- Til' Death combo and judgment animations broke customize gameplay resizing - [b39486e](../../../commit/b39486e1375045529eafe5723864f53804fbef10)
- Websocketpp preventing super modern compilers from compiling due to C++20 standards - [18419c5](../../../commit/18419c56ba3f4ed6c0d26c300e7762d416b590a8)
13 changes: 13 additions & 0 deletions .ci/generate_doc_configs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

# Install Etterna requirements
sudo apt-get install build-essential libssl-dev libx11-dev libxrandr-dev libcurl4-openssl-dev libglu1-mesa-dev libpulse-dev libogg-dev libasound-dev libjack-dev

#Install doxygen
sudo apt-get install doxygen graphviz

eval "$(luarocks path --bin)"

# Generate Etterna CMake
mkdir build && cd build
cmake -G "Unix Makefiles" -DWITH_CRASHPAD=OFF ..
24 changes: 24 additions & 0 deletions .ci/install_ldoc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

mkdir lua_tmp && cd lua_tmp

# Install various requirements
sudo apt install build-essential libreadline-dev unzip

# Acquire and install Lua
curl -R -O http://www.lua.org/ftp/lua-5.1.5.tar.gz
tar -zxf lua-5.1.5.tar.gz
cd lua-5.1.5
make linux
sudo make install
cd ..

# Acquire and install LuaRocks
wget https://luarocks.org/releases/luarocks-3.9.1.tar.gz
tar zxpf luarocks-3.9.1.tar.gz
cd luarocks-3.9.1
./configure && make
sudo make install

# Install ldoc
luarocks install --local ldoc
70 changes: 70 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Workflow for building and deploying Etterna documentation
name: Etterna documentation CI

on:
# Runs on pushes to develop
push:
branches: ["develop"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
#Build job
build:
runs-on: ubuntu-latest
steps:
# Setup
- name: Checkout
uses: actions/checkout@v3
- name: Update apt
run: "sudo apt-get update"
- name: Install Ldoc
run: "bash ./.ci/install_ldoc.sh"
- name: Generate LDoc/Doxygen configs
run: "bash ./.ci/generate_doc_configs.sh"
#Jekyll build
- name: Setup Pages
uses: actions/configure-pages@v2
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./Docs/
destination: ./_site
#Ldoc build
- name: Run LDoc
run: |
cd build
make ldoc
sudo mv ldoc_output ../_site/ldoc
#Doxygen build
- name: Run Doxygen
run: |
cd build
make doxygen
sudo mv doxygen ../_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v1

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# Changelog
All releases of Etterna are listed in this file as well as links to files detailing all of the changes for each. All changes for each version apply in supplement to the ones below it. Changes are not in chronological order, only versions are.

## [0.72.1] - 2023-01-09 - Hotfix

Windows x64, Windows i386, and Mac installer release. Linux binary.
- Fixes for replays, downloads, and other stuff.
- [Notes](.changelog/Release_0-72-1.md)

## [0.72.0] - 2022-12-25 - Replay Update & MSD Changes

Windows x64, Windows i386, and Mac installer release. Linux binary.
- Replay system rewritten. MSD updates to nerf extremely overrated skillsets.
- [Notes](.changelog/Release_0-72-0.md)

## [0.71.2] - 2022-03-14 - Hotfix

Windows x64, Windows i386, and Mac installer release. Linux binary.
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

# PROJECT WIDE SETUP
project(Etterna
VERSION 0.72.0
VERSION 0.72.1
HOMEPAGE_URL https://github.com/etternagame/etterna/
LANGUAGES C CXX ASM)

Expand Down
Binary file modified Data/splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 26 additions & 25 deletions Docs/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,36 @@ Interested in contributing to Etterna? This guide is the place to start!

## Table of Contents

- [Getting Started](#Getting-Started)
- [Quick Start](#Quick-Start)
- [Universal Dependencies](#Universal-Dependencies)
- [Linux Dependencies](#Linux-Dependencies)
- [Pop_OS! Notes](#Pop_OS-Notes)
- [Windows Dependencies](#Windows-Dependencies)
- [macOS Dependencies](#macOS-Dependencies)
- [Project Generation](#Project-Generation)
- [CLI Project Generation](#CLI-Project-Generation)
- [GUI Project Generation](#GUI-Project-Generation)
- [Compiling](#Compiling)
- [Ninja](#Ninja)
- [Linux](#Linux)
- [macOS](#macOS)
- [Windows](#Windows)
- [Distribution](#Distribution)
- [Static Analysis](#Static-Analysis)
- [Getting Started](#getting-started)
- [Quick Start](#quick-start)
- [Universal Dependencies](#universal-dependencies)
- [Linux Dependencies](#linux-dependencies)
- [Pop_OS! Notes](#pop_os-notes)
- [Windows Dependencies](#windows-dependencies)
- [macOS Dependencies](#macos-dependencies)
- [Project Generation](#project-generation)
- [CLI Project Generation](#cli-project-generation)
- [GUI Project Generation](#gui-project-generation)
- [Compiling](#compiling)
- [Ninja](#ninja)
- [Linux](#linux)
- [macOS](#macos)
- [Windows](#windows)
- [Distribution](#distribution)
- [Static Analysis](#static-analysis)
- [cppcheck](#cppcheck)
- [Documentation](#Documentation)
- [C++](#C++-Docs)
- [LDoc](#LDoc)
- [Documentation](#documentation)
- [C++](#c-docs)
- [LDoc](#ldoc)

## Getting Started

To begin, take a look at what [dependencies](#Universal-Dependencies)
To begin, take a look at what [dependencies](#universal-dependencies)
you're going to need to start compiling. Etterna is cross-platform on Linux, macOS, and Windows. Typically, we work off of the `develop` branch, therefore all pull requests should be made towards `develop`.

## Quick Start

Here are some commands for current developers and contributors to get started. More are listed at [Sample CMake Commands](#Sample-CMake-Commands).
Here are some commands for current developers and contributors to get started. More are listed at [Sample CMake Commands](#sample-cmake-commands).

```bash
cmake -G "Unix Makefiles" .. # Linux
Expand All @@ -57,7 +57,7 @@ cmake -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" -G "Xcode" .. # macOS

While most dependencies for macOS and Windows are included in the repo, there are some linux libraries which cannot be included in the repo.

For Pop_OS!, install the `Debian` dependencies, then refer to the [Pop_OS! Notes](#Pop_OS-Notes) section below.
For Pop_OS!, install the `Debian` dependencies, then refer to the [Pop_OS! Notes](#pop_os-notes) section below.

- Debian: `apt install build-essential libssl-dev libx11-dev libxrandr-dev libcurl4-openssl-dev libglu1-mesa-dev libpulse-dev libogg-dev libasound-dev libjack-dev`
- Fedora: `dnf install openssl-static libX11-devel libcurl-devel mesa-libGLU-devel libXrandr-devel libogg-devel pulseaudio-libs-devel alsa-lib-devel jack-audio-connection-kit-devel`
Expand All @@ -74,7 +74,7 @@ The build requires Python 2.7 be installed and symlinked as `python`.

Run `python --version`. If it's ok, skip this section. If `python --version` says `command not found`, run the following:

```
```bash
sudo apt install -y python2.7
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python
```
Expand All @@ -83,7 +83,7 @@ sudo ln -s /usr/bin/python2.7 /usr/local/bin/python

`clang` is required for Crashpad. If you don't want to include Crashpad, add `-DWITH_CRASHPAD=OFF` when running `cmake`. Otherwise, install `clang`:

```
```bash
sudo apt install -y clang
```

Expand Down Expand Up @@ -150,6 +150,7 @@ For the `OPENSSL_ROOT_DIR` parameter, set the directory for where ever the opens
Users building without Crashpad may choose to add the `-DWITH_CRASHPAD=OFF` option at the beginning of the command.

Users of Linux be aware that the game builds on the `Debug` target by default. Here are better alternatives:

- `-DCMAKE_BUILD_TYPE=Release` - Builds Release binary with no symbols, normal optimization.
- `-DCMAKE_BUILD_TYPE=RelWithDebInfo` - Builds Release binary with symbols, useful for debugging if any issues arise, almost same as Release otherwise.

Expand Down
16 changes: 8 additions & 8 deletions Docs/Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

Anyone is welcome to contribute! These are the areas where help is needed the most.

* [C++](#C++)
* [Lua](#Lua)
* [Documentation](#Documentation)
* [Translating](#Translating)
* [Packaging](#Packaging)
* [Graphic Design](#Graphic-Design)
* [Chart Making](#Chart-Making)
* [C++](#c)
* [Lua](#lua)
* [Documentation](#documentation)
* [Translating](#translating)
* [Packaging](#packaging)
* [Graphic Design](#graphic-design)
* [Chart Making](#chart-making)

## C++

Expand Down Expand Up @@ -48,7 +48,7 @@ A guide on this can be found in [the translations document](Translations.md).

## Packaging

A few people have complained about the lack of packages for Linux in general. If you'd like to, you can try working on a package for your favorite distro.
A few people have complained about the lack of packages for Linux in general. If you'd like to, you can try working on a package for your favorite distro.

## Graphic Design

Expand Down
Loading

0 comments on commit 5acb2a3

Please sign in to comment.