Hello Friends ^^
Maybe theres a reason i dont know, turning this question into a stupid post, but iam shocked about the following. Breaking news for me
Applyed some small n simple "bullet - impact - blood - sprites" via
at last hit
position, to create kind of basic "pain skin" effect.
Worked well, looked good, when limited not ( that ) much performance eating. how ever...
Then, i added another enemy with same bones but another mesh. Of course i added
to share the +-3000 animation frames ( used by all different monsters / meshes ). In short words, did what ent_animatefrom was made for.
So now i have two different enemy models, but only ONE animation set / resource / container. so far so nice.
After that, a few minutes later, i saw that all placed decals ( on "noanim-mdl-different-mesh-version" ) not moving correct ( like they're using only the shape of "anim-mdl-version" mesh ) with the animation ( ent_animatefrom ).
Instead of applying the decal sprites correct to my animated modelmeshes, they seam to use the shape of the animation source entity's mesh only. Does that mean, its not possible to have two different models / meshes with decals ( 4ex blood sprites ) applyed, animated with ent_animatefrom? Kind of senseless?As i said be4, using
works like expected. everything is fine then, decals moving with animation frames, placed at correct mesh position / shape.
Decals are only correct placed and moved, if the mesh of animated and animation resource entity are the same:
/* ----------------------------------------------------------
----------------------------------------------------------
MDL file with all anims used by monsters : anmsource_WED
MDL file with no anims and different mesh : Monster_WED
to use ent_animatefrom, they have same bones etc of course
----------------------------------------------------------
----------------------------------------------------------*/
.
..
...
ENTITY* ent_anm_source;
action anmsource_WED(){ // applyed to model with ALL animations
ent_anm_source = me;
set (me, PASSABLE | INVISIBLE);
}
// of course, all monster - models have NO (=zero) frames and will be animated via ent_animatefrom.
action Monster_WED(){ // applyed to different models / meshes
while (!ent_anm_source) wait (1); // wait4 anim - res - ent
while (my && ent_anm_source){
my.skill1 += time_step;
my.skill1 %= 100;
ent_animatefrom (me, ent_anm_source, "idle", my.skill1, ANM_CYCLE);
wait (1);
}
}
...
..
.
// ----------------------------------------------------------
// ----------------------------------------------------------
// blood sprites / decals attached like you'll see below
// ----------------------------------------------------------
// ----------------------------------------------------------
.
..
...
c_trace ( ... );
if (you) if (!ent_getdecal (you, 0, 35)){ // limited to 35 attached decals
PARTICLE* p;
p = ent_decal (you, bmap_blooddecalsprite, 1 + random (2), random (360)); // place blood sprite now
}
...
..
.
For my taste, ent_decal is not working like it should.
If i overread some remarks please excuse. If not ...
this is a bug!...no bug? Then a remark ( "...ent_decal not working with ent_animatefrom AND different meshes..." ) would be very nice.
Peace and thanks for all kind of replys!