[Français]

NEWS
INTRODUCTION
TERMINOLOGY
THE SOURCE CODE
THE BUGS
TUTORIALS
DOWNLOADS
THE AUTHOR

  STUDY BY FILES: THE DIRECTORIES & THEIR ROLE

So you installed the source code and wonder why there are so much directories in it ?
This section will try to explain the game architecture through it's probable conception. As a mentioned before, it's just my interpretation of the source code: nothing is official here, so if something bother you, just tell me why. Every idea, error notification & suggestion is welcomed.

1) Clues on the source code

I based my little study on these facts:
  • first, when this kind of project is created, the different operating systems must be taken in considerations; that's why the sources are splitted in 2 main parts: an operating system dependent & independent one. In AvP, O.S. dependent directories are called "win95".

  • second thing, when development teams make games, they try to re-use source codes from other products, to get benefits in development costs; that's why there are an "avp" directory appart other ones (some files & functions of this game were previously used in Headhunter & Rainbow 6 products...)
2) The directories

With this in mind (and a bit of the source code knowledge) we can have an idea on the directories role. Here's my interpretations (and my questions !):

  • 3dc\
  •  stands for what ? "3D code" ? "3D components" ? Contains various shape-based functions...
  • 3dc\avp\
  •  the AvP general components: mainly HUD & gameplay
  • 3dc\avp\shapes\
  •  AvP precompiled shapes ? Only one cube present in the release...
  • 3dc\avp\support\
  •  AvP utilities: Daemons & character strings
  • 3dc\avp\win95\
  •  AvP specific components: HUD, gameplay, resources management
  • 3dc\avp\win95\Frontend\
  •  AvP menus & profiles management
  • 3dc\avp\win95\gadgets\
  •  AvP HUD & console utils: Gadgets
  • 3dc\include\
  •  contains various 3D headers
  • 3dc\win95\
  •  the application core, codecs, textures management
For an explanation on the different words used here, I suggest you to see the "The main topics of AvP" and the "The concepts in AvP" sections