extends Node class_name Config ## Global configuration for the Tekton Launcher # itch.io Configuration const ITCH_GAME_URL := "https://your-username.itch.io/tekton-local" const ITCH_DEVLOG_URL := "https://itch.io/api/1/your-key/game/your-game-id/devlog" # Replace with actual # Version manifest URL (hosted on itch.io or alongside game files) const VERSION_MANIFEST_URL := "https://your-username.itch.io/tekton-local/data/version.json" # Local paths (shared across platforms) const GAME_DIRECTORY := "user://game/" const LOCAL_VERSION_FILE := "user://version.txt" const BACKUP_DIRECTORY := "user://backup/" # Platform detection enum Platform {WINDOWS, LINUX, MACOS} static func get_current_platform() -> Platform: var os_name := OS.get_name() match os_name: "Windows": return Platform.WINDOWS "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD": return Platform.LINUX "macOS": return Platform.MACOS _: push_warning("Unknown platform: " + os_name + ", defaulting to Linux") return Platform.LINUX static func get_game_executable() -> String: match get_current_platform(): Platform.WINDOWS: return "tekton-local.exe" Platform.LINUX: return "tekton-local.x86_64" Platform.MACOS: return "tekton-local.app" return "tekton-local" static func get_game_pck() -> String: # PCK is the same across platforms, but we include platform in name for clarity match get_current_platform(): Platform.WINDOWS: return "tekton-local-windows.pck" Platform.LINUX: return "tekton-local-linux.pck" Platform.MACOS: return "tekton-local-macos.pck" return "tekton-local.pck" static func get_platform_name() -> String: match get_current_platform(): Platform.WINDOWS: return "windows" Platform.LINUX: return "linux" Platform.MACOS: return "macos" return "unknown" # UI Colors (Cyberpunk/Tech theme matching game aesthetic) const COLOR_PRIMARY := Color("#00d4ff") # Cyan const COLOR_SECONDARY := Color("#ff00aa") # Magenta const COLOR_BACKGROUND := Color("#0a0a1a") # Dark blue-black const COLOR_SURFACE := Color("#141428") # Slightly lighter const COLOR_SUCCESS := Color("#00ff88") # Green const COLOR_WARNING := Color("#ffaa00") # Orange const COLOR_ERROR := Color("#ff4444") # Red const COLOR_TEXT := Color("#ffffff") # White const COLOR_TEXT_DIM := Color("#888899") # Dim text