Salta ai contenuti

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:


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

Assegna alla skin un identificatore globalmente unico. Nomi duplicati possono far fallire il caricamento o creare problemi di cache.


Vuoi un feedback dinamico sui pulsanti? Due passi:

  1. Separazione dei layer: spezza sfondo e primo piano dei pulsanti (vedi il template skin 3DS)
  2. Configurazione JSON: aggiungi un campo asset al pulsante in info.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"]
}

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:

  • type definisce la curva di animazione. Al momento è supportato solo spring.
  • begin definisce il frame prima dell’inizio dell’animazione.
  • end definisce 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:

  • reverseScreens
  • volume
  • toggleControlls
  • toggleAnalog
  • tvType
  • leftDifficulty
  • rightDifficulty

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.


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 rapido
  • quickLoad: caricamento manuale rapido
  • fastForward: tieni premuto per il massimo avanti veloce
  • toggleFastForward: tocca per ciclare le velocità
  • reverseScreens: scambia schermo primario e secondario
  • volume: controllo muto
  • saveStates: apri la lista degli stati
  • cheatCodes: apri la lista dei trucchi
  • skins: apri la lista delle skin
  • filters: apri la lista dei filtri
  • screenshot: fai uno screenshot
  • haptics: regola il feedback di vibrazione
  • controllers: apri la lista dei controller
  • orientation: cambia le impostazioni di rotazione
  • functionLayout: entra nella configurazione del layout
  • restart: resetta il gioco
  • resolution: imposta la risoluzione del gioco
  • quit: esci dal gioco
  • amiibo:carica Amiibo per 3DS
  • homeMenu:torna al Home Menu del 3DS

Aggiunti dalla v1.4.2 in poi:

  • toggleControlls:mostra/nascondi i controlli
  • blowing:simula il soffio nel microfono
  • palette: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 AirPlay
  • airPlayLayout: 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 schermo
  • j2meSettings:apri la pagina impostazioni J2ME
  • dosSettings:apri la pagina impostazioni del core DOS
  • insertDisc:inserisci il disco

Novità dalla v2.0.0 in poi:

  • coreSettings:apri le impostazioni del core
  • rewind: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" ]
}

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.


Impacchetta la skin in tre passi:

  1. Metti tutti gli asset in piano (niente cartelle padre)
  2. Seleziona tutti i file e comprimili in uno ZIP non cifrato
  3. Scegli l’estensione che preferisci: .manicskin o .deltaskin

Consigliamo i template ufficiali, per una struttura corretta.



Inizia a progettare la tua skin. 🎨