summaryrefslogtreecommitdiff
path: root/src/win95/toolchnk.cpp
diff options
context:
space:
mode:
authorSteven Fuller <relnev@icculus.org>2001-07-01 00:55:22 +0000
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-20 02:09:04 +0200
commit2186d5f3f95cd74a070a490d899291648d58667a (patch)
tree55241a1afa3e1a22e0b6593a8dead0b703800f44 /src/win95/toolchnk.cpp
parent218ca90543758a20ac326e444ca0643174ca7384 (diff)
Initial revision
Diffstat (limited to 'src/win95/toolchnk.cpp')
-rw-r--r--src/win95/toolchnk.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/win95/toolchnk.cpp b/src/win95/toolchnk.cpp
new file mode 100644
index 0000000..b4a897b
--- /dev/null
+++ b/src/win95/toolchnk.cpp
@@ -0,0 +1,41 @@
+#include "toolchnk.hpp"
+
+#ifdef cencon
+#define new my_new
+#endif
+
+//macro for helping to force inclusion of chunks when using libraries
+FORCE_CHUNK_INCLUDE_IMPLEMENT(toolchnk)
+
+RIF_IMPLEMENT_DYNCREATE("CAMORIGN",Camera_Origin_Chunk)
+
+Camera_Origin_Chunk::Camera_Origin_Chunk(Chunk_With_Children* parent)
+:Chunk(parent,"CAMORIGN")
+{
+ location.x=0;
+ location.y=0;
+ location.z=0;
+ ChunkMatrix identity={1,0,0,0,1,0,0,0,1};
+ orientation=identity;
+}
+
+Camera_Origin_Chunk::Camera_Origin_Chunk(Chunk_With_Children* parent,const char* data,size_t )
+:Chunk(parent,"CAMORIGN")
+{
+ location=*(ChunkVector*)data;
+ data+=sizeof(ChunkVector);
+ orientation=*(ChunkMatrix*)data;
+}
+
+void Camera_Origin_Chunk::fill_data_block(char * data_start)
+{
+ strncpy (data_start, identifier, 8);
+ data_start += 8;
+ *((int *) data_start) = chunk_size;
+ data_start += 4;
+
+ *(ChunkVector*)data_start=location;
+ data_start+=sizeof(ChunkVector);
+ *(ChunkMatrix*)data_start=orientation;
+}
+