From 2186d5f3f95cd74a070a490d899291648d58667a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 1 Jul 2001 00:55:22 +0000 Subject: Initial revision --- src/win95/toolchnk.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/win95/toolchnk.cpp (limited to 'src/win95/toolchnk.cpp') 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; +} + -- cgit v1.3