Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[DLL] GMTINT
+6
PedroX
Klior
gabrielsch
Lauro
Joker
Kabeção
10 participantes
Página 1 de 1
[DLL] GMTINT
GMTINT
Versão: 1.0.1
Compatibilidade: GM6, GM6.1, GM7, GM8 (não é compatível com GM8.1 e GM HTML5)
Créditos: Escrito por Kabeção, GMAPI lib para usar recursos do GM junto ao C++ (escrito por Snake_PL)
Com certeza você já viu aqueles jogos de luta 2D em que se pode escolher entre cores de roupa diferentes ou quando o personagem troca todas as cores para um tom de laranja dando um efeito de "queimado".
Isso era algo que eu sempre quis ter no GM. Embora seja possível, os método usando funções padrões são muito lentas e nem um pouco dinâmicas.
Então recentemente eu criei essa DLL capaz de manipular os pixel diretamente da memória (texturas do DX8.1). Essa versão ainda não tem de fato a mesma funcionalidade daqueles jogos, pois eles mudam a paleta de cores, aqui você mudara diretamente os pixels.
Obviamente se achar informações técnicas sobre isso trabalharei para trazer uma nova versão.
Exemplo: gmtint1.7.2.zip 252.47KBEntão recentemente eu criei essa DLL capaz de manipular os pixel diretamente da memória (texturas do DX8.1). Essa versão ainda não tem de fato a mesma funcionalidade daqueles jogos, pois eles mudam a paleta de cores, aqui você mudara diretamente os pixels.
Obviamente se achar informações técnicas sobre isso trabalharei para trazer uma nova versão.
Executável: gmtint1.7.2_exe.zip 1.52MB
Notas:
- Note que o GM usa o padrão RGB para cores e nas funções o alpha é definido separadamento em uma escala de 0 a 1, mas a GMTINT usa o padrão do DirectX, o ARGB, que é nada mais do que o RGB já calculado com o alpha onde o mesmo tem a escala de 0 a 255. Há várias funções de conversão, mesmo assim tenha cuidado ao usa-las.
- Não é possível manipular surfaces pois parece ter um erro na GMAPI em que a textura não é retornada corretamente, mesmo assim você ainda pode converter a surface para uma sprite ou background usando as funções padrões do GM.
- Não é compatível com o GM8.1 pois a lib GMAPI também não é.
- Não é compatível com o GM HTML5 pois ele não usa DirectX.
Características:
Versão 1.7.1
- Melhoria na velocidade de algumas funções
- Agora é possível definir e retornar valores HSV
- Implementação de sistema e data estruturadas para paletas
Versão 1.0
- É possível alterar sprites e backgrounds;
- É possível trocar todos os pixels de uma mesma cor de uma só vez;
- Use seleções retangulares para editar certas partes;
- Surfaces não são suportadas;
- Muitos scripts de conversão para trabalhar com as cores
Futuras características:
Para a próxima versão vou adicionar utilidades simples mas muito úteis como deixar preto e branco, mudar só a matriz, saturação, brilho, red, green, blue e/ou alpha.
Última edição por Kabeção em Dom 06 Nov 2011, 10:01, editado 7 vez(es)
Re: [DLL] GMTINT
Nossa cara muito bom mesmo,gostei,apesar que nao vou usar xD,e muito avançado para mim ainda xD,ta de parabens gostei muito da sua DLL,
Abraço,
Abraço,
Re: [DLL] GMTINT
=D
Kabeção que bom que você voltou!
Pô cara eu nunca me interessei muito assim de fazer um sistema desses com chars, mas ideia de alterar a cor dos backgrounds foi admirável.
Certamente ajudará muito em um jogo.
É impressão minha ou você esqueceu de por o link de download para a dll?
Kabeção que bom que você voltou!
Pô cara eu nunca me interessei muito assim de fazer um sistema desses com chars, mas ideia de alterar a cor dos backgrounds foi admirável.
Certamente ajudará muito em um jogo.
É impressão minha ou você esqueceu de por o link de download para a dll?
Lauro- Games Ranking :
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DLL] GMTINT
Eae cabeção! Finalmente voltou!
Bem, estou tendo um erro aqui, ao executar estou recebendo o seguinte erro:
Então Kabeção, o que me diz? Queria muito testar essa DLL!
Flw!
Bem, estou tendo um erro aqui, ao executar estou recebendo o seguinte erro:
O programa não pode ser iniciado porque está faltando MSVCP100D.dll no seu computador. Tente reinstalá-lo para resolver esse problema.
Então Kabeção, o que me diz? Queria muito testar essa DLL!
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [DLL] GMTINT
gabrielsch escreveu:Eae cabeção! Finalmente voltou!
Bem, estou tendo um erro aqui, ao executar estou recebendo o seguinte erro:O programa não pode ser iniciado porque está faltando MSVCP100D.dll no seu computador. Tente reinstalá-lo para resolver esse problema.
Então Kabeção, o que me diz? Queria muito testar essa DLL!
Flw!
Também tive o mesmo erro.
Sobre a dll, isto é algo que me interessa muito mesmo, já pensei muitas maneiras de fazer isso, porém sem muito sucesso, vejo que só é possível alterar uma unica cor da imagem por outra cor, Se você conseguisse reproduzir a função "Colorize Partial" do editor de imagens do game maker, nesta dll seria perfeito.
Klior- Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- C#
- Javascript
Re: [DLL] GMTINT
Realmente algo que seja promissor,pena eu não conseguir testar pelo mesmo motivo =S
Mas acho que falta e alguma instalação no windows .Tem vários jogos,como FIFA 10 que usa estas DLLs .
Se você puder explicar como usar ou fazer executar ou até mesmo instalar esta DLL teria como testar 'o'
flw
Mas acho que falta e alguma instalação no windows .Tem vários jogos,como FIFA 10 que usa estas DLLs .
Se você puder explicar como usar ou fazer executar ou até mesmo instalar esta DLL teria como testar 'o'
flw
Convidad- Convidado
Re: [DLL] GMTINT
Quanto a esse problema basta instalar o Microsoft Visual C++ 2010 Redistributable Package.
Fiz uma pequena alteração para tornar a função de conversão universal mas rápida além de converter para HSV nessa versão 1.0.1.
Na 1.2.0 já será possível retornar e mudar uma tabela de cor inteira (paleta), e com isso alguns funções de efeitos prefeitos para escala de cinza e inversão de cores.
Fiz uma pequena alteração para tornar a função de conversão universal mas rápida além de converter para HSV nessa versão 1.0.1.
Na 1.2.0 já será possível retornar e mudar uma tabela de cor inteira (paleta), e com isso alguns funções de efeitos prefeitos para escala de cinza e inversão de cores.
Última edição por Kabeção em Dom 23 Out 2011, 00:59, editado 1 vez(es)
Re: [DLL] GMTINT
então ta.vou instalar e testar...depois falo minha opinião quanto a engine .
obrigado por me ajudar kk
agora vou testar.
obrigado por me ajudar kk
agora vou testar.
Convidad- Convidado
Re: [DLL] GMTINT
Ainda não funcionou!
Eu fui instalar, e disse que o Microsoft Visual C++ 2010 Redistributable Package já estava instalado no meu PC, mesmo assim eu reparei, lembrando que meu sistema operacional é x64 bits, então eu baixei o x86 e x64 e ambos deram a mesma mensagem.
Mesmo depois de reparar ele ainda acusa o mesmo erro!
Flw!
Eu fui instalar, e disse que o Microsoft Visual C++ 2010 Redistributable Package já estava instalado no meu PC, mesmo assim eu reparei, lembrando que meu sistema operacional é x64 bits, então eu baixei o x86 e x64 e ambos deram a mesma mensagem.
Mesmo depois de reparar ele ainda acusa o mesmo erro!
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [DLL] GMTINT
Hum, que problema.gabrielsch escreveu:Ainda não funcionou!
Eu fui instalar, e disse que o Microsoft Visual C++ 2010 Redistributable Package já estava instalado no meu PC, mesmo assim eu reparei, lembrando que meu sistema operacional é x64 bits, então eu baixei o x86 e x64 e ambos deram a mesma mensagem.
Mesmo depois de reparar ele ainda acusa o mesmo erro!
Flw!
Baixe de novo, eu removi a dependência do Microsoft Visual C++ 2010 Redistributable Package e reupei.
Se ainda não der certo, tem algo errado com seu computador!
Re: [DLL] GMTINT
Pronto! Funcionou!
Testei e vi que algo realmente bem interessante, gostei dessa engine, e pretendo ver as novas atualizações, mas você poderia fazer para mudar as cores da sprite inteira não? tipo um colorize do Game Maker isso realmente seria MUITO útil nos projetos!
Espero ver mais atualizações dessa engine, e sinceramente, bom trabalho Kabeção!
Flw!
Testei e vi que algo realmente bem interessante, gostei dessa engine, e pretendo ver as novas atualizações, mas você poderia fazer para mudar as cores da sprite inteira não? tipo um colorize do Game Maker isso realmente seria MUITO útil nos projetos!
Espero ver mais atualizações dessa engine, e sinceramente, bom trabalho Kabeção!
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [DLL] GMTINT
Nova atualização!
Essa versão 1.7.0 já possui o sistema de paletas personalizadas.
De uma olhada no exemplo para conferir as função ds_palette.
Também já é possível definir matriz, saturação e brilho para um conjunto de pixeis.
Essa versão 1.7.0 já possui o sistema de paletas personalizadas.
De uma olhada no exemplo para conferir as função ds_palette.
Também já é possível definir matriz, saturação e brilho para um conjunto de pixeis.
Re: [DLL] GMTINT
Kabeção, não está funcionando aqui não.
O que será que pode ser?
Às vezes, o fundo muda. Mas o sprite mesmo não...
Alguma ideia?
Até mais!
O que será que pode ser?
Às vezes, o fundo muda. Mas o sprite mesmo não...
Alguma ideia?
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: [DLL] GMTINT
Não entendi direito qual o problema mas já adicionei uma série de correções na DLL e no exemplo.Pedrø escreveu:Kabeção, não está funcionando aqui não.
O que será que pode ser?
Às vezes, o fundo muda. Mas o sprite mesmo não...
Alguma ideia?
Até mais!
Um uso legal pra ela é o próprio jogador poder escolher as cores de cada parte de uma nave mesmo ela tendo só uma sprite, ou animar os background como nas fases de carnaval do Sonic e até criar efeitos para um ataque especial só mexendo nas cores.
Re: [DLL] GMTINT
Que bacana.
Funcionou perfeitamente aqui.
Consegui usar e achei muito massa,principalmente por mudar a cor em lugares específicos.
Parabéns .
Funcionou perfeitamente aqui.
Consegui usar e achei muito massa,principalmente por mudar a cor em lugares específicos.
Parabéns .
Convidad- Convidado
Re: [DLL] GMTINT
Parabéns Kabeção.. MUITO BOA AA DLL
sempre procurei um meio de fazer isso.. e consegui por GML.. mais fica meio lento e o Jogo acaba ficando umas 4x mais pesado =S...
bem... engine simplesmente exelente.. parabéns =D
esperando novas atualizações ;)
(PS:. Vo estuda um pouco mais ela e quem sabe eu faça um programinha pra ajudar a todos a usarem essa DLL =)... eee.. quem sabe com o GM HTML... eu possa naum fazer um sistema desse Online ;) .. (sei q num tem suporte com GM HTML... mais faria em GML e converteria em GML para a DLL =P.. )
é isso ae pessoal... e Parabéns mais uma vez pela incrivel DLL Kabeção ;)
abraço
té+
sempre procurei um meio de fazer isso.. e consegui por GML.. mais fica meio lento e o Jogo acaba ficando umas 4x mais pesado =S...
bem... engine simplesmente exelente.. parabéns =D
esperando novas atualizações ;)
(PS:. Vo estuda um pouco mais ela e quem sabe eu faça um programinha pra ajudar a todos a usarem essa DLL =)... eee.. quem sabe com o GM HTML... eu possa naum fazer um sistema desse Online ;) .. (sei q num tem suporte com GM HTML... mais faria em GML e converteria em GML para a DLL =P.. )
é isso ae pessoal... e Parabéns mais uma vez pela incrivel DLL Kabeção ;)
abraço
té+
Re: [DLL] GMTINT
Vou postar novamente os scripts que criei, pois haviam se perdido com o último problema do fórum... :|
Esse script cria uma nova ds de cores a partir de um arquivo de paletas ACT (Photoshop, Mugen, etc...)
Esse apenas redefine uma ds já criada, usando uma nova configuração, a partir de um arquivo ACT.
Esse script cria uma nova ds de cores a partir de um arquivo de paletas ACT (Photoshop, Mugen, etc...)
- Código:
/*
pallete_create_from_act('arquivo da paleta');
*/
var n, npal, nfile, nread, ntype, palsize;
nfile := argument0;
if not file_exists(nfile) then
begin
show_error('Act file not found.', false);
return (false) ;
end;
palsize := false;
nread := file_bin_open(nfile, 0);
ntype := file_bin_size(nread);
if ntype = $300 then palsize := $100;
if ntype = $304 then
begin
file_bin_seek(nread, $301);
palsize := file_bin_read_byte(nread);
end;
if palsize = false then
begin
show_error('Invalid or corrupted act file.', false);
file_bin_close(nread);
return (false);
end;
npal := gmt_ds_palette_create(palsize, 0);
file_bin_seek(nread, 0);
for (n := 0; n < palsize; n += 1)
begin
ncolor := $FF;
repeat (3) ncolor := (ncolor << 8) | file_bin_read_byte(nread);
gmt_ds_palette_set(npal, n, ncolor);
end;
file_bin_close(nread);
return (npal);
Esse apenas redefine uma ds já criada, usando uma nova configuração, a partir de um arquivo ACT.
- Código:
/*
pallete_redefine_from_act(id_da_paleta, 'arquivo da paleta');
*/
var n, npal, nfile, nread, ntype, palsize, palid;
palid := argument0;
nfile := argument1;
if not file_exists(nfile) then
begin
show_error('Act file not found.', false);
return (false) ;
end;
palsize := false;
nread := file_bin_open(nfile, 0);
ntype := file_bin_size(nread);
if ntype = $300 then palsize := $100;
if ntype = $304 then
begin
file_bin_seek(nread, $301);
palsize := file_bin_read_byte(nread);
end;
if palsize = false then
begin
show_error('Invalid or corrupted act file.', false);
file_bin_close(nread);
return (false);
end;
file_bin_seek(nread, 0);
for (n := 0; n < palsize; n += 1)
begin
ncolor := $FF;
repeat (3) ncolor := (ncolor << 8) | file_bin_read_byte(nread);
gmt_ds_palette_set(palid, n, ncolor);
end;
file_bin_close(nread);
return (true);
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DLL] GMTINT
Obrigado novamente pelos comentários.
É um formato bem simples de se mexer, vou implementar na próxima versão.
Obrigado.
Por falar nisso nem lembrei de fazer essa otimização lendo bytes as invés de texto puro, é muito mais eficiente além de deixar o arquivo menor.
Opa legal.Ninja8086 escreveu:Vou postar novamente os scripts que criei, pois haviam se perdido com o último problema do fórum... :|
Esse script cria uma nova ds de cores a partir de um arquivo de paletas ACT (Photoshop, Mugen, etc...)
- Código:
/*
pallete_create_from_act('arquivo da paleta');
*/
var n, npal, nfile, nread, ntype, palsize;
nfile := argument0;
if not file_exists(nfile) then
begin
show_error('Act file not found.', false);
return (false) ;
end;
palsize := false;
nread := file_bin_open(nfile, 0);
ntype := file_bin_size(nread);
if ntype = $300 then palsize := $100;
if ntype = $304 then
begin
file_bin_seek(nread, $301);
palsize := file_bin_read_byte(nread);
end;
if palsize = false then
begin
show_error('Invalid or corrupted act file.', false);
file_bin_close(nread);
return (false);
end;
npal := gmt_ds_palette_create(palsize, 0);
file_bin_seek(nread, 0);
for (n := 0; n < palsize; n += 1)
begin
ncolor := $FF;
repeat (3) ncolor := (ncolor << 8) | file_bin_read_byte(nread);
gmt_ds_palette_set(npal, n, ncolor);
end;
file_bin_close(nread);
return (npal);
Esse apenas redefine uma ds já criada, usando uma nova configuração, a partir de um arquivo ACT.
- Código:
/*
pallete_redefine_from_act(id_da_paleta, 'arquivo da paleta');
*/
var n, npal, nfile, nread, ntype, palsize, palid;
palid := argument0;
nfile := argument1;
if not file_exists(nfile) then
begin
show_error('Act file not found.', false);
return (false) ;
end;
palsize := false;
nread := file_bin_open(nfile, 0);
ntype := file_bin_size(nread);
if ntype = $300 then palsize := $100;
if ntype = $304 then
begin
file_bin_seek(nread, $301);
palsize := file_bin_read_byte(nread);
end;
if palsize = false then
begin
show_error('Invalid or corrupted act file.', false);
file_bin_close(nread);
return (false);
end;
file_bin_seek(nread, 0);
for (n := 0; n < palsize; n += 1)
begin
ncolor := $FF;
repeat (3) ncolor := (ncolor << 8) | file_bin_read_byte(nread);
gmt_ds_palette_set(palid, n, ncolor);
end;
file_bin_close(nread);
return (true);
É um formato bem simples de se mexer, vou implementar na próxima versão.
Obrigado.
Por falar nisso nem lembrei de fazer essa otimização lendo bytes as invés de texto puro, é muito mais eficiente além de deixar o arquivo menor.
Re: [DLL] GMTINT
incrivel a dll.
pena que como joker disse: "é avançada demais para min".
Engraçado que sei programar mais programas no gm do que games......
ainda assim, otima dll e engine
pena que como joker disse: "é avançada demais para min".
Engraçado que sei programar mais programas no gm do que games......
ainda assim, otima dll e engine
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DLL] GMTINT
Perfeito cara, baixe e já usando no meu novo projeto. Continue assim, só um mestre em gml pra criar algo assim.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos