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:
📁 Guia de configuração do info.json
Seção intitulada “📁 Guia de configuração do info.json”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
Identificador único da skin (identifier)
Seção intitulada “Identificador único da skin (identifier)”Dê à skin um identificador único no mundo. Nomes repetidos podem falhar no carregamento ou bagunçar o cache.
🎮 Animações de toque
Seção intitulada “🎮 Animações de toque”Quer feedback dinâmico nos botões? Dois passos:
- Separar camadas: separe fundo e frente dos botões (veja o template de skin 3DS)
- Configuração JSON: adicione um campo
assetao botão noinfo.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"]}🎚️ Botão interruptor animado
Seção intitulada “🎚️ Botão interruptor animado”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:
typedefine a curva da animação. Por enquanto sóspring.begindefine o frame antes da animação começar.enddefine 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:
reverseScreensvolumetoggleControllstoggleAnalogtvTypeleftDifficultyrightDifficulty
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.
⚙️ Botões de função personalizados
Seção intitulada “⚙️ Botões de função personalizados”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ápidoquickLoad: load manual rápidofastForward: segure para o avanço máximotoggleFastForward: toque para ciclar as velocidadesreverseScreens: trocar tela principal e secundáriavolume: controle de mudosaveStates: abrir a lista de estadoscheatCodes: abrir a lista de cheatsskins: abrir a lista de skinsfilters: abrir a lista de filtrosscreenshot: tirar capturahaptics: ajustar o feedback de vibraçãocontrollers: abrir a lista de controlesorientation: mudar a rotaçãofunctionLayout: entrar na configuração de layoutrestart: resetar o jogoresolution: definir a resolução do jogoquit: sair do jogoamiibo:carregar Amiibos no 3DShomeMenu:voltar ao Home Menu do 3DS
Adicionados na v1.4.2 e superior:
toggleControlls:ocultar/mostrar controlesblowing:simular sopro no microfonepalette: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 2xfastForward3x: segure para avanço rápido em 3xfastForward4x: segure para avanço rápido em 4xairPlayScaling: ajustar a escala da tela do jogo no AirPlayairPlayLayout: 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 telaj2meSettings:abrir a página de ajustes do J2MEdosSettings:abrir a página de ajustes do núcleo do DOSinsertDisc:inserir o disco
Novo na v2.0.0 e superior:
coreSettings:abrir as configurações do núcleorewind: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" ]}🎵 Efeitos sonoros
Seção intitulada “🎵 Efeitos sonoros”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.
📦 Empacotar a skin
Seção intitulada “📦 Empacotar a skin”Empacote a skin em três passos:
- Coloque todos os assets no mesmo nível (sem pastas-pai)
- Selecione todos os arquivos e compacte num ZIP sem criptografia
- Escolha a extensão:
.manicskinou.deltaskin
Recomendamos os templates oficiais para acertar a estrutura.
🎨 Downloads de skins oficiais
Seção intitulada “🎨 Downloads de skins oficiais”Comece a desenhar a sua skin agora. 🎨