1 /++
2 $(TOOLS
3     <a href="https://github.com/TodNaz/Tida/issues/new/choose" class="bugraf" title="Submit a bug to the list of problems in the official repository.">Report bug</a>
4 )
5 
6 <center><img src="https://code.dlang.org/packages/tida/logo?s=6141da3aa33a2f9463017230" width=128 height=128 /></center>
7 
8 Tida is a library for building 2D games in D language with an OOP system in 
9 the form of Scene-Instance-Component (where Instance is equivalent to Entity).
10 
11 This page lists some modules according to the categories to which the modules 
12 belong. Please note that addons are not included in the default documentation.
13 $(TABLE
14     $(TSTR
15         $(TNAM Modules),
16         $(TNAM Description)
17     )
18 
19     $(STRNAME Technical modules.)
20     $(TSTR
21         $(ITEM 
22             $(HREF tida/runtime.html, tida.runtime)<br/>
23             $(HREF tida/gl.html, tida.gl)<br/>
24         )
25         $(ITEM Technical modules are intended as fundamental tools in building 
26         the logic for creating a window and other interfaced devices, which will
27         depend on an object that needs to be transferred to access or obtain 
28         important properties during their operation. Also, if such modules are 
29         necessary for important operations, they are also marked as technical. 
30         Runtime creates an object for addressing the window manager and creates 
31         a device for sound, and the open graphics module loads such a library 
32         and auxiliary extensions that may not be useful.)
33     )
34 
35     $(STRNAME Mathematical module.)
36     $(TSTR
37         $(ITEM 
38             $(HREF tida/vector.html, tida.vector)<br/>
39             $(HREF tida/angle.html, tida.angle)<br/>
40             $(HREF tida/shape.html, tida.shape)<br/>
41             $(HREF tida/matrix.html, tida.matrix)
42         )
43         $(ITEM Math modules are essential for 2D calculations. The emphasis is 
44         on two-dimensionality, the framework does not assume that functions 
45         will be needed to calculate three-dimensional objects (excluding matrices). 
46         A vector, functions for operating with angles, a structure for 
47         describing a shape are implemented.)
48     )   
49 
50     $(STRNAME Renderers module.)
51     $(TSTR
52         $(ITEM
53             $(HREF tida/render.html, tida.render)<br/>
54             $(HREF tida/drawable.html, tida.drawable)<br/>
55             $(HREF tida/sprite.html, tida.sprite)<br/>
56             $(HREF tida/shader.html, tida.shader)<br/>
57             $(HREF tida/gl.html, tida.gl)<br/>
58             $(HREF tida/vertgen.html, tida.html)
59         )
60         $(ITEM Such modules implement and help in rendering of primitives and 
61         objects, as well as their filling. The renderer is a direct participant 
62         in the rendering of objects, controls the camera, is responsible for 
63         rendering primitives, indicates the visible part of the port of the 
64         rendering plane. Sprite is a structure for specifying rendering parameters. 
65         Those. defines a transformation. Analogue of matrices.)
66     )
67 
68     $(STRNAME Image & color processing modules.)
69     $(TSTR
70         $(ITEM
71             $(HREF tida/color.html, tida.color)<br/>
72             $(HREF tida/image.html, tida.image)<br/>
73             $(HREF tida/each.html, tida.each)<br/>
74             $(HREF tida/softimage.html, tida.softimage)<br/>
75             $(HREF tida/texture.html, tida.texture)
76         )
77         $(ITEM Such modules are responsible for creating, loading and 
78         processing textures. Pixel is the basis of textures. Therefore, 
79         in the color manipulation module, some functions have been made for 
80         color manipulation, their creation and other operations. The images 
81         module processes the image plane itself. Like color correction, 
82         resizing, or even rendering of any objects on the image. 
83         This can be helped by the software rendering 
84         for pictures $(B tida.softimage))
85     )
86 
87     $(STRNAME Sound manipulation modules.)
88     $(TSTR
89         $(ITEM
90             $(HREF tida/sound.html, tida.sound)
91         )
92         $(ITEM
93             Such modules implement loading of sounds and their playback.
94         )
95     )
96 
97     $(STRNAME Behavior manipulation modules.)
98     $(TSTR
99         $(ITEM
100             $(HREF tida/component.html, tida.component)<br/>
101             $(HREF tida/instance.html, tida.instance)<br/>
102             $(HREF tida/scene.html, tida.scene)<br/>
103             $(HREF tida/scenemanager.html, tida.scenemanager)<br/>
104             $(HREF tida/localevent.html, tida.localevent)<br/>
105             $(HREF tida/game.html, tida.game)<br/>
106             $(HREF tida/listener.html, tida.listener)
107         )
108         $(ITEM Such modules serve the purpose of providing a way to make the 
109         game feel comfortable and well-behaved. With the help of scene modules, 
110         you can create separate sections of the game, and with the help of the 
111         scene manager, you can move between scenes. Scenes have objects - instances, 
112         which are assigned certain behavior, which also assumes communication 
113         between instances. An instance can have components to reduce common 
114         behavior code between different instances. Also, the game module is 
115         responsible for distributing the game life cycle and limiting 
116         frames per second.)
117     )
118     $(STRNAME Game auxiliary modules.)
119     $(TSTR
120         $(ITEM
121             $(HREF tida/algorithm.html, tida.algorithm)<br/>
122             $(HREF tida/animation.html, tida.animation)<br/>
123             $(HREF tida/collision.html, tida.collision)<br/>
124             $(HREF tida/loader.html, tida.loader)<br/>
125             $(HREF tida/text.html, tida.text)
126         )
127         $(ITEM Such modules help in building a two-dimensional game, such as 
128         collision detection, animation, pathfinding algorithms, 
129         resource allocation object and others.)
130     )
131 
132     $(STRNAME Fundamental elements.)
133     $(TSTR
134         $(ITEM
135             $(HREF tida/window.html, tida.window)<br/>
136             $(HREF tida/event.html, tida.event)
137         )
138         $(ITEM Such modules are necessary when building a two-dimensional game, 
139         such as creating and managing a window and an object to track events 
140         such as input from devices.)
141     )
142 )
143 
144 Macros:
145     LREF = <a href="#$1">$1</ a>
146     HREF = <a href="$1">$2</ a>
147     B = <b>$0</b>
148     TABLE = <table class="def">$0</ table>
149     TABLENAME = <caption class="defcap">$0</ caption>
150     STRNAME = <tr class="leadingrow"><td colspan="2"><b><em>$(NBSP)$(NBSP)$(NBSP)$(NBSP)$0</em></b></td></tr>
151     TSTR = <tr class="deftr">$0</tr>
152     TNAM = <th class="defth">$0</th>
153     ITEM = <td class="deftd">$0</td>
154     TOOLS = <div class="tools">$0</div>
155     
156 Authors: $(HREF https://github.com/TodNaz, TodNaz)
157 Copyright: Copyright (c) 2020 - 2021, TodNaz.
158 License: $(HREF https://github.com/TodNaz/Tida/blob/master/LICENSE, MIT)
159 +/
160 module tida;
161 
162 public:
163     import tida.runtime;
164     import tida.window;
165     import tida.event;
166     import tida.vector;
167     import tida.color;
168     import tida.render;
169     import tida.shape;
170     import tida.vertgen;
171     import tida.image;
172     import tida.texture;
173     import tida.angle;
174     import tida.each;
175     import tida.fps;
176     import tida.sound;
177     import std.datetime;
178     import tida.sprite;
179     import tida.matrix;
180     import tida.animation;
181     import tida.text;
182     import tida.localevent;
183     import tida.scene;
184     import tida.instance;
185     import tida.scenemanager;
186     import tida.game;
187     import tida.loader;
188     import tida.listener;
189     import tida.softimage;
190     import tida.drawable;
191     import tida.component;