Hey! Does anybody know a easy way to disabable the rendering of npcs? Thanks
Hey! Does anybody know a easy way to disabable the rendering of npcs? Thanks
Last edited by hamburger12; 08-15-2013 at 08:35 AM.
Many ways, very easy if you don't mind disabling player rendering along the way.
A bunch of rendering types can be disabled selectively if you look at "Batch: model=%s index=%d" stringref and strings around it... For m2models just ret out of the function doing nothing = no players or npcs rendered or other m2s rendered.
For more selective approach to dynamic objects rendering look at CGObject_C__ShouldRender vfunc, if you let it write 1 objects don't get rendered... So for example stacktrace, if called from CGUnit_C__ShouldRender stacktrace further and see if it's called from CGPlayer_C__ShouldRender or as a vfunc, if former = don't do anything, otherwise write 1.
Thanks alot for your reply :-)
Last edited by hamburger12; 08-15-2013 at 03:58 PM.
You can try setting alpha to 1 (read here ([Help?] Wow crashes when changing and freezing a value or value changing does nothing)). That won't solve perfomance issues, but depends on what you need.
Hey thanks for the tip ^.^ its nice but it don't help at my situation. What i trying is to use 3D Ripper to rip out just the geometry ( only for dungens) for the rest i got adt parser.. if i dump with screendumping software, the tringle soup contains also the npcs.. thats why i want to disable the rendering of npcs ;-)
Last edited by hamburger12; 08-15-2013 at 05:49 PM.
Hey,
You can render objects invisible with dynamic flags (Descriptors.ObjectFields.DynamicFlags), write 1 in DynamicFlags.
Last edited by RivaLfr; 08-15-2013 at 06:29 PM.
Rival/Droidz
Why not parse dungeons corresponding WMOs? Seems working fine for me. If you have adt parsing app, you won't even need to code anything since it should handle wmos as well.
Last edited by Empted; 08-15-2013 at 09:33 PM.
I had done this kind of software,and used it for WOW and Blade and Soul to extract all of the map.The keypoint is how to handle the view/projection matrix to turn the model to the correct place with correct pitch/yaw angle,and fix the model coords to game world's coords.
here is a video if someone interesting with it: http://www.youtube.com/watch?v=3HAXUaNLQfA
Last edited by Game2Mesh; 08-16-2013 at 05:21 AM. Reason: update the video
Something like reading the index and vertex buffer from the memory of the videocard? Just a guess, this is pretty interesting!
Yes,the data source is from memory of videocard.
To Master674:
Yes,i had hooked DrawIndexedPrimitive to get the data source,and processing the data to the obj file.
First of all,you must handle the vertex shader to transform the coords and rotations,to do that i code an interpreter to excute the bytecode of vertex shader,transform each render objs then you will get the game world's model.Maybe in some games this will be the final output,but for WOW and Unreal engine based games,the coords and rotations of this model is different with the game's geometry coords,to fix them to the correct coords based on the engine,the fix part is total different between WOW's engine and Unreal engine.
Whatever,it's a way to get the game's geometry data.For WOW,i think parse the ADT/WMO/M2 is better way,because there is so many people working on it.I make the demo for WOW just for prove this technique is adapt to different games.I had release a free version for WOW,to extract small area around character.For someone who don't want to parse the adt,that will be helpful for fix the stucking issue.