Assets

Tous les fichiers média vivent dans le dossier assets/ de la resource :

HZ-Loading/assets/
├── audio/       vos MP3
├── images/      fonds + logo
├── video/       un MP4 (voir les contraintes plus bas)
└── keybinds/    icônes SVG de touches

Déposer un fichier

Mettez un fichier dans le bon dossier et il apparaît dans le sélecteur du Creator. Cliquez Rescan dans l'éditeur et la liste se rafraîchit — sans restart.

La découverte fusionne deux sources : un manifest généré à la compilation de la resource, et un scan du dossier en direct. Le manifest garantit que les assets livrés sont toujours trouvés, y compris sur les hébergeurs qui interdisent le listage de répertoire ; le scan en direct est ce qui repère le fichier que vous venez de déposer.

Si votre hébergeur bloque le listage, la console le dit une fois au démarrage :
[HZ-Loading] io.popen unavailable — live asset discovery off, manifest only.
Sur un tel hébergeur, Rescan ne peut pas voir les nouveaux fichiers — listez-les à la main dans les champs de playlist du Creator.


Fonds

Quatre types :

TypeCe que ça fait
imagesUne playlist en fondu enchaîné. Réglez l'intervalle et la durée du fondu.
videoUne seule vidéo, plein écran.
video + imagesLa vidéo avec la playlist d'images en repli.
generativeUn fond animé généré dans le navigateur — aucun fichier nécessaire.
Par-dessus n'importe lequel : obscurcissement, désaturation, saturation, contraste et scanlines. L'auto-playlist est activée par défaut : toutes les images trouvées dans assets/images/ sont utilisées. Désactivez-la pour composer un sous-ensemble choisi.

Contraintes vidéo

720p, moins de 5 Mo, H.264. Une vidéo de loading screen se décode pendant que le jeu streame ses assets — sur une machine moyenne, un fichier trop lourd coûte au joueur des images par seconde exactement au moment où il n'en a aucune à perdre. L'éditeur affiche ces limites à côté du champ.
YouTube est accepté comme source de fond. Cela exige que le joueur ait internet à cet instant, et une surface de repli est dessinée derrière l'embed pour qu'un chargement lent ou bloqué n'affiche jamais un vide noir.

Musique

Déposez des MP3 dans assets/audio/, ou collez une URL audio directe.

Les joueurs disposent de la playlist, de l'aléatoire, du saut de piste, du volume et de la sourdine, avec le temps écoulé / la durée et une barre de position. Leurs choix de volume et de sourdine sont conservés entre les connexions, et la lecture se met en pause automatiquement à l'alt-tab.

Un lien YouTube n'est pas jouable comme musique. Seuls de vrais fichiers audio se lisent. Les entrées YouTube d'une playlist musicale sont filtrées, et si une playlist finit intégralement en YouTube, la carte musique se masque plutôt que d'afficher des contrôles morts.

Soit un fichier dans assets/images/, soit une URL https:// complète. Logo size fixe sa hauteur de base en pixels ; la poignée de redimensionnement de l'éditeur de layout la multiplie par-dessus, si bien qu'un logo héroïque peut occuper une large part de l'écran.

Vous pouvez écrire logo.webp, images/logo.webp ou assets/images/logo.webp — le préfixe redondant est normalisé, donc un chemin collé depuis le dépôt se résout correctement au lieu de casser.

Icônes de touches

assets/keybinds/ contient un SVG par touche, nommé d'après la touche elle-même — F1.svg, TAB.svg, M.svg. Un jeu par défaut est livré avec la resource.

Les icônes ne servent qu'aux styles de keybinds grid, list et compact. Le style keyboard par défaut dessine le clavier physique et ne les utilise pas. Quand une touche n'a pas de SVG correspondant, le nom de la touche s'affiche en pastille texte.


Noms de fichiers

Les noms sont validés côté serveur, avec protection contre la traversée de répertoire. Restez sur des noms simples et des extensions normales. Les espaces et les accents passent — l'interface les encode correctement — mais un nom contenant #, ? ou & est à éviter.