Originally posted by Goldir
I only have a vague idea of what a \"build\", CS, and a cvs are, and I have no clue what CEL or Cal3d are.
DEFINITION OF BUILD :
In order to create a game such as plainshift, you need to make :
- datas (such as pictures, the text the NPCs will say, a 3D map ...)
- A programme that uses these datas to make the final game.
to create a program, you write lines in a programming langage. Each line is like an order that you give to the computer, and that the computer will execute (it is not an accurate/exact definition, but we can say each line is an instruction)
The set of all the lines that makes your program are called \"the code of the program\"
The main programming langage used to create plainshift is the C++
But the C++ instructions are not something the computer can execute : they are text in simplified english that is simple enough to be automatically translated into something the computer understands.
here an example of C++ code :
if (Player->life < 0)
Player->isAlive = FALSE;
else
Player->guerrir;
Since C++ is made with english words, understanding english is sometime enough to understand a part of well-written program.
the C++ code of the program is also called the SOURCE CODE of theprogram and is often abreviated as \"SOURCEs\". You may notice that you can download plainshift sources.
To make so that the computer understands these instructions, we thus have to translate them into something that makes sense for the electronic of the computer. This \"something that makes sense for the electronic of the computer\" is the final program that you have downloaded and that you \"start\" when you start the game.
The action to make this \"something that makes sense for the electronic of the computer\" from the source code is called compillation.
When you compille a complex project like plainshift, doing so, you also perform other action at the same time, such as linking it to the datas (3D textures ...) and other action that I wont desribe here.
The action of compilling a complex project to make the final \"game\" is called \"BUILDing a project\".
The result of the building procedure is thus call a BUILD.
At the time you compile, you may specify some options, that will change the resulted build. You can thus make several diffrent builds from one single project\'s source code.
Form instance, from the plainshift source code, you can either make the Linux, the MacOS or the windows build.
Needless to say that the Linux build will never work under windows and that both builds have a lot of differences.
END DEFINITION BUILD
DEFINITION OF CVS
(uses the definition of build)
CVS either means Concurrent Versions System or Current Versions System.
It is a system (a program) used to manage the source code of a project on wich several people works. It is only made for archiving differents version of a file, and has mecanisms that allows several people to modiffy differents parts of a same file at the same time.
cvs is manly used in the Unix world.
So CVS is just a tool for programmers.
But CVS allows people to get (download) the source code of a program.
So cvs is widely used to download the source code of a program, and make sure people always download the lastest version.
Since you can build the final program from the source code, under linux, there are programs that you can only get by
what cvs is (summury of text from info pages) :
CVS is a version control system. Using it, you can record the history of your source files.
With CVS, you can easily retrieve old versions to see exactly which change caused the bug.
You could of course save every version of every file you have ever created. This would however waste an enormous amount of disk space.
CVS stores all the versions of a file in a single file in a clever way that only stores the differences between versions.
what cvs is NOT (summury of text from info pages) (correct mistakes made by a lot of programmers) :
CVS can do a lot of things for you, but it does not try to be everything for everyone.
CVS is not a build system.
CVS does not dictate how you build anything. It merely stores files for retrieval in a tree structure you devise.
CVS does not dictate how to use disk space in the checked out working directories.
CVS is not a substitute for management.
CVS is not a substitute for developer communication.
CVS does not claim to help at all in figuring out non-textual or distributed conflicts in program logic.
CVS does not have change control.
CVS is not an automated testing program.
CVS does not have a built-in process model.
END DEFINITION OF CVS
Originally posted by Goldir
I didn\'t consider this a code contribution,
neither do I. maybe shall we create a section of the dev forums to explain to non-programmers how the project is made? after all, one of the power of Open Sources projects is that they are a mine of *free* (public) knowledge ? (only a suggestion ...)
I hope you understand everything now ...