about summary refs log tree commit diff
path: root/src/game/client/components/skins.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client/components/skins.hpp')
-rw-r--r--src/game/client/components/skins.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/game/client/components/skins.hpp b/src/game/client/components/skins.hpp
new file mode 100644
index 00000000..078fd71d
--- /dev/null
+++ b/src/game/client/components/skins.hpp
@@ -0,0 +1,36 @@
+#include <base/vmath.hpp>
+#include <game/client/component.hpp>
+
+class SKINS : public COMPONENT
+{
+public:
+	// do this better and nicer
+	typedef struct 
+	{
+		int org_texture;
+		int color_texture;
+		char name[31];
+		char term[1];
+		vec3 blood_color;
+	} SKIN;
+
+	SKINS();
+	
+	void init();
+	
+	vec4 get_color(int v);
+	int num();
+	const SKIN *get(int index);
+	int find(const char *name);
+	
+private:
+	enum
+	{
+		MAX_SKINS=256,
+	};
+
+	SKIN skins[MAX_SKINS];
+	int num_skins;
+
+	static void skinscan(const char *name, int is_dir, void *user);
+};