Nspsedit
prsearle
Join Date: 2002-11-01 Member: 2365Members, Constellation
<div class="IPBDescription">Preview particle system</div> I've spent the last few days putting together a program called NSPSEdit. It's a win32 opengl program that allows you to define and preview Natural-Selection particle systems. It's as close to the real thing as I could make it. Here's a screenshot:
<img src='http://homepage.ntlworld.com/pr.searle/forums/ns/NSPSEdit1.0.gif' border='0' alt='user posted image'>
Some notes:<ul><li>The "ground" and "grid" are each 200x200 units square.
<li>Currently you can import particle systems from .ps files. You may want to check out your ns/ns.ps file - it contains things like umbra, spores, resource nozzle systems, etc.
<li>Importing paricle systems from .map and .bsp files will come later.
<li>You can export your particle system to a .ps file or a .map file. You can also copy it to the clipboard as ASCII text.
<li>The "Display model" option allows you to load a model to use a scale/reference. If you use this you'll likely notice currupted textures on the particles. It's a bug and I know about it.
<li>If you get the message "Can't load file', try using absolute paths rather than relative ones.
<li>NS only supports additive mode for particle sprites, and so do I. That doesn't stop you selecting other modes, though - they just don't look right.
<li>The "Start on", "Particle density" and "High detail" spawnflags have no effect in this editor but do in NS.
<li>I don't know what the "Minimize edges" spawnflag does in NS, so it's just here for completeness.
<li>The "Collide" spawnflag is only partially implemented but works fine in NS.
<li>Features that may go into a future version:<ul><li>Generate particle system on collision
<li>Multiple particle system loading
<li>Better alpha blending</ul></ul>
[B]Edit: Link removed; version 2.0 fixes some problems - get it <a href='http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html' target='_blank'>here</a>.
<img src='http://homepage.ntlworld.com/pr.searle/forums/ns/NSPSEdit1.0.gif' border='0' alt='user posted image'>
Some notes:<ul><li>The "ground" and "grid" are each 200x200 units square.
<li>Currently you can import particle systems from .ps files. You may want to check out your ns/ns.ps file - it contains things like umbra, spores, resource nozzle systems, etc.
<li>Importing paricle systems from .map and .bsp files will come later.
<li>You can export your particle system to a .ps file or a .map file. You can also copy it to the clipboard as ASCII text.
<li>The "Display model" option allows you to load a model to use a scale/reference. If you use this you'll likely notice currupted textures on the particles. It's a bug and I know about it.
<li>If you get the message "Can't load file', try using absolute paths rather than relative ones.
<li>NS only supports additive mode for particle sprites, and so do I. That doesn't stop you selecting other modes, though - they just don't look right.
<li>The "Start on", "Particle density" and "High detail" spawnflags have no effect in this editor but do in NS.
<li>I don't know what the "Minimize edges" spawnflag does in NS, so it's just here for completeness.
<li>The "Collide" spawnflag is only partially implemented but works fine in NS.
<li>Features that may go into a future version:<ul><li>Generate particle system on collision
<li>Multiple particle system loading
<li>Better alpha blending</ul></ul>
[B]Edit: Link removed; version 2.0 fixes some problems - get it <a href='http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html' target='_blank'>here</a>.
Comments
Honestly it looks good, but of course there are a few bugs a kinks to be found....I just don't have it yet (no NS due to reformat due to virii)
"This application has failed to start because MSVCRTD.dll was not found. ..."
Anychance you can recompile including this .dll since attempts to download it from anywhere proved fruitless.
*EDIT: If you're having the same problem as me, here's some tips.
Download <a href='http://winroam.com/Msvcrtd.dll' target='_blank'>MSVCRTD.dll</a> here and save it to your windows/system32 folder.
Download <a href='http://www.webzila.com/dll/MSVCP60D.DLL' target='_blank'>MSVCP60D.dll</a> here and copy it to windows/system32.
That should solve it.
But a very cool idea - I would love to get working - a great tool to have.
-Parallax
<b>Edit: </b>It appears having the "Show grid" option checked also causes random white squares to pop up... sorry about this. I'll have a fixed version up by tomorrow morning. In the meantime, not using the "Grid" and "Model" options works Ok for me.
~ DarkATi
Have you set a sprite to be used in sprite appearance?
MSVCRTD.DLL stands for
Micro-
Soft
Visual
C++
Run-
Time
Debug version
.DLL
<a href='http://support.microsoft.com/default.aspx?scid=kb;en-us;154753' target='_blank'>http://support.microsoft.com/default.aspx?...kb;en-us;154753</a>
Your compile machine would have MSVCRTD.DLL installed automatically when Visual Studio 6.0 was installed, so it's invisible to you as a programmer. Make your next public release using <span style='color:white'>/MT</span> to lose the dependancy on the dynamic libraries and link without debugging symbols, reducing the size of your build. Alternately, you could build using <span style='color:white'>/MD</span> and package MSVCRT.DLL (no D since it wouldn't be the debug version) with your program.
The other dll, MSVCP60D.DLL, contains the debug version of Microsoft's "new" standard template library / IOStreams implementation for Visual C++ 6.0.
I had the same thing happen with people needing MSVCR70.DLL for my tools, which is the .Net 1.0 version of the dynamic runtime. My next release is using .Net 1.1, so it'll use MSVCR71.DLL instead.
For those of you having problems seeing the particle systems, what video cards are you using? Perhaps there's a dependancy on an OpenGL hardware extension that's not universally supported?
Now we dont have to compile everytime we want too see our changes in PS.
<3
NVIDIA GeForce 4 Ti 4800 SE <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif'><!--endemo-->
Wrote some news about this on <a href='http://www.leveldesign.nu' target='_blank'>LevelDesign.nu</a>, hehe.
<li>Removed the "show model" option because it kept causing problems.
<li>Added ability to specify ground size (default now 256x256).
<li>Added ability to specify grid spacing (default now 32).
<li>Added additional checks while loading sprites.
<li>Added new option "NS path". Set this to the location of your NS directory (e.g. "c:\sierra\half-life\ns\"). Once this is done, relative paths will work ("sprites/sprite.spr"). If you want to use absolute paths, leave this blank.
</ul>
To install: extract the NSPSEdit2.0 directory from the zip file. Run NSPSEdit.exe and make sure the "NS path" option is set correctly.
To uninstall: delete the NSPSEdit2.0 directory.
Screenshots and explanations of the various settings can be found <a href='http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html' target='_blank'>here</a>.
I know that's a big project idea, but it would really be cool. Either way i'm going to grab this and start tweaking some ps's. (haven't been doing so up until now because even thirty seconds of compile gets annoying just to make changes, which makes radical variations out the window)
I have some bugs and some ideas:
Bugs:
•Fade in and fade out flag doesn't work. I would like to see this work so i can see how it would look like in game.
•I noticed that animation speed needs to be raised quite much. Animation speed on 1 is quite smooth in NS while in your editor it takes a second before the frame changes. Is this a bug?
Ideas:
• Make the 'Create particle system' button be somewhere else than in menu 1 so i can press it anytime anywhere.
Are you going to get the PS using a solid entity as generator in this program as well? So you can make a *.map, put a solid entity in it with the desired size and an env_particles_custom to import it in the editor.
<span style='color:gray'>Just a note:
I got my Sapphire Radeon 9800XT 256mb up to 25.000 particles rendering before the fps started dropping <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo--> </span>
this is really annoying because its such a handy tool.
And very good work there prsearle!!! ive always wished for something like this:D
Basicly the explorted .map would look something like this, depending on how you set your ps.
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1--><snipped example><!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
And very good work there prsearle!!! ive always wished for something like this:D <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Already done <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo--> The export tab allows you to choose between saving as a .ps or as a .map file. The map contains two rooms (readyroom/main room) plus the appropriate entities (player start, info_mapinfo, and a resource nozzle so you know when the PS starts).
I can't get it to work though, but... oh well.
I only have two crits:
- You can't seem to unload a background texture once you've chosen one (I chose grid by accident). Even when I exit it and restart it, I have a grid covering my screen. I assume this is in the registry somewhere, but I would suggest that the "Unload ground texture" be renamed "Unload textures" or something, and have it remove both the ground and the background textures.
- The animation speed might be a bit off. I looked at HiveDeath and ChamberDeath, and they play much slower then they do in-game. This could be an NS bug, or it could be a bug in your tool.
If you ever have any questions about how the NS particles work, you should check out the <a href='http://www.cs.unc.edu/~davemc/Particle/' target='_blank'>Particle System API</a> I used. This is used pretty much as is for the basis for the NS particles, and the code and documentation there should answer most of your questions you might have.
Incredibly cool!
gj man