1 Things to do in the neuro library.
3 man -- the function Neuro_EBufIsEmpty:
4 - the documentation of the return 2 isn't
5 present in the man page. It is the value
6 returned when the input EBUF is NULL.
8 docs -- add a configure entry for Tcl:
9 - the configure script needs to
10 check if Tcl is available to build the
11 manual pages. If it isn't, no errors should
12 be raised, only disable documentation building.
14 *** events -- Implement an event based set of functions:
15 - Currently, the state of the mouse and
16 keyboard are looped... the drivers will
17 need to be changed accordingly.
19 graphics/other -- Implement Neuro_PutPixel and GetPixel:
20 - The location where those functions needs
21 to be put is probably best in the extlib
24 debug -- bugged Neuro_DebugChannel:
25 - It doesn't always work, it needs to
26 be tested fully because it definitely
27 contains bugs. (warn+all error+all to
28 the filter and EBUF doesn't output any
29 warnings when it is supposed to do so).
31 misc/arg -- the source file doesn't have a code template
32 - The code template templates/template_source
33 needs to be implemented for this module.
35 misc -- the whole misc/ directory's source files require
38 misc -- move Color conversion functions:
39 - The color conversion functions should be moved
40 to their own source file (Neuro_RGB**).
42 extlib (X11) -- Lib_SetColorKey has a memory leak:
43 - A very nasty one on that, needs to be fixed.
45 * After checking with valgrind I actually found
46 out that the memory leak lies in the X11
47 client interface... I recently upgraded my
48 Xorg from 6.8.2 to 6.9.0 and that's what I'm
49 getting now... A huge amount of memory leaks.
51 extlib (SDL) -- Needs a buffer to hold the v_objects:
52 - I just noticed that the SDL doesn't have a
53 v_object cleaner like the X11 driver, we
54 need to implement one as soon as possible
55 to avoid a maximum amount of memory leaks.
56 This should be pretty easy, just need to
57 use the same method as in the X11 driver.
59 extlib (SDL) on w32 -- bug with the bitmap loader:
60 - When the algorithm tries to load compressed
61 bitmaps(not all though), theres a bug that
62 makes it do a death loop and/or a
63 segmentation fault... When theres a death
64 loop, it eventually ends up in a
65 segmentation fault. I suspect that
66 the SDL.dll API differs from the linux object
67 and either the PutPixel function or a lack of
68 step for bitmaps is the cause of it.
70 * After checking the bitmap code, it seems
71 the bug is related the the bits per pixel
72 when creating a v_object.
74 extlib (SDL) -- There seems to be a memory leak:
75 - When running the "simple" example
76 project with valgrind, I get memory
77 leaks with SDL. This could be SDL
78 though because I couldn't trace the
79 leaks. About 27KB leaked.
81 extlib -- the fonts have a memory leak:
82 - The code to load the fonts need
83 to be checked for memory leaks
84 because valgrind currently says
85 theres about 27k of constant mem
86 leak, no matter how much fonts you
87 create. It could be a leak in freetype
89 *** NOTE Just checked and the values
90 are different and they are the exact
91 same on another project not at all
94 debug -- The whole debug.c file needs to change:
95 - The module needs to be put into src/misc
96 in the first place and every Debug_ functions
97 need to be interfaced to Neuro_ functions.
99 debug -- The implementation needs a namespace method:
100 - In order to avoid module name conflicts,
101 we will need to implement some kind of namespace
102 that projects will set in a similar matter as
103 NEURO_MODULE_CHANNEL but rather globally to the
104 whole project this time instead of just per module.
105 *** DONE but needs more work in order to make it easily added
106 into projects as this requires a macro to be set in a global header
107 in order to work... which would be a little hard to figure for people
108 that start to use the library.
110 bitmap -- Add checks to approve bitmap files:
111 - In order to make the bitmap loader more robust,
112 it is imperative to implement a set of checks to
113 see if the input file to be loaded by the bitmap
114 loader are really bitmaps. a minimal version was
115 done to check the magic word. We also need to put
116 a check to see if the data size are correct according
117 to a value in the header(something like data size).
119 general -- document the API (high priority):
120 - All the external functions of the API should be
121 documented in a format that neuroman.tcl should
123 - EBuf [done needs to be revised]
126 - misc (including the extlib interface) [not done]
128 * extlib sdl -- default depth currently static 16 :
129 - make this so it is settable and not just a static 16.
131 graphics engine : coredraw -- review and heavily test Graphics_RedrawSection :
132 - I noticed this function is really the weak point of the painter's algorithm
133 and thus needs heavy testing and consolidation.
136 - Finish a full documentation of the library.
137 - Make the project GPL v3 compatible and perhaps
138 completely make it GPL v3.
141 - Fix the bugs in the bitmap loading algorithm.
142 - Code the new debugging method.
143 - fix up the keyboard events in the SDL driver.
144 - Clean up the source file in the misc directory.
145 All the functions inside other.c need to be placed
146 in meaningful source files.
147 - Go through all the modules and implement the new
148 debugging method to them.
151 - make the extlib drivers their own shared
152 objects that neuro could dynamically load
153 during runtime. A configuration file would
154 be used to set which one of the drivers to
156 - code openGL drivers for neuro, those drivers
157 would probably have more extensible set of
158 functions which could be used by the applications.
159 So I guess it would be a different branch than
162 extlib X11 -- implement gfx shared memory :
163 - in order to get far faster performances with
164 pretty much any graphical operations, the
165 addition of MIT shared memory for every images
168 implement subprojects :
172 sprite module : to do