[English]

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

  ETUDE PAR FICHIERS: LES FICHIERS & LEUR ROLE

Maintenant que nous avons cerné les principaux répertoires du code source, nous pouvons regarder les fichiers plus en détails.
Cette section essaiera de lister tous les fichiers d'AvP ainsi que leur rôle. Encore une fois, voyez en cela une interprétation: sûr qu'il peut y avoir des erreurs, donc soyez attentifs !

1) Pourquoi une telle section ?

Je sais que ce travail a déjà été fait dans la Bible d'AvP, mais je l'ai remis ici pour les raisons suivantes:
  • en faisant cela, vous pouvez maintenant avoir 2 points de vue sur le code source (le mien est quasiment le même que la Bible, ce qui renforce nos interprétations à ce sujet...).

  • oh et oui, c'est plus facile pour vous d'avoir toutes les docs sur le même site: je n'ai rien contre la Bible !
2) Les fichiers

Voici les fichiers en C/C++, triés par ordre alphabétique dans la première colonne et ce qui est géré dedans dans la seconde colonne:

A   
 Afont.c les fontes
 ahudgadg.cpp le gadget spécifique au HUD du joueur
 AI_Sight.c la vue des NPC
 alt_tab.cpp sauvegarde & chargement des surfaces & textures quand le joueur utilise les touches ALT+TAB
 Animchnk.cpp chunks de textures animées
 animobs.cpp objets animés
 AvP_EnvInfo.c information basique pour chaque niveau d'espèce
 AvP_Intro.cpp animations d'introduction
 AvP_MenuData.c données des menus
 AvP_MenuGfx.cpp l'affichage du menu
 AvP_Menus.c la navigation du menu
 AvP_MP_Config.cpp fichiers de configuration de parties multiplayer
 AvP_UserProfile.cpp profiles de joueurs
 Avpchunk.cpp chunks générateurs
 AvpReg.cpp la configuration d'AvP dans la base de registres Windows
 Avpview.c la position de la tête du joueur (c-à-d la caméra) & les lumières affichées en dépendant
 awBmpLd.cpp chargement de fichiers bitmap
 awIffLd.cpp chargement de fichiers IFF
 awPnmLd.cpp chargement de fichiers PNM
 awTexLd.cpp chargement de textures
B   
 bh_agun.c comportement des sentinelles
 bh_ais.c comportements communs aux espèces
 Bh_alien.c comportement des NPC aliens
 Bh_binsw.c comportement des switches binaires
 bh_cable.c comportement du grappin des predators
 bh_corpse.c comportement des corps
 bh_deathvol.c comportement des volumes de mort
 Bh_debri.c comportement des fragments / débris
 bh_dummy.c comportement des NPC muets (statiques)
 bh_fan.c comportement des turbines
 bh_far.c comportement des NPC dans le mode d'ia "far"
 Bh_fhug.c comportement des NPC facehuggers
 Bh_gener.c comportement des générateurs de NPC
 bh_ldoor.c comportement des portes coulissantes
 bh_lift.c comportement des ascenseurs
 bh_light.c comportement des lumières
 Bh_lnksw.c comportement des switches liés
 bh_ltfx.c comportement des effets de lumière
 Bh_marin.c comportement des NPC marines
 bh_mission.c comportement des objectifs de mission
 Bh_near.c comportement des NPC dans le mode d'ia "near"
 bh_pargen.c comportement des générateurs de particules
 bh_plachier.c comportement des hiérarchies placées
 bh_plift.c comportement des ascenseurs-plateformes
 Bh_pred.c comportement des NPC predators
 bh_queen.c comportement des NPC reines aliens
 bh_RubberDuck.c comportement des objets flottant sur l'eau
 bh_selfdest.c autodestruction des NPC predators
 bh_snds.c comportement des sons placés
 bh_spcl.c comportement des pièces xénomorphes
 Bh_swdor.c comportement des portes activables par switches binaires
 bh_track.c comportement du motion tracker des marines
 Bh_types.c comportements généraux pour des blocs de comportement variés
 bh_videoscreen.c comportement des écrans vidéos
 bh_waypt.c comportements des routes & waypoints
 bh_weap.c comportement des armes
 Bh_xeno.c comportement des NPC xenoborgs
 bink.c animation du menu étrange (un oeuf ?)
 Bmpnames.cpp noms de bitmaps
 BonusAbilities.c fonctions pour le grappin du predator
C   
 cconvars.cpp commandes & variables console spécifiques au gameplay
 CD_player.c fonctions pour les CD audios
 CDTrackSelection.cpp sélection des pistes audio dépendant des niveaux
 Cheat.c exécution de commandes de types cheat & commande cheat "giveallweapons"
 CheatModes.c informations sur les modes cheat
 chnkload.cpp chargement des chunks
 Chnktexi.cpp chargement des images en textures
 Chnktype.cpp chunks de types (ex.: "chunk float", "chunk shape", ...)
 chtcodes.cpp structure des cheat codes & système d'immortalité
 Chunk.cpp chunks communs
 Chunkpal.cpp chunks de palette d'environnements
 comp_map.c cartes de niveaux précompilées
 Comp_shp.c shapes précompilées
 consbind.cpp association de touches avec les commandes console
 consbtch.cpp exécution de fichiers batch pour la console
 conscmnd.cpp exécution de commandes console
 ConsoleLog.cpp logs console vers des fichiers textes
 conssym.cpp symboles de la console
 consvar.cpp exécution des variables console
 Coordstr.cpp daemons avec coordonnées et stratégies
 Cube.c cubes précompilés
D   
 d3_func.cpp système DirectX en mode immédiat
 d3d_hud.cpp rendu du HUD avec Direct3D
 d3d_render.cpp rendu Direct3D principal
 Daemon.cpp code de daemon racine
 davehook.cpp derniers patches AvP (nouvelles vars & commandes, gadgets, daemons & gestion de fonctions systèmes)
 db.c système de débogage basique
 Dd_func.cpp routines DirectDraw
 Ddplat.cpp rendu du HUD & des écrans du menu avec DirectDraw
 deaths.c descriptions des morts
 Debuglog.cpp logs de débogage sur fichiers
 decal.c système de décalcomanies (sang, marques de brûlures, ...)
 DetailLevels.c système de niveaux de détails graphiques
 Di_func.cpp routines DirectInput
 DirectPlay.c gestion des connexions & sessions avec DirectPlay
 Dp_func.c routines DirectPlay
 DummyObjectChunk.cpp chunks d'objets muets (statiques)
 dx_proj.cpp gestion des pilotes video avec DirectX
 Dxlog.c logs DirectX sur fichiers
 Dynamics.c routines dynamiques routines pour les physiques
 Dynblock.c système de blocs dynamiques
E   
 endianio.c routines d'écriture / lecture en little endian sur fichiers
 Enumchnk.cpp chunks d'énumérations
 Enumsch.cpp chunks d'énumérations de surfaces
 Envchunk.cpp chunks de données d'environnement
 Equipmnt.c descriptions des armes & munitions
 equiputl.cpp fonctions de gestion des cartouches d'armes & identifieurs de balles
 extents.c extensions de collisions pour les personnages du jeu
F   
 fail.c fonctions de gestion d'erreurs
 Ffread.cpp fonctions de lecture / écriture de fastfiles
 Ffstdio.cpp gestion des fastfiles
 fragchnk.cpp chunks de debris / fragments
 frustrum.c fonctions pour le clipping & le viewing frustum
G   
 gadget.cpp interface de gadget racine
 Game.c routines du jeu principales
 game_statistics.c routines de statistiques de jeu
 gamecmds.cpp commandes console spécifiques au gameplay
 gameflow.c systèle de flot de flux de données du jeu
 gamevars.cpp variables console spécifiques au gameplay
 GammaControl.cpp contrôle le gamma
 gflwplat.c système de gestion des objectifs de mission avec le flux de données du jeu
 Gsprchnk.cpp chunks de sprites
H   
 hierchnk.cpp chunks de hiérarchies
 hierplace.cpp chunks de hiérarchies placées
 HModel.c gestion des modèles du jeu en 3D
 Hud.c système principal de gestion du HUD
 hudgadg.cpp gadgets liés au HUD
 huffman.cpp système Huffman
I   
 iff.cpp gestion des textures iff
 iff_ILBM.cpp chunks iff
 ILBM_ext.cpp chunks iff transparents
 indexfnt.cpp indexage des fontes
 intro.cpp séquences d'introduction du jeu
 Inventry.c inventires & pickups du joueur
 io.c functions système (originellement entrées / sorties sur périphériques)
 iofocus.cpp gère la visibilité de la console
J   
 jsndsup.cpp routines de sons du jeu
K   
 Kshape.c rendu des shapes & éclairages
 Kzsort.c tri de z buffer sur les modules
L   
 Langplat.c gestion des langages
 Language.c chargement de chaînes de texte dépendant du langage courant
 Lighting.c interface d'éclairage pour les effets simples
 list_tem.cpp messages de débogage se rapportant aux listes chaînées
 load_shp.c chargement des shapes
 los.c routines de ligne de vue
 Ltchunk.cpp chunks de lumière
M   
 Map.c gestion des cartes
 Maps.c exécution des cartes
 Maths.c routines mathématiques
 md5.c système MD5
 media.cpp routines pour la lecture / écriture de types de données basiques sur fichiers
 mem3dc.c enregistrements d'allocations mémoires
 Mem3dcpp.cpp traçage d'allocations mémoires
 mempool.c routines principales d'allocation mémoire du jeu
 MessageHistory.c gestion de l'historique des messages
 Mishchnk.cpp chunks divers
 missions.cpp routines d'objectifs des missions
 modcmds.cpp commandes console pour les modules
 Module.c routines pour les modules
 Morph.c routines de morphing d'objets
 MouseCentreing.cpp gestion du pointeur de la souris pour éviter des clics hors-écran
 movement.c statistiques de mouvements pour les NPC
 mp_launch.c interface MPlayer
 Mslhand.c gestion de la liste principale de shapes
N   
 Npcsetup.cpp routines d'initialisation des NPC
O   
 Obchunk.cpp chunks d'objets
 Object.c gestion d'objets
 Objsetup.cpp routines d'initialisation d'objets
 OEChunk.cpp chunks d'objets d'environnement
 Our_mem.c routines d'allocation mémoire basique
P   
 Paintball.c routines pour le mode "paintball"
 particle.c système de particules
 PathChnk.cpp chunks pour de chemins
 Pcmenus.cpp modes vidéos & menus du jeu sur PC
 Pfarlocs.c locations en module aliens dans le mode d'ia "far"
 Pheromon.c système de phéromones
 plat_shp.c gestion des shapes
 Platsup.c fonctions C spécifiques à la plateforme
 Player.c gestion du joueur
 Pldghost.c gestion des fantômes
 Pldnet.c routines multiplayer en réseau
 plspecfn.c fonctions spécifiques à la plateforme
 Pmove.c gestion des mouvements du joueur
 progress_bar.cpp gestion de la barre de progression de chargement des niveaux
 Projload.cpp fonctions variées d'initialisations / chargements
 Psnd.c gestion du son
 Psndplat.c gestion du son spécifique à la plateforme
 Psndproj.c gestion du son spécifique au gameplay
 Pvisible.c système de gestion de la visibilité des objets
R   
 r2base.cpp gestion du rendu 2D
 r2pos666.cpp daemon de positions de rendu 2D
 reflist.cpp message de débogage se rapportant aux listes de référence d'objets
 refobj.cpp gestion du référencement d'objets
 rentrntq.cpp queue de messages analogue à celle de Windows
 rootgadg.cpp code de gadget racine
S   
 savegame.c gestion de sauvegarde / chargement du jeu
 scream.cpp cris & provocations pour les différentes espèces
 Scrshot.cpp gestion des screenshots
 scstring.cpp gestion de chapines de texte graphiques
 SecStats.c statistiques pour les sections de modèles 3D
 sfx.c gestion des effets spéciaux
 shpanim.c exécution des shapes animées
 Shpchunk.cpp chunks de shapes
 smacker.c gestion des fichiers smk
 Sndchunk.cpp chunks de sons
 sphere.c sphères precompilées
 Sprchunk.cpp autres chunks de sprites
 Strachnk.cpp chunks de stratégies
 Stratdef.c gestion des blocs de stratégie
 String.cpp gestion basique des chaînes de caractères
 strtab.cpp gestion principale des chaînes de caractères
 strutil.c utilitaires pour les chaînes de caractères
 system.c fonctions système Windows
T   
 t_ingadg.cpp gadget d'entrée de texte
 Tables.c tables mathématiques
 tallfont.cpp rendu de fontes
 targeting.c code de ciblage des armes
 teletype.cpp gadget de curseur graphique
 Texio.c entrées / sorties sur textures
 textexp.cpp système d'expansion de texte
 textin.cpp système d'état d'entrée de texte
 Toolchnk.cpp chunks de caméras
 track.c gestion du motion tracker des marines
 trepgadg.cpp gadget de report de texte
 trig666.cpp daemon de déclencheurs
 Triggers.c déclencheurs au niveau gameplay
 Txioctrl.cpp manipulations d'images
U   
 Usr_io.c gestion de contrôles utilisateurs
V   
 Vdb.c routines de blocs de descripteurs de vue
 version.c exécute la sortie de la commande "version"
 VideoModes.cpp gestion des modes vidéo avec DirectX
 Vision.c système de modes de vision
 Vramtime.c routine d'attente de la RAM vidéo
W   
 Weapons.c système d'armes
 win_func.cpp fonctions Windows indépendantes d'AvP
 win_proj.cpp fonctions Windows dépendantes d'AvP
 winmain.c point d'entrée du jeu
 wpchunk.cpp chunks de waypoints
 wrapstr.cpp gestion du word-wrapping des chaînes de caractères
Z   
 Zsp.cpp chunks de partition d'espace en Z

Wow ! une sacrée grande liste hein ?!
Pour voir comment j'ai classé ces fichiers, je vous suggère de voir la section suivante: "Les fichiers par thèmes"