novidades - tutoriais - mapas - skins - modelos - mundo 3d - revista - arquivos - procura - fórum - links - créditos - contato

Tutoriais : Quake : Introdução ao QuakeC

  Índice

feito por Spinal
TGA copyright

1 - Modificando o progs.dat
2 - Ferramentas
2.1 - Entendendo as ferramentas
2.2 - Organizando as ferramentas
3 - Patches
3.1 - O primeiro patch
3.2 - O segundo patch
4 - E agora? O que eu faço com isto?

 


Editando em QuakeC
            . . .

Combinamos com o Spinal que dividiríamos o QuakeC em certas parte para tornar a  V.E.Z. a mais informativa possível. Então, decidimos que as introduções para QuakeC ficarão com a  The Gaming Architect , isto é, as primeiras noções sobre QuakeC ficarão por nossa conta para você, novato em Quake C, poder entender melhor este assunto. Já a Quake Morphing cuidará do QuakeC avançado, isto é, dará muito mais ênfase àquele navegante que já tenha certa noção.

Nota
Toda seção de QuakeC da TGA, foi construída por Spinal e editada por Vertigo.
HAVE FUN!


1 - Modificando o PROGS.DAT

Para modificar o "arquivo de regras do jogo", o PROGS.DAT (vamos abreviar para "progs"), você precisa do código fonte e de um compilador. Pegue todos os arquivos abaixo:

O código fonte original para o Quake versão 1.06:
http://www.virtualand.net/quakec/v106qc.zip

O compilador ProQCC 1.60
http://www.virtualand.net/quakec/proqc160.zip

Agora você possui todas as ferramentas necessárias para sair programando (além do seu cérebro, etc :)


2 - Ferramentas

2.1 - Entendendo as ferramentas

O arquivo ZIP com o código fonte, v106qc.zip, como você já deve ter visto (se não viu, veja agora) possui os seguintes arquivos:

 
AI.QC
AMTEST.QC
BOSS.QC
BUTTONS.QC
CLIENT.QC
COMBAT.QC
DEFS.QC
DEMON.QC
DOG.QC
DOORS.QC
ENFORCER.QC
FIGHT.QC
FISH.QC
FLAG.QC
HKNIGHT.QC
ITEMS.QC
JCTEST.QC
KNIGHT.QC
MISC.QC
MODELS.QC
MONSTERS.QC
OGRE.QC
OLDONE.QC
PLATS.QC
PLAYER.QC
PROGS.SRC
SHALRATH.QC
SHAMBLER.QC
SOLDIER.QC
SPRITES.QC
SUBS.QC
TARBABY.QC
TRIGGERS.QC
WEAPONS.QC
WIZARD.QC
WORLD.QC
ZOMBIE.QC
 

 

E no arquivo ProQCC.zip veio (junto com outras porcarias que não interessam), o arquivo:

proqcc.exe

Os arquivos *.QC são exatamente o arquivo progs original do Quake, só que em formato texto, para que a gente possa editar! Basta abrir os arquivos QC em qualquer editor de textos ASCII (notepad, edit, etc.) e sair modificando as regras do jogo.

Vá em frente, abra alguns arquivos ".QC"... Você irá se deparar com uma linguagem estranha... essa linguagem é QuakeC! :)

E o programa PROQCC.EXE é o COMPILADOR de QuakeC, e serve para trasformar essa pilha de arquivos *.QC em um único arquivo PROGS.DAT. Por último, o arquivo PROGS.SRC é o arquivo que diz para o compilador o que ele deve fazer. Na primeira linha é indicado o nome do arquivo de saída (que deve estar escrito "progs.dat"), e nas linhas seguintes devem ser colocados todos os arquivos .QC a serem compilados, em ordem.

 

2.2 - Organizando as ferramentas

Agora que você já sabe mais ou menos pra que que servem as coisas, vamos organizá-las.

Crie um subdiretório acima do diretório do Quake, chamado QUAKEC:

C:\QUAKE\QuakeC

Copie os seguintes arquivos para lá:

*.QC
PROGS.SRC
PROQCC.EXE (ou qualquer outro compilador, qccdos.exe, fastqcc.exe, etc.)

Faça outro subdiretório, chamado "original", acima do diretório "QuakeC":

C:\QUAKE\QuakeC\original

Copie para lá os seguintes arquivos:

*.QC
PROGS.SRC

Esta é a cópia de segurança. Mantenha esta cópia sempre aqui, caso você queira começar uma modificação do zero. Pronto! Agora você está pronto para começar, então vamos fazer o primeiro patch!


3 - Patches

3.1 - O primeiro patch

O primeiro patch será chamado "Quake server versão 1.06 by iD Software". Tente adivinhar o que ele irá fazer...

Haha.. peguei você? Nós vamos recriar o progs original, o mesmo que está dentro do seu PAK0.PAK! :)

Para isso, basta acionar o compilador:

C:\QUAKE\QuakeC\> proqcc

Vai aparecer várias linhas, "compiling xxx.qc...". O compilador está usando cada um destes arquivos .QC para criar um arquivo PROGS.DAT no final. Atenção: ele pega apenas os arquivos QC que estão listados no arquivo PROGS.SRC! Após ele terminar, se não houve erro (se houver, você fez algo errado) um arquivo progs será gerado no mesmo diretório:

C:\QUAKE\QuakeC\PROGS.DAT

Agora vá testar o patch!

C:\QUAKE\> quake -game quakec

Notou alguma diferença? É claro que não :) Você recriou o arquivo progs original... mas essa é a intenção. Se apareceu um arquivo PROGS.DAT no diretório do compilador, então você fez tudo certo e está pronto para começar a brincadeira!

 

3.2 - O segundo patch

Ok, agora vamos fazer algo útil. O nome do patch é "The Gibber Axe". Ele transforma o machado do jogador em uma arma mortal e satânica.

Primeiro abra o arquivo WEAPONS.QC com qualquer editor de texto ASCII (edit, notepad, etc.).

Vá até a linha 54, onde está escrito:

T_Damage (trace_ent, self, self, 20);

Mude para:

T_Damage (trace_ent, self, self, 666);

Agora o seu machado causa um dano SATÂNICO no oponente! :)

Compile, rode, e teste dar uma machadada na cabeça do primeiro monstro que aparecer :) Se o monstro não for gibado instantaneamente, você fez algo errado...


4 - E agora? Eu faço o que com isto?

Agora você pode se aprofundar por conta própria em QuakeC. Mas é recomendável que você tenha alguma experiência em programação para isso.

Você também pode ir arriscando modificar por conta própria para ver se descobre algo. Se der algum erro, e você não souber como consertar, basta restaurar os arquivos .QC originais e começar do zero!

Se você possuir alguma dúvida sobre o que foi explicado, ou sobre como funcionam os patches, QuakeC, etc, pode mandá-la para mim (spinal@virtualand.net). Provavelmente montaremos uma seção de FAQ com as perguntas, então capricha na sua pergunta para ela aparecer e ficar famosa :)

Também aceito sugestões para exemplos. Se alguém quiser saber, por exemplo, como se faz o jogador pular mais alto, basta pedir para mim e nós aqui da Gaming Architect montaremos um exemplo detalhado e cut-n-paste para você! :)

Ps.: Só posso me dedicar no máximo a um exemplo por vez, portanto tente ser razoável no pedido ok?

 

novidades - tutoriais - mapas - skins - modelos - mundo 3d - revista - arquivos - procura - fórum - links - créditos - contato

/HTML>TML>TML>TML>