[English]

NEWS
INTRODUCTION
TERMINOLOGIE
LE CODE SOURCE
LES BUGS
TUTORIAUX
DOWNLOADS
L'AUTEUR

  COMMENCER AVEC LES SOURCES: SELECTIONNER LES SOURCES UTILES D'AVP

Dans ce court tutorial, je vais vous aider à nettoyer les fichiers sources d'AvP dans votre répertoire. Ceci est fait pour ceux d'entre vous qui sont quelque peu curieux quand à savoir quels fichiers sont ou non utilisés lorsque vous compilez l'application, mais le but principal de ceci est de vous donner une idée du passé d'AvP GE.

1) Les fichiers sources

Quand vous jetterez un coup d'oeil au code source, vous trouverez différents répertoires avec plusieurs fichiers dedans: chaque fichier a un but et a été fait pour des étapes spécifiques dans la réalisation d'AvP, c-à-d les versions de démo, la version AvP, la version d'AvP avec patch, la version AvP Gold Edition ... Pendant toutes ces étapes, le moteur 3D a vu ses capacités améliorées, allant d'un rendu 3D écrit en langage Assembleur vers une interface DirectX en langage C/C++. Voici pourquoi certains fichiers ne sont plus utilisés aujourd'hui dans ce jeu, même s'ils sont inclus dans le package. Nous allons maintenant tout simplement voir ce que vous pouvez nettoyer à partir de cela...

Note: ce tutorial a été fait dans l'expectative que vous désirez construire l'application dans le système d'exploitation Windows, avec DirectX. Pour ceux d'entre vous qui souhaitent modifier les sources pour un système d'exploitation basé sur Unix, vous pouvez avoir besoin des fichiers asm et du code source C qui prend en charge cela...

2) Destruction initialisée... nettoyons !!!

Première règle lorsque vous voulez faire une telle manipulation: vérifiez que vous possédez une copie de sauvegarde des fichiers, avant de détruire quoi que ce soit:
JE NE SUIS PAS RESPONSABLE DE CE QUE VOUS PERDREZ SI VOUS FAITES UNE ERREUR !
Capté ? Si vous êtes en accord avec cela, vous pouvez continuer ce tutorial... Voici une liste des fichiers que vous pouvez supprimer en toute sécurité, et leur dessein:
Répertoire: 3dc\avp\
  • database.c: fonctions pour un ancien système de menu qui stocke toutes les options dans une base de données.
  • hud_map.c: il semble qu'il y avait une carte dans le jeu, comme dans ce bon vieux Doom.
  • menus.c: fonctions pour un autre ancien système de menu.
  • smovdata.c: contient des mouvements spéciaux codés en dur, probablement pour les Non-Playable Characters (NPCs, Personnages Non Joueurs en français)
  • avpitems.cpp: gestionnaire d'items pour l'ancien système de données relatives au menu.
  • avppages.cpp: gère le vieux système d'écrans du menu (appelé "pages").
  • projmenu.cpp: vieux code pour le menu, spécifique à AvP.
Répertoire: 3dc\avp\support\
  • rebitems.cpp: un autre système de gestion du menu pour les items du menu.
  • rebmenus.cpp: même chose que précédemment, mais pour les menus en eux-mêmes.
Répertoire: 3dc\avp\win95\
  • multmenu.c: vieux système de menu multiplayer.
  • pcpause.c: code de gestion pour mettre le jeu en pause.
  • menuplat.cpp: vielles fonctions de menu spécifiques à la plateforme.
Répertoire: 3dc\win95\
  • cl_init.h: prototype pour l'initialisation vidéo du client en mode software (logiciel).
  • d3load.c: fonctions de support de fichiers PPM avec DirectX (format inconnu).
  • item.c: support pour une vieille méthode de rendu, en mode software.
  • krender.c: même chose qu'au-dessus.
  • zbuffer.c: fonctions de gestion de z-buffer en mode software & DirectX.
  • chnkimag.hpp: vieille structure de gestion de fichiers RIFF.
  • d3_image.hpp: vieilles structures de gestion d'image avec DirectX.
  • chnkimag.cpp: vieilles fonctions de gestion de fichiers RIFF.
  • cl_init.cpp: fonctions d'initialisation vidéo du client en mode software.
  • d3_image.cpp: vieilles fonctions de gestion d'image avec DirectX.
  • mmx_math.asm: optimisations MMX en code de rendu Assembleur pour le mode software.
  • scandraw.asm: code de rendu en Assembleur pour le mode software.
Comme vous l'avez vu, le portage d'AvP sous Linux devrait employer une large partie de ces fichiers afin d'éviter une architecture DirectX...

Voici la fin de ce court tutorial: j'espère qu'il vous a appris un peu plus de choses sur le passé d'AvP: ce superbe jeu n'a pas été fait en une seule version, mais a enduré plusieurs évolutions pour coller aux différentes technologies. Voici pourquoi, même si le code de rendu 3D n'est pas le meilleur à l'heure actuelle, ce jeu n'est pas si obsolète: tous les concepts étaient présents (portage 3D, optimisations de code Asm vers DirectX, nouveaux systèmes de menus...), et c'est une raison pour laquelle j'apprécie ce jeu.