started to fix the manuals for EBuf. Implemented a
[neuro.git] / ChangeLog
blobd6161d92847f39b937ceeb9019efad57051e53b9
1 version 0.50 - [under development]
2         *Major
3                 [not yet finished]
4                 - Fully documented external interface functions 
5                   using the special syntax needed to be
6                   parsed by the application neuroman.tcl.
7                   The documentation includes examples and full description 
8                   of each of the the functions.
10                 [finished]
11                 - Spreaded the code of the video module (especially the code
12                   concerning the painter's algorithm) among more than one
13                   source file for a better split of tasks and thus a better
14                   organisation of the code.
15                                         - Nicholas Niro  nik_89@neuroponic.com
17                 [finished]
18                 graphics engine
19                 - fix the dynamic redraw of the tiles below the dynamic object, 
20                   it does not seem to work perfectly; it redraw a very small 
21                   portion of the dynamic object instead of the tile below on the 
22                   edges, barely noticeable.
23                 - also noticed bad redraws in isoe when the robot goes off screen; 
24                   tiles around seems to blink black very fast, barely noticeable. 
25                   Confirmed this is a bug with type 0 or 3 bounds case. Quick fix 
26                   done, need to test it.
27                 - [cancelled] implement a way to change a certain color into an 
28                   image to support things like font colors. Would need to be 
29                   implemented low in the drawing process. - won't do it
30                 - implement a fast independant alpha module, something called 
31                   after the actual low level draw.
32                                         - Nicholas Niro  nik_89@neuroponic.com
34                 [finished]
35                 bitmap loader module (X11)
36                 - find a way to convert it so it creates an XImage directly 
37                   (or indirectly by providing its ressources so the X11 
38                   abstraction layer can take care of creating an XImage out
39                   of those). Currently, the bitmap only saves to the pixmap 
40                   format and then we push this image to the pixmap standard 
41                   lib in X11 which makes it all Very slow. This is an 
42                   important change that will need to be worked on very soon 
43                   because programs depending on neuro will need to dynamically 
44                   load images anytime to avoid using too much memory.
45                 - Core bitmap should be made independant and remove the char 
46                   *symbol of the color struct.
47                 - 24 BPP could be made faster if we had a map of the colors 
48                   already inputed; Instead of looping everytime the color 
49                   buffer to see if a color was already added, we would
50                   simply do a certain & with the color binary map to see if 
51                   it was already added or no. This method would use too much 
52                   memory, need to find a way to implement this resonably.
53                                         - Nicholas Niro  nik_89@neuroponic.com
55                 [finished]
56                 core graphics 
57                 - Make an abstraction of the images themselves, only the 
58                   screen would be in common with the library in use 
59                   (Would place neuro in direct competition with SDL). 
60                   OR Perhaps keep being semi independant(to, for example, 
61                   keep using the ultra performant X11 blitter) and only 
62                   use our own blitter for special things like alpha 
63                   rendering. (we chose the latter method :) )
64                                         - Nicholas Niro  nik_89@neuroponic.com
66                 [finished]
67                 graphics engine -- drawing push functions to return address
68                 - In order for external applications to be able 
69                   to destroy or modify drawing entries, the 
70                   graphics engine's drawing push functions will 
71                   now return the address of the elements it 
72                   adds and new functions will be made to either 
73                   modify those elements or destroy them. 
74                                         - Nicholas Niro  nik_89@neuroponic.com
76         *Minor
77                 [to test]
78                 - Fixed the bugs concerning the new Draw function when 
79                   cleaning and the whole Data to be drawn were previously
80                   destroyed. It used to randomly make images blink around.
81                                         - Nicholas Niro  nik_89@neuroponic.com
83                 [finished]
84                 - Fixed the bugs that made destroyed and immediatelly added
85                   elements show with either a black background or not showing
86                   at all. (especially with fonts for now)
87                                         - Nicholas Niro  nik_89@neuroponic.com
89                 [finished]
90                 - Got rid of libxpm, we now directly use the pixel 
91                   manipulation functions for the effect.
92                                         - Nicholas Niro  nik_89@neuroponic.com
94                 [finished]
95                 extlib X11 -- Lib_SetColorKey
96                 - I want this function to create a bitmask to the 
97                   input image it recieves. Currently, it just sets 
98                   a flag so libxpm makes the correct pixel type
99                   transparent with a bitmask, but we'll get rid of 
100                   libxpm very soon.
101                                         - Robert Lemay   bob@neuroponic.com
103                 [finished]
104                 graphics engine -- change draw_this_cycle flag behavior
105                 - Change this flag's behavior so it handles volatile
106                   images the correct way.
107                                         - Nicholas Niro  nik_89@neuroponic.com
109                 [finished]
110                 graphics engine -- cleaning of same layers priority
111                 - We need to bring up a priority inside items with 
112                   the same layers so that instructions to clean are 
113                   actually PUT in the beginning of tasks to do and 
114                   the rest after; So precedence would always put the 
115                   cleaning tasks in the front line. This would avoid 
116                   tasks to draw (especially text) never be done before 
117                   it is cleaned... This might be a bug however because 
118                   the redraw function is supposed to handle that...
119                                         - Nicholas Niro  nik_89@neuroponic.com
122                 [finished]
123                 add a function to Load bitmaps from memory
124                 - Initially to support Unicode Truetype fonts but 
125                   would probably be very useful for other things too. 
126                                         - Nicholas Niro  nik_89@neuroponic.com
128                 [finished]
129                 video -- graphics module
130                 - Change the Dynamic type so it stays drawn until 
131                   the external program explicitly tells it to clean 
132                   it. (Eventually, this will completely remplace 
133                   the static dynamic method and only this method 
134                   will be used for both cases).
135                                         - Nicholas Niro  nik_89@neuroponic.com
137                 [finished]
138                 extlib -- Add abstract Fonts (Unicode) support
139                 - Use freetype to handle the fonts.
140                                         - Nicholas Niro  nik_89@neuroponic.com
142                 [finished]
143                 extlib | other -- indirect extlib access
144                 - External applications should not at all call the 
145                   functions directly from the extlib module. We 
146                   need to have redundant functions that will serve 
147                   as an interim between extlib and the extern 
148                   application. I suggest NEURO.h get its include 
149                   of extlib.h removed so external programs will 
150                   have a warning if they use the extlib functions.
151                                         - Nicholas Niro  nik_89@neuroponic.com
153 version 0.49
154         *Major
155                 [finished]
156                 - Added 4 new functions to the extlib modules. 
157                   All 4 are for the freetype library abstraction.
158                   2 of those are core creation/cleaning functions and
159                   the 2 others are to load a face and to render characters
160                   in monochrome.                        
161                                         - Nicholas Niro nik_89@neuroponic.com
162                   
163                 [finished]
164                 - Added a few set of new functions to the graphics engine
165                   that might replace the old dynamic/static method, see
166                   the commit comment for more details.  
167                                         - Nicholas Niro nik_89@neuroponic.com
169         *Minor
170                 [finished]
171                 - Made the configure script more robust and included the
172                   freetype library as a dependency.     
173                                         - Nicholas Niro  nik_89@neuroponic.com
174