Windows and Mac installer release. Multiplayer is functional but private, so the option is hidden in this release.
- Ability to remap the RestartGameplay button - 2139a45 44def90 b84d52a
- Appveyor will build Windows installers - 7889aed 226f225 2e20c42
- Bug Report Title Menu choice - ba21ec5 6ae0e16 6f391b3 791582d
- Clickable difficulties - 71ac7ff
- cmd() format removal script - 5bfbdd1
- DownloadManager has had many major additions
- Account for cases where downloading may not always work - 5eb0981
- Download basic profile info (Name, Rank, Top Scores) - 25d6c75 91cd70f b292be9
- DownloadManager clears out the temp Cache Downloads folder on construction and destruction - 826363d e1089e5
- Download speed Lua access - 71716fe
- Favorite Syncing - f91cb36 dd3a4e3 708a543
- Goal Syncing - 16026d8 ab3185d
- JsonUtil is replaced by nlohmann_json - 1f6f088
- Links followed by DownloadManager are allowed to redirect - ac60041
- Logging In/Out - f95c698 b7b7550 a169c22 26bb418 078139d fa9eb01 90c0ef7 86a31db 0a2cebd 1e8290c
- Login Token Requests - 8b79096 1e4cd76 90c0ef7
- Lua access to a link to make an account on EtternaOnline - 154825e
- Lua access to see what the latest version of Etterna is according to EtternaOnline - 8b542b0 21461f2
- Mid-Gameplay Downloads - 03524a2
- Score uploading with ReplayData - f95c698 bfaaeb8 71b8795 8d4b2ee 530a57d c9fc19f a169c22 c93e58a 12cf2f2 4def248 bf3ce3b 3715c9b f528375 e9046db e079908 2c8408b 6012920 c880bfb acc38c3 1e83deb 1e4cd76 2962754 d2ddcbf f3a568b
- Top Score per profile list retrieving - 39dd6b9
- Top Secret Client Data Upload Key - bd63aea 98070cc 7b063de 84a0328 db3b63e b3172a7
- Exponential Weighted Moving Average option for the Error Bar - 2344255
- Filtering by length is now possible - 26559ef
- Floating Score Display - 2e3bf2a e2d465a 9e3cdc6 e7cb98b 8ee53cf a5cf24e 09adcd9 b1cab8a 47822b1
- Game Update Button on the Title Screen - 8f2d145
- German Translation - ca6ee26
- Libcurl - 609e5df a553327
- Linux mouse support - cf67599
- Lua access to all ReplayData info from a HighScore & PlayerStageStats - d935125 8d21265 2c12a83
- Lua access to the directory of the Etterna executable - 82dd344
- Lua access to Differential Reload & MusicWheel:ReloadSongList - 14a2059
- Lua access to InputFilter:IsBeingPressed - 82c4cc3
- Lua access to NetworkSyncManager - 69503d2
- Lua access to setting Judge Window - 11cbd6e
- Lua access to see downloadable Packs and check if they are queued to download - 6e13714
- Lua script to get a color by Grade - ff347bc
- Lua script to get a color with alpha by Judge - 28e7ae6
- Lua script table with default Judge Scales - b5f1d5b
- LuaJIT replaces the Stepmania custom Lua 5.1, so cmd() is now gone - 23a92e160da8ed 5a761f9
- Mac build is 64bit - 715f689 09f0461 92d9cf2 d3b29db 890276f
- Mac build is deployed to Dropbox from Travis - 2d03a81
- Mac mouse support - ed31534 f5f5069 fc1971d 22fac3c
- Mac mouse scrolling support - a54abd3
- Mac support for DiscordRPC - 07179b6
- MAD Library is back because sync issues could not be resolved - 3c7063a
- Minanyms - 185d68e 1089438
- Multiplayer Chat Overlay - 69503d2 8c99ae5 5c3d7d8 1947373 96bf9c5 ad2c68a cff68dc e64f811 1b8c1a7 15052af
- MusicWheel can sort by MSD Skillsets & Length - e53de21 8c08e92
- NetworkSyncManager holds a new Etterna-specific Protocol (ETTP) - 8c2dede 47b3fe0 f6f049b 7027dce b323c87 759e508 c7adb6b e79f694 3f0bd80 de40825 3a32cd6 52b27cf 35d5843 5b36262 4d5eabd 14c5e2d 21a5b19 21a5b19 a075a95 add9315 a4b7cb6 ab642cc
- nlohmann JSON for Multiplayer & Online Integrations - 90a9cc4 f6f049b 7027dce 65bfade
- Noteskins have access to a few more Lua Messages & visible features - 555a283 b3831ff fc01eef dcff549 936b818 b05c00e ced35c7
- Noteskin Previews & the Til Death implementation of them - a001db1 1505d85 ebb62b2 7555024 90dea77
- Other Online Integrations
- Loading window indication of attempting to connect to online - c3f6aa1
- Profile tab shows Online Top Scores - 39dd6b9 c9fc19f 862c0ef 5d072e2
- Display user rank - 25d6c75 c9e9d79 24d5776 515bd35 df7a186
- Asynchronous downloadable pack list retrieving - f571e03
- Core Pack Bundle Downloads - db70d23 36b9c25 2394f91 9e9ff48 8b79096 7f8ccd9 cc42c9d aba15f5 d8a7575 6c5cb16 77d12c6 ca4a953 59d83bd 8bc8c66 9344bbf 8a4cb0a a1758a3 7284467 d1b95ce 0565100
- Download Overlay rework - 59d83bd
- Download Screen rework - 9344bbf cc7d661 1f152ed d1b95ce
- EtternaOnline API v2 - def24bc
- Preference for pack download location - 97a0b5a bc1d923
- Score tab will show Online Leaderboards - 41f971e 74c6257 0d00061 57d63c1 2264b07 73caf32 aa51130 a3bdcf3 aa5f169 769aad2 84951fd 41716f7 fe4a4c1 e3ce7eb 13d704c 57dc187 812396f a5cf24e 09adcd9 b1cab8a baefd3e 58df91a b9e7ec2
- Preference for connection timeout (for ezsockets) - 3e4b2e5 7cbd41c cb95bd7 75067d5 ed6ff64 a4b7cb6 aee72cd 118995f 02b7875
- Preference for logging ETTP related Messages - fe7bba2
- Preference to load Playlists as MusicWheel Groups (then proceed to break it) - 619b75d f9982ad
- Renaming Profile can be done from SelectMusic - 606da10
- ReplayData will store into the ReplaysV2 folder and contain additional information about columns & Tap types - 198c255 2e9ffed a94a749 7fd067c 035c6c9 7159c0d
- Reworked Goal Display - 108a036 7c50eb9 331cdbd 647c9d6 9e3cdc6
- SQLiteCPP - dfd5017 8488f7b e8c73bb
- SQLite DB Song Cache - fa80c28 b2c1a65 3b6940f 477c3e3 06ed2d4 54198b3 78939ff 76ff23f b465096 7c70b82 9b0eeca fd6b34d b8d53ee a9302bc 2f9d366 500120e 75cd75c 02df71d
- Tags
- Temporary Experimental Overratedness Ratings on Scores - f0f525d 660e45f 37377c8 7990e8c
- Travis will build Mac installers - e47c377 d88f00a 3835fb3 d681b89 8b84e77 198a676
- uWebSockets for Etterna Multiplayer - 9175fde 19b822d 010df50 59eb5ba 37d43cd 0e10af2 aa30abe 097dddf
- XMLProfile & Experimental Profile DB - 0f1a9bd bad58e3 cde7526 7b253b1 b7f85b6 8c145b0 11c3284
- Aesthetic of Etterna has changed
- Clickable Title Menu Items - 2a8a970
- New default avatars - 9f8b454
- New default toasty - a3821a4
- New Evaluation Screen Positioning & Track Information - 065f061 e66004f 26bbb18 bd2a9a1
- New Favorite & Permamirror Icons - b76b019
- New installer icons - 2c02f35 6342a24
- New Player Options Screen background - 1dc0361 7d8816f
- New Splash/Loading Screen - 5de14f1 ce28703 0a2cebd 9863e31 6591804 83f37ac 5e9c7b4 fff0d9c
- After changes during this version, Song Search & Pack Download Search is broken. Replace the input checking method with some regex - cdc5f7b ad7b246
- BannerCache is now an ImageCache - 1fa09ea f3b6bdc
- Beginner & Easy difficulties no longer turn Fail off - 0cfee43
- ByMSD renamed to byMSD - 5075df2 0914eee
- ByMusicLength renamed to byMusicLength - 1f9fe6e
- Charts that are not 4k show the Difficulty number as the MSD - 7197a03
- clang-tidy was run on the source - 640ceea
- ColorBitmapText is now its own Lua-accessible Actor instead of being an element of ScreenNetSelectBase - 9d012b3
- DiscordRPC is compiled with -fPIC for static library support - 3ba0600
- Don't crash the game when in specific states on the MusicWheel while using SelectCurrent - 10da38e
- DownloadManager should not sleep for a full second when running curl download updates - d7ac18b
- DownloadManager should update every gameloop iteration, not just at startup - 3690feb
- Editable.ini will change Profile DisplayName & Lua has access to it - c06e17a 12a44f3
- Etterna has a website - a8ec099
- Etterna no longer comes with songs pre-installed - c34436c c6c0646
- F12 help menu is modern and correct - d5372e6
- Files with exactly 4 notes are considered valid - 7aab3b0
- Forget about mines when loading Offset Plots - 92cc75a
- Getting the best Grade for a Song is possible through Profiles instead of just the MusicWheel - 228da82
- Getting window sizes should be specific to OS/Env - ca30a62 8a62af8
- HighScore GetOffset/GetRow Vector functions should return references instead of copies - 46f73a3 a2ea43e
- Ignore string format optimization needs for single BPM files when displaying the BPM - 5b7e49d
- InputFilter doesn't need 2 arguments in a function to check for a button to be pressed - 7330e13
- InputFilter has 2 specific methods made for checking Shift/Control pressed states - 3962e55
- Instead of crashing when there is no Style to set at SelectMusic, go to the Title - 8b7493d
- Lua functions for getting Chartkeys and lists of Charts are named confusingly. Rename them (several iterations of change here) - 02775b6 a6b380c 51bc2c0 d1d0296 db5929b
- Modifying Playlists should save Profile to ensure changes are made - 27ac631
- NetworkSyncManager has to distinguish between SMO & Etterna Protocol now - 8c2dede b52c34d ccb60c7
- NoHolds force a score to become invalid - ab16fb1
- OffsetToJudgeColor, a function to find a color based on Judge Windows, requires a given millisecond input instead of second - 81586e0
- OffsetToJudgeColor functions consider the max Boo window - b05179f
- Optimize Lua for Offset Plots for various features, cleanliness & simplicity - 938f296 9260cc3
- Optimize OpenGL more by using modern functions for creating textures/mipmaps - ab42745 50656e8
- Optimize OpenGL's RageDisplay methods for creating textures & ending frames - 6852775
- Optimize Song Search by skipping sorting in some situations - 1836e26
- Pagination on the Goal interface is separated by filter/sort - 78ff727
- PlayerStageStats's GetGradeFromPercent will return a WifeGrade - 58ec71d
- Replace some instances of Stepmania with Etterna - 41d873a fae2db5 8326bb0 4e8b9d9 e95db8c b68031a 7791663 3f97bc3 629f00e c015665 bcc33c5
- ReplayData is unloaded after being written - 8de1477
- ReplayData containing lane information is loaded with extra features in Offset Plots - 3a2a910 0c4d37d
- ReplayData not containing lane information can be loaded in Offset Plots with some changes - a91d8e0
- Repurpose SMZip code to open Downloaded Packs - d2367b1
- Rewrite/Merge the Download Overlay into the System Layer Overlay - 20ef02c 04ebcf6
- Rewrite/Merge the Reload Overlay into the System Layer Overlay, replacing Credits - 3618d38
- Rewrote many input callbacks in Lua & transition Commands - 4c27584 a1b7a50 0d37b00
- Score tab renamed to Scores - 5c5d919
- Service Switch is now bound to
Ctrl
+Operator
due to fat fingers - 57ce8e5 - Support for clicking to change avatar - b4cad27 dd0fb66
- TextEntryScreen should have a black background - 1b0eca7
- Text Shadows are back (previously removed); FPS is fine - 77a529f
- Use getcwd instead of _getcwd for commandline arguments for obscure Linux-related (?) reasons - d67d984
- Validation of Scores is more exhaustive by considering loaded Lua, Autoplay, and Mods used - 7f038c4
- Validation keys for SSR calculations ignore certain Enums in generation - 7835f51
- Validation keys for SSR calculations account for Grades - 2b471ee
- Validation keys use millisecond values - cd35727
- Validation keys use sha256 - 98070cc
- Wife rescoring functions should not care about mine offsets - 6295fe5
- When displaying best Grades on MusicWheel, don't care about Style - aba80ed
- XML related Profile management (saving/loading) is handled by XMLProfile instead of Profile - f1fcdac
- XMod float values are rounded specifically to 2 decimals - a27c7e9
- Access to Multiplayer - 5d16124
- DancingCharacters in Backgrounds - 904abee
- Etterna Songs Pack - 9938baa
- Mangle the RatingOverTime function - 919ab7f
- Many things related to PlayerJoined due to Player 2 support removal - 8c80bba
- Old hack for missing Grades on the MusicWheel when entering SelectMusic - 2953a03 b670d80
- Pausing - 2d2c88e 2565009
- References to Composite Charts - 24067c4
- Reloading from the Options menu - a54d374
- Stepmania-custom Lua 5.1 cmd() style - 0791d8d
- Upload Profile button is replaced by Logging In - b7b7550
- Uploading a Profile - 7e6487c 439a919 e2bf44f
- 2.0x appeared slightly incorrect in the General tab - a86250f
- Boo window in Offset Plots breaks when converting Judges - e5ba40f
- Button to show ReplayData didn't work - 4d47698
- Changing the sync of a Song from Gameplay didn't reflect any changes after saving - a623eb3
- Clicking after not refocusing the window gave wrong coordinates - ae46c4b
- Clicking outside the Game Window counted as a click on screen - a96d1dd
- Clicking Start Game crashed. Fix this by ignoring the issue - 0e213f9
- Coverity Scan detected many defects
- Null/Uninitialized Pointers - b12757b cec97d0 8361385 1eadc40 4be5af1 80b35c6 09dc617 33bc784 ea648b9 2c1d3d6 1766eab f9d7a31
- Memory Leaks - dcc9295 bd8c6fd da3b757 3c565ee 24b5ab5 eab76f4 5821a3a ff8d36d 08ee76e
- Misc - 228fc16 9842959 8dc236c c7eafec bda2ce2 d5d89d2 bfafe52 822a485 bef2a68 822a485 74516bb 0e63b4d ed51c01 b950fc5 b7212d3 7b42be9 bdf95a4 fd3215c
- Crashed when judging Pump Holds/Rolls - 268b82d e8900cc 9bfcd95
- Crashed when making a Goal for an invalid Chart - 88024ef
- Cursor didn't show up in fullscreen on some Screens - ee97a5b
- Downloading packs crashed for packs already downloaded - 5d1f844
- Duplicate Goals could be created, which broke the system - 0d0402e
- Edge cases still existed where Player 2 can join - c624267
- Filter tab lagged very badly when numbers were left in the input and scrolling was attempted - 8507174
- FullProgressBar positioning was broken & its setting did nothing - 3805beb
- Gameplay Error Bar failed to load in some obscure situations due to particular logic - 3128f6e
- Getting PB Grades for Chartkeys was broken - 4ba2cf7
- Giving up in Gameplay sometimes gave score. Force it to invalidate and fail - 2e5dfd4
- Goals broke when songs contained were not loaded - e207279
- Grades didn't appear on the MusicWheel when entering SelectMusic for the first time after removing the old hack that fixed this - b670d80
- Half rates (0.05x) didn't get correctly factored into the sorting for the PB display in the General tab - e09236e
- Having multiple Profiles loaded caused weird/bad behavior with many aspects of the Game - 8fbcdc0 5594f6c 4cb2031
- If disconnected from Multiplayer while in Gameplay, odd internal behavior could occur - 72f2c74
- Image Cache was always deleted, causing loading slowness. Fix the Image Cache - 90939f2 f3b6bdc
- Internal Lua interaction with Judgment Messages was broken with Chord Cohesion Off - e103a9a
- Key modifier functions didn't work for Mac - 9baf024 3c5349a
- Mac specific defines in code were incorrect - f03d20d 37cfdb2
- Mac/Linux crashed for reasons related to Lua return codes - 4461eb0 7253309 d6671da 88b43bc 9daaa40
- Lag was reported when using LaneCover. Attempt to fix it - 13475e3
- Lane Cover didn't follow NoteField movement in CustomizeGameplay - 923d8af 4739b0b 43a66b8
- Lift Notes didn't work after the Chord Cohesion changes - 23731a8
- Multiplayer SSR values were broken - b73d93b
- NonEmptyRowVectors didn't consider rate when being packed into scores to upload - 71b8795
- NoteFieldColumns (lanes) were not equally spaced in KB7 - 78d5a71
- Pasting from clipboard didn't work on TextEntryScreen - 3962e55
- Playlists broke when songs contained within were not loaded - e207279
- Playlist interface pagination didn't work - b3ffdca
- Pressing 0 in Song Search changed tabs instead - 0e9a354
- RageFileManager_ReadAhead didn't work on Linux - 68625d4
- Rates on the Player Options Screen were out of order - 454c817
- ReplayData had no misses - 0fe54cd
- Saving Replays failed when the destination folder didn't exist - 5ad7366
- Softlocked when clicking the Pack tab while transitioning to the Pack tab - e240076
- Softlocked when redirecting input in Lua in some situations - a366581
- SuperShuffle had a strong left hand bias - b151f00 df2f0e0
- TestInput Screen did nothing - 3214b75
- Text Entry Screen sometimes held old entered text in the fields - c7da123
- Top Grades sort was broken. Attempt to fix it - 50d0775
- TopScore values indicating which Scores are PBs in the right order were incorrectly set - bdfe79d
- Unexpected/wrong characters were returned when grabbing characters from input through Lua - 2cae11e da7c4f0
- Various errors when there were no Songs loaded - 2f33a2b
- Windows 10 had issues building in some situations - a662005
- Writing ReplayData when there is nothing to write crashed - 58f8c1c
- Wrong song info showed up when moving onto packs from songs - a86de6e