lukanpeixe / projetocastleroid

Trabalhando em códigos para o mod/mapa de aventura para Terraria produzido pelo Idealizador e seguidores do canal Press key to play.
Apache License 2.0
8 stars 7 forks source link

Operação # - Decompilar Terraria.exe e editar códigos #27

Closed ghost closed 7 years ago

ghost commented 8 years ago

Estou começando a deocmpilação aqui e tem 90k de linha de codigo, irá demorar um pouco...

ghost commented 8 years ago

Decompilado com sucesso, vou deixar o .txt disponivel pra vocês

ghost commented 8 years ago

Não tenho permi pra upar arquivos '-'

ghost commented 8 years ago

Link: http://www.mediafire.com/file/ffa8xnc0dkv0ulr/Terraria-c%C3%B3piadecomp.zip

ghost commented 8 years ago

Desculpa mas hj n to com paciencia pra ficar decompilar 4bit hexadecimal pra codigo e ficar adivinhando as dependencias desse código aqui, outra hora eu vou fazer aqui e ver se eu acho.

Gurigraphics commented 8 years ago

Não precisa decompilar pra assembly. Decompila direto pra C#. Usa Ilspy http://ilspy.net/ Ou Dootpeek ou https://www.jetbrains.com/decompiler/

Também não precisa decompilar o programa todo que demora ou trava tudo. Clica só na classe que tu quer ver o código, por exemplo, player, npc, world, etc.

E usa no executável que foi modificado pelo tmodloader, porque é ele que permite acesso ao código do Terraria de forma mais simples. Com tmodloader tu pode fazer pequenas alterações, e usar build+reload pra verificar erros e testar. Direto com exe, toda vez tu vai ter que compilar o terraria inteiro pra cada modificação. Por isso eu uso isso apenas para ver como funciona o código e saber como acessar isso.

ghost commented 8 years ago

@Gurigraphics É que não quero fazer alterações em sprites ou coisas simples quero modificar váriaveis e conceitos do próprio source

ghost commented 8 years ago

Mas vou dar uma olhada no ILSpy

ghost commented 8 years ago

Nossa que filha da putisse kkk

ghost commented 8 years ago

Mas não há como editar o código?

Gurigraphics commented 8 years ago

Com esses programas tu consegue visualizar o código. Mas se tu conseguir exportar todos arquivos, e depois reabrir no Visual Studio, daí tu faz o que tu quiser.

Kemado commented 8 years ago

Bom, se encontrar algo sobre style.ai, variaveis, arrays, funçoes enfim qualquer coisa ajudaria para entender como funciona a gravidade e velocidade no terraria caso o contrario teremos que fazer a mão. Ou até mesmo o código relacionado à colisões entre dois objetos...

ghost commented 8 years ago

Bom, ainda não consegui achar por exemplo: Os próprios itens do jogo, apenas as específicações/váriaveis.

ghost commented 8 years ago

As propriedades dos itens e coisas assim ficam no .xnb?

ghost commented 8 years ago

@Kemado Isso eu achei, se quiser eu dou uma olhada ou mando o código pra você

lukanpeixe commented 8 years ago

Não sei se vocês já conheciam, mas no corpo lateral desta página: https://github.com/bluemagic123/tModLoader/wiki tem várias informações e tabelas de dados sobre o Terraria Vanilla e o tmodloader. Informações sobre a AI e estrutura do código eu não encontrei, mas tem muita informação de decompilação já "mastigadas". Não é tudo que precisamos, mas já serve de referência.

ghost commented 8 years ago

Já olhei na documentação, tem nada e ainda não achei algo para editar xnb q-q

Gurigraphics commented 8 years ago

No .xnb ficam apenas imagens. E a ideia agora é não mudar nada da pasta Content. E depois distribuir apenas o arquivo castleroid.tmod.

As informações sobre itens ficam em Itens.cs.

lukanpeixe commented 8 years ago

No .xnb ficam apenas imagens. E a ideia agora é não mudar nada da pasta Content. E depois distribuir apenas o arquivo castleroid.tmod.

Exatamente, embora alterar o logotipo, cursores, fonte e interface seja muito tentador :V

Kemado commented 8 years ago

Da para fazer como o heromod, vc só tem o arquivo do mod sem as pastas então teoricamente o cara vai entrar no mapa e jogar. Não vai poder alterar nada sem ter os arquivos.

ghost commented 8 years ago

@Gurigraphics Então é isso que eu to falando, não acho o .cs.

Gurigraphics commented 8 years ago

@Gurigraphics Então é isso que eu to falando, não acho o .cs.

Usa os programas que eu listei acima.

Da para fazer como o heromod, vc só tem o arquivo do mod sem as pastas então teoricamente o cara vai entrar no mapa e jogar. Não vai poder alterar nada sem ter os arquivos.

Isso. O arquivo castleroid.tmb gerado depois de um build+reload é suficiente para outra pessoa poder jogar sem ter que instalar mais nada além do tmodloader.

E se ele for compartilhado pela aquela opção "web", daí só quem Terraria original consegue baixar.

ghost commented 8 years ago

@Gurigraphics Já tentei, ele apenas mostra váriaveis e constantes do tipo: "Is axe, Is hammer" e coisas do genero, n tem os próprios itens.