From: Filip V. <f.v...@ce...> - 2007-08-13 10:59:31
|
Hello everybody, as I promised, I started working on the InheritService. A working skeleton is present in CVS, currently only listening to MetaProperty relation messages, and updating it's internal source/destination inheritance maps. It does broadcasts too itself, which will be used by caching inheritors, so those will be able to rebuild the internal map of effective object id's. Now I would like to finish this soon, hopefully this week (But I know that this is little bit too optimistic). After this, All the modifications to the property service will be made. I do not know yet if even the inherited property should be a source to the property change broadcasts. It seems that Dark handles this in a sorta fuzzy way, because some key properties are not concrete inherited - only archetype inherited. That means that the property itself (not an inherited one) is used on concrete objects (copied upon instantination of the archetype), so maybe broadcasting inherited property asignments will not be needed. If it will, the change will be rather simple really. I'd like to split the properties to active/passive (only active would broadcast), but this probably won't fit... Object service will be next. That one will handle: createFromArchetype, create, nameToID, idToName, object death, pre-death, object creation messages, some clever ID mapping for objects, etc. I really wish to finish this soon, because the main work on the engine will then be possible - all those fancy core features, such as tweq's, frobbing, particle systems, etc. Please report any compilation problems to me if you try to build opde now, it may be inconsistent (mainly as I have some pending modifications in the DarkSceneManager, and won't commit those till I have a working stencil/lightmap global shadows - and that will take some time to do). As a side note: I migrated to Code::Blocks, as SVN version of it finally works like a charm, and CMake CVS version can generate project files for it. If somebody want's cmake cvs ebuild for gentoo, I can send it. The C::B really is a nice dev. platform, finally the code completion works as it should (with one exception - completion over the -> operator, which is used in shared_ptr template). Filip |