summaryrefslogtreecommitdiff
path: root/3dc/win95/Zsp.hpp
diff options
context:
space:
mode:
authorRebellion Developments <rebellion@nomail>2000-03-16 11:25:00 +0100
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-19 05:45:17 +0200
commit218ca90543758a20ac326e444ca0643174ca7384 (patch)
tree16bfe3e5307f9f515489000f28728224291a0e3b /3dc/win95/Zsp.hpp
Import Aliens vs Predator - Gold (Build 116)
Source code release, imported from: https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code All text files were converted to Unix format.
Diffstat (limited to '3dc/win95/Zsp.hpp')
-rw-r--r--3dc/win95/Zsp.hpp107
1 files changed, 107 insertions, 0 deletions
diff --git a/3dc/win95/Zsp.hpp b/3dc/win95/Zsp.hpp
new file mode 100644
index 0000000..8f008b5
--- /dev/null
+++ b/3dc/win95/Zsp.hpp
@@ -0,0 +1,107 @@
+#ifndef _zsp_hpp
+#define _zsp_hpp 1
+
+#include "shpchunk.hpp"
+
+
+#define rsp_oc_x0 0x00000001
+#define rsp_oc_x1 0x00000002
+#define rsp_oc_y0 0x00000004
+#define rsp_oc_y1 0x00000008
+#define rsp_oc_z0 0x00000010
+#define rsp_oc_z1 0x00000020
+
+
+// this file should be included from chunk.hpp
+
+
+struct ChunkShape;
+
+struct ZSP_zone
+{
+#if (cencon || shpedit)
+ ZSP_zone (const ChunkShape &, double, double, double, double);
+#endif
+
+ ZSP_zone ();
+ ~ZSP_zone();
+
+ ZSP_zone (const ZSP_zone &);
+ ZSP_zone & operator=(const ZSP_zone &);
+
+ int num_z_polys;
+ int * z_poly_list;
+ int num_z_verts;
+ int * z_vert_list;
+
+ friend unsigned char operator==(const ZSP_zone &, const ZSP_zone &);
+ friend unsigned char operator!=(const ZSP_zone &, const ZSP_zone &);
+};
+
+
+class ZSP_Data
+{
+
+public:
+
+#if (cencon || shpedit)
+ ZSP_Data (const ChunkShape &, int);
+#endif
+
+ ZSP_Data (const char * zdata, size_t zsize);
+
+ ~ZSP_Data ();
+
+ double cube_size;
+ double cube_radius;
+
+ int num_x_cubes, num_y_cubes, num_z_cubes;
+
+ List<ZSP_zone> zone_array;
+
+
+};
+
+
+/////////////////////////////////////////
+
+class Shape_ZSP_Data_Chunk : public Chunk
+{
+public:
+
+#if cencon || shpedit
+ Shape_ZSP_Data_Chunk (Shape_Sub_Shape_Chunk * parent, ZSP_Data zspin)
+ : Chunk(parent, "SHPZSPDT"), zspdata (zspin)
+ {}
+
+ Shape_ZSP_Data_Chunk (Shape_Chunk * parent, ZSP_Data zspin)
+ : Chunk(parent, "SHPZSPDT"), zspdata (zspin)
+ {}
+#endif
+
+ const ZSP_Data zspdata;
+
+ size_t size_chunk ();
+ void fill_data_block (char *);
+
+ Shape_ZSP_Data_Chunk (Shape_Sub_Shape_Chunk * parent, const char * zdata, size_t zsize)
+ : Chunk (parent, "SHPZSPDT"), zspdata (zdata, zsize)
+ {}
+
+ Shape_ZSP_Data_Chunk (Shape_Chunk * parent, const char * zdata, size_t zsize)
+ : Chunk (parent, "SHPZSPDT"), zspdata (zdata, zsize)
+ {}
+
+};
+
+
+
+
+
+
+
+
+
+
+
+#endif