Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 47 additions & 23 deletions assets/scripts/core/game-scene.js
Original file line number Diff line number Diff line change
Expand Up @@ -4231,7 +4231,7 @@ this._menuUpdateLogBtn = this.add.image(screenWidth - 30 - 50, 33, "GJ_WebSheet"
onDragStart(ptr);
if (isComingSoonPage()) return;
const levelId = window.currentlevel?.[2];
if (getLevelCoinRequirement(levelId) > (Number(window._totalsecretcoins) || 0)) return;
if (!window.unlockAllLevels && getLevelCoinRequirement(levelId) > (Number(window._totalsecretcoins) || 0)) return;
this.tweens.killTweensOf(cardBounceContainer, "scale");
this.tweens.add({ targets: cardBounceContainer, scale: 1.26, duration: 300, ease: "Bounce.Out" });
});
Expand Down Expand Up @@ -4295,7 +4295,7 @@ this._menuUpdateLogBtn = this.add.image(screenWidth - 30 - 50, 33, "GJ_WebSheet"

const requiredCoins = getLevelCoinRequirement(window.currentlevel?.[2]);
const collectedCoins = Number(window._totalsecretcoins) || 0;
if (requiredCoins > collectedCoins) {
if (!window.unlockAllLevels && requiredCoins > collectedCoins) {
return;
}

Expand Down Expand Up @@ -4358,7 +4358,7 @@ this._menuUpdateLogBtn = this.add.image(screenWidth - 30 - 50, 33, "GJ_WebSheet"
const levelId = lvl[2] || "level_1";
const requiredCoins = getLevelCoinRequirement(levelId);
const collectedCoins = Number(window._totalsecretcoins) || 0;
const levellocked = requiredCoins > collectedCoins;
const levellocked = !window.unlockAllLevels && requiredCoins > collectedCoins;
const levelDifficultyMap = {
"level_1": "diffIcon_01_btn_001",
"level_2": "diffIcon_01_btn_001",
Expand Down Expand Up @@ -5097,6 +5097,9 @@ _buildSettingsPopup() {
}

var infotextstrings = {
"Unlock All Levels": "Lets you play every main level without collecting the secret coins first.",
"No Wave Trail": "Hides the trail behind the wave. Was previously tied to Low Detail Mode.",
"Static Colors": "Skips recoloring objects on frames where their color has not changed. Speeds up busy levels, but colors may lag behind on levels that use pulse triggers.",
"Enable Portal Guide": "Enables extra indicators on portals.",
"Enable Orb Guide": "Enables extra indicators on orbs.",
"Practice Music Bypass": "Plays normal mode music in practice mode.",
Expand Down Expand Up @@ -5343,6 +5346,14 @@ _buildSettingsPopup() {
false
);

createToggle(container, column2X, startY, "Unlock All Levels",
() => window.unlockAllLevels,
(v) => window.unlockAllLevels = v,
null,
25,
true,
"Unlock All Levels"
);
createToggle(container, column2X, startY + spacingY, "Practice Music Sync",
() => window.practiceMusicSync,
(v) => {
Expand Down Expand Up @@ -5487,6 +5498,30 @@ _buildSettingsPopup() {
};

const buildPerformancePage = (container) => {
createToggle(container, column1X, startY + spacingY, "Low Detail Mode",
() => window.enableLDM,
(v) => window.enableLDM = v,
null,
25,
true,
"Low Detail Mode"
);
createToggle(container, column1X, startY + (spacingY * 2), "Static Colors",
() => window.optimizeColors,
(v) => window.optimizeColors = v,
null,
25,
true,
"Static Colors"
);
createToggle(container, column1X, startY + (spacingY * 3), "No Wave Trail",
() => window.noWaveTrail,
(v) => window.noWaveTrail = v,
null,
25,
true,
"No Wave Trail"
);
createNumberInput(container, column1X, startY, "Cull Distance",
() => (typeof window.cullDistance !== 'undefined' ? window.cullDistance : 3),
(v) => window.cullDistance = v,
Expand Down Expand Up @@ -5556,6 +5591,9 @@ _buildSettingsPopup() {
cullDistance: window.cullDistance,
settingInfoText: window.settingInfoText || {},
enableLDM: window.enableLDM,
optimizeColors: !!window.optimizeColors,
noWaveTrail: !!window.noWaveTrail,
unlockAllLevels: !!window.unlockAllLevels,
};
localStorage.setItem("gd_settings", JSON.stringify(settings));
localStorage.setItem("gd_useDirectInternet", String(!!window.useDirectInternet));
Expand Down Expand Up @@ -5586,6 +5624,9 @@ _buildSettingsPopup() {
enableOrbGuide: false,
enableMiniIcon: false,
enableLDM: false,
optimizeColors: false,
noWaveTrail: false,
unlockAllLevels: false,
cullDistance: 3
};

Expand Down Expand Up @@ -5617,6 +5658,9 @@ _buildSettingsPopup() {
window.useDirectInternet = !!data.useDirectInternet;
localStorage.setItem("gd_useDirectInternet", String(!!window.useDirectInternet));
window.enableLDM = !!data.enableLDM;
window.optimizeColors = !!data.optimizeColors;
window.noWaveTrail = !!data.noWaveTrail;
window.unlockAllLevels = !!data.unlockAllLevels;
}
_buildMacroPopup() {
if (this._macroPopup) return;
Expand Down Expand Up @@ -9599,26 +9643,6 @@ _applyMirrorEffect() {
this._showwippopup();
});

const ldmX = _0x2a115c + 160;
const ldmY = 495;
const ldmCheckOffset = -120;
const ldmTextOffset = -80;

var ldmIsOn = window.enableLDM;
var ldmCheckTexture = ldmIsOn ? "GJ_checkOn_001.png" : "GJ_checkOff_001.png";
var ldmCheck = this.add.image(ldmX + ldmCheckOffset, ldmY, "GJ_GameSheet03", ldmCheckTexture).setScale(0.8).setInteractive();
var ldmTxt = this.add.bitmapText(ldmX + ldmTextOffset, ldmY, "bigFont", "Low Detail Mode", 25).setOrigin(0, 0.5);
this._helplayer.add([ldmCheck, ldmTxt]);

this._makeBouncyButton(ldmCheck, 0.8, () => {
var current = window.enableLDM;
window.enableLDM = !current;
var newTexture = window.enableLDM ? "GJ_checkOn_001.png" : "GJ_checkOff_001.png";
ldmCheck.setTexture("GJ_GameSheet03", newTexture);
if (this._saveSettings) {
this._saveSettings();
}
});

const reqbtnX = _0x2a115c + 655;
const reqbtnY = 495;
Expand Down
8 changes: 8 additions & 0 deletions assets/scripts/core/level.js
Original file line number Diff line number Diff line change
Expand Up @@ -3335,6 +3335,7 @@ window.LevelObject = class LevelObject {
return triggered;
}
resetColorTriggers() {
this._lastChanHex = {};
this._colorTriggerIdx = 0;
this._touchColorTriggerActivated = new Set();
}
Expand Down Expand Up @@ -3541,6 +3542,9 @@ window.LevelObject = class LevelObject {
}
}
updateObjectDebugIds() {
const _want = !!(window.showObjectIds && !window.enableLDM);
if (this._debugIdsShown === _want) return;
this._debugIdsShown = _want;
if (window.showObjectIds && !window.enableLDM) {
if (this._debugIdTextsList && this._debugIdTextsList.length > 0) {
for (const idText of this._debugIdTextsList) {
Expand Down Expand Up @@ -4263,10 +4267,14 @@ window.LevelObject = class LevelObject {
}

applyColorChannels(colorManager) {
const _skipStatic = !!window.optimizeColors;
if (!this._lastChanHex) this._lastChanHex = {};
for (const chId in this._colorChannelSprites) {
const sprites = this._colorChannelSprites[chId];
if (!sprites || !sprites.length) continue;
const hex = colorManager.getHex(parseInt(chId, 10));
if (_skipStatic && this._lastChanHex[chId] === hex) continue;
this._lastChanHex[chId] = hex;
for (const spr of sprites) {
if (!spr || !spr.active) continue;
if (spr._cantColor) continue;
Expand Down
23 changes: 17 additions & 6 deletions assets/scripts/core/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -1605,8 +1605,14 @@ class PlayerObject {
this._shipDragActive = false;
this._streak.stop();
this._streak.reset();
this._waveTrail.stop();
this._waveTrail.reset();
if (window.noWaveTrail || this.p.isDead) {
this._waveTrail.stop();
this._waveTrail.reset();
} else {
this._waveTrail.setPosition(this._scene._playerWorldX, b(this.p.y));
this._waveTrail.setMiniScale(this.p.isMini);
this._waveTrail.update(_0x5af874);
}
return;
}

Expand Down Expand Up @@ -1641,8 +1647,13 @@ class PlayerObject {
this._waveTrail.setPosition(_0x119eb7, _0x519d38);
}
this._streak.update(_0x5af874);
this._waveTrail.setMiniScale(this.p.isMini);
this._waveTrail.update(_0x5af874);
if (window.noWaveTrail) {
this._waveTrail.stop();
this._waveTrail.reset();
} else {
this._waveTrail.setMiniScale(this.p.isMini);
this._waveTrail.update(_0x5af874);
}
const _0x3d69d2 = this.p.isFlying || this.p.isUfo;
if (_0x3d69d2 && !this._flyParticleActive) {
this._flyParticleEmitter.start();
Expand Down Expand Up @@ -3809,8 +3820,8 @@ if (this.p.isFlying || this.p.isUfo) {
_updateUfoJump(_dt) {
const _ufoJump = this.p.isMini ? 13.296 : 13.742;
const _ufoMini = window.ufoMiniDiv !== undefined ? window.ufoMiniDiv : 0.85;
const _ufoFastBase = window.ufoFastGrav !== undefined ? window.ufoFastGrav : 0.525;
const _ufoSlowBase = window.ufoSlowGrav !== undefined ? window.ufoSlowGrav : 0.425;
const _ufoFastBase = window.ufoFastGrav !== undefined ? window.ufoFastGrav : 0.540121;
const _ufoSlowBase = window.ufoSlowGrav !== undefined ? window.ufoSlowGrav : 0.450101;
const _ufoThreshold = 3.832796;
const _ufoFastGrav = this.p.isMini ? _ufoFastBase / _ufoMini : _ufoFastBase;
const _ufoSlowGrav = this.p.isMini ? _ufoSlowBase / _ufoMini : _ufoSlowBase;
Expand Down
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@
</script>
<script defer src="assets/scripts/utils/config.js"></script>
<script defer src="assets/scripts/core/triggers.js"></script>
<script defer src="assets/scripts/core/level.js?latest"></script>
<script defer src="assets/scripts/core/player.js?latehkjthykhst"></script>
<script defer src="assets/scripts/core/level.js?opt2"></script>
<script defer src="assets/scripts/core/player.js?wt1"></script>
<script defer src="assets/scripts/core/audio.js"></script>
<script defer src="assets/scripts/core/loading-screen.js"></script>
<script defer src="assets/scripts/core/level-editor.js?latest"></script>
<script defer src="assets/scripts/core/game-scene.js?latest3"></script>
<script defer src="assets/scripts/core/game-scene.js?unlock1"></script>
<script defer src="assets/scripts/core/main.js"></script>
<script>
new ResizeObserver(() => {
Expand Down