Skip to content

Commit

Permalink
Merge pull request #1148 from etternagame/develop
Browse files Browse the repository at this point in the history
0.71.2 merge
  • Loading branch information
poco0317 committed Mar 15, 2022
2 parents 8775f74 + f0bd6c5 commit 08773a5
Show file tree
Hide file tree
Showing 59 changed files with 681 additions and 281 deletions.
42 changes: 42 additions & 0 deletions .changelog/Release_0-71-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Release Changelog


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

### Added
- Actor GetTrueXYZ, GetTrueRotationXYZ - [99da45d](../../../commit/99da45d8e57ad421801ed59e3220053f78b237b3)
- Hold explosions added back to SubtractByZero to match DivideByZero and MultiplyByZero - [0a76556](../../../commit/0a765560edcaec4dc38b0f73a59e381e1bda92f1)
- Preference AllowStartToGiveUp to toggle holding Start to fail a song - [7196513](../../../commit/719651388ee54023224b32990946ef4c61b9b917)
- Rebirth customize gameplay now allows changing the judgment counter size and spacing - [4089658](../../../commit/40896582bad30257ef20137853e9fd4eff6e6044) [59b20e4](../../../commit/59b20e40d72e170ccef16a09ce89740279e90fe6)
- Rebirth sortmode added: Tournament to sort songs within groups by their bracket prefix (mostly doesn't change anything) - [8c26152](../../../commit/8c261528f7bf16f009c2570763af488954e2f39d)

### Changed
- Moved nowplaying.txt generation to fallback scripts to let other themes do it in a standard way - [c07ed90](../../../commit/c07ed905afad8444c7644bb3c670ec1b3a4c9007)
- Late miss window now properly 180ms minimum - [5b87dec](../../../commit/5b87decb380ded3f9d4e0972b3365d6c6a449a01)
- Rebirth changeMusicRate function is refactored to allow easier changing of increments - [5db50a3](../../../commit/5db50a32b7e749208443396c52857c00a395ed18)
- Rebirth chart preview position was slightly moved - [7fc7e78](../../../commit/7fc7e788441a44a3dc77d295aa1e956f3f3aa880)
- Rebirth chart preview can always be accessed from clicking the banner if on the General tab - [96eb1a1](../../../commit/96eb1a17c34e7745063a48d260e3f2c9671b4bb7)
- Rebirth Error Bar Count option cap raised to 200 - [263326f](../../../commit/263326fd55a4c4389357351126ef951bbc447aec)
- Rebirth help updated to mention flams as an alternate name to graces - [6c694d3](../../../commit/6c694d317305dcd6c49b40b0ad28cd69d3db2dff)

### Removed
- MaxInputLatencySeconds Preference (this had no effect on anything in the game) - [5b87dec](../../../commit/5b87decb380ded3f9d4e0972b3365d6c6a449a01)
- Practice mode no longer allows access to the Evaluation screen - [3b10c20](../../../commit/3b10c20e34df5c71fc8d706af12bb142ff749dec)
- rootfs mounting - [ba56b43](../../../commit/ba56b43abf85d40001a5788a6a0e3715b1ba4e54)

### Fixed
- Beat default noteskin alignment issues - [d8b2c55](../../../commit/d8b2c556b3918f6016e755ee9da3eac30dc38d41)
- Input Debounce was completely broken - [1a93c5c](../../../commit/1a93c5c2ac01a86a50695f1a05d51b2f5650c7c8)
- Linux related build issues for debug purposes - [2bd8b0f](../../../commit/2bd8b0f2766d8661a5a909e473cd732a72113bb1)
- MacOS <= 10.13 could not open the game or use input due to translocation API utilization - [40c2ecd](../../../commit/40c2ecd5d5b6473e1296fb76ac7f04068a349b1f)
- Rebirth artist song sorting was in alphabetical order of title rather than artist - [ba89bba](../../../commit/ba89bba4486274e955b37324b04f66ad2a970453)
- Rebirth banner was not the expected 3.2 aspect ratio - [2620040](../../../commit/2620040d70fbcdf33e411ddb54bd47e970ac107d)
- Rebirth clicking main menu buttons with left and right click very quickly crashed - [651b6cb](../../../commit/651b6cbe9f77bf4c6748e374904ec1c1b678703e)
- Rebirth Discord Rich Presence was not working and now it is. Standardized the functions used and moved them to fallback scripts - [e01aea9](../../../commit/e01aea95982001776afdf6281bfa94a429b0526b)
- Rebirth gameplay leaderboard caused all elements to not load if the chart was unranked - [a9a8335](../../../commit/a9a83352a7a9cfdd5902c406bedd09c34ad973f6)
- Rebirth nowplaying.txt was not emptying after Gameplay - [bbf1f1b](../../../commit/bbf1f1bae8c82d7f8f9fbf6b1f3edd0faf48e8c7)
- Rebirth PlayerInfo Gameplay element positioning was wrong when not in 16:9 - [b6cec67](../../../commit/b6cec67a9825173c52b111ef839611756bd3ad17)
- Rebirth settings forced custom aspect ratios to be overwritten by a "sane" one - [833c33c](../../../commit/833c33c5168186c84a3d2dd58058180e58a47323)
- Rebirth song search metadata tag search was case sensitive (did not allow aUTHoR=) - [78fac46](../../../commit/78fac4636abd4b9289d6b3c6a3cd63aed31dc15f)
- Rebirth tag filtering caused inconsistent overfiltering and underfiltering - [aff7942](../../../commit/aff794265f41066faa9607a493ee1d28bac8a183)
- Til Death's PlayerOptions XMod scroll speed display was not correct for rates - [27aee32](../../../commit/27aee322c4ebbe675a04268d7b496e38fa630bde)
2 changes: 1 addition & 1 deletion .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
run: sudo apt update && sudo apt install ${{ matrix.cfg.cpp-version }} nasm ninja-build libglew-dev libxrandr-dev libxtst-dev libpulse-dev libasound-dev libogg-dev libvorbis-dev xorg-dev libcurl4-openssl-dev

- name: Generate CMake
run: mkdir main/build && cd main/build && cmake -G Ninja ..
run: mkdir main/build && cd main/build && cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
env:
CXX: ${{matrix.cfg.cpp-version}}

Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# 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.71.2] - 2022-03-14 - Hotfix

Windows x64, Windows i386, and Mac installer release. Linux binary.
- Bugfixes and tiny quality improvements.
- [Notes](.changelog/Release_0-71-2.md)

## [0.71.1] - 2021-12-12 - Hotfix

Windows x64, Windows i386, and Mac installer release. Linux binary.
Expand Down
2 changes: 1 addition & 1 deletion CMake/Helpers/SetupAppInfo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if(WIN32)
endif()

execute_process(
COMMAND git describe --tags --dirty
COMMAND git describe --tags --dirty --long
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
OUTPUT_VARIABLE PROJECT_GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE)
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.71.1
VERSION 0.71.2
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.
34 changes: 31 additions & 3 deletions Docs/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Interested in contributing to Etterna? This guide is the place to start!
- [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)
Expand Down Expand Up @@ -56,11 +57,36 @@ 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.

- 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`
- Arch: `pacman -S openssl libx11 libxrandr curl mesa glu libogg pulseaudio jack`
- Alpine: `apk add build-base openssl-dev libx11-dev libxrandr-dev curl-dev mesa-dev glu-dev pulseaudio-dev libogg-dev alsa-lib-dev jack-dev`

### Pop_OS! Notes

More recent builds of Pop_OS! are missing some required dependencies.

#### Python 2.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:

```
sudo apt install -y python2.7
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python
```

#### clang

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

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

### Windows Dependencies

- [Visual Studio](https://visualstudio.microsoft.com/downloads/) - Any modern version of Visual Studio should be compatible _(The earliest version we theoretically support is `Visual Studio 9 2008`, though we have only tested on `Visual Studio 15 2017` and after)_
Expand All @@ -75,7 +101,7 @@ While most dependencies for macOS and Windows are included in the repo, there ar

## Project Generation

First, ensure you have forked Etterna, cloned to your system, and checked out `develop`.
First, ensure you have forked Etterna, cloned to your system, and checked out `develop`.

There are two stages apart of CMake projects.

Expand Down Expand Up @@ -129,6 +155,8 @@ Users of Linux be aware that the game builds on the `Debug` target by default. H

#### Sample CMake Commands

**⚠️ Note**: You likely want to include `-DCMAKE_BUILD_TYPE=Release` when running `cmake`. This results in a smaller build that will often perform much better.

```bash
cmake -G "Ninja" .. # Linux Ninja
cmake -G "Unix Makefiles" .. # Linux Makefiles
Expand Down Expand Up @@ -225,7 +253,7 @@ To build a distribution file for the operating system you are using, run `cpack`

### cppcheck

cppcheck is a cross-platform static analysis tool which CMake supports by adding a target for it in your desired generator. The target named `cppcheck` will only be created if CMake can find the cppcheck command on your system.
cppcheck is a cross-platform static analysis tool which CMake supports by adding a target for it in your desired generator. The target named `cppcheck` will only be created if CMake can find the cppcheck command on your system.

- Debian: `apt install cppcheck`
- Fedora: `dnf install cppcheck`
Expand All @@ -236,7 +264,7 @@ cppcheck is a cross-platform static analysis tool which CMake supports by adding

When cppcheck is run, it will generate a file in the build directory called `cppcheck.txt` which will have the output of the command. The output is saved to a file as the command produces significant output, and can take some time to run.

To run `cppcheck`, run the target. Running the target will be different depending on the generator you have chosen.
To run `cppcheck`, run the target. Running the target will be different depending on the generator you have chosen.

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion Docs/Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ There's **A LOT** of things that need doing. If you don't have any specific thin

## Lua

Lua is a fairly simple language. If you have experience in any other programming language, you'll probably be able to get the basics of its syntax in under an hour. The [Lua Syntax Guide](https://www.lua.org/pil/contents.html) isa good place to get started.
Lua is a fairly simple language. If you have experience in any other programming language, you'll probably be able to get the basics of its syntax in under an hour. The [Lua Syntax Guide](https://www.lua.org/pil/contents.html) is a good place to get started.

Lua is used in Etterna for Themes and Noteskins.

Expand Down
Binary file modified NoteSkins/beat/default/White Hold Body active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed NoteSkins/beat/default/White Laser (res 38x240).png
Binary file not shown.
Binary file added NoteSkins/beat/default/White Laser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified NoteSkins/beat/default/White Tap Note 1x1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified NoteSkins/dance/SubtractByZero/Down Hold Explosion 2x1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ local t = Def.ActorFrame {
BeginCommand = function(self)
screen = SCREENMAN:GetTopScreen()
screen:AddInputCallback(evalInput)
updateDiscordStatus(true)
end,
OnCommand = function(self)
local score = SCOREMAN:GetMostRecentScore()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ local t = Def.ActorFrame {
Name = "GameplayElementsController",

BeginCommand = function(self)
updateDiscordStatusForGameplay()
updateDiscordStatus(false)
updateNowPlaying()

-- queue so it doesnt reach the children
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ local frameHeight = ((#jdgT + 1) * spacing) -- Height of the Frame
local judgeFontSize = GAMEPLAY:getItemHeight("judgeDisplayJudgeText")
local countFontSize = GAMEPLAY:getItemHeight("judgeDisplayCountText")

local function recalcSizing()
spacing = GAMEPLAY:getItemHeight("judgeDisplayVerticalSpacing") * MovableValues.JudgeCounterSpacing
frameWidth = GAMEPLAY:getItemWidth("judgeDisplay")
frameHeight = ((#jdgT + 1) * spacing)
end

-- the text actors for each judge count
local judgeCounts = {}

Expand All @@ -28,6 +34,8 @@ local t = Def.ActorFrame {
registerActorToCustomizeGameplayUI({
actor = self,
coordInc = {5,1},
zoomInc = {0.1,0.05},
spacingInc = {0.1,0.05},
})
end,
BeginCommand = function(self)
Expand All @@ -36,7 +44,11 @@ local t = Def.ActorFrame {
end
end,
SetUpMovableValuesMessageCommand = function(self)
recalcSizing()

self:xy(MovableValues.JudgeCounterX, MovableValues.JudgeCounterY)
self:zoomto(MovableValues.JudgeCounterWidth, MovableValues.JudgeCounterHeight)
self:playcommand("FinishSetUpMovableValues")
end,
SpottedOffsetCommand = function(self, params)
if params == nil then return end
Expand All @@ -49,24 +61,28 @@ local t = Def.ActorFrame {
Def.Quad {
Name = "BG",
InitCommand = function(self)
self:zoomto(frameWidth, frameHeight)
self:diffuse(COLORS:getGameplayColor("PrimaryBackground"))
self:diffusealpha(0.4)
end,
FinishSetUpMovableValuesMessageCommand = function(self)
self:zoomto(frameWidth, frameHeight)
end,
},
}

local function makeJudgeText(judge, index)
return LoadFont("Common normal") .. {
Name = judge .. "text",
InitCommand = function(self)
self:xy(-frameWidth / 2 + 5, -frameHeight / 2 + (index * spacing))
self:halign(0)
self:zoom(judgeFontSize)
self:settext(getShortJudgeStrings(judge))
self:diffuse(COLORS:colorByJudgment(judge))
self:diffusealpha(1)
end,
FinishSetUpMovableValuesMessageCommand = function(self)
self:xy(-frameWidth / 2 + 5, -frameHeight / 2 + (index * spacing))
self:zoom(judgeFontSize)
end,
}
end

Expand All @@ -75,15 +91,17 @@ local function makeJudgeCount(judge, index)
Name = judge .. "count",
InitCommand = function(self)
self:halign(1)
self:xy(frameWidth / 2 - 5, -frameHeight / 2 + (index * spacing))
self:zoom(countFontSize)
self:settext(0)
self:diffuse(COLORS:getGameplayColor("PrimaryText"))
self:diffusealpha(1)
end,
PracticeModeResetMessageCommand = function(self)
self:settext(0)
end,
FinishSetUpMovableValuesMessageCommand = function(self)
self:xy(frameWidth / 2 - 5, -frameHeight / 2 + (index * spacing))
self:zoom(countFontSize)
end,
}
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ local function setUpOnlineScores()
onlineScores[i] = scoreUsingMultiScore(i)
end
else
onlineScores = DLMAN:GetChartLeaderBoard(GAMESTATE:GetCurrentSteps():GetChartKey())
onlineScores = DLMAN:GetChartLeaderBoard(GAMESTATE:GetCurrentSteps():GetChartKey()) or {}
end

-- hard limiting
Expand Down
Loading

0 comments on commit 08773a5

Please sign in to comment.