Nestile - Um editor de ladrilhos para criar / editar gráficos NES
Introdução e requisitos do sistema
Usando Nestile
Economia e carregando ladrilhos
Menu de configuração
Espaços reservados / bugs
Contato / crédito
Introdução e requisitos do sistema
Nestile é um editor de ladrilhos criado apenas para editar gráficos para programas NES. Existem melhores editores de ladrilhos, mas que eu saiba, nenhum que seja utilizável no Linux, que é a plataforma de destino deste programa (embora deva funcionar em qualquer sistema operacional que atenda aos requisitos). É utilizável criar novos arquivos contendo dados gráficos RAW NES ou editar diretamente os arquivos contendo dados gráficos de NES bruto ou ROMs formatados INES que armazenam gráficos no Chr-ROM.
Para usar o programa, você precisará instalar o Python em sua máquina.
Execute o arquivo "Nestile" com o arquivo que você deseja abrir como argumento e a GUI será exibida. A janela longa e magra com o menu de arquivo é a janela do conjunto de ladrilhos, a menor janela com as cores na parte inferior é a janela do editor de ladrilhos e a outra janela é a janela da camada de ladrilhos. Ao iniciar o programa, todas as janelas devem ficar em branco.
A janela do conjunto de ladrilhos exibe todos os ladrilhos da sua ROM em monocromático, com preto representando a cor 0, o branco mais brilhante representando a cor 3 e a cor 1 e 2 representadas pelos segundos tons mais escuros e segundos mais brilhantes de cinza, respectivamente. Ao clicar em um ladrilho na janela do conjunto de ladrilhos, você escolhe qual ladrilho deseja editar na janela do editor de ladrilhos ou colar na janela da camada de ladrilhos. (Nota: quando eu digo a cor 0, 1, 2, 3, quero dizer que os pixels no arquivo Chr-ROM serão representados com o valor de 2 bits 0, 1, 2 ou 3. Consulte as informações sobre o NES formato gráfico para obter mais detalhes).
A janela do editor de ladrilhos é onde você realmente faz alterações em um ladrilho. Clique nas cores para escolher com qual cor desenhar. A cor mais à esquerda representa a cor 0, a à direita da cor 1, à direita dessa cor 2, e a mais à direita representa a cor 3. Edite o ladrilho clicando no mouse na tela de edição de ladrilhos. As edições que você faz aqui aparecerão na janela do conjunto de ladrilhos, bem como onde quer que você tenha o ladrilho colado na janela da camada de ladrilhos. Você pode alterar a paleta de cores que está usando clicando duas vezes em qualquer uma das cores para puxar a janela da paleta. Ao clicar em uma dessas cores, você atribui esse valor ao slot de cores atualmente selecionado. Isso não tem efeito sobre como os dados serão armazenados, por isso é principalmente para você ter uma idéia de como os gráficos podem ser (e você provavelmente vai querer alterá -lo, já que a paleta padrão que aparentemente selecionava enquanto estava bêbada ). A paleta disponível é retirada de paletas NES disponíveis gratuitamente (eu esqueço quem, talvez Loopy's). Um aviso sobre a mudança de paletas - o código para atualizar as informações de cores é muito, muito hackish. Escolher uma cor que é extremamente próxima de valor para outra cor já selecionada em sua paleta pode fazer com que o ladrilho altere quaisquer pixels, pois já selecionou a cor da cor recém -selecionada. Eu meio que duvido que esse seja um problema prático, pois acho que as cores teriam que ser quase indistinguíveis, de qualquer maneira. É improvável que isso seja corrigido, a menos que alguém me envie uma maneira melhor de atualizar as cores quando as paletas são alteradas. Além disso, há um inseto em que desenhar enquanto move o mouse pela borda da janela atrairá para o próximo azulejo.
A janela da camada de ladrilhos é onde você pode colar os ladrilhos, organizá -los e ter uma idéia de como eles ficam quando montados. Clicar na janela colará o ladrilho atualmente selecionado na janela da camada de ladrilhos, na grade 16x16 em que você clicou. A paleta atual é salva, portanto, quaisquer alterações na paleta na janela da camada de ladrilhos não afetam os ladrilhos que você já colou. Isso permite que você olhe para o mesmo ladrilho com diferentes paletas e tenha uma idéia de qual deles funcionará melhor para você.
Os arquivos podem ser carregados de duas maneiras diferentes. A primeira maneira é abrir um arquivo Raw ChR-ROM, no mesmo formato salvo como acima. Novamente, isso carregará apenas os primeiros 8192 bytes por enquanto. A segunda maneira é carregar uma imagem ROM de formato de INES que possui dados de Chr-ROM (cerca de 3/4 das ROMs conhecidas de NES). Novamente, isso é limitado, pois carregará apenas os primeiros 8192 bytes de Chr-ROM. Eu posso entrar em contato com isso, no entanto. Enquanto isso, se você quiser olhar para os outros dados em uma ROM INES, altere o código em Nestile (na verdade não seria muito difícil de fazer) ou usar uma ferramenta como "DD" para extrair os dados brutos de A ROM (que é o que eu faria, porque sou preguiçoso)
Os arquivos também podem ser salvos de uma de duas maneiras diferentes, dependendo de como foram carregadas. Se nenhum arquivo foi carregado ou um arquivo CHR RAW foi carregado, o arquivo será salvo como um arquivo CHR RAW. Se o arquivo foi carregado de um arquivo formatado da INES, ele será salvo como um. Isso significa que você pode usar o programa para editar os gráficos em ROMs com um Chr-ROM.
Algo a ser observado - as informações da paleta não são salvas de nenhuma forma ou moda. Isso existe como ajuda para você, mas você será responsável por acompanhar a paleta em seus próprios programas.
O menu de configuração é encontrado na opção "Editar" do Menubar na janela do conjunto de ladrilhos. Esta opção permite alterar o tamanho do Chr-ROM em que você está trabalhando no momento. No momento, isso funciona apenas para gráficos crus de Chr -ROM - ou seja, se você abrir um arquivo ROM do formato INES, não poderá alterar o tamanho (embora possa visualizá -lo). Isso pode mudar no futuro. O tamanho especificado será arredondado para o múltiplo mais próximo de 8192 bytes.
Muitos deles são mencionados acima, mas tentarei colecioná -los todos aqui para referência.
Desenhar a borda da janela na janela de edição de ladrilhos desenhará no ladrilho adjacente
Mudar uma cor na paleta para algo muito próximo da cor A já na paleta mudará quaisquer pixels desenhados nessa cor para a cor recém -selecionada também (isso pode não ser um grande problema, a menos que você esteja fazendo algo estranho ).
Você pode ter problemas com o programa se executar uma resolução de cores além de 16 bits (talvez não, porém - não o testasse).
Corrija que você não pode alterar duas cores na paleta para a mesma cor. Isso evita o bug mencionado acima, onde você pode substituir acidentalmente uma cor selecionando um semelhante a ele.
Adicione suporte para o clique esquerdo e o botão direito do clique em cores
Adicione indicadores de seleção para ladrilhos e cores atualmente selecionados
Divida a vista em uma classe separada do modelo de dados de ladrilhos
Atualize o ReadMe com novos requisitos e uma nova foto de tela
Adicionar suporte de roda de rolagem
Fazer a janela da paleta modal ou amarrada a qual cor é clicada com o botão direito
Adicione o layout de ladrilhos economizando
Adicionar processamento em lote de layout de ladrilhos
Adicione as opções de layout de ladrilhos para refletir com mais precisão as paletas da PPU
Corrija chr_rom_size
LOGIC
Faça strings nes_palette
Adicionar suporte de nome de arquivo SAVE/SAVEAS
Adicione suporte para especificar um arquivo para abrir na cmdline
Esta página da Web para este programa é http://ensomnya.net/projects/nestile/index.html que todas as atualizações feitas devem ser publicadas lá.
Obrigado a todas as pessoas que trabalharam na engenharia reversa do NES e criando documentação disponível gratuitamente para ele. Agradecemos também a John Finlay por seus documentos Pygtk, o que tornou muito fácil pegar essa biblioteca e fazer algo com ela. Agradeço também a Ted Kotz por revisar o código para executar no Python 3 e usar o Tknter em vez de Pygtk.