[solved] Castle Particle Emitter rise Emitter Exception: 'No mesh found in this model'

Hello!
After a recent or little earlier update, I found that Castle Particle Emitter started rise an exception ‘No mesh found in this model’:

For my project I made a temporary fix:

Еhis exception also rises in the demo project gallery

I compile projects using Lazarus and Castle Editor under Windows. In both cases the Exception appears.

I just update CGE to latest commit and I don’t have this issue after compiling the gallery demo. I suspect your version of CGE has a buggy implementation of URIFileExists() so maybe try to update your CGE to latest commit and see if the issue still exists.

I updated CGE from Latest release and Castle Particle Emitter but nothing changed for me.
Maybe it’s because I’m compiling to 32-bit… I’ll check 64-bit too.

CGE:

Lazarus:

No, in 64-bit I have same issue… Ah I think I understand! You told “update CGE to latest commit”. I’m using release ver of CGE. So looks like it mean, that I need just to wait next release. Ok.

Thanks I can reproduce the issue now.
I made a small change to the source code to avoid the issue, please redownload CastleParticleEmitter.pas and try it again.

1 Like

Thank You! It working

From what I can see, this is something I should ultimately fix in CGE too.

History: Some time ago, around the beginning of March, when making zip class, I changed how UriExists and UriFileExists are implemented. I did changes to enable custom URL protocols to register custom callback to tell “does given URL exist”.

Looks like, along the way, I also changed the UriExists('') and UriFileExists('') answers. By mistake, UriExists('') became ueUnknown (because it has no recognized protocol…) and UriFileExists('') became true (because it may exist as a file since it’s ueUnknown).

Fixed now, in Fix UriExists and UriFileExists for '' · castle-engine/castle-engine@00a253a · GitHub . UriExists('') is now ueNotExists and UriFileExists('') is false.

2 Likes