Skip to content

De-hardcode constant dictionaries into external JSON files - #257

Merged
qrrk merged 7 commits into
masterfrom
dehardcode-dictionaries
Oct 8, 2026
Merged

qrrk merged 7 commits into
masterfrom
dehardcode-dictionaries

Conversation

@qrrk

@qrrk qrrk commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Closes #218.

Changes

  • Export Presets: Added data/*.json to include_filter in export_presets.cfg for both Linux and Windows presets.
  • Default Settings: Extracted default launcher settings into res://data/default_settings.json and updated settings_manager.gd.
  • PR Endpoints: Extracted changelog PR URLs into res://data/pr_endpoints.json and updated ChangelogDialod.gd.
  • Modpacks: Extracted Kenan modpack definitions into res://data/modpacks.json and updated ModManager.gd.
  • Soundpacks: Extracted soundpack configurations into res://data/soundpacks.json, refactored SoundpackManager.gd and SoundpacksUI.gd.
  • Releases: Extracted release URLs and platform asset filters into res://data/release_sources.json and historical stable releases into res://data/stable_releases.json, removing ~380 lines of hardcoded data from ReleaseManager.gd.
  • ZIP Extraction Optimization: Pre-creates directory hierarchies upfront and dispatches extraction across a worker thread pool (clampi(OS.get_processor_count(), 2, 16)), speeding up extraction of game archives by ~4.5x with zero external dependencies.

@qrrk
qrrk merged commit e0c2fd3 into master Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

De-hardcode all constant dictionaries currently in scripts

1 participant