1 semaninha

MixMods ficará pausada até dia 1 de Agosto, pois nós da 2nibble (Junior_Djjr, Meck e Vítor Kuhn (e Farias?)) estaremos focando num jogo para competir na Game Jaaj 6, iniciada ontem.
Lembrando que nós participamos da Game Jaaj 3 com o Nibble: Pizza Delivery, vencendo em "melhor qualidade técnica", veremos o que será desta...

Eu pensei em pré-criar 9 postagens para programar durante esses dias, mas eu preferi focar em finalizar e postar alguns bons mods (vistos dias atrás, como SA Optimized Map) e me preparar revendo sobre Unity. Então infelizmente esses dias ficarão sem postagens.

SA Optimized Map (texturas otimizadas)

Mod que otimiza as texturas do mapa (mundo) do GTA San Andreas, diminuindo o uso de disco, fazendo-o carregar um pouco mais rápido e economizando em torno de 20~30% do uso de memória RAM usada no streaming.
  
Qual é o problema do jogo?
GTA SA funciona por arquivos .txd, que são conjuntos de texturas. Originalmente cada modelo .dff usa somente um .txd.
Quando mais de um arquivo .txd usa a mesma textura, é um custo inútil de carregamento e memória, afinal, multiplica o peso das texturas.
Para você ter noção, a textura ws_rooftarmac1 é repetida em mais de 100 arquivos .txd de Los Santos!

Qual foi a minha solução?
Eu usei scripts batch para identificar e separar as texturas mais repetidas de Los Santos, em seguida, as mais repetidas de cada região.
Eu removi as texturas mais repetidas do .txd original e movi elas para um .txd genérico/compartilhado.
Assim, eu liguei os arquivos .txd para cada região, e cada .txd de região também usa o genérico da cidade.
Para isso eu usei uma função pouco usada no GTA SA, mas muito usada no GTA IV: txdp.
Por exemplo, a textura ws_rooftarmac1 que antes se repetia por mais de 100 arquivos .txd, agora só é carregada uma única vez. Se esta textura pesa 1 MB, só ela traz uma economia de mais de 100 MB de peso de disco, carregamento e memória!
Aparentemente a Rockstar North planejava fazer isso, mas somente para ruas. Há no PS2, mas os .txd genéricos estão vazios.
  
Até o momento, eu fiz somente em Los Santos:
la_generic.txd, lase_generic.txd, lanw_generic.txd e lahills_generic.txd
  
Há pontos ruins?
Basicamente não há nenhum ponto ruim.
Se você instalar um mod que muda o arquivo .txd original do jogo, somente irá tirar a otimização daquele .txd, o que não é realmente um problema. Você pode colocar prioridade menor neste mod.
No entanto, perceba que não faz sentido ter este mod instalado e instalar um mod como RoSA, pois você não terá mais a otimização. O RoSA e Map Textures Fix serão adaptados para isso no futuro.
Outro benefício é que as principais texturas ficam num txd único, por exemplo, basta trocar a textura de rua do .txd compartilhado que toda a cidade é afetada ao mesmo tempo.
Também não substitui nenhum arquivo do jogo, somente .txd, não atinge nenhum limite, nem requer nenhum script ou plugin.
Ou seja, este mod é multiplataforma (exceto mobile), e é excelente para os limites do PS2!
  
Bônus:
Visto que eu tive todas as texturas separadas para recompilar, eu aproveitei para substituir todas as texturas pelas versões melhores presentes nos jogos GTA III de Xbox e Manhunt. Eu somente fiz isso com as texturas iguais, várias delas são de mesma resolução mas com menos artefatos de compressão, e outras são somente 2X mais definidas, ou seja, não pesa e continua combinando com o estilo do jogo. Em torno de 50 texturas foram melhoradas (o 20~30% de otimização já considera o uso delas).
Os arquivos também já vêm com mipmaps (que aumenta muito pouco o uso de RAM comparado com as originais, mas é essencial). Dica: se você não quer usar anisotropic filtering alto, abra o la_generic.txd com Magic.TXD e dê CTRL+C na textura telewires_law para tirar mipmaps dos fios, para assim não desaparecerem de longe.
  
Você é livre para incluir este mod em seus projetos, desde que deixe créditos claros com um link para esta postagem.
  
‎Autor: Junior_Djjr
Download
40 MB

Veja também:
Map Textures Fix (corrigir texturas erradas) — parcialmente compatíveis
[Fonte primária]

GTA Brasil - Progresso v0.3 (não é mais v0.2.6)

Há um bom tempo eu anunciei que logo seria lançada a versão v0.2.6 do GTA Brasil.

Por um momento ela esteve praticamente pronta para lançar, mas eu tive que me afastar para focar em outros projetos meus e terceiros, e atrasou, mas parte do pessoal criou mais coisas, então decidimos adiar mais um pouco para finalizar mais coisas que estão em progresso.

A versão 0.2.6 já seria o maior update que o GTA Brasil já teve, mas essa 0.3 será ainda maior.


Este é o primeiro update que eu (Junior_Djjr) estou realmente administrando, organizando e revisando. Diferente dos outros updates, este terá foco em estabilidade e correção de bugs visuais, além de todas as novidades que eu já anunciei na postagem antiga. Mesmo agora já não há nenhum caso de crash.

O pessoal também está trabalhando em mais partes pro mapa, novos empregos e funcionalidades, como por exemplo a adição de vários muros em casas, pelo Iuricoelh e outras alterações drásticas do mapa que ainda estamos finalizando (algumas vão para a 0.3, outras devem demorar mais).

E eu foquei em finalmente finalizar o bairro adicional perto da Grove (mostrado no vídeo acima), após literalmente 1 mês de revisão, conversão e adaptação, ele já inclui até mesmo prelighting criado com iluminação indireta (radiosity). Mas ainda não está pronto, falta LOD, janelas acesas, objetos...
Os destaques estão na loja tuning e casa do Carlos com garagem exterior funcional (você pode estacionar inclusive motos e bicicletas no quintal que será salvo! Através do Garage Extender), também estamos tentando já incluir um interior de casa brasileira para esta casa, e assim finalmente o Carlos terá uma casa, como deveria ser.


Esta postagem é só um resumo, desde a postagem anterior muita coisa já foi feita, mas em breve vocês verão...



Mipmapping

Atualizado 21/07/21
  • Adicionado o arquivo dos arquivo .img do GTA SA já com mipmaps aplicados, para não ser necessário seguir o tutorial.

Mipmaps é como um anti-aliasing para texturas, que além de deixar o gráfico mais bonito e agradável, pode até aumentar o FPS do jogo diminuindo o uso da placa de vídeo.



As fotos deste post usam os seguintes mods:
Vegetação original em HD com palmeira compilada em DXT5;
Fixed Pre-Lighting;
SkyGfx com "zwriteThreshold=200";
Map Textures Fix.

Originalmente, o GTA SA só usa mipmapping em texturas de alguns chãos, mas neste post você verá o quão agradável o jogo fica ao colocar mipmapping em todas as texturas do GTA! Além do uso do Anisotropy.

Acredito que o GTA SA usou mip-mapping em poucas texturas pois ele aumenta um pouco o uso de memória, este é o único ponto fraco do mip-mapping, onde não é um problema pra nossos PCs de vários GBs, mas era um problema na época do PS2 com seus 32 MB de RAM.
De qualquer modo, a diferença é minúscula, o gta3.img muda de 896 MB para somente 905 MB.


Abra a print e vai indo pro lado para ver melhor as comparações:

(ignore a grama na segunda foto)

Na última imagem pode se ver a correção do fenômeno chamado Moiré pattern.


Como funciona?

Mipmap, à grosso modo, é como um LOD para texturas na qual tem um efeito de anti-serrilhado. As texturas que estão longe da câmera ou num ângulo acentuado ficarão mais borradas, assim não ficarão serrilhadas. Clique aqui para informações mais avançadas na Wikipedia.

Por que aumenta o FPS?

Como eu disse, é como um LOD, ou seja, é uma versão em baixa resolução da textura enquanto a mesma está longe ou num ângulo.
Em uma textura sem mip-map, quanto mais longe ou inclinada ela está da câmera, e quanto menos resolução há na sua tela, mais a placa de vídeo terá que pegar os pixels da textura, juntá-los e colocá-los num só pixel do seu monitor, deste modo, as texturas com mais resolução ocupando menor parte do monitor faz aumentar mais o uso da placa de vídeo, assim podendo causar perdas de FPS (é um dos motivos para mods de texturas HD causarem lag).
É claro, isso não é exclusivamente para objetos de mapas, mas quaisquer modelos como carros mal modelados que colocam texturas de resolução grande demais em locais pequenos (muito comum em carros brasileiros para GTA SA).
Note que usar anisotropic filtering pode diminuir o FPS em vez de aumentar, mas a diferença não é tão grande em comparação com os benefícios visuais.


Download das texturas do GTA SA com mipmaps

Todas as texturas do GTA SA com mipmaps (arquivos gta3.img, gta_int.img e cutscene.img).
Está tudo pronto, assim você não precisa seguir o tutorial abaixo.

Download
290 MB


No tutorial abaixo você aprenderá a colocar mipmaps em todas as texturas do seu GTA, ou qualquer jogo suportado pelo Magic.TXD, ou em novos .txd de mods que você baixa, cria ou edita.


Tutorial adicionar mipmaps no GTA

Nota: Para poder usar mipmapping no GTA Vice City é necessário baixar o ViceMips.

Nota: Se você só quer o mipmapping em todas as texturas originais do jogo, basta baixá-lo no download acima, você não precisa seguir este tutorial.


Baixe o MagicTXD.
E instale. :)

Arquivo único

Nele você pode adicionar mip-mapping em qualquer textura tudo dentro do próprio programa!
Simplesmente selecione a textura, press M, marque "Gerar mipmaps".

E pronto.

(lembre-se de deixar DXT1 sempre ativado para texturas sem transparência, e DXT5 para texturas com transparência. Diminui o peso do .txd)

Faça isso com quantas texturas quiser.

Conversão em massa

Para adicionar no arquivo todo, em vários arquivos .txd ao mesmo tempo, ou até mesmo todo o seu gta3.img (onde está basicamente todas as texturas originais do jogo), ou outros .img, vá em "Conversão em massa" ("Mass conversion" in english?)

E configure a tela como você bem entender.
Não precisa de muita explicação pois está todo o programa está traduzido para português, ou espanhol etc etc.
Mas eu particularmente uso esta configuração:

Geralmente a opção "Melhorar filtragem" causa texturas pixeladas estilo Minecraft. Não sei exatamente o que causa o problema e você pode querer não marcá-la.

Em cima, em "Pasta do jogo:" ("Game directory" in english?) você deve colocar "a pasta onde tem os arquivos originais" (não literalmente a pasta do jogo, ok?). E embaixo em "Pasta destino:" você tem que colocar a pasta onde você quer que seus arquivos com mip mapping vão ficar.

Por exemplo:
Pasta do jogo: "E:\Documents\GTA San Andreas\convert"
Pasta de destino: "E:\Documents\GTA San Andreas\modloader\mipmapping"

Por exemplo, eu coloquei meu gta3.img na pasta "E:\Documents\GTA San Andreas\convert", e movi uns mods de texturas para lá também (como o Map Textures Fix e Texturas Originais em HD). Deixei tudo lá dentro desta pasta, bagunçado mesmo.

Quando eu clicar em "Converter" ("Convert", in english) irá começar a converter os arquivos lá dentro e colocá-los na pasta de destino.

Na tela irá mostrar uns progressos, se você saber o básico de inglês irá entender se deu tudo certo, ou se deu erro, e qual foi o erro etc.

Nota: Pode demorar um tempinho para terminar... Depende do seu PC, e quantidade de arquivos lá.

Quando tudo terminar, os arquivos convertidos para mipmapping estarão na pasta "E:\Documents\GTA San Andreas\modloader\mipmapping", prontinhos para o ModLoader carregá-los.

Antes de testar dentro do jogo, dê uma olhada se os arquivos estão lá mesmo. Se não estão, ou é porque não terminou ainda, ou é porque deu algum erro. Então dê uma olhada na tela do programa, como eu falei.

(leia também a seção "Informações Extras" abaixo!)




Anisotropic Filtering
OK! Já temos o mip-mapping, mas como melhorá-lo deixando-o menos borrado? Afinal, como mostrado na print acima, sem anisotropic a textura fica mais borrada do que o normal.


Antes: Anisotropic tira um pouco de FPS! Você pode optar por não ativá-lo ou ativar somente 2x, 4x etc ao invés de 16x como mostrado.
A ativação do Anisotropic é opcional, mas recomendada pois corrige bugs como este:
  

Como ativar o Anisotropic Filtering:

O GTA San Andreas por padrão usa anisotropic filtering máximo caso você não tenha deixado as configurações gráficas no Low (Baixo), algo que não é bom pois o jogo perde FPS em configurações não-Low mesmo desativando sombras e gramas. E dependente da configuração da sua placa de vídeo, isto será ignorado.

Geralmente o "modo de desempenho" da sua placa de vídeo desativa o anisotropic, portanto, remova a placa de vídeo do modo de desempenho (isso pode ativar outras coisas da placa de vídeo que também pode tirar FPS), e/ou use o painel de sua placa de vídeo para configurar manualmente qual anisotropic que você quer, ou então deixar usar as configurações do aplicativo.

Devido a existir incontáveis placas de vídeos diferentes, não irei ensinar aqui como fazer isso em sua placa de vídeo, basicamente é abrir o painel da placa de vídeo e configurar lá, se você não sabe como fazer isso procure no Google como configurar a filtragem anisotrópica da sua placa de vídeo.
 
A solução mais simples de todas é usar MixSets ou GraphicsTweaker:
Em ambos, você pode escolher o nível de AF por um arquivo .ini.
 

Informações Extras:

Importante: No caso do gta3.img (ou outro .img), você pode substituí-lo na pasta Models (antes faça backup!)(ou coloque no Modloader mesmo...), ou caso você usou o programa com "Reconstruir arquivos IMG" desmarcado, irá criar a pasta "gta3_archive" (ou algum nome assim), basta colocá-la dentro do Modloader também, mas lembre-se que usando o Modloader para isso você deve configurar a pasta para ter baixa prioridade!
Se você ainda não sabe como deixar a pasta em baixa prioridade: Clique aqui e leia a seção .Priority! Recomendo colocar prioridade 1, por exemplo deixar a pasta em "modloader\gta3_archive" e colocar no modloader.ini "gta3_archive=1". Leia lá o tutorial do .Priority para mais informações.

Se você não usou o programa num arquivo .img mas sim em um ou vários arquivos .txd, simples, basta pegar os arquivos .txd da pasta de destino e instalá-los normalmente substituindo os anteriores do seu tal mod, não há mistérios.


Dica: Sinta-se à vontade em mip-mappear todos os .txd que você baixa, até mesmo packs de texturas inteiros, exceto coisas de hud etc, roupas (player.img ou novas que você baixa) não são compatíveis até o momento, portanto terá crash caso tentar adicionar.
Lembre-se também mip-mappear o gta_int.img (na qual tem as texturas dos interiores!).

Bugs: Como eu disse antes, se não usar anisotropic, terá ESTE bug nas texturas com alpha/transparência. Se você não deseja usar anisotropic, você pode manualmente remover a instalação de mip-mapping nos arquivos de fios etc, veja nos comentários deste post a lista.
Evite converter seus .TXD, instalar, ver problemas, recolocar os arquivos na pasta txdgen_in e reconverter para tentar corrigir. Sempre converta os arquivos "originais".

Veja também:



Tutorial escrito por mim, Junior_Djjr (MixMods).
Agradecimentos ao TJGM por me apresentar esta dica e do próprio The_GTA (criador do MagicTXD) pelo apoio desta postagem.