Skip to content

Commit

Permalink
Allow Noteskins to control by Snap, restricted by a Preference
Browse files Browse the repository at this point in the history
see comment within
  • Loading branch information
poco0317 committed Oct 18, 2019
1 parent 58d3236 commit 4b85287
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Themes/_fallback/Languages/en.ini
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ FailOffForFirstStageEasy=If enabled, the first stage will be considered Fail Off
FailOffInBeginner=If enabled, beginner will always be considered Fail Off.
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.
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=
FullTapExplosions = Toggle whether to play the full tap explosion animation on taps. Short means that they instantly end when you release your tap.
Game=Change the current game type with this option.
Expand Down
13 changes: 10 additions & 3 deletions src/Etterna/Actor/Gameplay/NoteDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,17 @@ MakeNoteResource(const RString& sButton,
NoteSkinAndPath nsap(
NOTESKIN->GetCurrentNoteSkin(), sElementAndType, pn, gc);

Color = "4th";
/* In its current state, the color feature here produces 9 times the actors
* we want. Anyone curious: That makes it 24x4x9 vs 24x4.
* This drops Gameplay FPS by several hundred, albeit uncapped and
* above 1000fps. Regardless, almost everyone doesn't care about this.
* By this logic we can cripple/disable the feature by doing this instead.
*/
if (PREFSMAN->m_FastNoteRendering)
Color = "4th";

map<NoteSkinAndPath, NoteResource*>::iterator it =
g_NoteResource[Color].find(nsap); // i cant figure out how color changes
// what actors are loaded... -mina
g_NoteResource[Color].find(nsap);
if (it == g_NoteResource[Color].end()) {
auto* pRes = new NoteResource(nsap);

Expand Down

0 comments on commit 4b85287

Please sign in to comment.