Merge branch 'SubScenes_Gamemode_PR' of https://github.com/Areloch/Torque3D into development

This commit is contained in:
JeffR 2024-12-15 18:39:03 -06:00
commit 81ac23fd35
60 changed files with 4200 additions and 525 deletions

View file

@ -372,6 +372,13 @@ class GuiControl : public SimGroup
inline const S32 getHorizSizing() const { return mHorizSizing; }
inline const S32 getVertSizing() const { return mVertSizing; }
void setHorizSizing(horizSizingOptions horizSizing) {
mHorizSizing = horizSizing;
}
void setVertSizing(vertSizingOptions vertSizing) {
mVertSizing = vertSizing;
}
/// @}

View file

@ -178,7 +178,7 @@ GuiInspectorField* GuiInspectorGroup::constructField( S32 fieldType )
// return our new datablock field with correct datablock type enumeration info
return dbFieldClass;
}
}
// Nope, not a datablock. So maybe it has a valid inspector field override we can use?
if(!cbt->getInspectorFieldType())
@ -641,40 +641,50 @@ void GuiInspectorGroup::addInspectorField(StringTableEntry name, StringTableEntr
{
S32 fieldType = -1;
if (typeName == StringTable->insert("int"))
fieldType = TypeS32;
else if (typeName == StringTable->insert("float"))
fieldType = TypeF32;
else if (typeName == StringTable->insert("vector"))
fieldType = TypePoint3F;
else if (typeName == StringTable->insert("vector2"))
fieldType = TypePoint2F;
else if (typeName == StringTable->insert("material"))
fieldType = TypeMaterialAssetId;
else if (typeName == StringTable->insert("image"))
fieldType = TypeImageAssetId;
else if (typeName == StringTable->insert("shape"))
fieldType = TypeShapeAssetId;
else if (typeName == StringTable->insert("sound"))
fieldType = TypeSoundAssetId;
else if (typeName == StringTable->insert("bool"))
fieldType = TypeBool;
else if (typeName == StringTable->insert("object"))
fieldType = TypeSimObjectPtr;
else if (typeName == StringTable->insert("string"))
fieldType = TypeString;
else if (typeName == StringTable->insert("colorI"))
fieldType = TypeColorI;
else if (typeName == StringTable->insert("colorF"))
fieldType = TypeColorF;
else if (typeName == StringTable->insert("ease"))
fieldType = TypeEaseF;
else if (typeName == StringTable->insert("command"))
fieldType = TypeCommand;
else if (typeName == StringTable->insert("filename"))
fieldType = TypeStringFilename;
String typeNameTyped = typeName;
if (!typeNameTyped.startsWith("Type"))
typeNameTyped = String("Type") + typeNameTyped;
ConsoleBaseType* typeRef = AbstractClassRep::getTypeByName(typeNameTyped.c_str());
if(typeRef)
{
fieldType = typeRef->getTypeID();
}
else
fieldType = -1;
{
if (typeName == StringTable->insert("int"))
fieldType = TypeS32;
else if (typeName == StringTable->insert("float"))
fieldType = TypeF32;
else if (typeName == StringTable->insert("vector"))
fieldType = TypePoint3F;
else if (typeName == StringTable->insert("vector2"))
fieldType = TypePoint2F;
else if (typeName == StringTable->insert("material"))
fieldType = TypeMaterialAssetId;
else if (typeName == StringTable->insert("image"))
fieldType = TypeImageAssetId;
else if (typeName == StringTable->insert("shape"))
fieldType = TypeShapeAssetId;
else if (typeName == StringTable->insert("sound"))
fieldType = TypeSoundAssetId;
else if (typeName == StringTable->insert("bool"))
fieldType = TypeBool;
else if (typeName == StringTable->insert("object"))
fieldType = TypeSimObjectPtr;
else if (typeName == StringTable->insert("string"))
fieldType = TypeString;
else if (typeName == StringTable->insert("colorI"))
fieldType = TypeColorI;
else if (typeName == StringTable->insert("colorF"))
fieldType = TypeColorF;
else if (typeName == StringTable->insert("ease"))
fieldType = TypeEaseF;
else if (typeName == StringTable->insert("command"))
fieldType = TypeCommand;
else if (typeName == StringTable->insert("filename"))
fieldType = TypeStringFilename;
}
GuiInspectorField* fieldGui;

View file

@ -176,38 +176,53 @@ void GuiVariableInspector::addField(const char* name, const char* label, const c
//find the field type
S32 fieldTypeMask = -1;
if (newField->mFieldTypeName == StringTable->insert("int"))
fieldTypeMask = TypeS32;
else if (newField->mFieldTypeName == StringTable->insert("float"))
fieldTypeMask = TypeF32;
else if (newField->mFieldTypeName == StringTable->insert("vector"))
fieldTypeMask = TypePoint3F;
else if (newField->mFieldTypeName == StringTable->insert("vector2"))
fieldTypeMask = TypePoint2F;
else if (newField->mFieldTypeName == StringTable->insert("material"))
fieldTypeMask = TypeMaterialAssetId;
else if (newField->mFieldTypeName == StringTable->insert("image"))
fieldTypeMask = TypeImageAssetId;
else if (newField->mFieldTypeName == StringTable->insert("shape"))
fieldTypeMask = TypeShapeAssetId;
else if (newField->mFieldTypeName == StringTable->insert("bool"))
fieldTypeMask = TypeBool;
else if (newField->mFieldTypeName == StringTable->insert("object"))
fieldTypeMask = TypeSimObjectPtr;
else if (newField->mFieldTypeName == StringTable->insert("string"))
fieldTypeMask = TypeString;
else if (newField->mFieldTypeName == StringTable->insert("colorI"))
fieldTypeMask = TypeColorI;
else if (newField->mFieldTypeName == StringTable->insert("colorF"))
fieldTypeMask = TypeColorF;
else if (newField->mFieldTypeName == StringTable->insert("ease"))
fieldTypeMask = TypeEaseF;
else if (newField->mFieldTypeName == StringTable->insert("command"))
fieldTypeMask = TypeCommand;
else if (newField->mFieldTypeName == StringTable->insert("filename"))
fieldTypeMask = TypeStringFilename;
String typeNameTyped = typeName;
if (!typeNameTyped.startsWith("Type"))
typeNameTyped = String("Type") + typeNameTyped;
ConsoleBaseType* typeRef = AbstractClassRep::getTypeByName(typeNameTyped.c_str());
if (typeRef)
{
fieldTypeMask = typeRef->getTypeID();
if (!typeRef->getInspectorFieldType())
fieldTypeMask = TypeString;
newField->mFieldTypeName = StringTable->insert(typeRef->getTypeName());
}
else
fieldTypeMask = -1;
{
if (newField->mFieldTypeName == StringTable->insert("int"))
fieldTypeMask = TypeS32;
else if (newField->mFieldTypeName == StringTable->insert("float"))
fieldTypeMask = TypeF32;
else if (newField->mFieldTypeName == StringTable->insert("vector"))
fieldTypeMask = TypePoint3F;
else if (newField->mFieldTypeName == StringTable->insert("vector2"))
fieldTypeMask = TypePoint2F;
else if (newField->mFieldTypeName == StringTable->insert("material"))
fieldTypeMask = TypeMaterialAssetId;
else if (newField->mFieldTypeName == StringTable->insert("image"))
fieldTypeMask = TypeImageAssetId;
else if (newField->mFieldTypeName == StringTable->insert("shape"))
fieldTypeMask = TypeShapeAssetId;
else if (newField->mFieldTypeName == StringTable->insert("bool"))
fieldTypeMask = TypeBool;
else if (newField->mFieldTypeName == StringTable->insert("object"))
fieldTypeMask = TypeSimObjectPtr;
else if (newField->mFieldTypeName == StringTable->insert("string"))
fieldTypeMask = TypeString;
else if (newField->mFieldTypeName == StringTable->insert("colorI"))
fieldTypeMask = TypeColorI;
else if (newField->mFieldTypeName == StringTable->insert("colorF"))
fieldTypeMask = TypeColorF;
else if (newField->mFieldTypeName == StringTable->insert("ease"))
fieldTypeMask = TypeEaseF;
else if (newField->mFieldTypeName == StringTable->insert("command"))
fieldTypeMask = TypeCommand;
else if (newField->mFieldTypeName == StringTable->insert("filename"))
fieldTypeMask = TypeStringFilename;
}
newField->mFieldType = fieldTypeMask;
//