| [SPARK 2] Bug Report | |
|
+5Darktib shd stardeath Juff Charlie 9 posters |
|
Author | Message |
---|
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Wed Dec 14, 2011 4:12 pm | |
| @ shd :
I have corrected the >> template stuff. As i m using visual to program I tend to be a little lazy with the norm (even if i think all modern compilers can well recognize it as the closing of a template now)
For the code not compiling on other compilers than visual, I tested it long ago, so I guess I ll have to make some corrections quick. | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Wed Dec 21, 2011 8:34 pm | |
| Just to let you know I modified the code so that SPARK 2 compiles under gcc.
I still have some warnings (I think its a compiler bug) and a friend relationship between 2 nested classes I havent managed to make so I had to make some stuff public.
About that last problem, if someone has a solution... I dont manage to get Octree::Cell to be friend of Octree::Array<T> even with forward declaration... Either I m tired, or the solution is tricky syntax or it is a compile bug... | |
|
| |
shd
Messages : 4 Date d'inscription : 2011-12-06
| Subject: Re: [SPARK 2] Bug Report Wed Dec 21, 2011 8:36 pm | |
| - Juff wrote:
- Just to let you know I modified the code so that SPARK 2 compiles under gcc.
Thanks a lot, you probably saved me quite a lot of work by this I'll try it myself tomorrow. [EDIT] Sorry for late response, I've been busy. How did you actually compiled it on G++? On 336 revision, i just tried to make it. Unfortunately part of old errors appear, like: * missing SPK:IO:Attribute at SPK:IO:Descriptor (so i have to declare 'class Attribute'). * at SPK_Zone.h:70:113 there is type conflict, so i have to change parameter to const (hell, i don't even know if it can be const) and more things like that. I'm using gcc 4.6.2. For me, this errors look reasonable but of course i may be wrong since as i said, i don't feel c++ guru at all.
Last edited by shd on Sat Dec 24, 2011 9:12 pm; edited 1 time in total (Reason for editing : checked new version) | |
|
| |
vroad
Messages : 4 Date d'inscription : 2012-02-20
| Subject: Re: [SPARK 2] Bug Report Mon Feb 20, 2012 5:59 am | |
| I tried to use spark with irrlicht, but it doesn't compile because there is a spelling error. I've posted a patch in SourceForge to fix the error.
Also, I don't recommend placing binaries in the same repository. It can be built from source code, and it requires extra space to save entire history of binaries. | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Mon Feb 20, 2012 6:53 pm | |
| Hi, thanks for your report, i ll check that | |
|
| |
vroad
Messages : 4 Date d'inscription : 2012-02-20
| Subject: Re: [SPARK 2] Bug Report Tue Feb 21, 2012 11:50 pm | |
| Hmm, Corrected version only works with Irrlicht 1.8 but 1.7. pack_texureBlendFunc was renamed to pack_textureBlendFunc in 1.8. | |
|
| |
thecno
Messages : 7 Date d'inscription : 2012-03-25
| Subject: Re: [SPARK 2] Bug Report Sun Mar 25, 2012 10:52 am | |
| When I only add #include "SPARK.h" in my project, I get the following error - Code:
-
/usr/local/include/spark2/Core/SPK_MemoryTracer.h: In member function ‘void SPK::SPKMemoryTracer::dumpMemory()’: /usr/local/include/spark2/Core/SPK_MemoryTracer.h:104: error: ‘compareAllocTime’ was not declared in this scope In file included from /usr/local/include/spark2/SPARK_Core.h:37, from /usr/local/include/spark2/SPARK.h:26,
EDIT: Fixed the above error by disabling #define SPK_TRACE_MEMORY in SPK_MemoryTracer.h But then I got the following when trying to compile the SPKTestIrrlicht.cpp - Code:
-
SPK_IRR_QuadRenderer.cpp:(.text+0x3d): undefined reference to `SPK::QuadRenderBehavior::QuadRenderBehavior(float, float)' SPK_IRR_QuadRenderer.cpp:(.text+0x4d): undefined reference to `SPK::Oriented3DRenderBehavior::Oriented3DRenderBehavior()' /usr/local/lib//libSPARK_IRR.a(SPK_IRR_QuadRenderer.cpp.o): In function `SPK::IRR::IRRQuadRenderer::IRRQuadRenderer(irr::IrrlichtDevice*, float, float)': SPK_IRR_QuadRenderer.cpp:(.text+0xfb): undefined reference to `SPK::QuadRenderBehavior::QuadRenderBehavior(float, float)' SPK_IRR_QuadRenderer.cpp:(.text+0x10b): undefined reference to `SPK::Oriented3DRenderBehavior::Oriented3DRenderBehavior()'
| |
|
| |
MTimur
Messages : 1 Date d'inscription : 2012-10-25
| Subject: Bug Thu Oct 25, 2012 9:08 am | |
| \sparksdk\src\1.5.5\src\core\spk_model.cpp:200 - Code:
-
if (nbInterpolatedParams > 0) { interpolatedParams = new int[nbMutableParams]; //<<=== here for (size_t i = 0; i < nbInterpolatedParams; ++i) interpolatedParams[i] = model.interpolatedParams[i]; }
must be: - Code:
-
interpolatedParams = new int[nbInterpolatedParams]; | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Fri Oct 26, 2012 2:34 pm | |
| Thanks. This is fixed on the svn | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Sat Mar 02, 2013 12:40 pm | |
| Hi is there a way to reset the particles (lifetime , age , etc) in a group ? The Group::reallocate only works if the newCapacity != currentCapacity so this doesn't work : - Code:
-
group->reallocate(group->getCapacity()); There should be an option to somehow "restart" the groups.I have "stop" "play" "pause" buttons in my editor , and i need to reset the systems when i press the "stop" button. Any ideas ? PS: I'm not sure yet if this a bug , but it seems that calling continguously the reallocate() method sometimes (randomly) crashes... | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: [SPARK 2] Bug Report Sat Mar 02, 2013 4:35 pm | |
| I don't have the source code of my editor on the computer I'm using now, but I think I implemented it by emptying groups and reseting emitters. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Mon Mar 04, 2013 1:50 pm | |
| OMG !! i just searched a bug all day and after 17 hours of hard bug hunting and coffe drinking and frustrating i found this : - Code:
-
void Group::removeEmitter(const Ref<Emitter>& emitter) { std::vector<Ref<Emitter> >::iterator it = emitters.begin(); if (it != emitters.end()) emitters.erase(it); else SPK_LOG_WARNING("Group::removeEmitter(Emitter*) - The emitter was not found in the group and cannot be removed"); } Which is apparently wrong ! No matter which emitter you remove , the very first one will be removed every time... | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: [SPARK 2] Bug Report Mon Mar 04, 2013 3:17 pm | |
| Oops... That is a stupid bug. Will fix it as soon as I retrieve my dev machine, next week. Thank you for your report. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 6:35 am | |
| Hi i found another bug : The texture stage states are wrong in the dx9 renderers.The texture alpha mode is wrong in each renderer. To have correct BLEND_MODE_ALPHA mode These flags : (which are correct for alpha blending) - Code:
-
DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE); Need to be set like this : - Code:
-
DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); // + 1 flag to set : DX9Info::getDevice()->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE); Cheers | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 6:40 am | |
| Hi, thanks for reporting. If you want not to rely on us for bug fix, i can give you the rights to commit code on svn. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 7:15 am | |
| OK , i have a little spare time so why not. I'm in !
SourceForge : charlie82
| |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 9:27 am | |
| | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 12:17 pm | |
| Ok someone should help , it seems i made a mistake while i commit on the SVN... Sorry Maybe i just wait for you to commit the changes... i'm not that familiar with SVN... | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Mar 05, 2013 12:44 pm | |
| I have removed what you ve commited | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: [SPARK 2] Bug Report Tue Mar 12, 2013 5:04 pm | |
| The Group::removeEmitter bug is now fixed on svn.
If I have time, one day I will change some of the Group data structures from multiple std::vector to intrusive list (notably emitters).
@Juff: why is activeEmitters mutable ? | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Sun Mar 24, 2013 9:43 am | |
| Hi i found a bug in the DX9LineRenderer.In DX9LineRenderer::render() seems that the buffer needs to be locked first (buffer.lock(VERTEX_AND_COLOR_LOCK)) otherwise the engine will crash at : - Code:
-
buffer.setNextVertex(particle.position()); Regards | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Thu Mar 28, 2013 5:37 pm | |
| Another bug : Gravity modifier does not take PARAM_MASS into account in Gravity::modify OFF : I've added a new way to scale particle systems and groups adding a protected virtual method to SPKObject : - Code:
-
vitual void updateScale(float scale); this method recalculates all the parameters (forces , zone sizes , quads point sprites) in Group::updateParticles example : - Code:
-
void Emitter::updateScale(float scale) { forceMin = forceMin_const * scale; forceMax = forceMax_const * scale; zone->updateScale(scale); } it works perfectly , except the line trail renderer... does anyone have an idea how to recalculate the duration and the samples by a given scale factor ? Thanks | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: [SPARK 2] Bug Report Sat Apr 06, 2013 6:29 am | |
| For the gravity, it is not a bug. This is physically correct, the mass doesnt change anything : Newton's second law : F = m * a F = C * (m1 * m2) / d² (gravitation law) F = g * m (simplified with a constant) => a = g
For the scale, yes this is a good feature, tricky however because their may be quite a lot a parameter to change by spk object. The philosophy of the updateScale should be similar to the philosophy of the updateTransform. I wont cache the initial values however. To me the updateScale should change the value and is used at systems loading to adapt the scale of a system to the scale of the given world.
| |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: [SPARK 2] Bug Report Tue Apr 09, 2013 6:32 am | |
| Yes you are right about the Gravity! just after i made that post i realized that i was wrong , but forget to edit the post... must be sleepy that day. However there is a small issue in Graph Interpolators import : The y1 values are not loaded : - Code:
-
if (validGraph && (attrib = descriptor.getAttributeWithValue("graph values"))) { std::vector<T> values0 = attrib->getValues<T>(); if (values0.size() == nbEntries) for (size_t i = 0; i < nbEntries; ++i) entries[i].y0 = entries[i].y1 = values0[i]; else validGraph = false; }
if (validGraph && (attrib = descriptor.getAttributeWithValue("graph values"))) { std::vector<T> values1 = attrib->getValues<T>(); if (values1.size() == nbEntries) for (size_t i = 0; i < nbEntries; ++i) entries[i].y1 = values1[i]; else validGraph = false; } the line : - Code:
-
if (validGraph && (attrib = descriptor.getAttributeWithValue("graph values"))) should be : - Code:
-
if (validGraph && (attrib = descriptor.getAttributeWithValue("graph values 2"))) | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: [SPARK 2] Bug Report Tue Apr 09, 2013 10:19 am | |
| Thank you for the report. With the controls & attributes system I'm finalizing, the de/serialization will be automatic, so it will be fixed with it. | |
|
| |
Sponsored content
| Subject: Re: [SPARK 2] Bug Report | |
| |
|
| |
| [SPARK 2] Bug Report | |
|