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?
|