Ga naar inhoud

Gids voor zelfgemaakte skins

Welkom bij de gids voor het maken van skins in Manic EMU! 🎮 Het skinsysteem van deze emulator is gebouwd op het DeltaSkin-framework en is volledig compatibel met het basisformaat van DeltaSkin. Wil je eerst de grondbeginselen van DeltaSkin leren, bekijk dan de officiële tutorial. Ontwerp je in Figma, kijk dan naar onze RetroSkinner. Daarmee zet je Figma-ontwerpen rechtstreeks om in skinbestanden.

Maar Manic EMU biedt nog meer. ✨ Zoals drukanimaties, vrij schalen, scherm omdraaien en meer. Zo gebruik je deze exclusieve functies:


Game-type-identificatie (gameTypeIdentifier)

Section titled “Game-type-identificatie (gameTypeIdentifier)”

Manic EMU gebruikt eigen game-type-identificaties:

  • 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

💡 Tip: voor compatibiliteit met zowel Delta als Manic EMU gebruik je rechtstreeks de identificaties van DeltaSkin — het systeem converteert automatisch.

Omdat sommige platforms compatibele controllers kunnen gebruiken, kun je in Manic EMU bepaalde platformskins mixen:

  • GB GBC
  • MD MCD 32X
  • MS GG SG-1000
  • NES FDS
  • DOS DOOM

Geef je skin een globaal unieke identificatie. Dubbele namen kunnen laadfouten of cacheproblemen veroorzaken.


Wil je dynamische knopfeedback? Twee stappen:

  1. Lagen scheiden: splits knopachtergronden en -voorgronden (zie 3DS Skin Template)
  2. JSON-configuratie: voeg in info.json een veld asset toe aan de knop

Voorbeeld: drukeffect toevoegen aan de A-knop

{
"asset": {
"normal": "a_button.pdf"
// Reserve for future state expansions
},
"frame": {
"height": 48,
"width": 48,
"x": 545,
"y": 552
},
"inputs": ["a"]
}

Maakt toggle mogelijk met persistente staat. Zie de standaardskin van de Atari 2600 voor een visueel voorbeeld.

Voorbeeld

{
"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
}

Er is een nieuw object animation toegevoegd (momenteel alleen ondersteund voor Switch Button). animation:

  • type bepaalt het type animatiecurve. Momenteel wordt alleen spring ondersteund.
  • begin definieert het frame vóór de animatie start.
  • end definieert het frame wanneer de animatie eindigt.

Let op: de coördinaten in begin en end zijn relatief ten opzichte van hun bovenliggende frame.

asset: Naast de asset normal is er een asset selected toegevoegd. Daarmee toont de control de bijbehorende resource in de staat selected (momenteel alleen ondersteund voor Switch Button).

inputs: De inhoud komt overeen met andere controls, maar hier mag je alleen strings doorgeven. Zie het als de functie die aan de Switch Button is gebonden. Dat kan een standaard commando-invoer zijn, zoals a, b, up, down…, of een Custom Function Button uit de volgende sectie.

Let op: sommige custom function buttons ondersteunen staatsbinding. Als inputs bijvoorbeeld op volume staat (mute), vraagt het systeem bij elke skinlading de volumestatus op en werkt de gebonden Switch Button bij. Zie het effect tvType in de standaardskin van de Atari 2600.

Custom Function Buttons die staatsbinding ondersteunen:

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

selfRetracting: Geeft aan of de Switch Button automatisch reset. Zie de resetknop van de Atari 2600, die na indrukken terugveert en een momentane schakelaar nabootst.


Manic EMU ondersteunt uitgebreide snelacties (let op versievereisten):

Ondersteund in v1.2.3 en hoger:

  • flex: ga naar de instellingen voor de skinindeling

Toegevoegd in v1.2.4 en hoger:

  • quickSave: snel handmatig opslaan
  • quickLoad: snel handmatig laden
  • fastForward: ingedrukt houden voor maximale versnelling
  • toggleFastForward: tikken om snelheden te doorlopen
  • reverseScreens: primaire en secundaire schermen wisselen
  • volume: mute
  • saveStates: lijst met savestates openen
  • cheatCodes: lijst met cheatcodes openen
  • skins: lijst met skins openen
  • filters: lijst met filters openen
  • screenshot: screenshot maken
  • haptics: trillingsfeedback aanpassen
  • controllers: lijst met controllers openen
  • orientation: rotatie-instellingen wijzigen
  • functionLayout: indelingsconfiguratie openen
  • restart: game resetten
  • resolution: gameresolutie instellen
  • quit: game afsluiten
  • amiibo:Amiibo’s laden voor 3DS
  • homeMenu:terug naar het Home Menu van 3DS

Toegevoegd in v1.4.2 en hoger:

  • toggleControlls:controllers tonen/verbergen
  • blowing:in de microfoon blazen simuleren
  • palette:palet voor GB GBC VB

Toegevoegd in v1.5.0 en hoger:

  • swapDisk:naar de volgende schijf of van kant wisselen voor FDS

Toegevoegd in v1.5.5 en hoger:

  • shake:schudsimulatie

Toegevoegd in v1.6.0 en hoger:

  • toggleAnalog:invoerapparaatmodus wisselen, bijvoorbeeld naar een PlayStation Controller of DualShock op PS1.

Toegevoegd in v1.7.0 en hoger:

  • retroAchievements:de pagina RetroAchievements openen.

Nieuw in v1.7.1 en hoger:

  • fastForward2x: ingedrukt houden om 2× te versnellen
  • fastForward3x: ingedrukt houden om 3× te versnellen
  • fastForward4x: ingedrukt houden om 4× te versnellen
  • airPlayScaling: hoe het gamescherm schaalt tijdens AirPlay
  • airPlayLayout: hoe games met meerdere schermen (zoals NDS) tijdens AirPlay worden geplaatst

Nieuw in v1.7.2 en hoger:

  • gameplayManuals:Gameplay Manuals openen

Nieuw in v1.7.3 en hoger:

  • triggerPro:de TriggerPro-configuraties wisselen

Nieuw in v1.8.3 en hoger:

  • tvType: wisselen tussen kleur en zwart-wit voor de Atari 2600.
  • leftDifficulty: linkerschakelaar voor moeilijkheid op de Atari 2600.
  • rightDifficulty: rechterschakelaar voor moeilijkheid op de Atari 2600.

Nieuw in v1.9.0 en hoger:

  • screenScaling:schermrekmodus wisselen
  • j2meSettings:de J2ME-instellingenpagina openen
  • dosSettings:de core-instellingenpagina voor DOS openen
  • insertDisc:de schijf plaatsen

Nieuw in v2.0.0 en hoger:

  • coreSettings:core-instellingen openen
  • rewind:ingedrukt houden om terug te spoelen

Voorbeeld: een herstartknop toevoegen

{
"asset": { "normal": "button.pdf" },
"frame": { ... },
"inputs": [ "restart" ]
}

⚠️ Kritieke herinnering
Wijs niet meerdere functies toe aan één knop. Bijvoorbeeld:

// ❌ Dangerous Example!
{
"inputs": [ "restart", "quit" ]
}

Vanaf V1.9.0 ondersteunt Manic EMU geluidseffecten voor skinknoppen. Zet je audiobestanden om naar CAF, hernoem ze tot sound.caf en plaats ze in de hoofdmap van de skin voordat je alles inpakt.


Verpak je skin in drie stappen:

  1. Plaats alle assets plat (geen bovenliggende mappen)
  2. Selecteer alle bestanden en comprimeer tot een niet-versleuteld ZIP-bestand
  3. Kies je extensie: .manicskin of .deltaskin

We raden onze officiële templates aan om de structuur goed te houden.



Begin nu met het ontwerpen van je eigen skin. 🎨