Skip to content

Commit

Permalink
Merge pull request #1243 from etternagame/develop
Browse files Browse the repository at this point in the history
0.72.3 merge
  • Loading branch information
poco0317 committed Mar 22, 2023
2 parents d91ef98 + 862b61c commit 9a0b9fb
Show file tree
Hide file tree
Showing 18 changed files with 364 additions and 82 deletions.
15 changes: 15 additions & 0 deletions .changelog/Release_0-72-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Release Changelog


## [0.72.3] - 2023-03-21 - Hotfix

### Added
- FrameLimit and FrameLimitGameplay added to legacy Graphics Options
- FrameLimit and FrameLimitGameplay added to Rebirth Graphics Options

### Fixed
- Crashing when hovering a Noteskin in options menu which has broken elements or cmd() use - [90a3f9d](../../../commit/90a3f9d354936f1c907cdf2890ea4fb764e89a6c)
- Crashing when replays catastrophically suck - [98e23af](../../../commit/98e23af05af8b450430c7eabf55e36027fa22079)
- Lua error in Rebirth Help due to logo rename - [4400063](../../../commit/4400063b1e6818c16cc2a46787da08ebfcf10f5b)
- Replays hitting bad judgments when doing "lift" actions - [adeced7](../../../commit/adeced76697804d214286e9613a7bb5183ab5a0b)
- Replays misaligning some hits after hitting mines - [febd5ed](../../../commit/febd5ed140bbc165fdb801fca36354b1d505f3fe)
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.72.3] - 2023-03-21 - Hotfix

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

## [0.72.2] - 2023-03-01 - 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.2
VERSION 0.72.3
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.
2 changes: 1 addition & 1 deletion Docs/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ cmake -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" -G "Xcode" .. # macOS
- Arch: `pacman -S openssl`
- Alpine: `apk add openssl-dev`
- macOS: `brew install openssl`
- Windows: A CMake compatible version of OpenSSL is available at [Shining Light Productions](https://slproweb.com/products/Win32OpenSSL.html) website. You will need the 32bit and 64bit installers if you plan on building both versions. It's recommended to uninstall old versions to make sure CMake can find the correct latest version. Direct links: [32bit](https://slproweb.com/download/Win32OpenSSL-1_1_1s.exe), [64bit](https://slproweb.com/download/Win64OpenSSL-1_1_1s.exe). If these links are dead, look for the OpenSSL v1.1.1 install links (EXE or MSI) on the Shining Light Productions site. Typically we use the full versions rather than the Light versions.
- Windows: A CMake compatible version of OpenSSL is available at [Shining Light Productions](https://slproweb.com/products/Win32OpenSSL.html) website. You will need the 32bit and 64bit installers if you plan on building both versions. It's recommended to uninstall old versions to make sure CMake can find the correct latest version. Direct links: [32bit](https://slproweb.com/download/Win32OpenSSL-1_1_1t.exe), [64bit](https://slproweb.com/download/Win64OpenSSL-1_1_1t.exe). If these links are dead, look for the OpenSSL v1.1.1 install links (EXE or MSI) on the Shining Light Productions site. Typically we use the full versions rather than the Light versions.
- [depot_tools](https://dev.chromium.org/developers/how-tos/install-depot-tools) - Installation is platform specific. To skip installing this, follow the relevant instructions in [CLI Project Generation](CLI-Project-Generation).

### Linux Dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -725,10 +725,20 @@ local t = Def.ActorFrame {
},
Def.Sprite {
Name = "Logo",
Texture = THEME:GetPathG("", "Logo"),
Texture = THEME:GetPathG("", "Logo-E"),
InitCommand = function(self)
self:xy(actuals.ScrollerWidth + (actuals.ListWidth / 2), actuals.InfoHeight / 2)
self:zoomto(logoW, logoH)
registerActorToColorConfigElement(self, "title", "LogoE")
end
},
Def.Sprite {
Name = "LogoTriangle",
Texture = THEME:GetPathG("", "Logo-Triangle"),
InitCommand = function(self)
self:xy(actuals.ScrollerWidth + (actuals.ListWidth / 2), actuals.InfoHeight / 2)
self:zoomto(logoW, logoH)
registerActorToColorConfigElement(self, "title", "LogoTriangle")
end
},
LoadColorFont("Menu Bold") .. {
Expand Down
202 changes: 144 additions & 58 deletions Themes/Rebirth/BGAnimations/playerInfoFrame/settings.lua
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,8 @@ local translations = {
["CategoryInvalidating Options"] = THEME:GetString("Settings", "CategoryInvalidating Options"),
["CategoryGameplay Elements 1"] = THEME:GetString("Settings", "CategoryGameplay Elements 1"),
["CategoryGameplay Elements 2"] = THEME:GetString("Settings", "CategoryGameplay Elements 2"),
["CategoryGlobal Options"] = THEME:GetString("Settings", "CategoryGlobal Options"),
["CategoryGlobal Options 1"] = THEME:GetString("Settings", "CategoryGlobal Options 1"),
["CategoryGlobal Options 2"] = THEME:GetString("Settings", "CategoryGlobal Options 2"),
["CategoryTheme Options 1"] = THEME:GetString("Settings", "CategoryTheme Options 1"),
["CategoryTheme Options 2"] = THEME:GetString("Settings", "CategoryTheme Options 2"),
["CategorySound Options"] = THEME:GetString("Settings", "CategorySound Options"),
Expand Down Expand Up @@ -368,6 +369,10 @@ local translations = {
TextureResolutionExplanation = THEME:GetString("Settings", "TextureResolutionExplanation"),
VSync = THEME:GetString("Settings", "VSync"),
VSyncExplanation = THEME:GetString("Settings", "VSyncExplanation"),
FrameLimit = THEME:GetString("Settings", "FrameLimit"),
FrameLimitExplanation = THEME:GetString("Settings", "FrameLimitExplanation"),
FrameLimitGameplay = THEME:GetString("Settings", "FrameLimitGameplay"),
FrameLimitGameplayExplanation = THEME:GetString("Settings", "FrameLimitGameplayExplanation"),
FastNoteRendering = THEME:GetString("Settings", "FastNoteRendering"),
FastNoteRenderingExplanation = THEME:GetString("Settings", "FastNoteRenderingExplanation"),
ShowStats = THEME:GetString("Settings", "ShowStats"),
Expand Down Expand Up @@ -3555,7 +3560,8 @@ local function rightFrame()
"Gameplay Elements 2",
},
Graphics = {
"Global Options",
"Global Options 1",
"Global Options 2",
"Theme Options 1",
"Theme Options 2",
},
Expand Down Expand Up @@ -5109,7 +5115,7 @@ local function rightFrame()
--
-----
-- GLOBAL GRAPHICS OPTIONS
["Global Options"] = {
["Global Options 1"] = {
{
Name = "Language",
DisplayName = translations["Language"],
Expand Down Expand Up @@ -5405,6 +5411,52 @@ local function rightFrame()
return choice
end,
},
{
Name = "VSync",
DisplayName = translations["VSync"],
Type = "SingleChoice",
Explanation = translations["VSyncExplanation"],
Choices = {
{
Name = "On",
DisplayName = translations["On"],
ChosenFunction = function()
local v = true
PREFSMAN:SetPreference("Vsync", v)
if v == optionData.vsyncBefore then
modsToApplyAtExit["Vsync"] = nil
else
modsToApplyAtExit["Vsync"] = {
Name = "Vsync",
Value = v,
SetGraphics = true,
}
end
end,
},
{
Name = "Off",
DisplayName = translations["Off"],
ChosenFunction = function()
local v = false
PREFSMAN:SetPreference("Vsync", v)
if v == optionData.vsyncBefore then
modsToApplyAtExit["Vsync"] = nil
else
modsToApplyAtExit["Vsync"] = {
Name = "Vsync",
Value = v,
SetGraphics = true,
}
end
end,
},
},
ChoiceIndexGetter = function()
local v = PREFSMAN:GetPreference("Vsync")
if v then return 1 else return 2 end
end,
},
{
Name = "Display Color Depth",
DisplayName = translations["ColorDepth"],
Expand Down Expand Up @@ -5617,52 +5669,8 @@ local function rightFrame()
end,
},
]]
{
Name = "VSync",
DisplayName = translations["VSync"],
Type = "SingleChoice",
Explanation = translations["VSyncExplanation"],
Choices = {
{
Name = "On",
DisplayName = translations["On"],
ChosenFunction = function()
local v = true
PREFSMAN:SetPreference("Vsync", v)
if v == optionData.vsyncBefore then
modsToApplyAtExit["Vsync"] = nil
else
modsToApplyAtExit["Vsync"] = {
Name = "Vsync",
Value = v,
SetGraphics = true,
}
end
end,
},
{
Name = "Off",
DisplayName = translations["Off"],
ChosenFunction = function()
local v = false
PREFSMAN:SetPreference("Vsync", v)
if v == optionData.vsyncBefore then
modsToApplyAtExit["Vsync"] = nil
else
modsToApplyAtExit["Vsync"] = {
Name = "Vsync",
Value = v,
SetGraphics = true,
}
end
end,
},
},
ChoiceIndexGetter = function()
local v = PREFSMAN:GetPreference("Vsync")
if v then return 1 else return 2 end
end,
},
},
["Global Options 2"] = {
{
Name = "Fast Note Rendering",
DisplayName = translations["FastNoteRendering"],
Expand All @@ -5672,15 +5680,6 @@ local function rightFrame()
Directions = preferenceToggleDirections("FastNoteRendering", true, false),
ChoiceIndexGetter = preferenceToggleIndexGetter("FastNoteRendering", true),
},
{
Name = "Show Stats",
DisplayName = translations["ShowStats"],
Type = "SingleChoice",
Explanation = translations["ShowStatsExplanation"],
Choices = choiceSkeleton("On", "Off"),
Directions = preferenceToggleDirections("ShowStats", true, false),
ChoiceIndexGetter = preferenceToggleIndexGetter("ShowStats", true),
},
{
Name = "Tap Glow",
DisplayName = translations["TapGlow"],
Expand Down Expand Up @@ -5708,6 +5707,93 @@ local function rightFrame()
Directions = optionDataToggleDirectionsFUNC("showBanners", true, false),
ChoiceIndexGetter = optionDataToggleIndexGetterFUNC("showBanners", true),
},
{
Name = "Show Stats",
DisplayName = translations["ShowStats"],
Type = "SingleChoice",
Explanation = translations["ShowStatsExplanation"],
Choices = choiceSkeleton("On", "Off"),
Directions = preferenceToggleDirections("ShowStats", true, false),
ChoiceIndexGetter = preferenceToggleIndexGetter("ShowStats", true),
},
{
Name = "Framelimit",
DisplayName = translations["FrameLimit"],
Type = "SingleChoiceModifier",
Explanation = translations["FrameLimitExplanation"],
Directions = {
Left = function(multiplier)
local x = PREFSMAN:GetPreference("FrameLimit")
if x < 30 then
x = 1000
else
if multiplier then
x = x - 50
else
x = x - 1
end
end
if x < 30 then x = 0 end
PREFSMAN:SetPreference("FrameLimit", x)
end,
Right = function(multiplier)
local x = PREFSMAN:GetPreference("FrameLimit")
if x < 30 then
x = 30
else
if multiplier then
x = x + 50
else
x = x + 1
end
end
if x > 1000 then x = 0 end
PREFSMAN:SetPreference("FrameLimit", x)
end,
},
ChoiceIndexGetter = function()
return PREFSMAN:GetPreference("FrameLimit") .. ""
end,
},
{
Name = "FramelimitGameplay",
DisplayName = translations["FrameLimitGameplay"],
Type = "SingleChoiceModifier",
Explanation = translations["FrameLimitGameplayExplanation"],
Directions = {
Left = function(multiplier)
local x = PREFSMAN:GetPreference("FrameLimitGameplay")
if x < 30 then
x = 1000
else
if multiplier then
x = x - 50
else
x = x - 1
end
end
if x < 30 then x = 0 end
PREFSMAN:SetPreference("FrameLimitGameplay", x)
end,
Right = function(multiplier)
local x = PREFSMAN:GetPreference("FrameLimitGameplay")
if x < 30 then
x = 30
else
if multiplier then
x = x + 50
else
x = x + 1
end
end
if x > 1000 then x = 0 end
PREFSMAN:SetPreference("FrameLimitGameplay", x)
end,
},
ChoiceIndexGetter = function()
return PREFSMAN:GetPreference("FrameLimitGameplay") .. ""
end,
},
},
--
-----
Expand Down
7 changes: 6 additions & 1 deletion Themes/Rebirth/Languages/en.ini
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,8 @@ CategoryAppearance Options=Appearance Options
CategoryInvalidating Options=Invalidating Options
CategoryGameplay Elements 1=Gameplay Elements 1
CategoryGameplay Elements 2=Gameplay Elements 2
CategoryGlobal Options=Global Options
CategoryGlobal Options 1=Global Options 1
CategoryGlobal Options 2=Global Options 2
CategoryTheme Options 1=Theme Options 1
CategoryTheme Options 2=Theme Options 2
CategorySound Options=Sound Options
Expand Down Expand Up @@ -922,6 +923,10 @@ TextureResolution=Texture Resolution
TextureResolutionExplanation=Modify general texture resolution. Lower number will lower quality but may increase FPS.
VSync=VSync
VSyncExplanation=Restrict the game refresh rate and FPS to the refresh rate you have set.
FrameLimit=Frame Limit
FrameLimitExplanation=Set the FPS Cap for the game outside of gameplay. 0 is unlimited. Only works when VSync is off.
FrameLimitGameplay=Frame Limit Gameplay
FrameLimitGameplayExplanation=Set the FPS Cap for the game inside of gameplay only. 0 is unlimited. Only works when VSync is off.
FastNoteRendering=Fast Note Rendering
FastNoteRenderingExplanation=Optimize gameplay note rendering. Disable snap based noteskin features (not snaps themselves). Major boost to FPS.
ShowStats=Show Stats
Expand Down
3 changes: 2 additions & 1 deletion Themes/Rebirth/Languages/ja.ini
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,8 @@ CategoryAppearance Options=Appearance Options
CategoryInvalidating Options=Invalidating Options
CategoryGameplay Elements 1=Gameplay Elements 1
CategoryGameplay Elements 2=Gameplay Elements 2
CategoryGlobal Options=Global Options
CategoryGlobal Options 1=Global Options 1
CategoryGlobal Options 2=Global Options 2
CategoryTheme Options 1=Theme Options 1
CategoryTheme Options 2=Theme Options 2
CategorySound Options=Sound Options
Expand Down
4 changes: 2 additions & 2 deletions Themes/Rebirth/Scripts/00 ThemeInfo.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
THEMEINFO = {
Name = "Rebirth",
Version = "5",
Date = "20230301",
Version = "6",
Date = "20230321",
Author = "Celebelian, poco0317, and the Etterna Team"
}

Expand Down
Binary file modified Themes/_fallback/Graphics/Common splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions Themes/_fallback/Languages/en.ini
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,8 @@ FastLoad=If enabled, don't check songs for changes on load.
FastLoadAdditionalSongs=If enabled, don't check songs for changes to Additional Songs on load.
FastNoteRendering=If enabled, the Z buffer is not cleared after every note. This causes 3D Noteskins to collide, but substantially improves performance in gameplay. Disabling also enables some extra Noteskin features.
Fill Machine Stats=
FrameLimitGlobal=Set the framelimit of the menus. This may not apply when VSync is on. 0 means unlimited.
FrameLimitGameplay=Set the framelimit of just gameplay. This may not apply when VSync is on. 0 means unlimited.
FullTapExplosions = Toggle whether to play the full tap explosion animation on taps. Short means that they instantly end when you release your tap.
FooBar=This is an example explanation.
Game=Change the current game type with this option.
Expand Down Expand Up @@ -921,6 +923,8 @@ Force Color 2=Force Color 2
Force Effect=Force Effect
Force Transition=Force Transition
FooBar=FooBar
FrameLimitGlobal=Frame Limit Menu
FrameLimitGameplay=Frame Limit Gameplay
Freeze=Freeze
Game=Game
Get a better editor= Get a better editor
Expand Down
Loading

0 comments on commit 9a0b9fb

Please sign in to comment.