Files
GDevelop-Unlocked/patches/04-loading-screen.patch
BillyOutlast 30da3f8b4e Surgical conversion: Tier-1 patcher + launcher hook, Tier-2 extraction (Phases 1-5)
Replaces the 205-file fork delivery vehicle with patches/ + launcher/
+ versioned packages, per the implementation plan:

Phase 1: seam tripwires (27 tests) freezing every surgical target in
upstream (Usage predicate, %16 gate, SubscriptionChecker, debugger,
LoadingScreen branding, Electron hook surface, no-plugin-registry
verdict).

Phase 2: 5 generated Tier-1 hunks (round-trip verified; 3 files reach
byte-identical fork parity) + apply driver (dry-run gate, marker
verify, asar extract/repack).

Phase 3: launcher hook (preload fetch/XHR spoof of the two usage GETs,
BrowserWindow wrap, webRequest fallback, updater pin) + 06 loader
patch. Module._load interception dropped: renderers run a webpack
bundle, so the spoof rides the axios/XHR path the provider hydrates
from instead.

Phase 4: Tier-2 verbatim extraction (CustomAIClient + 12 Studio
modules + offline mock harness, manifest-pinned) + 07/08 verbatim
glue patches + pure generation shim with fail-closed leak guard.

Phase 5: web userscript demo (Tier-1 only, documented CORS/LAN/churn
limits). Phase 6 runbook + upstream provider-interface RFC draft
included; fork archiving left to owners (destructive).

Suite: 66 tests green (seams, patcher incl. re-apply refusal,
launcher incl. vm-sandbox fallback eval, tier-2 provenance, web).
2026-10-10 20:41:35 -04:00

74 lines
3.4 KiB
Diff

--- a/newIDE/app/src/ProjectManager/LoadingScreenEditor.js
+++ b/newIDE/app/src/ProjectManager/LoadingScreenEditor.js
@@ -105,16 +105,6 @@
}
checked={loadingScreen.isGDevelopLogoShownDuringLoadingScreen()}
onCheck={(e, checked) => {
- if (
- !checked &&
- !watermark.isGDevelopWatermarkShown() &&
- subscriptionChecker.current &&
- !subscriptionChecker.current.checkUserHasSubscription()
- ) {
- // If user wants to deactivate GDevelop splash screen although
- // watermark is hidden, we don't allow it if they have no subscription.
- return;
- }
loadingScreen.showGDevelopLogoDuringLoadingScreen(checked);
onUpdate();
}}
@@ -161,53 +151,7 @@
}
checked={watermark.isGDevelopWatermarkShown()}
onCheck={(e, checked) => {
- if (
- !checked &&
- !loadingScreen.isGDevelopLogoShownDuringLoadingScreen() &&
- subscriptionChecker.current &&
- !subscriptionChecker.current.checkUserHasSubscription()
- ) {
- // If user wants to deactivate watermark although GDevelop splash
- // screen is hidden, we don't allow it if they have no subscription.
- return;
- }
watermark.showGDevelopWatermark(checked);
- if (checked) {
- loadingScreen.setMinDuration(
- timeSettings.current.minDuration
- );
- loadingScreen.setLogoAndProgressFadeInDuration(
- timeSettings.current.logoAndProgressFadeInDuration
- );
- loadingScreen.setLogoAndProgressLogoFadeInDelay(
- timeSettings.current.logoAndProgressLogoFadeInDelay
- );
- } else if (
- subscriptionChecker.current &&
- !subscriptionChecker.current.hasUserSubscription()
- ) {
- if (
- loadingScreen.getMinDuration() < forcedLogo.minDuration
- ) {
- loadingScreen.setMinDuration(forcedLogo.minDuration);
- }
- if (
- loadingScreen.getLogoAndProgressFadeInDuration() >
- forcedLogo.logoAndProgressFadeInDuration
- ) {
- loadingScreen.setLogoAndProgressFadeInDuration(
- forcedLogo.logoAndProgressFadeInDuration
- );
- }
- if (
- loadingScreen.getLogoAndProgressLogoFadeInDelay() >
- forcedLogo.logoAndProgressLogoFadeInDelay
- ) {
- loadingScreen.setLogoAndProgressLogoFadeInDelay(
- forcedLogo.logoAndProgressLogoFadeInDelay
- );
- }
- }
onUpdate();
}}
/>