nuclide/Source/shared/decals.c
Marco Hladik d8926097fa Added custom GLSL updates, that add monochrome rendering (for better 3D Anaglyph support)
Some minor fixes regarding the entry API.
Fixed explosion effects from not animating/looping properly.
2019-02-20 14:30:16 +01:00

54 lines
947 B
C

#define DECALS_MAX 16
#ifdef SSQC
entity g_decals;
void Decals_Init(void)
{
entity nextdecal = spawn();
g_decals = nextdecal;
for ( int i = 0; i <= DECALS_MAX; i++ ) {
nextdecal.classname = "decal";
nextdecal.owner = spawn();
if ( i == DECALS_MAX ) {
nextdecal.owner = g_decals;
} else {
nextdecal = nextdecal.owner;
}
}
}
entity Decals_Next(void)
{
entity ret = g_decals;
g_decals = g_decals.owner;
return ret;
}
#endif
void Decals_PlaceSmall(vector pos)
{
#ifdef CSQC
// TODO
#else
entity decal = Decals_Next();
setorigin(decal, pos);
decal.texture = sprintf("{shot%d", floor(random(1,6)));
decal.think = infodecal;
decal.nextthink = time /*+ 0.1f*/;
#endif
}
void Decals_PlaceBig(vector pos)
{
#ifdef CSQC
// TODO
#else
entity decal = Decals_Next();
setorigin(decal, pos);
decal.texture = sprintf("{bigshot%d", floor(random(1,6)));
decal.think = infodecal;
decal.nextthink = time /*+ 0.1f*/;
#endif
}