Outils pour utilisateurs

Outils du site


quake3:ioq3_src_details

Sources de Quake III

Je détaillerai ici les sources de ioQuake3, Visibles ici : http://svn.icculus.org/quake3/trunk/code/ Pour les source originales de Quake3 c'est sensiblement la même chose, avec pas mal de dossiers en moins.

Les sources originales sont ici ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip
Ou à la révision 2 sur le SVN de ioQuake3 : http://svn.icculus.org/quake3/trunk/code/?pathrev=2
Il suffit de faire :

svn co svn://svn.icculus.org/quake3/trunk@2 quake3-1.32

Libraries

Ces dossiers contiennent les headers de Libraries utilisées par le moteur ne ne sont pas important pour nous :

  • AL
  • SDL12
  • jpeg
  • libcurl
  • libs contient les libraries compilées en static
  • libspeex
  • zlib

Outils

Ces dossiers contiennent le code source d'outils pour Quake III :

  • tools/asm pour construire Q3ASM, pour assembler le QVM après compilation par LCC
  • tools/lcc pour construire LCC, modifié pour compiler le jeu en bytecode QVM

Moteur

Source du moteur :

  • asm Code ASM utilisé par le moteur (je crois)
  • botlib Code de la library gladiator avec ses makefiles win32 et linux (TODO expliciter son but/utilité)
  • client Code source général du client
  • null ??
  • qcommon Fonctions généralistes ainsi que le code chargeant les QVM
  • renderer Code chargé du rendu (3D)
  • server Code du serveur
  • sys Code et fonctions proches du système (logging, home location, …)

Jeu

Code logique du jeu (c'est ce code là qu'on modifie pour créer un mod) :

  • cgame Code client
  • game Code serveur
  • ui
  • q3_ui gestion de l'UI InGame

cgame et game

cgame contient tout ce qui est relatif au client. En d'autres termes: il contient le code exécuté sur le pc du joueur.
game contient le code qui tourne sur le serveur. il gère et manipule la totalité des joueurs.

Dans ces dossiers, chaque fichier a un préfixe que permet de savoir son utilité :

  • ai_ pour L'IA des bots
  • g_ pour le code coté serveur
  • cg_ pour le code coté client
  • bg_ pour le code partagé client-serveur

ui et q3_ui

TODO

Plus encore

Une documentation doxygen pour Quake III 1.32 a été générée est est disponible ici : http://www.nanobit.net/doxy/quake3/index.html mais elle donne pas beaucoup d'indications utiles …

quake3/ioq3_src_details.txt · Dernière modification: 2011/12/05 10:40 par mrhide