Disco Dynamite
Moderators: Forum moderators, developers
Disco Dynamite
Topic says it all. The closer detonation time is, the faster it changes color.. and talking about disco, how about an alt fire for the satchel detonator that allows you to listen to some funkay tunes while waiting for victims? Would fit nicely to the dynamite!
-
- Posts: 3
- Joined: Sat Feb 07, 2004 3:17 am
- =FF=im2good4u
- Posts: 3821
- Joined: Wed Feb 05, 2003 7:30 am
- Location: The Netherlands, HOLLAND
- Contact:
are you crazy ?
<a href="http://bunnyherolabs.com/adopt/showpet. ... dQ=="><img src="http://petimage.bunnyherolabs.com/adopt ... Q0dQ==.png" width="80" height="100" border="0"></a>
Maybe.
Code: Select all
#define DISCO_DYNAMITE
#define SNI_TNT_LIFESPAN 15000 // 15000
#define SNI_TNT_BOOMDELAY 30000 // 30000
#define SNI_TNT_BOOMWARNING 1000 // n/a
#define SNI_TNT_SINKWARNING 1000 // n/a
#define SNI_TNT_LIGHTRADIUS 512 // 320
#define SNI_TNT_BLINKSPEED 0.006f // 0.004f
#define DISCO_PIMP_POWAH(blehah,origin,radius,light) \
switch (blehah % 10) { \
case 0: \
/*blue*/ \
trap_R_AddLightToScene( origin, radius, light, 0.0, 0.0, 1.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 1: \
/*red*/ \
trap_R_AddLightToScene( origin, radius, light, 1.0, 0.0, 0.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 2: \
/*yellow*/ \
trap_R_AddLightToScene( origin, radius, light, 1.0, 1.0, 0.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 3: \
/*purple*/ \
trap_R_AddLightToScene( origin, radius, light, 0.5, 0.0, 1.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 4: \
/*green*/ \
trap_R_AddLightToScene( origin, radius, light, 0.0, 1.0, 0.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 5: \
/*bleh blue*/ \
trap_R_AddLightToScene( origin, radius, light, 0.0, 1.0, 1.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 6: \
/*orange*/ \
trap_R_AddLightToScene( origin, radius, light, 1.0, 0.5, 0.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 7: \
/*pink*/ \
trap_R_AddLightToScene( origin, radius, light, 1.0, 0.0, 1.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 8: \
/*sky blue*/ \
trap_R_AddLightToScene( origin, radius, light, 0.0, 0.5, 1.0, 0, REF_FORCE_DLIGHT ); \
break; \
case 9: \
/*lime*/ \
trap_R_AddLightToScene( origin, radius, light, 1.0, 0.5, 0.0, 0, REF_FORCE_DLIGHT ); \
break; \
default: \
break; \
}
Code: Select all
static void CG_DynamiteTrail( centity_t *ent, const weaponInfo_t *wi ) {
vec3_t origin;
float mult, light;
BG_EvaluateTrajectory( &ent->currentState.pos, cg.time, origin, qfalse, ent->currentState.effect2Time );
if ( ent->currentState.teamNum < 4 ) {
if ((cg.time - ent->currentState.effect1Time) >= (SNI_TNT_BOOMDELAY-SNI_TNT_BOOMWARNING)) {
#ifdef DISCO_DYNAMITE
DISCO_PIMP_POWAH(rand(),origin,SNI_TNT_LIGHTRADIUS,4.0)
#else
trap_R_AddLightToScene( origin, SNI_TNT_LIGHTRADIUS, 4.0f, 1.0, 0.5, 0.0, 0, REF_FORCE_DLIGHT );
#endif
} else {
#ifdef DISCO_DYNAMITE
DISCO_PIMP_POWAH(cg.time/500,origin,SNI_TNT_LIGHTRADIUS,2*fabs(sin((cg.time - ent->currentState.effect1Time)*SNI_TNT_BLINKSPEED*((cg.time - ent->currentState.effect1Time)/(float)SNI_TNT_BOOMDELAY))))
#else
light = 2*fabs(sin((cg.time - ent->currentState.effect1Time)*SNI_TNT_BLINKSPEED*((cg.time - ent->currentState.effect1Time)/(float)SNI_TNT_BOOMDELAY)));
trap_R_AddLightToScene( origin, SNI_TNT_LIGHTRADIUS, light, 1.0, 0.0, 0.0, 0, REF_FORCE_DLIGHT );
#endif
}
} else {
if ((cg.time - ent->trailTime) >= (SNI_TNT_LIFESPAN-SNI_TNT_SINKWARNING)) {
trap_R_AddLightToScene( origin, SNI_TNT_LIGHTRADIUS, 2.0, 0, 0, 1.0, 0, REF_FORCE_DLIGHT );
} else {
mult = 0.75 - 0.75*((cg.time - ent->trailTime)/(float)SNI_TNT_LIFESPAN);
trap_R_AddLightToScene( origin, mult*SNI_TNT_LIGHTRADIUS, 3.0, 1.0, 1.0, 0, 0, REF_FORCE_DLIGHT );
}
}
}
-
- Posts: 3
- Joined: Sat Feb 07, 2004 3:17 am