Merge branch 'master' into gyro

This commit is contained in:
Mihai Alexandru
2025-06-14 21:22:25 +03:00
committed by GitHub
6 changed files with 40 additions and 2 deletions
+1 -1
Submodule assets updated: 066bc043e0...89031afbca
+23
View File
@@ -210,6 +210,16 @@ class Project extends HXProject
*/
static final UNLOCK_EVERYTHING:FeatureFlag = "UNLOCK_EVERYTHING";
/**
* `-DCENSOR_EXPLETIVES`
* If enabled, specifically disable "sexual explitives" in the game.
* This will forcibly censor these words (even if naughtyness is enabled), while leaving other swears.
*
* NOTE: This is needed because the Android platform specifically hates "fuck" and "cunt",
* but is fine with other naughtyness such as "cock", "asshole", implied sex, cigarettes, etc.
*/
static final CENSOR_EXPLETIVES:FeatureFlag = "CENSOR_EXPLETIVES";
/**
* `-DFEATURE_DEBUG_FUNCTIONS`
* If this flag is enabled, the game will have all playtester-only debugging functionality enabled.
@@ -401,6 +411,13 @@ class Project extends HXProject
*/
static final FEATURE_MOBILE_IAR:FeatureFlag = "FEATURE_MOBILE_IAR";
/**
* `-DFEATURE_NAUGHTYNESS`
* If this feature flag is enabled, naughtyness will be a toggleable option in the Options Menu.
* If disabled, the option will be hidden and the game will always be censored.
*/
static final FEATURE_NAUGHTYNESS:FeatureFlag = "FEATURE_NAUGHTYNESS";
//
// CONFIGURATION FUNCTIONS
//
@@ -758,6 +775,12 @@ class Project extends HXProject
// Should be true only on mobile builds.
FEATURE_TOUCH_CONTROLS.apply(this, isMobile());
// Should be true on mobile builds.
CENSOR_EXPLETIVES.apply(this, isMobile());
// Should be true on everything.
FEATURE_NAUGHTYNESS.apply(this, true);
// Should be true only on mobile release builds. Remember you can add the flag manually for testing.
FEATURE_MOBILE_ADVERTISEMENTS.apply(this, (isMobile() && isRelease() && envConfig != null));
FEATURE_MOBILE_IAP.apply(this, (isMobile() && isRelease() && envConfig != null));
+8
View File
@@ -56,11 +56,19 @@ class Preferences
static function get_naughtyness():Bool
{
#if NO_FEATURE_NAUGHTYNESS
return false;
#else
return Save?.instance?.options?.naughtyness;
#end
}
static function set_naughtyness(value:Bool):Bool
{
#if NO_FEATURE_NAUGHTYNESS
value = false;
#end
var save:Save = Save.instance;
save.options.naughtyness = value;
save.flush();
+1 -1
View File
@@ -2189,7 +2189,7 @@ class FreeplayState extends MusicBeatSubState
// Set the album graphic and play the animation if relevant.
var newAlbumId:Null<String> = daSong?.data.getAlbumId(currentDifficulty, currentVariation);
if (albumRoll.albumId != newAlbumId && !busy)
if (albumRoll.albumId != newAlbumId)
{
albumRoll.albumId = newAlbumId;
albumRoll.skipIntro();
@@ -108,9 +108,11 @@ class PreferencesMenu extends Page<OptionsState.OptionsMenuPageName>
*/
function createPrefItems():Void
{
#if FEATURE_NAUGHTYNESS
createPrefItemCheckbox('Naughtyness', 'If enabled, raunchy content (such as swearing, etc.) will be displayed.', function(value:Bool):Void {
Preferences.naughtyness = value;
}, Preferences.naughtyness);
#end
createPrefItemCheckbox('Downscroll', 'If enabled, this will make the notes move downwards.', function(value:Bool):Void {
Preferences.downscroll = value;
}, Preferences.downscroll,
+5
View File
@@ -559,6 +559,11 @@ class Constants
public static final GHOST_TAP_DELAY:Float = 3 / 8;
#end
/**
* Otherwise known as "The FuckCunt Variable"
*/
public static final CENSOR_EXPLETIVES:Bool = #if CENSOR_EXPLETIVES true #else false #end;
/**
* The maximum number of previous file paths for the Chart Editor to remember.
*/