Pular para o conteúdo

Guia de skins caseiras

Bem-vindo ao guia de criação de skins do Manic EMU. O sistema de skins deste emulador é baseado no framework DeltaSkin e é compatível com o formato base do DeltaSkin. Se quiser primeiro os fundamentos do DeltaSkin, veja o tutorial oficial. Se você desenha no Figma, confira o RetroSkinner. Ele transforma o design do Figma direto em arquivo de skin.

Mas o Manic EMU ainda tem extras. Por exemplo animações de toque, escala livre, inversão de telas e mais. Veja como usar esses recursos exclusivos:


Identificador do tipo de jogo (gameTypeIdentifier)

Seção intitulada “Identificador do tipo de jogo (gameTypeIdentifier)”

O Manic EMU usa identificadores próprios:

  • 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

💡 Dica: para compatibilidade com Delta e Manic EMU, use direto os identificadores do DeltaSkin — o sistema converte sozinho.

Como algumas plataformas aceitam controles compatíveis, você pode misturar certas skins no Manic EMU:

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

Dê à skin um identificador único no mundo. Nomes repetidos podem falhar no carregamento ou bagunçar o cache.


Quer feedback dinâmico nos botões? Dois passos:

  1. Separar camadas: separe fundo e frente dos botões (veja o template de skin 3DS)
  2. Configuração JSON: adicione um campo asset ao botão no info.json

Exemplo: efeito de toque no botão A

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

Ativa um toggle com persistência de estado. Como referência visual, veja a skin padrão do Atari 2600.

Exemplo

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

Foi adicionado um objeto animation (por enquanto só no Switch Button). animation:

  • type define a curva da animação. Por enquanto só spring.
  • begin define o frame antes da animação começar.
  • end define o frame quando a animação termina.

Observação: as coordenadas em begin e end são relativas ao frame pai.

asset: Além do asset normal, há um asset selected. Assim o controle mostra o recurso correspondente no estado selected (por enquanto só no Switch Button).

inputs: O conteúdo é o mesmo dos outros controles, mas aqui só entram strings. Dá para entender como a função ligada ao Switch Button. Pode ser um comando padrão, como a, b, up, down…, ou um dos botões de função personalizados da seção seguinte.

Observação: alguns botões de função personalizados aceitam vínculo de estado. Se inputs for volume (mudo), o sistema consulta o volume a cada carregamento da skin e atualiza o Switch Button ligado. Veja o efeito de tvType na skin padrão do Atari 2600.

Botões de função personalizados com vínculo de estado:

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

selfRetracting: Indica se o Switch Button volta sozinho. Veja o botão de reset do Atari 2600, que rebate depois do toque e simula um interruptor momentâneo.


O Manic EMU aceita muitos atalhos (confira a versão):

Aceitos na v1.2.3 e superior:

  • flex: entrar nos ajustes de layout da skin

Adicionados na v1.2.4 e superior:

  • quickSave: save manual rápido
  • quickLoad: load manual rápido
  • fastForward: segure para o avanço máximo
  • toggleFastForward: toque para ciclar as velocidades
  • reverseScreens: trocar tela principal e secundária
  • volume: controle de mudo
  • saveStates: abrir a lista de estados
  • cheatCodes: abrir a lista de cheats
  • skins: abrir a lista de skins
  • filters: abrir a lista de filtros
  • screenshot: tirar captura
  • haptics: ajustar o feedback de vibração
  • controllers: abrir a lista de controles
  • orientation: mudar a rotação
  • functionLayout: entrar na configuração de layout
  • restart: resetar o jogo
  • resolution: definir a resolução do jogo
  • quit: sair do jogo
  • amiibo:carregar Amiibos no 3DS
  • homeMenu:voltar ao Home Menu do 3DS

Adicionados na v1.4.2 e superior:

  • toggleControlls:ocultar/mostrar controles
  • blowing:simular sopro no microfone
  • palette:paleta para GB GBC VB

Adicionados na v1.5.0 e superior:

  • swapDisk:trocar para o próximo disco ou virar o lado no FDS

Adicionados na v1.5.5 e superior:

  • shake:simulação de shake

Adicionados na v1.6.0 e superior:

  • toggleAnalog:trocar o modo do dispositivo de entrada, como passar para um PlayStation Controller ou DualShock no PS1.

Adicionados na v1.7.0 e superior:

  • retroAchievements:abrir a página do RetroAchievements.

Novo na v1.7.1 e superior:

  • fastForward2x: segure para avanço rápido em 2x
  • fastForward3x: segure para avanço rápido em 3x
  • fastForward4x: segure para avanço rápido em 4x
  • airPlayScaling: ajustar a escala da tela do jogo no AirPlay
  • airPlayLayout: escolher o arranjo de jogos com várias telas (como NDS) no AirPlay

Novo na v1.7.2 e superior:

  • gameplayManuals:abrir os manuais de gameplay

Novo na v1.7.3 e superior:

  • triggerPro:trocar as configs do TriggerPro

Novo na v1.8.3 e superior:

  • tvType: alternar modo colorido e preto e branco no Atari 2600.
  • leftDifficulty: interruptor de dificuldade esquerdo do Atari 2600.
  • rightDifficulty: interruptor de dificuldade direito do Atari 2600.

Novo na v1.9.0 e superior:

  • screenScaling:trocar o modo de esticar a tela
  • j2meSettings:abrir a página de ajustes do J2ME
  • dosSettings:abrir a página de ajustes do núcleo do DOS
  • insertDisc:inserir o disco

Novo na v2.0.0 e superior:

  • coreSettings:abrir as configurações do núcleo
  • rewind:segure para retroceder

Exemplo: adicionar um botão de restart

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

⚠️ Lembrete crítico
Não atribua várias funções a um botão só. Por exemplo:

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

A partir da V1.9.0, o Manic EMU aceita efeitos sonoros nos botões da skin. Converta o áudio para CAF, renomeie para sound.caf e coloque na raiz da skin antes de empacotar.


Empacote a skin em três passos:

  1. Coloque todos os assets no mesmo nível (sem pastas-pai)
  2. Selecione todos os arquivos e compacte num ZIP sem criptografia
  3. Escolha a extensão: .manicskin ou .deltaskin

Recomendamos os templates oficiais para acertar a estrutura.



Comece a desenhar a sua skin agora. 🎨