adonthell-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-commits] CVS: doc/architecture edesign.tex,NONE,1.1 mapview.


From: Kai Sterker <address@hidden>
Subject: [Adonthell-commits] CVS: doc/architecture edesign.tex,NONE,1.1 mapview.fig,NONE,1.1 mapview.pdf,NONE,1.1 Makefile,1.1,1.2 arch.pdf,1.1,1.2 architecture.tex,1.1,1.2 layers.pdf,1.1,1.2 overview.tex,1.1,1.2
Date: Thu, 02 Jan 2003 18:07:09 -0500

Update of /cvsroot/adonthell/doc/architecture
In directory subversions:/tmp/cvs-serv6083

Modified Files:
        Makefile arch.pdf architecture.tex layers.pdf overview.tex 
Added Files:
        edesign.tex mapview.fig mapview.pdf 
Log Message:
FIXED wording of overview
ADDED blurb about mapviews


--- NEW FILE ---
\section{Engine Architecture}

Now that we have an overview of Adonthell's architecture, we will look at 
select parts of the engine in more detail.

\subsection{Maps and Views}

One prominent component of the engine is the renderer. It produces the 
graphical representation of a scene, and that about 40 times per second. (A new 
scene -- or internal engine state -- is computed about 75 times per second, 
btw.) \\

More important than those numbers or the fact that drawing and update 
operations are disjunct is the implementation. As the heading suggests, a 
model-view-architecture is used.

\begin{figure}[h]
\center
\includegraphics{mapview.pdf}
\caption{Architecture of the renderer}
\end{figure}

The part of the map being displayed is determined by so-called {\it mapviews}. 
A mapview can be of any size and can direct output to any {\it surface}. 
Multiple mapviews can be active at the same time, although at present they 
can't show different maps, just different areas of the same map. \\

The question that remains is how a mapview knows what part of a map to display. 
For that purpose, each mapview may have a schedule script assigned, which is 
executed before rendering takes place. The script in turn can use the methods 
provided by the mapview class for all kinds of effects. Usually, it will want 
to center the view on a certain character, but it is not limited to this. 

--- NEW FILE ---
#FIG 3.2
Landscape
Center
Metric
A4      
100.00
Single
-2
1200 2
0 32 #c7e7ff
0 33 #dff3ff
0 34 #8ecfff
2 1 0 2 0 32 48 0 20 0.000 0 0 -1 1 0 2
        1 1 2.00 120.00 240.00
         3870 2790 2970 2790
2 1 0 1 0 32 48 0 20 0.000 0 0 -1 0 0 4
         4320 2385 4320 2565 4500 2565 4320 2385
2 1 0 2 0 33 51 0 20 0.000 0 0 -1 0 0 6
         3870 3150 3870 2385 4320 2385 4500 2565 4500 3150 3881 3150
2 4 0 2 0 34 49 0 20 0.000 0 0 7 0 0 5
         2970 3150 2970 2385 1980 2385 1980 3150 2970 3150
2 2 0 2 0 32 50 0 20 0.000 0 0 -1 0 0 5
         900 1575 3510 1575 3510 3510 900 3510 900 1575
4 0 0 48 0 0 12 0.0000 4 135 405 2295 2835 View\001
4 0 0 48 0 0 14 0.0000 4 152 253 4033 2835 .py\001
4 0 0 50 0 0 12 0.0000 4 180 345 1170 2025 Map\001

--- NEW FILE ---
%PDF-1.3
%Ç쏢
6 0 obj
<</Length 7 0 R/Filter /FlateDecode>>
stream
xœíTKoÔ0¾ûW̱íað<üº"õÈ¡Á…
v·(A]8Tü{ƛuÖté"¡ª')‰?¿ùæáفG_ŸÃwœÝνy¯°ùá<æd(-õ]"|ß8‚{G9+Ú«™P€yE3ƜarL1#¥áLD_P|êÆ3O!ŒÚ!wW®
 
jðøª~?Xø)Ÿç.|ÁB¢Õ~ˆ)c6‹Û*øïFÆ·Úç¾}ÆÞ–}[¡HfîÜR£É(%µŠavï>?\_Ýõ
endobj
7 0 obj
492
endobj
5 0 obj
<</Type/Page/MediaBox [0 0 230 125]
/Parent 3 0 R
/Resources<</ProcSet[/PDF /Text]
/ExtGState 12 0 R
/Font 13 0 R
>>
/Contents 6 0 R
>>
endobj
3 0 obj
<< /Type /Pages /Kids [
5 0 R
] /Count 1
>>
endobj
1 0 obj
<</Type /Catalog /Pages 3 0 R
>>
endobj
4 0 obj
<</Type/ExtGState/Name/R4/TR/Identity/OPM 1/SM 0.02>>
endobj
9 0 obj
<</Type/FontDescriptor/FontName/THUUOK+Times-Roman/FontBBox[-168 -281 1000 
924]/Flags 34
/Ascent 924
/CapHeight 676
/Descent -281
/ItalicAngle 0
/StemV 111
/MissingWidth 250
/XHeight 461
/CharSet(/period/M/V/a/e/i/p/w/y)
/FontFile3 8 0 R>>
endobj
8 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 11 0 R>>stream
xœSkLSg>¥Ðs¦€JÓإߧˆºl*‰™œ—‰Èä"8À!í9åœShK+-WáãZn-ږ‹ˆˆF‘¡&fó2¶ì¦ÎešM]²¹Ä,›&K¾ƒ‡;ÅE—ìßþ½ßû¼ïû¼—ç“aÁA˜L&S¦íMO?¸?62ÜºTÆ
 £îX!R&¬VÊÅ­âÄۋ
!+±$¯<Lˆ
ÅúW(tsòe³%¯K_j‘ÈfdsÑé©kcc㣅¥ŠKx°1!!ä[À?ØErT1
VKF9©gŒ’æãÁ!’|                Š(=     ¦díKÞ¢÷$§ƒ=$M²:=H1å멐D4G®Eô/ 
€¡)žbh.ìà€pF²€’’Hsi
Ãñ\Ky 1¦ìÚý²G¾DÇx9J‚S$E2¦À4¯0^GÑàI3àÉ'A!Åõ:‹Ä+•2²ÔB&Ž¢‹_³Ç–,Ö±…
z’[¨ØÊëùÀ¿¦ÖzËB.³õŠŸâ9R_ŸLòMX¸)address@hidden
{ÃrÀHRºÃñ–Åc`»±÷±Ll'¶[‚-’D‚cµØ3+»´>覼X~Mþ
hÑo(½‰–¾÷KÌ¡\6=Wû^ג^^r4ͪA1ÛUc×'gî]Ý&¢<{{bNêäXT¸âüÑ㟔  qh‹êȶ<z?L…y£ô
ËùÚ3³šUÔ|éeÇ
“ögÀ,˜c!©œ|address@hidden'ÎÍÂY8ĸß&ÂÑiØ',î;ëGaÏ#>¾éÑrå_(QÈS‰ëÓBlxgso‹»¹j†º*sµ¢
address@hidden
™¨\eäy†àGFFGøAZ>Wd÷[%¥|#)ņOÔv×B+´ÕqãF‘UoF¼uBèÖÀ×e—¤”\~®¡×áOw™]æËñˆ:yº»a·ö÷vN´IQ{mø`c§s
 
EŠOÕ½†N{l‡îÞaiÁµê'¢ÃSÔV×5.ØÞuüŠB¨½S­í~‰¬ôFêMA=á{ˆ¢\®üXHþJeµWÕÛ$áÕz¦µ(‡×êGmC¦É<_
$ÖíÈNâýƒCýþ¶¦ö&—¶±«©ºˆS㮞¢Ó£’q1þ€µ&4UØ)XJ(3“¦sg§/ö_›Rº3Ú½å#'¤þϞ— 
qýCÔ×W—Wqv¦º%ÌÄ%mo]œDaӄ´7‡.Ì/›;0£ufŧǼÈÀÊZc•A\3/W‹±èIéw5ƒ°O}žîñ–6ØÓìi–”î3ãW=öKo¡¦ùuŸ±ÂÍ3zz®H_µ:ü2´ìO•-ÓÓ'ÙÑÓÃ'GO—
´á~á°¥ùc‹/ë
}ì

ð¿3Ð&
endstream
endobj
11 0 obj
1452
endobj
12 0 obj
<</R4
4 0 R>>
endobj
13 0 obj
<</R10
10 0 R>>
endobj
10 0 obj
<</Subtype/Type1/BaseFont/THUUOK+Times-Roman/Type/Font/Name/R10/FontDescriptor 
9 0 R/FirstChar 32/LastChar 251/Widths[
250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
250 500 500 500 250 250 453 350 333 444 444 500 1000 1000 250 444
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 611 722 889 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 722 500]
>>
endobj
2 0 obj
<</Producer(GNU Ghostscript 7.05)
/Title(mapview.fig)
/Creator(fig2dev Version 3.2 Patchlevel 4)
/Author(address@hidden \(Kai Sterker,,,\))>>endobj
xref
0 14
0000000000 65535 f 
0000000806 00000 n 
0000003820 00000 n 
0000000747 00000 n 
0000000854 00000 n 
0000000596 00000 n 
0000000015 00000 n 
0000000577 00000 n 
0000001178 00000 n 
0000000923 00000 n 
0000002798 00000 n 
0000002715 00000 n 
0000002736 00000 n 
0000002766 00000 n 
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
>>
startxref
3974
%%EOF

Index: Makefile
===================================================================
RCS file: /cvsroot/adonthell/doc/architecture/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** Makefile    1 Jan 2003 13:12:41 -0000       1.1
--- Makefile    2 Jan 2003 23:07:07 -0000       1.2
***************
*** 1,4 ****
  IMAGES = layers.pdf \
!         arch.pdf
          
  all: pdf
--- 1,5 ----
  IMAGES = layers.pdf \
!         arch.pdf \
!               mapview.pdf
          
  all: pdf
***************
*** 12,16 ****
  %.eps: %.ps
        ps2eps -f $<
!         
  %.ps: %.dot
        dot -Tps2 -o $*.ps $<
--- 13,20 ----
  %.eps: %.ps
        ps2eps -f $<
! 
! %.eps: %.fig
!       fig2dev -Leps $< $*.eps
!       
  %.ps: %.dot
        dot -Tps2 -o $*.ps $<

Index: arch.pdf
===================================================================
RCS file: /cvsroot/adonthell/doc/architecture/arch.pdf,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
Binary files /tmp/cvsAloSjX and /tmp/cvsOIVTkK differ

Index: architecture.tex
===================================================================
RCS file: /cvsroot/adonthell/doc/architecture/architecture.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** architecture.tex    1 Jan 2003 13:12:41 -0000       1.1
--- architecture.tex    2 Jan 2003 23:07:07 -0000       1.2
***************
*** 73,75 ****
--- 73,77 ----
  \thispagestyle{empty}
  \include{overview}          % Overview
+ \thispagestyle{empty}
+ \include{edesign}           % Engine design
  \end{document}

Index: layers.pdf
===================================================================
RCS file: /cvsroot/adonthell/doc/architecture/layers.pdf,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
Binary files /tmp/cvsVTr0j6 and /tmp/cvs8NhZg2 differ

Index: overview.tex
===================================================================
RCS file: /cvsroot/adonthell/doc/architecture/overview.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** overview.tex        1 Jan 2003 13:12:41 -0000       1.1
--- overview.tex        2 Jan 2003 23:07:07 -0000       1.2
***************
*** 57,61 ****
  \end{figure}
  
! The engine consists of two different parts: the {\bf launcher} and the {\bf 
core} -- or library -- part. The launcher runs when starting the {\tt 
adonthell} executable. It initialises the different engine subsystems, such as 
audio and graphics, before giving control to a game specific start script. In 
future versions, the launcher will also allow users to select between different 
games; so there are different games installed.
  
! As soon as a game is started (by calling it's init script, all control 
remains with that game. After completing all game specific initialisation, the 
init script should start the engine's main loop. This provides basic 
functionality like input listeners, map and gui rendering. But it also makes 
use of hooks provided by game extensions.
--- 57,61 ----
  \end{figure}
  
! The engine consists of two different parts: the {\bf launcher} and the {\bf 
core} -- or library -- part. The launcher runs when starting the {\tt 
adonthell} executable. It initialises the different engine subsystems, such as 
audio and graphics, before giving control to a game specific start script. In 
future versions, the launcher will also allow users to select between different 
games; so there are different games installed. \\
  
! As soon as a game is started (by calling it's init script) all control 
remains with that game. After completing all game specific initialisation, the 
init script should start the engine's main loop. This provides basic 
functionality like input listeners, map and gui rendering. But it also provides 
hooks for game specific extensions, as we will see later on.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]