corrections:

fill in missing SceneObjectTypes enums.
parity with simobject.cpp and objecttypes.h
correct inspector display
This commit is contained in:
AzaezelX 2024-07-24 20:43:36 -05:00
parent 72c67e196a
commit eaa09a6db7
4 changed files with 26 additions and 8 deletions

View file

@ -160,8 +160,11 @@ enum SceneObjectTypes
InteriorLikeObjectType = BIT(24),
TerrainLikeObjectType = BIT(25),
#if defined(AFX_CAP_AFXMODEL_TYPE)
afxModelObjectType = BIT(26)
afxModelObjectType = BIT(26),
#else
N_A_27 = BIT(26),
#endif
N_A_28 = BIT(27),
// PATHSHAPE
PathShapeObjectType = BIT( 28 ),
@ -170,6 +173,8 @@ enum SceneObjectTypes
/// A turret object.
/// @see TurretShape
TurretObjectType = BIT(29),
N_A_31 = BIT(30),
N_A_32 = BIT(31),
/// @}
};

View file

@ -218,13 +218,13 @@ class BitfieldConsoleBaseType : public ConsoleBaseType
{
static const U32 bufSize = 256;
char* returnBuffer = Con::getReturnBuffer(bufSize);
dSprintf(returnBuffer, bufSize, "0x%08x", *((S32 *) dptr) );
dSprintf(returnBuffer, bufSize, "%i", *((S32 *) dptr) );
return returnBuffer;
}
void setData( void* dptr, S32 argc, const char** argv, const EnumTable*, BitSet32 ) override
{
if( argc != 1 ) return; \
*((S32 *) dptr) = dAtoui(argv[0],0); \
*((S32 *) dptr) = dAtoui(argv[0]); \
}
};

View file

@ -53,11 +53,14 @@ ImplementBitfieldType(GameTypeMasksType,
{ SceneObjectTypes::WaterObjectType, "WaterObjectType", "Water Objects.\n" },
{ SceneObjectTypes::TriggerObjectType, "TriggerObjectType", "Interactive Trigger Objects.\n" },
{ SceneObjectTypes::MarkerObjectType, "MarkerObjectType", "Marker Objects, utilized primarily for tooling.\n" },
{ SceneObjectTypes::GameBaseObjectType, "GameBaseObjectType", "Any Gamebase-based Objects. Objects generally associated to gameplay functionality.\n" },
{ SceneObjectTypes::ShapeBaseObjectType, "ShapeBaseObjectType", "Any Gamebase-based Objects. Objects generally associated to gameplay functionality.\n" },
{ SceneObjectTypes::CameraObjectType, "CameraObjectType", "Camera Objects.\n" },
{ SceneObjectTypes::LightObjectType, "LightObjectType", "Lights.\n" },
{ SceneObjectTypes::ZoneObjectType, "ZoneObjectType", "zones.\n" },
{ SceneObjectTypes::StaticShapeObjectType, "StaticShapeObjectType", "Static Shape Objects. Distinct from StaticObjectType in that Static Shapes have additional functionality and behaviors.\n" },
{ SceneObjectTypes::DynamicShapeObjectType, "DynamicShapeObjectType", "Any sort of Dynamic Object.\n" },
{ SceneObjectTypes::GameBaseObjectType, "GameBaseObjectType", "Any Gamebase-based Objects. Objects generally associated to gameplay functionality.\n" },
{ SceneObjectTypes::GameBaseHiFiObjectType, "GameBaseHiFiObjectType", "Specialised Gamebase-based Objects. currently narrowly used. if at all.\n" },
{ SceneObjectTypes::ShapeBaseObjectType, "ShapeBaseObjectType", "Any Gamebase-based Objects. Objects generally associated to gameplay functionality.\n" },
{ SceneObjectTypes::CameraObjectType, "CameraObjectType", "Camera Objects.\n" },
{ SceneObjectTypes::PlayerObjectType, "PlayerObjectType", "Player Objects.\n" },
{ SceneObjectTypes::ItemObjectType, "ItemObjectType", "Item Objects.\n" },
{ SceneObjectTypes::VehicleObjectType, "VehicleObjectType", "Any sort of Vehicle Object.\n" },
@ -67,9 +70,19 @@ ImplementBitfieldType(GameTypeMasksType,
{ SceneObjectTypes::CorpseObjectType, "CorpseObjectType", "Corpses of controlled objects.\n" },
{ SceneObjectTypes::DebrisObjectType, "DebrisObjectType", "Debris or debris-like things such as shell casings.\n" },
{ SceneObjectTypes::PhysicalZoneObjectType, "PhysicalZoneObjectType", "Physical Zones. Distinct from triggers in that they have physics forces applications.\n" },
{ SceneObjectTypes::LightObjectType, "LightObjectType", "Lights.\n" },
{ SceneObjectTypes::EntityObjectType, "EntityObjectType", "A generic entity.\n" },
{ SceneObjectTypes::InteriorLikeObjectType, "InteriorLikeObjectType", "InteriorLikeObjectType (deprecated).\n" },
{ SceneObjectTypes::TerrainLikeObjectType, "TerrainLikeObjectType", "Pseudo-terrains, like groundplanes, or meshroads.\n" },
#if defined(AFX_CAP_AFXMODEL_TYPE)
{ SceneObjectTypes::afxModelObjectType, "afxModelObjectType", "afx-specific model typemask.\n" },
#else
{ SceneObjectTypes::N_A_27, "N_A_27", "unused 27th bit.\n" },
#endif
{ SceneObjectTypes::N_A_28, "N_A_28", "unused 28th bit.\n" },
{ SceneObjectTypes::PathShapeObjectType, "PathShapeObjectType", "Path-following Objects.\n" },
{ SceneObjectTypes::TurretObjectType, "TurretObjectType", "Turret Objects.\n" },
{ SceneObjectTypes::N_A_31, "N_A_31", "unused 31st bit.\n" },
{ SceneObjectTypes::N_A_32, "N_A_32", "unused 32nd bit.\n" },
EndImplementBitfieldType;

View file

@ -1520,7 +1520,7 @@ StringTableEntry GuiInspectorTypeBitMask32::getValue()
void GuiInspectorTypeBitMask32::setValue( StringTableEntry value )
{
U32 mask = dAtoui( value, 0 );
U32 mask = dAtoui( value );
for ( U32 i = 0; i < mArrayCtrl->size(); i++ )
{