On 2010-04-05 08:09, Mathieu Bouchard wrote:
On Mon, 5 Apr 2010, Mathieu Bouchard wrote:
or is it working ? i'm confused.
Had compiled with wrong headers. Ended up doing this :
struct GemState92 { int dirty, inDisplayList, lighting, smooth, texture; pixBlock *image; GemState92(); ~GemState92(); void reset(); }; struct GemState93 { bool dirty, inDisplayList, lighting, smooth; int texture; pixBlock *image; GemState93(); ~GemState93(); void reset(); virtual void your_mom() = 0; }; ... void render(void *state) { if (gem>=93) ((GemState93 *)state)->image = &m_pixBlock; else ((GemState92 *)state)->image = &m_pixBlock; } etc
therefore I can support both with a single build.
the idea is to drop all those public members and make them available via a get/set system, so new member variables can be introduced without breaking binary compatibility (and without having an ever-growing header file) it's not there yet.
hopefully it will be there for 0.93
gmadr IOhannes