Jump to content
The Dark Mod Forums

mohij

Member
  • Posts

    244
  • Joined

  • Last visited

Posts posted by mohij

  1. Actually I added a isSpeaker() and setIsSpeaker() function to correspond to the isLight()/setIsLight() function. Those are set in plugins/eclassmgr/eclass_doom3.cpp, which does deal with the vfs.

    Just checking for name == "speaker" sounds less complicate of course.

     

    The SoundManager changes are tival, if you think those are worth committing, I can upload a diff.

    The two problematic points are the transformation from the SoundShader to the final SoundEntityNode and the SoundEntity itself, which I sort of just trial-and-error merged from genericEntity class and Light class as I didn't want to read through all those inherited classes.

  2. Okay, now I'm sorta stuck on creating the actual speakerEntity.

    I have changed the SoundShader to contain min/max and SoundManager to fill those values.

    I have also created the Speaker class.

    But creating the entity seems to be a quite complex process involving the vfs (I guess this means virtual file system) in plugins/eclassmgr/eclass_doom3.cpp.

    I guess the vfs is filled up with the Shaders (no idea where) and afterwards the EntityClassDoom3 creates the entities with those .def files in the vfs.

    Could someone clear this up a bit?

  3. Continued from the MapExpressions thread.

    I just found some time to take a brief look into the speaker radius task. And already some questions arrise ;-)

    Why is it called radius (speaking of lights)? My Radiant shows squares and not circles...

    The light radius/box drawing code is in plugins/entity/light/Renderables.h/cpp and really doesn't look big (is that everything?). So "copying" that over to speaker is everything?

    On first quick search I couldn't find the speaker code. Where is it hiding (I guess it isn't as nicely seperated as the light code...)

    Should I just bump the new code into the existing files or create seperate ones just like the light files?

    The entity inspector doesn't show a speaker radius, speakers do have a radius, do they? Otherwise the task really doesn't make sense...

     

    Surely more to come ;-)

  4. I'm quite short on time atm, so I'm not sure if I can continue to programm as regular as I did until now, sorry about that. So some task that isn't time dependant and can be done as I have time would be cool.

     

    Something that came into my mind yesterday is internationalization an UTF-8 (even though I have zero experience in that area).

  5. Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread -1232931120 (LWP 13804)]
    0x0820fbf5 in boost::detail::atomic_increment (pw=0x1d) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:66
    66		  );
    (gdb) bt
    #0  0x0820fbf5 in boost::detail::atomic_increment (pw=0x1d) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:66
    #1  0x0820fc1a in boost::detail::sp_counted_base::add_ref_copy (this=0x19)
    at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:133
    #2  0x0820fd2e in shared_count (this=0xbfc04938, r=@0x91c6fc4) at /usr/include/boost/detail/shared_count.hpp:170
    #3  0x08210446 in shared_ptr (this=0xbfc04934) at /usr/include/boost/shared_ptr.hpp:106
    #4  0x0841323a in TraversableNodeSet::traverse (this=0x9a64cc8, walker=@0xbfc04990) at libs/traverselib.h:222
    #5  0x0840bd29 in map::(anonymous namespace)::Node_insertChildFirst (parent=@0xbfc04a48, child=@0xbfc04a40)
    at radiant/map/Map.cpp:86
    #6  0x0840c196 in map::(anonymous namespace)::createWorldspawn () at radiant/map/Map.cpp:98
    #7  0x0840c25e in map::Map::updateWorldspawn (this=0x85156c0) at radiant/map/Map.cpp:347
    #8  0x0840c2c7 in map::Map::findOrInsertWorldspawn (this=0x85156c0) at radiant/map/Map.cpp:352
    #9  0x082d456d in ui::OrthoContextMenu::callbackAddModel (item=0x98c9b60, self=0x8509380)
    at radiant/ui/ortho/OrthoContextMenu.cpp:302
    #10 0xb78230b9 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
    #11 0xb7815ec9 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #12 0xb7826901 in ?? () from /usr/lib/libgobject-2.0.so.0
    #13 0x09a76610 in ?? ()
    #14 0x00000000 in ?? ()

    I recompiled it with debug flags, this is the output I get.

     

    Another thing I noticed, is that it works correct if a model is loaded without clipBox first.

  6. Jup, good work :-), radiant finally starts again. But now it segfaults when using the new monsterclip functions :-(

     

    Program received signal SIGSEGV, Segmentation fault.
    0x082c1d1b in TraversableNodeSet::traverse ()
    (gdb) bt
    #0  0x082c1d1b in TraversableNodeSet::traverse ()
    #1  0x082b8962 in map::(anonymous namespace)::Node_insertChildFirst ()
    #2  0x082bc15a in map::(anonymous namespace)::createWorldspawn ()
    #3  0x082bc3ec in map::Map::updateWorldspawn ()
    #4  0x082bc4b8 in map::Map::findOrInsertWorldspawn ()
    #5  0x0818062d in ui::OrthoContextMenu::callbackAddModel ()

     

    I will have a look at that segfault tomorrow.

     

    btw. If you want to try the registry thing you taked about, I uploaded a patch. I can't try it, since radiant segfaults me, so no idea whether it works or not.

  7. Sounds strange, but with latest head I still get that Segmentation fault, I'll try gdb...

     

    Edit: gdb spits out:

    (gdb) run
    Starting program: /home/patrick/development/apps/darkradiant/cvs/head/install/darkradiant 
    WARNING: Failed to load module /home/patrick/development/apps/darkradiant/cvs/head/install/modules/entity.so:
    /home/patrick/development/apps/darkradiant/cvs/head/install/modules/entity.so: undefined symbol: _ZTI6Entity
    
    Program received signal SIGSEGV, Segmentation fault.
    0x082abd90 in ui::MRU::constructPreferences ()
    (gdb) bt
    #0  0x082abd90 in ui::MRU::constructPreferences ()
    #1  0x082ac667 in ui::MRU::MRU ()
    #2  0x082acc2a in GlobalMRU ()
    #3  0x080fdb80 in Radiant_Initialise ()
    #4  0x080f7cfe in main ()

  8. Okay, I think I got that thing, really wasn't hard.

    But my radiant will strictly not start.

    in plugins/entity/light/Light.cpp I needed to put

    std::string LightShader::m_defaultShader = "";
    namespace entity {

    before the namespace, because it wouldn't compile otherwise.

    But on start radiant segfaults with

    WARNING: Failed to load module /home/patrick/development/apps/darkradiant/cvs/head/install/modules/entity.so:
    /home/patrick/development/apps/darkradiant/cvs/head/install/modules/entity.so: undefined symbol: _ZTI6Entity
    Segmentation fault

  9. Okay, understood that one, thanks :-)

     

    If you want to submit the monsterClip stuff first, as you said:

    The new diff file contains only the monsterClip changes.

    Only those two lines are missing in OrthoContextMenu.h

    #include "scenelib.h"
    #include "selectionlib.h"

     

    Compilation then fails with

    plugins/entity/light/Light.cpp: At global scope:
    plugins/entity/light/Light.cpp:12: error: definition of 'LightShader::m_defaultShader' is not in namespace enclosing 'LightShader'

     

    But I think that's not related to my changes.

×
×
  • Create New...