Guida alle skin fatte in casa
Benvenuto nella guida alla creazione di skin per Manic EMU! 🎮 Il sistema di skin di questo emulatore si basa sul framework DeltaSkin, ed è pienamente compatibile con il formato di base DeltaSkin. Se vuoi prima imparare i fondamenti di DeltaSkin, ti consigliamo il tutorial ufficiale. Se progetti in Figma, dai un’occhiata a RetroSkinner. Trasforma i design Figma direttamente in file di skin.
Manic EMU offre anche funzioni in più. ✨ Come animazioni di pressione, scala libera, ribaltamento dello schermo e altro. Vediamo come usare queste funzioni esclusive:
📁 Guida alla configurazione di info.json
Sezione intitolata “📁 Guida alla configurazione di info.json”Identificatore del tipo di gioco (gameTypeIdentifier)
Sezione intitolata “Identificatore del tipo di gioco (gameTypeIdentifier)”Manic EMU usa identificatori di tipo di gioco indipendenti:
- Wii:
public.aoshuang.game.wii - NGC:
public.aoshuang.game.ngc - Amiga:
public.aoshuang.game.amiga - C64:
public.aoshuang.game.c64 - NGP:
public.aoshuang.game.ngp - PCE:
public.aoshuang.game.pce - Symbian:
public.aoshuang.game.symbian - DOS:
public.aoshuang.game.dos - J2ME:
public.aoshuang.game.j2me - DOOM:
public.aoshuang.game.doom - JAGUAR:
public.aoshuang.game.jaguar - LYNX:
public.aoshuang.game.lynx - 7800:
public.aoshuang.game.7800 - 5200:
public.aoshuang.game.5200 - 2600:
public.aoshuang.game.2600 - Arcade:
public.aoshuang.game.arcade - DC:
public.aoshuang.game.dc - PS1:
public.aoshuang.game.ps1 - PM:
public.aoshuang.game.pm - VB:
public.aoshuang.game.vb - N64:
public.aoshuang.game.n64 - SS:
public.aoshuang.game.ss - MD:
public.aoshuang.game.md - MCD:
public.aoshuang.game.mcd - 32X:
public.aoshuang.game.32x - MS:
public.aoshuang.game.ms - GG:
public.aoshuang.game.gg - SG-1000:
public.aoshuang.game.sg1000 - MD:
public.aoshuang.game.md - PSP:
public.aoshuang.game.psp - 3DS:
public.aoshuang.game.3ds - NDS:
public.aoshuang.game.ds - GBA:
public.aoshuang.game.gba - GBC:
public.aoshuang.game.gbc - GB:
public.aoshuang.game.gb - NES:
public.aoshuang.game.nes - SNES:
public.aoshuang.game.snes
💡 Consiglio: per restare compatibile con Delta e Manic EMU, usa direttamente gli identificatori DeltaSkin: il sistema li converte in automatico.
Inoltre, alcune piattaforme possono condividere controller compatibili, quindi in Manic EMU puoi mescolare certe skin:
- GB GBC
- MD MCD 32X
- MS GG SG-1000
- NES FDS
- DOS DOOM
Identificatore unico della skin (identifier)
Sezione intitolata “Identificatore unico della skin (identifier)”Assegna alla skin un identificatore globalmente unico. Nomi duplicati possono far fallire il caricamento o creare problemi di cache.
🎮 Animazioni di pressione
Sezione intitolata “🎮 Animazioni di pressione”Vuoi un feedback dinamico sui pulsanti? Due passi:
- Separazione dei layer: spezza sfondo e primo piano dei pulsanti (vedi il template skin 3DS)
- Configurazione JSON: aggiungi un campo
assetal pulsante ininfo.json
Esempio: effetto di pressione sul pulsante A
{ "asset": { "normal": "a_button.pdf" // Reserve for future state expansions }, "frame": { "height": 48, "width": 48, "x": 545, "y": 552 }, "inputs": ["a"]}🎚️ Pulsante switch animato
Sezione intitolata “🎚️ Pulsante switch animato”Abilita un toggle con persistenza dello stato. Per un riferimento visivo, vedi la skin predefinita Atari 2600.
Esempio
{ "asset": { "normal": "fuction_button.pdf", "selected": "fuction_button.pdf" }, "frame": { "height": 40, "width": 20, "x": 30, "y": 569 }, "animation": { "type": "spring", "begin": { "height": 20, "width": 20, "x": 0, "y": 2 }, "end": { "height": 20, "width": 20, "x": 0, "y": 18 } }, "inputs": "menu", "selfRetracting": true}È stato aggiunto un oggetto animation (per ora solo per Switch Button).
animation:
typedefinisce la curva di animazione. Al momento è supportato solospring.begindefinisce il frame prima dell’inizio dell’animazione.enddefinisce il frame a animazione conclusa.
Nota: le coordinate in begin e end sono relative al frame padre.
asset:
Oltre all’asset normal, è stato aggiunto un asset selected. Così il controllo può mostrare una risorsa diversa nello stato selected (per ora solo per Switch Button).
inputs:
Il contenuto è lo stesso degli altri controlli, ma qui si possono passare solo stringhe. È la funzione legata allo Switch Button. Può essere un comando di input standard, come a, b, up, down…, oppure un Custom Function Buttons della sezione successiva.
Nota: alcuni pulsanti funzione personalizzati supportano il binding di stato. Se per esempio inputs è volume (controllo muto), a ogni caricamento della skin il sistema interroga lo stato del volume e aggiorna lo Switch Button collegato. Vedi l’effetto tvType nella skin predefinita Atari 2600.
I Custom Function Buttons con binding di stato sono:
reverseScreensvolumetoggleControllstoggleAnalogtvTypeleftDifficultyrightDifficulty
selfRetracting: Indica se lo Switch Button si resetta da solo. Pensa al pulsante di reset del gioco sull’Atari 2600, che torna indietro dopo la pressione, come un interruttore momentaneo.
⚙️ Custom Function Buttons
Sezione intitolata “⚙️ Custom Function Buttons”Manic EMU supporta molte azioni rapide (controlla i requisiti di versione):
Supportati dalla v1.2.3 in poi:
flex: entra nelle impostazioni di layout della skin
Aggiunti dalla v1.2.4 in poi:
quickSave: salvataggio manuale rapidoquickLoad: caricamento manuale rapidofastForward: tieni premuto per il massimo avanti velocetoggleFastForward: tocca per ciclare le velocitàreverseScreens: scambia schermo primario e secondariovolume: controllo mutosaveStates: apri la lista degli staticheatCodes: apri la lista dei trucchiskins: apri la lista delle skinfilters: apri la lista dei filtriscreenshot: fai uno screenshothaptics: regola il feedback di vibrazionecontrollers: apri la lista dei controllerorientation: cambia le impostazioni di rotazionefunctionLayout: entra nella configurazione del layoutrestart: resetta il giocoresolution: imposta la risoluzione del giocoquit: esci dal giocoamiibo:carica Amiibo per 3DShomeMenu:torna al Home Menu del 3DS
Aggiunti dalla v1.4.2 in poi:
toggleControlls:mostra/nascondi i controlliblowing:simula il soffio nel microfonopalette:palette per GB GBC VB
Aggiunti dalla v1.5.0 in poi:
swapDisk:passa al disco successivo o cambia lato per FDS
Aggiunti dalla v1.5.5 in poi:
shake:simulazione di scuotimento
Aggiunti dalla v1.6.0 in poi:
toggleAnalog:cambia la modalità del dispositivo di input, come passare a un PlayStation Controller o DualShock su PS1.
Aggiunti dalla v1.7.0 in poi:
retroAchievements:apri la pagina RetroAchievements.
Novità dalla v1.7.1 in poi:
fastForward2x: tieni premuto per avanti veloce a 2×fastForward3x: tieni premuto per avanti veloce a 3×fastForward4x: tieni premuto per avanti veloce a 4×airPlayScaling: regola come si scala lo schermo di gioco durante AirPlayairPlayLayout: scegli come disporre i giochi multi-schermo (come NDS) durante AirPlay
Novità dalla v1.7.2 in poi:
gameplayManuals:apri i Gameplay Manuals
Novità dalla v1.7.3 in poi:
triggerPro:cambia le configurazioni TriggerPro
Novità dalla v1.8.3 in poi:
tvType: passa tra modalità colore e bianco e nero per Atari 2600.leftDifficulty: interruttore difficoltà sinistra per Atari 2600.rightDifficulty: interruttore difficoltà destra per Atari 2600.
Novità dalla v1.9.0 in poi:
screenScaling:cambia la modalità di stiramento dello schermoj2meSettings:apri la pagina impostazioni J2MEdosSettings:apri la pagina impostazioni del core DOSinsertDisc:inserisci il disco
Novità dalla v2.0.0 in poi:
coreSettings:apri le impostazioni del corerewind:tieni premuto per riavvolgere
Esempio: aggiungere un pulsante Restart
{ "asset": { "normal": "button.pdf" }, "frame": { ... }, "inputs": [ "restart" ]}⚠️ Avvertenza importante
Non assegnare più funzioni a un solo pulsante. Per esempio:
// ❌ Dangerous Example!{ "inputs": [ "restart", "quit" ]}🎵 Effetti sonori
Sezione intitolata “🎵 Effetti sonori”Dalla V1.9.0 Manic EMU supporta effetti sonori sui pulsanti delle skin. Converti i file audio in formato CAF, rinominali sound.caf e mettili nella root della skin prima di impacchettare tutto.
📦 Guida al packaging della skin
Sezione intitolata “📦 Guida al packaging della skin”Impacchetta la skin in tre passi:
- Metti tutti gli asset in piano (niente cartelle padre)
- Seleziona tutti i file e comprimili in uno ZIP non cifrato
- Scegli l’estensione che preferisci:
.manicskino.deltaskin
Consigliamo i template ufficiali, per una struttura corretta.
🎨 Download delle skin ufficiali
Sezione intitolata “🎨 Download delle skin ufficiali”Inizia a progettare la tua skin. 🎨