diff --git a/Engine/source/T3D/tsStatic.cpp b/Engine/source/T3D/tsStatic.cpp index 3182eeada..e155fedac 100644 --- a/Engine/source/T3D/tsStatic.cpp +++ b/Engine/source/T3D/tsStatic.cpp @@ -239,7 +239,7 @@ void TSStatic::initPersistFields() endGroup("Reflection"); addGroup("Collision"); - addField("collisionLOD", TypeS32, Offset(mCollisionLOD, TSStatic), + addField("collisionLOD", TypeS16, Offset(mCollisionLOD, TSStatic), "The level of detail to use for 'Visible Mesh' collision queries."); addField("collisionType", TypeTSMeshType, Offset(mCollisionType, TSStatic), "The type of mesh data to use for collision queries."); diff --git a/Engine/source/console/consoleTypes.cpp b/Engine/source/console/consoleTypes.cpp index 429e0ec26..a6a0992c6 100644 --- a/Engine/source/console/consoleTypes.cpp +++ b/Engine/source/console/consoleTypes.cpp @@ -330,6 +330,27 @@ ConsoleSetType( TypeS8 ) Con::printf("(TypeU8) Cannot set multiple args to a single S8."); } +//----------------------------------------------------------------------------- +// TypeS16 +//----------------------------------------------------------------------------- +ConsoleType(char, TypeS16, S16, "") +ImplementConsoleTypeCasters(TypeS16, S16) + +ConsoleGetType(TypeS16) +{ + static const U32 bufSize = 256; + char* returnBuffer = Con::getReturnBuffer(bufSize); + dSprintf(returnBuffer, bufSize, "%d", *((S16*)dptr)); + return returnBuffer; +} + +ConsoleSetType(TypeS16) +{ + if (argc == 1) + *((S16*)dptr) = dAtoi(argv[0]); + else + Con::printf("(TypeU8) Cannot set multiple args to a single S8."); +} //----------------------------------------------------------------------------- // TypeS32 //----------------------------------------------------------------------------- diff --git a/Engine/source/console/consoleTypes.h b/Engine/source/console/consoleTypes.h index 8025071a3..047402ce9 100644 --- a/Engine/source/console/consoleTypes.h +++ b/Engine/source/console/consoleTypes.h @@ -64,6 +64,7 @@ class SimPersistID; DefineConsoleType( TypeBool, bool ) DefineConsoleType( TypeBoolVector, Vector) DefineConsoleType( TypeS8, S8 ) +DefineConsoleType( TypeS16, S16) DefineConsoleType( TypeS32, S32 ) DefineConsoleType( TypeS32Vector, Vector ) DefineConsoleType( TypeF64, F64 ) diff --git a/Engine/source/gui/editor/inspector/field.cpp b/Engine/source/gui/editor/inspector/field.cpp index 84060ac1a..b6a52e98f 100644 --- a/Engine/source/gui/editor/inspector/field.cpp +++ b/Engine/source/gui/editor/inspector/field.cpp @@ -275,7 +275,7 @@ void GuiInspectorField::setWordData(const S32& wordIndex, const char* data, bool const char* wordData = StringUnit::getUnit(fieldData, wordIndex, " \t\n"); S32 type = mField->type; - if (type == TypeS8 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector + if (type == TypeS8 || type == TypeS16 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector || type == TypeF32Vector || type == TypeColorI || type == TypeColorF @@ -323,7 +323,7 @@ void GuiInspectorField::setWordData(const S32& wordIndex, const char* data, bool const char* wordData = StringUnit::getUnit(fieldData, wordIndex, " \t\n"); S32 type = mField->type; - if (type == TypeS8 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector + if (type == TypeS8 || type == TypeS16 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector || type == TypeF32Vector || type == TypeColorI || type == TypeColorF @@ -396,7 +396,7 @@ void GuiInspectorField::setWordData(const S32& wordIndex, const char* data, bool const char* wordData = StringUnit::getUnit(fieldData, wordIndex, " \t\n"); S32 type = mField->type; - if (type == TypeS8 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector + if (type == TypeS8 || type == TypeS16 || type == TypeS32 || type == TypeF32 || type == TypeS32Vector || type == TypeF32Vector || type == TypeColorI || type == TypeColorF @@ -544,7 +544,7 @@ void GuiInspectorField::setData( const char* data, bool callbacks ) String newValue = strData; S32 type= mField->type; ConsoleValue evaluationResult; - if( type == TypeS8 || type == TypeS32 || type == TypeF32 ) + if( type == TypeS8 || type == TypeS16 || type == TypeS32 || type == TypeF32 ) { char buffer[ 2048 ]; expandEscape( buffer, newValue ); diff --git a/Engine/source/persistence/taml/taml.cpp b/Engine/source/persistence/taml/taml.cpp index 6bb1910cf..0d636b172 100644 --- a/Engine/source/persistence/taml/taml.cpp +++ b/Engine/source/persistence/taml/taml.cpp @@ -1118,7 +1118,7 @@ ImplementEnumType(_TamlFormatMode, { pFieldTypeDescription = "xs:float"; } - else if (fieldType == TypeS8 || fieldType == TypeS32) + else if (fieldType == TypeS8 || fieldType == TypeS16 || fieldType == TypeS32) { pFieldTypeDescription = "xs:int"; }