Associando arquivos do GM de forma diferente e criando projetos pelo Explorer

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Associando arquivos do GM de forma diferente e criando projetos pelo Explorer

Mensagem por GameMakerTutoriais em Ter 27 Mar 2012, 14:43



E aí pessoal. É o seguinte... Quem gosta de mexer com mais de uma versão do GM, uma hora ou outra acaba passando raiva com as associações erradas dos arquivos *.gmk e *.gm6. O problema é que a versão 8 entra em conflito ao associar arquivos com a 6 e 7. O mesmo acontece com a 7 em relação à 6. Isso é chato, mas seguindo os passos do tutorial abaixo a gente resolve isso.

Ele usa scripts que mexem no registro (Windows XPSP1, SP2 e SP3) e pode ser perigoso se você fizer algo errado. Também usa um pequeno patch no executável dos GM's 7 e 8. Não use isso se o seu Game Maker for original, porque o original testa a integridade do executável antes abrir, e obviamente vai estragar seu programa.

Como algumas coisas mudam de um PC pra outro, eu fiz scripts que fazem pesquisas pelas chaves certas. Siga os passos corretamente, confira as chaves que estão sendo apagadas e dê sequencia no tutorial. Se tudo der certo, seus GM's vão ficar assim:


  • Gm 4 abre, edita e salva *.gmd.
  • Gm 6 abre, edita e salva *.gm6.
  • Gm 7 abre, edita e salva *.gm7. Não associará *.gmk nem *.gm6, mas poderá abrir ambos.
  • Gm 8 abre, edita e salva *.gmk. Não associará *.gm6 nem *.gm7, mas poderá abrir ambos.


E no menu de contexto do Explorer você vai poder criar projetos padrões do jeito que quiser:








Passo-a-passo

Donwload dos scripts e patch: http://bit.ly/Hbvzhp

O primeiro passo é testar os patchs das versões 7.0.5.0 e 8.0.0.0 do Game Maker. Para conferir qual é a versão do seu programa, entre no Explorer e clique com o botão direito sobre o executável, peça "Propriedades" e vá à aba "Versão". Se as versões estão corretas, vamos prosseguir. Faça uma cópia de segurança dos executáveis originais e guarde-as onde preferir. Se algo der errado, você terá uma cópia do original.


No download que eu deixei disponível, além dos scripts há uma pasta chamada "Embed". Você vai copiar os executáveis originais das versões 7.0.5.0 e 8.0.0.0 para dentro dessa pasta. Não importa qual é o nome dos executáveis, de forma que se forem iguais, você poderá renomeá-los para que ambos fiquem dentro da pasta "Embed".

Se você usa só um dos dois, copie para a pasta apenas a versão que você usa. Mas importante lembrar que, futuramente, se você vier a usar a outra versão que você não tem agora, você terá que aplicar o patch nela também antes de usá-la. Por exemplo, se você usa agora apenas a 8.0.0.0 e aplicar o patch apenas nela, você não poderá usar a 7.0.5.0 até que aplique o patch nela também. Isso é importante, ou vai fazer bagunça no seu registro.

Dentro da pasta "Embed" há um script chamado "Apply.bat". Depois de copiados os 2 executáveis (ou só 1 deles), execute esse script e espere que o patch seja aplicado. Se tudo correu certo, o script vai mostrar uma mensagem dizendo: "Todos os patchs foram aplicados com sucesso.". Se ele mostrar alguma mensagem de erro, pare tudo, volte os arquivos para o seu devido lugar e poste aqui no fórum pra gente ver o que pode ser.

Copie os programas patcheados substituindo os executáveis originais. Tente executar o Game Maker patcheado e se ele entrar, tudo certo! Dentro da pasta "Embed" há uma pasta chamada "Backup". Depois que o patch é feito, as cópias de segurança dos executáveis originais são feitas pra dentro dessa pasta. Se o executável não rodar, basta pegar essa cópia que o programa ainda estará intacto. Essa é uma cópia de segurança a mais caso você tenha esquecido de criar a cópia que eu mencionei nos primeiros passos.

Tudo funcionando, vamos prosseguir. Se o patch foi aplicado você pode usar todos os scripts! Mas não execute ainda! Vamos passo-a-passo. Confira se todos esses arquivos estão no download que você extraiu:

Código:
_TemplateContextMenuADD.cmd
Default_GM43_Template.gmd
Default_GM61_Template.gm6
Default_GM70_Template.gm7
Default_GM80_Template.gmk
Scr-DeleteGMFileAssoc.cmd
Scr-DeleteOldGMRegistryKeys.cmd
Scr-GM4AutoFileExt.cmd
RegBackup\_Scr-GMKeysRegBackup.cmd

Os scripts só vão funcionar nos Windows versões XP-SP1, XP-SP2 e XP-SP3. Apesar de que os scripts CMD são compatíveis com o Vista e o Seven, não testei neles porque não sei como estão organizadas as chaves de registro.

Continuando... Cada um desses arquivos com extensão "*.cmd" são scripts que vão facilitar o nosso trabalho de edição do registro. Cada um tem uma função e eles só podem ser usados se o patch tiver funcionado, exceto o "_TemplateContextMenuADD.cmd" que também pode ser usado para outros tipos de arquivos, o que eu vou explicar no final do texto. O que nós vamos fazer agora é, através dos scripts, criar itens no menu de contexto do Explorer, um item para cada tipo de projeto do Game Maker. Quando clicarmos com o botão direito em um local e pedir o menu "Novo", esses projetos vão aparecer.

Agora, execute o script "_Scr-GMKeysRegBackup.cmd" que está dentro da pasta "RegBackup". Ele vai criar uma cópia de segurança das chaves do registro que encontrar do Game Maker. Quando finalizar, dentro da pasta "RegBackup" você vai encontrar vários arquivos com a extensão "*.reg". Esses são os backups das chaves. Se algo der errado, basta mesclar esses arquivos ao registro novamente e tudo voltará ao normal.

O próximo passo é retirar a associação das extensões "*.gmd", "*.gm6" e "*.gmk" com o executável do Game Maker. Pra isso, você vai executar primeiro o script "Scr-DeleteGMFileAssoc.cmd". Ele vai procurar pelas chaves de registro associadas ao Game Maker e perguntar se você deseja apagá-las. Confira se as chaves estão certas e responda "S" (sim) para cada chave que ele encontrar.


Em seguida execute o script "Scr-DeleteOldGMRegistryKeys.cmd". Confira e apague as chaves que ele encontrar do Game Maker. Reinicialize o Windows. Não faça logoff e login, REINICIALIZE.


Depois de reinicializar, você vai perceber que, se eles tinham, os quatro arquivos "*_Template" agora perderam a associação com o Game Maker. Isso está certo porque agora nós vamos associar novamente cada um.




Para quem usa o Game Maker 4.3:

Clique duas vezes sobre o arquivo "Default_GM43_Template.gmd". O Windows vai pedir que você escolha um programa para abrí-lo e obviamente você vai escolher o Game Maker 4.


Marque a caixa "Sempre usar o programa selecionado para abrir este tipo de arquivo". Clique em "Procurar", vá até o local onde está o executável do GM 4.3 e dê um "OK".


A janela do Game Maker vai abrir com um projeto vazio. Feche a janela sem alterar o projeto.

Tenha atenção agora! Pegue o arquivo "Default_GM43_Template.gmd", arraste e solte-o em cima do arquivo "_TemplateContextMenuADD.cmd". O script vai executar, aplicar as alterações no registro e pedir para reinicializar o sistema. Responda NÃO e em seguida execute o script "Scr-GM4AutoFileExt.cmd". Quando ele pedir para reinicializar, responda SIM.

Tudo certo, depois de reinicializar você vai ter um projeto do Game Maker 4.3 no menu de contexto! Você pode alterar o projeto substituindo o arquivo "Default_GM43_Template.gmd" que está na pasta "%AppData%\ShellNew\". Se o item não apareceu no menu, apenas feche o menu e abra-o novamente. Às vezes o Windows é meio lerdão mesmo. A opção estará lá como "Game Maker 4 Project". Terminamos.





Para quem usa as versões 6.* e/ou 7.0.5.0 e/ou 8.0.0.0

Abra o executável do Game Maker 6 e aqueles que nós patcheamos da 7.0.5.0 e 8.0.0.0. Agora cada um deles vai abrir um tipo de projeto. É por esse motivo que eu coloquei um projeto Template com a extensão "*.gm7", pois a partir de agora o Game Maker 7 vai trabalhar com esse arquivo ao invés do "*.gmk". Para cada versão, abra o arquivo respectivo e feche o programa em seguida (não altere o projeto):

Código:
Game Maker 6*       Default_GM61_Template.gm6
Game Maker 7.0.5.0    Default_GM70_Template.gm7
Game Maker 8.0.0.0    Default_GM80_Template.gmk

O Game Maker 8 ainda poderá ser usado para abrir os arquivos "*.gm6" também, mas ele não vai mais entrar em conflito com o Game Maker 6 ou 7.

Depois de abrir e fechar cada versão com o respectivo arquivo, vamos continuar. Tenha atenção agora. Pegue o arquivo "*_Template.*" da versão que você quer que apareça no menu de contexto (.gm6, .gm7 ou .gmk), arraste e solte-o em cima do arquivo "_TemplateContextMenuADD.cmd". O script vai executar, aplicar as alterações e pedir para reinicializar o sistema. Se você quer apenas o Template que acabou de usar, reinicialize. Se quer mais Templates, responda NÃO e continue adicionando os Templates das outras versões, arrastando e soltando em cima do script. Faça isso só uma vez para cada um. Quando terminar, reinicialize o Windows. Não faça logoff e login. REINICIALIZE.

Se tudo deu certo, agora a versão 7.0.5.0 do Game Maker abre, edita e salva arquivos do tipo "*.gm7" ao invés de “*.gmk” e a versão 8.0.0.0 será responsável por todos os arquivos "*.gmk", além de não associar mais a “*gm6”. A versão 6 continuará abrindo os arquivos "*.gm6" normalmente e nenhuma versão vai mais interferir nos arquivos da outra, mesmo que você carregue os programas num pendrive ou hd externo, porque os executáveis foram alterados definitivamente.

Se os scripts também funcionaram, agora quando você clicar com o botão direito no Explorer e entrar no menu "Novo", vão aparecer todas as versões de projetos do Game Maker que você escolheu. Você também pode alterar esses projetos trocando o arquivo Template que está na pasta "%AppData%\ShellNew". Mude o arquivo do jeito que quiser, colocando o projeto do seu jeito, adicionando dll's, engines, scripts, sprites, enfim... Já está pronto!


Pode acontecer de os itens não serem mostrados na primeira vez que o menu for aberto. Apenas feche o menu e abra-o novamente. É por essas e outras que adoramos o Windows.



O script "_TemplateContextMenuADD.cmd"

Você pode continuar usando esse script para colocar qualquer tipo de arquivo no menu de contexto do Explorer. Ele funciona sempre do mesmo jeito: pegue o arquivo que quer adicionar, arraste e solte-o sobre esse script. Ele cria uma entrada no registro e uma cópia do arquivo para a pasta:

Código:
%AppData%\ShellNew

Também é possível adicionar a entrada no registro sem a necessidade real de que haja um arquivo "Template". Mas nesse caso, nós vamos inserir o conteúdo binário do arquivo em um valor do tipo REG_BINARY com o nome "Data", o que dá um pouco mais de trabalho. Quando eu fiz o script, eu optei por criar o arquivo Template porque fica muito mais organizado e não vai engordar o registro desnecessariamente. E se você quiser mudar o arquivo é só trocá-lo na pasta que mensionei acima.



Mexer no registro é perigoso?

Além de perigoso é uma voadora com os dois pés no saco. Registro serve pra várias coisas, dentre elas: deixar seu sistema lento, vulnerável e bagunçado. Tanto os scripts quanto os patchs foram feitos com responsabilidade. Eu sei exatamente onde eu mexi e porque eu mexi. Só pegue esse download aqui do GMBR ou do fórum que está na minha assinatura.

Durante o processo, se os scripts encontrarem algum erro, é só cancelar a operação e parar. Siga os passos exatamente e faça o backup das chaves como eu disse. Eles mesmos vão avisar se der algo errado. Qualquer erro, dúvida ou ajuda, é só usar o tópico que vou ajudar. Valeu!

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum