GameCode Docs
CTRL K

Downloader · Funções

Primeira instalaçãoGitHub
A primeira instalação: o tema comanda o download e a extração.

O downloader baixa o jogo completo do GitHub e extrai. Aqui é o tema que dispara o download.

i

Os nomes dos pacotes e o repositório ficam em Configuração. Esta página é a referência das funções.

De onde vem o arquivo

O launcher lê a release mais recente do repositório configurado em downloader.github, e baixa o asset cujo nome o tema pedir.

Se você publicar um <nome>.zip.sha256 ao lado do pacote, o hash é conferido depois de baixar e antes de extrair.

ListAssets()essencial

Lista os arquivos disponíveis.

const arquivos = await ListAssets();
DownloadFile(asset)essencial

Baixa um arquivo.

await DownloadFile(arquivos[0]);
ExtractFile(caminho)essencial

Extrai o baixado. null = usa o último.

await ExtractFile(null);  // null = usa o último baixado

Progresso

OnProgress((pct) => {
  $('#barra').css('width', pct + '%');
});

O que acontece ao terminar

Depois de extrair, o launcher grava downloader: true no system.json e reinicia. Na próxima abertura ele pula direto para o launcher — o downloader só aparece na primeira instalação.

Se algo falhar

O arquivo temporário é apagado em qualquer desfecho: conexão caída, hash divergente, erro na extração. Um download de vários GB interrompido não fica ocupando disco.

A ferramenta também limpa sobras no boot, para o caso de o processo ter sido morto no meio.

Como o tema comanda o download, o fallback embutido não baixa. Por isso, downloader offline é bloqueado com aviso.

Downloader · Functions

First installGitHub
The first install: the theme drives the download and extraction.

The downloader fetches the full game from GitHub and extracts. Here the theme triggers the download.

i

Package names and the repository live in Configuration. This page is the function reference.

Where the file comes from

The launcher reads the latest release from the repo set in downloader.github, and downloads the asset whose name the theme asks for.

If you publish a <name>.zip.sha256 next to the package, the hash is verified after downloading and before extracting.

ListAssets()essential

Lists available files.

const files = await ListAssets();
DownloadFile(asset)essential

Downloads a file.

await DownloadFile(arquivos[0]);
ExtractFile(path)essential

Extracts the download. null = uses the last one.

await ExtractFile(null);  // null = usa o último baixado

Progress

OnProgress((pct) => {
  $('#barra').css('width', pct + '%');
});

What happens when it finishes

After extracting, the launcher writes downloader: true to system.json and restarts. Next time it goes straight to the launcher — the downloader only shows on first install.

If something fails

The temporary file is deleted on any outcome: dropped connection, hash mismatch, extraction error. An interrupted multi-GB download won't sit there eating disk space.

Leftovers are also cleaned at boot, in case the process was killed mid-way.

Since the theme drives the download, the built-in fallback won't download. That's why an offline downloader is blocked with a warning.

Downloader · Funciones

Primera instalaciónGitHub
La primera instalación: el tema comanda la descarga y la extracción.

El downloader descarga el juego completo de GitHub y lo extrae. Aquí el tema dispara la descarga.

i

Los nombres de los paquetes y el repositorio están en Configuración. Esta página es la referencia de las funciones.

De dónde viene el archivo

El launcher lee la release más reciente del repositorio configurado en downloader.github, y descarga el asset cuyo nombre pida el tema.

Si publicas un <nombre>.zip.sha256 junto al paquete, el hash se comprueba tras descargar y antes de extraer.

ListAssets()esencial

Lista los archivos disponibles.

const archivos = await ListAssets();
DownloadFile(asset)esencial

Descarga un archivo.

await DownloadFile(arquivos[0]);
ExtractFile(ruta)esencial

Extrae lo descargado. null = usa el último.

await ExtractFile(null);  // null = usa o último baixado

Progreso

OnProgress((pct) => {
  $('#barra').css('width', pct + '%');
});

Qué pasa al terminar

Tras extraer, el launcher graba downloader: true en system.json y reinicia. La próxima vez va directo al launcher — el downloader solo aparece en la primera instalación.

Si algo falla

El archivo temporal se borra en cualquier desenlace: conexión caída, hash distinto, error en la extracción. Una descarga de varios GB interrumpida no se queda ocupando disco.

Los restos también se limpian en el arranque, por si el proceso murió a medio camino.

Como el tema comanda la descarga, el fallback integrado no descarga. Por eso, downloader offline se bloquea con aviso.