AUTHOR
Brick :: Dev
GENERAL
1.Removed GUI
2.Removed the buggy AUDIO
3.Removed NETWORK DRIVER
4.Removed all input related code
5.Removed 1.41 mb of static pre-allocated tables
6.Removed internal timer that seems to trying to "lock" the renderer
after 10' have passed( WHAT THE H? ).
7.Removed logger
8.Removed all examples(they are not compatible , since they are all require the gui env/input)
NEW MODULES
1. ITextureFont class ( my texture font class )
DEVICE CHANGES
1. Removed of couple unused variables/defines/static tables
2. All input gargabe have been removed
3. All useless drivers that have been removed are now null
4. Removed functions
5. Disabled audio,cursor, and audio/network modules aren't loaded.
Overall the "run" function is just a few ops(it used to be a couple of hundreds useless ops).
DRIVER NEW FUNCTIONS
1.Added removeAllTexturesExcept(const core::array<core::stringc>& exceptionList) which
removes textures with exceptions
2.video::ITexture* findTextureByName(const c8* filename)
With this you can figure out if a texture exists WITHOUT letting
the driver to load it.
3.Replaced a line in "findTexture".
this :
Code:
if (!filename)
filename = "";
with this:
Code:
if (!filename)
return 0; //filename = ""; <-- brick
SOFTWARE DRIVER CHANGES
1. Modified depth range(misc)
2. Replaced some int divisions with binary divisions(that were possible)
3. Vertex stack allocation is now static and pre-allocated, not like it used to be dynamic on each frame(!)...
This indeed requires a bit more memory , but since i've removed so much memory from other modules,
its really nothing important.
4. Optimized some mul & div operations (eg color + inv @glClearColorOptimized()) that could be avoided.
5. Removed a few opengl states
6. Optimized some opengl states(eg ,in some cases, some states were used 2 times in 1 call)
7. Removed all input(DUHHHHHHHHHH...) related code from the software driver
8. Replaced glblendfuncPspFix with glBlendFunc
9. Removed logo static data
10. Removed logo sfx
11. Removed the counter that locks the app after 10' of use if the logo flag is false
12. Removed cursor,selectors and keys...OMG
13. Removed "files/audioIntro.c" ...most-wasted 321kb ever
14. Removed "files/logo.h" ... + 110kb
15. Removed many unused variables
16. Removed cursor data .... +10kb
17. Removed all included files with static data from \\files\\ dir
(With all these we get AT LEAST + 1.4mb available memory!)
18. Optimized interpolate ( BspClipVertex *out, ...) ,and now the color extraction is done only if (and where) needed.
19. Some misc optimizations to functions
20. Some types needed to be passed by reference
21. Aligned some static buffers
22. Removed from beginScene() a block of code that makes no sense and just renders a red quad 480x272...
(probably trying to cull out color bits from stencil ops ???????)
23. Added static inline void updateGLColorOptimized(GLfloat* in)
24. Added static inline void glClearColorOptimized(const SColor& color)
25. Re-written "inline void interpolate ( BspClipVertex *out, const BspClipVertex *b, const BspClipVertex *a, f32 inv)"
And now it gives a NICE speed boost when rendering a bsp mesh (in most cases).
The color extraction is done only when needed , and in steps
DEVICE STUB
1.Removed gui env
2.Muted : postEventFromUser()
3.Muted : setEventReceiver()
4.checkVersion() will return true to avoid crash since there is no logger anymore
PARTICLE SYSTEM CHANGES
1. Particles are pre-allocated now (gives a NICE speed boost)
2. Point emitter finally works