aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/g_stgate.h
blob: 2f838b2b3dc3b47add8d304be08d2887259c2439 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
 * PARSEC HEADER: s_stgate.h
 */

#ifndef _S_STGATE_H_
#define _S_STGATE_H_


// forward declaration
struct genobject_pcluster_s;


// stargate limits ------------------------------------------------------------
//
#define STARGATE_MAX_DEST_IP				255


// stargate custom type structure ---------------------------------------------
//
struct Stargate : CustomObject {

	// properties
	bams_t					rotspeed;
	float 				radius;
	geomv_t 				actdistance;
	int						dormant;
	int						active;
	int						autoactivate;
	int						numpartactive;
	int						actcyllen;
	float					partvel;
	bams_t  				modulspeed;
	float 				modulrad1;
	float 				modulrad2;
	float					modulfade;
	int						acttime;
	char					flare_name   [ MAX_TEXNAME + 1 ];
	char					interior_name[ MAX_TEXNAME + 1 ];

	// internal data
	word					serverid;
	char    				destination_name[ MAX_SERVER_NAME + 1 ];
	//char					destination_ip[ STARGATE_MAX_DEST_IP + 1 ];
	//word					destination_port;
	node_t					destination_node;
	bams_t					modulate_bams;
	int						curactcyllen;
	int						activating;
	int						manually_activated;
	float					actring;
	genobject_pcluster_s*	pcluster;
	Vertex3*				interior_vtxlist;	// vtxs in object space
	Vertex3*				interior_viewvtxs;	// vtxs in view space
	geomv_t*				interior_u;			// u texture coordinates
	geomv_t*				interior_v;			// v texture coordinates
	TextureMap*				interior_texmap;
	int						ping;
	refframe_t				lastpinged;
};


// external functions ---------------------------------------------------------
//
// (none)


#endif // _S_STGATE_H_