More Module Madness

BlitzMax Forums/Brucey's Modules/More Module Madness

Brucey(Posted 2010) [#1]
Just playing around with my module parser, and the cairo+graphviz modules, but it looks kind of interesting.

This is the module import tree for BaH.CEGUI :



Modules are colour-coded by "namespace".

Each module node also stores Functions, Globals, Consts, Types and Methods.
It takes about a second to generate this from a full parse of the source.

Fun fun :-p


Brucey(Posted 2010) [#2]
So, the first one doesn't show ALL the relationships.

Here is one that does :



Not so neat, but a bit more accurate :-p

In theory, you don't need to Import modules which are already imported down the tree, but I've found that for C/C++ files that require #includes of certain resources in those modules, it works better when you Import them just before you define the header imports.


Tommo(Posted 2010) [#3]
You should give BRL.Blitz a big red heart shape.
:)


GW(Posted 2010) [#4]
A little off topic, but I thought bah.cegui required GlMax2d? (not in the list)


Brucey(Posted 2010) [#5]
I thought bah.cegui required GlMax2d?

Ah... the magic of abstraction :-)

Your application requires an Import of BaH.CEGUIOpenGL. BaH.CEGUI simply defines the API for a "renderer", not the implementation of it.

I'm also looking to implement a BaH.CEGUID3D9 module, which will of course allow you to render using the BlitzMax dx9 backend.

Why do I do it this way?
Well, if I included everything in BaH.CEGUI, your Windows app would require both the dx9 and gl code to be compiled into it, but you may only be using one of them.


GW(Posted 2010) [#6]
BaH.CEGUID3D9 would be pretty awesome.