summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2011-05-18 20:51:48 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2011-05-18 20:51:48 +0000
commitea5e9410fb2262cece0ba6af67616e292bdaaa1a (patch)
treeba48a006fffae9e8a574a7b6b37b522e3dca3b74 /doc
parenta78cf8caf05e0c8072bf8616585d0105fe5ab1e2 (diff)
download2010-netlemmings-ea5e9410fb2262cece0ba6af67616e292bdaaa1a.tar.gz
2010-netlemmings-ea5e9410fb2262cece0ba6af67616e292bdaaa1a.tar.bz2
2010-netlemmings-ea5e9410fb2262cece0ba6af67616e292bdaaa1a.zip
Ajout de quelques infos dans la doc, ajout de la procédure updateDriftOnEventReception() dans timing, et utilisantion sur le client netlem.c, ajout de qques commentaires
git-svn-id: file:///var/svn/2010-netlemmings/trunk@220 077b3477-7977-48bd-8428-443f22f7bfda
Diffstat (limited to 'doc')
-rw-r--r--doc/conception.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/conception.txt b/doc/conception.txt
index 6fe61cd..4376a64 100644
--- a/doc/conception.txt
+++ b/doc/conception.txt
@@ -19,6 +19,25 @@ Ce module regroupe toutes les fonctions "techniques" commune au serveur et au cl
=== Timing ====
Fonctions communes à l'algorithme de synchronisation des horloges des clients par rapport au serveur.
+Chaque client respecte le pseudo-algorithme suivant pour sa boucle principale de jeu :
+TANTQUE (partie_en_cours)
+ timeBefore_ms = SDL_GetTicks();
+ // code princpal d'une frame
+ wantWait=waitForNextTick(timeBefore_ms, drift_ms);
+FIN TANTQUE
+drift_ms est une variable partagée entre le thread principal de jeu (lecture uniquement) et le thread de réception des messages réseaux (mise à jour selon les champs e.eventTick et e.serverTick) via la fonction updateDriftOnEventReception() du module timing.
+wantWait est une variable pouvant être affichée pour suivre le comportement de l'algo de synchronisation du temps, mais n'est pas nécessaire au fonctionnement.
+
+==== Game ====
+Module contenant la logique du jeu pour passer d'un instant (tick) au suivant. L'état des animations et lemmings sont mis à jour.
+
+==== Netgame ====
+Module embarquant les primitives qui vont bien pour manipuler les structures de données de data_network.h permettant de gérer l'état des parties réseau. Ce module continent aussi les primitives d'envoi et de réception des évènements réseau
=== Serveur ===
=== Client ===
+==== Graphic ====
+Toute la gestion de l'affichage, les primitives pour plaquer les sprites et des tests au pixel.
+
+==== Loader ====
+Module gérant le chargement d'un niveau (utilisé dans un thread par le client pour être asynchrone avec thread d'affichage).