TE BEAMPOINTS

From Sven Co-op
Jump to navigation Jump to search

An additive sprite beam between two static points.

TE BEAMPOINTS.gif
void te_beampoints(Vector start, Vector end, 
	string sprite="sprites/laserbeam.spr", uint8 frameStart=0, 
	uint8 frameRate=100, uint8 life=10, uint8 width=32, uint8 noise=1, 
	RGBA c=RGBA_PURPLE, uint8 scroll=32,
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)
{
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);
	m.WriteByte(TE_BEAMPOINTS);
	m.WriteCoord(start.x);
	m.WriteCoord(start.y);
	m.WriteCoord(start.z);
	m.WriteCoord(end.x);
	m.WriteCoord(end.y);
	m.WriteCoord(end.z);
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));
	m.WriteByte(frameStart);
	m.WriteByte(frameRate);
	m.WriteByte(life);
	m.WriteByte(width);
	m.WriteByte(noise);
	m.WriteByte(c.r);
	m.WriteByte(c.g);
	m.WriteByte(c.b);
	m.WriteByte(c.a); // actually brightness
	m.WriteByte(scroll);
	m.End();
}
  • Vector start Starting position of the beam
  • Vector end End position of the beam
  • string sprite Sprite used to display the beam
  • uint8 frameStart Starting frame for the beam sprite
  • uint8 frameRate Frame rate of the beam sprite (FPS * 0.1)
  • uint8 life How long to display the beam (seconds * 0.1)
  • uint8 width Width of the beam (units * 0.1)
  • uint8 noise Noise amplitude (units * 0.1)
  • RGBA c Beam color and brightness
  • uint8 scroll Scroll rate of the beam sprite