Jump to content
The Dark Mod Forums

mohij

Member
  • Posts

    244
  • Joined

  • Last visited

Everything 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. Yeah, it was the getEntityForEClass, thanks. ps. SConscript has to be changed too of course, but that's probably a minor issue ;-)
  4. Yeah, I know those, but which files do I have to change to make use of my new plugins/entity/speaker/* files? (copied generic over and modified to fit)
  5. This sounds perfectly stupid, but I really can't find the file which deals with the Light/GenericEntity/Speaker... classes. Any clue?
  6. Can a sound shader contain more than one sound? The implementation keeps it as a list, but the .sndshd files seem to keep constantly only one single sound file.
  7. What is the light center and what is the sense in moving it? Is it relevant for speakers? Edit: Should this new speaker have an arrow?
  8. OrbWeaver: So copying plugins/entity/generic to plugins/entity/speaker and changing the file accordingly would do the trick?
  9. Yeah, I guess that should get me started, thanks. One more: What does MinDistance mean?
  10. 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 ;-)
  11. I think the speaker radius thing sounds cool. It's probably a lot of copy and paste from light radius I guess.
  12. Then something else is fine too, it should be fun though ;-)
  13. 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).
  14. It works great. :-) And now that I can test it, my patch also works.
  15. 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.
  16. 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.
  17. That's just what I do atm. I checked out 2109 (the rev before the namespace change) to check if it works. Edit: btw. I am on 32bit, so it has nothing to do with 32vs64 bit.
  18. Fanally switched my PC on first time since two days, sort of a record... Well, I did a completely new checkout, deleted my .darkradiant dir, compiled and still the error stays, quite stupid.... I have honestly no clue what the problem could be.
  19. 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 ()
  20. Small question, why do you have to write std::string LightShader::m_defaultShader = ""; That string is already declared in the headerfile, so why is the std::string needed?
  21. 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
  22. Well, according to the wiki this is very easy. But the XML file looks a bit different than stated in the wiki... Some hint where to put the key would be helpful.
  23. 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.
  24. Na, I reverted all that stuff..... a Solution is of course better! Edit: that latest patch misses some includes in OrthoContextMenu.h since I put the Visitor class properly in there and forgot to move the includes, apart from that it should (I hope) work.
×
×
  • Create New...