openddl-parser: V0.2.0
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
This commit is contained in:
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user