From 2c60da38f30b9fb97731217ced3f647b003eb610 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 5 May 2015 22:26:40 +0200 Subject: [PATCH] openddl-parser: V0.2.0 Signed-off-by: Kim Kulling --- contrib/openddlparser/code/Value.cpp | 19 ++++++++++++------- .../include/openddlparser/DDLNode.h | 4 ---- .../include/openddlparser/OpenDDLCommon.h | 18 +++++++++++------- .../include/openddlparser/OpenDDLParser.h | 4 ---- .../openddlparser/OpenDDLParserUtils.h | 9 --------- .../include/openddlparser/Value.h | 4 ---- 6 files changed, 23 insertions(+), 35 deletions(-) diff --git a/contrib/openddlparser/code/Value.cpp b/contrib/openddlparser/code/Value.cpp index 39f4c32b7..f94ef081f 100644 --- a/contrib/openddlparser/code/Value.cpp +++ b/contrib/openddlparser/code/Value.cpp @@ -101,12 +101,11 @@ uint8 Value::getUnsignedInt8() const { void Value::setUnsignedInt16( uint16 value ) { assert( ddl_unsigned_int16 == m_type ); ::memcpy( m_data, &value, m_size ); - } + uint16 Value::getUnsignedInt16() const { assert( ddl_unsigned_int16 == m_type ); return ( uint8 ) ( *m_data ); - } void Value::setUnsignedInt32( uint32 value ) { @@ -135,9 +134,15 @@ void Value::setFloat( float value ) { } float Value::getFloat() const { - float v; - ::memcpy( &v, m_data, m_size ); - return v; + if( m_type == ddl_float ) { + float v; + ::memcpy( &v, m_data, m_size ); + return ( float ) v; + } else { + float tmp; + ::memcpy( &tmp, m_data, 4 ); + return ( float ) tmp; + } } void Value::setDouble( double value ) { @@ -241,7 +246,7 @@ Value *ValueAllocator::allocPrimData( Value::ValueType type, size_t len ) { data->m_size = sizeof( int ); break; case Value::ddl_int64: - data->m_size = sizeof( long ); + data->m_size = sizeof( int64 ); break; case Value::ddl_unsigned_int8: data->m_size = sizeof( unsigned char ); @@ -250,7 +255,7 @@ Value *ValueAllocator::allocPrimData( Value::ValueType type, size_t len ) { data->m_size = sizeof( unsigned int ); break; case Value::ddl_unsigned_int64: - data->m_size = sizeof( unsigned long ); + data->m_size = sizeof( uint64 ); break; case Value::ddl_half: data->m_size = sizeof( short ); diff --git a/contrib/openddlparser/include/openddlparser/DDLNode.h b/contrib/openddlparser/include/openddlparser/DDLNode.h index 5ecf41e9a..cb69ab357 100644 --- a/contrib/openddlparser/include/openddlparser/DDLNode.h +++ b/contrib/openddlparser/include/openddlparser/DDLNode.h @@ -21,8 +21,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -----------------------------------------------------------------------------------------------*/ #pragma once -#ifndef OPENDDLPARSER_DDLNODE_H_INC -#define OPENDDLPARSER_DDLNODE_H_INC #include @@ -88,5 +86,3 @@ private: }; END_ODDLPARSER_NS - -#endif // OPENDDLPARSER_DDLNODE_H_INC diff --git a/contrib/openddlparser/include/openddlparser/OpenDDLCommon.h b/contrib/openddlparser/include/openddlparser/OpenDDLCommon.h index a9c7716cf..6dea65b9c 100644 --- a/contrib/openddlparser/include/openddlparser/OpenDDLCommon.h +++ b/contrib/openddlparser/include/openddlparser/OpenDDLCommon.h @@ -21,14 +21,15 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -----------------------------------------------------------------------------------------------*/ #pragma once -#ifndef OPENDDLPARSER_OPENDDLPARSERCOMMON_H_INC -#define OPENDDLPARSER_OPENDDLPARSERCOMMON_H_INC #include #include #include #include +#ifndef _WIN32 +# include +#endif #ifdef _MSC_VER # define TAG_DLL_EXPORT __declspec(dllexport) @@ -67,11 +68,17 @@ struct DataArrayList; typedef char int8; typedef short int16; typedef int int32; -typedef long int64; typedef unsigned char uint8; typedef unsigned short uint16; typedef unsigned int uint32; -typedef unsigned long uint64; + +#ifdef _WIN32 +typedef __int64 int64; +typedef unsigned __int64 uint64; +#else +typedef int64_t int64; +typedef uint64_t uint64; +#endif enum NameType { GlobalName, @@ -248,6 +255,3 @@ private: }; END_ODDLPARSER_NS - -#endif // OPENDDLPARSER_OPENDDLPARSERCOMMON_H_INC - diff --git a/contrib/openddlparser/include/openddlparser/OpenDDLParser.h b/contrib/openddlparser/include/openddlparser/OpenDDLParser.h index 3ba68370f..607dcf90c 100644 --- a/contrib/openddlparser/include/openddlparser/OpenDDLParser.h +++ b/contrib/openddlparser/include/openddlparser/OpenDDLParser.h @@ -21,8 +21,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -----------------------------------------------------------------------------------------------*/ #pragma once -#ifndef OPENDDLPARSER_OPENDDLPARSER_H_INC -#define OPENDDLPARSER_OPENDDLPARSER_H_INC #include #include @@ -127,5 +125,3 @@ private: }; END_ODDLPARSER_NS - -#endif // OPENDDLPARSER_OPENDDLPARSER_H_INC diff --git a/contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h b/contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h index 3e8455bcc..8572a37ed 100644 --- a/contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h +++ b/contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h @@ -21,8 +21,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -----------------------------------------------------------------------------------------------*/ #pragma once -#ifndef OPENDDLPARSER_OPENDDLPARSERUTILS_H_INC -#define OPENDDLPARSER_OPENDDLPARSERUTILS_H_INC #include @@ -124,7 +122,6 @@ bool isInteger( T *in, T *end ) { bool result( false ); while( isNotEndOfToken( in, end ) ) { - //while( '}' != *in && ',' != *in && !isSpace( *in ) && in != end ) { result = isNumeric( *in ); if( !result ) { break; @@ -147,8 +144,6 @@ bool isFloat( T *in, T *end ) { // check for <1>.0f bool result( false ); while( isNotEndOfToken( in, end ) ) { - -// while( !isSpace( *in ) && in != end ) { if( *in == '.' ) { result = true; break; @@ -169,8 +164,6 @@ bool isFloat( T *in, T *end ) { // check for 1.<0>f while( isNotEndOfToken( in, end ) ) { - -// while( !isSpace( *in ) && in != end && *in != ',' && *in != '}' ) { result = isNumeric( *in ); if( !result ) { return false; @@ -257,5 +250,3 @@ int hex2Decimal( char in ) { } END_ODDLPARSER_NS - -#endif // OPENDDLPARSER_OPENDDLPARSERUTILS_H_INC diff --git a/contrib/openddlparser/include/openddlparser/Value.h b/contrib/openddlparser/include/openddlparser/Value.h index bb974fb74..54ccf51ba 100644 --- a/contrib/openddlparser/include/openddlparser/Value.h +++ b/contrib/openddlparser/include/openddlparser/Value.h @@ -21,8 +21,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -----------------------------------------------------------------------------------------------*/ #pragma once -#ifndef OPENDDLPARSER_VALUE_H_INC -#define OPENDDLPARSER_VALUE_H_INC #include @@ -101,5 +99,3 @@ struct DLL_ODDLPARSER_EXPORT ValueAllocator { }; END_ODDLPARSER_NS - -#endif // OPENDDLPARSER_VALUE_H_INC