fill in the validated variables

This commit is contained in:
AzaezelX 2025-03-09 11:53:23 -05:00
parent fa760fa746
commit f633ef3a3d
184 changed files with 1359 additions and 1216 deletions

View file

@ -27,6 +27,7 @@
#include "core/stream/bitStream.h"
#include "math/mRandom.h"
#include "math/mathTypes.h"
#include "console/typeValidators.h"
IMPLEMENT_CO_DATABLOCK_V1( SFXPlayList );
@ -212,7 +213,7 @@ ImplementEnumType( SFXPlayListStateMode,
"playing sources attached to the slot." },
EndImplementEnumType;
IRangeValidator playlistSlotRange(0, SFXPlayList::SFXPlaylistSettings::NUM_SLOTS);
//-----------------------------------------------------------------------------
SFXPlayList::SFXPlayList()
@ -239,7 +240,7 @@ SFXPlayList::~SFXPlayList()
}
//-----------------------------------------------------------------------------
IRangeValidator playlistSlotCount(1, SFXPlayList::NUM_SLOTS);
void SFXPlayList::initPersistFields()
{
docsURL;
@ -256,9 +257,9 @@ void SFXPlayList::initPersistFields()
"The loop mode determines whether the list will loop over a single slot or loop over "
"all the entire list of slots being played.\n\n"
"@see SFXDescription::isLooping" );
addField( "numSlotsToPlay", TypeS32, Offset( mNumSlotsToPlay, SFXPlayList ),
addFieldV( "numSlotsToPlay", TypeRangedS32, Offset( mNumSlotsToPlay, SFXPlayList ), &playlistSlotCount,
"Number of slots to play.\n"
"Up to a maximum of 16, this field determines the number of slots that are taken from the "
"Up to a maximum of 12, this field determines the number of slots that are taken from the "
"list for playback. Only slots that have a valid #track assigned will be considered for "
"this." );
@ -280,55 +281,55 @@ void SFXPlayList::initPersistFields()
"Behavior when moving out of this slot.\n"
"After the #detailTimeOut has expired (if any), this slot determines what the controller "
"will do before moving on to the next slot." );
addField( "delayTimeIn", TypeF32, Offset( mSlots.mDelayTimeIn.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "delayTimeIn", TypeRangedF32, Offset( mSlots.mDelayTimeIn.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Seconds to wait after moving into slot before #transitionIn." );
addField( "delayTimeInVariance", TypePoint2F, Offset( mSlots.mDelayTimeIn.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #delayTimeIn.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "delayTimeOut", TypeF32, Offset( mSlots.mDelayTimeOut.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "delayTimeOut", TypeRangedF32, Offset( mSlots.mDelayTimeOut.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Seconds to wait before moving out of slot after #transitionOut." );
addField( "delayTimeOutVariance", TypePoint2F, Offset( mSlots.mDelayTimeOut.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #delayTimeOut.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "fadeTimeIn", TypeF32, Offset( mSlots.mFadeTimeIn.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "fadeTimeIn", TypeRangedF32, Offset( mSlots.mFadeTimeIn.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Seconds to fade sound in (-1 to use the track's own fadeInTime.)\n"
"@see SFXDescription::fadeTimeIn" );
addField( "fadeTimeInVariance", TypePoint2F, Offset( mSlots.mFadeTimeIn.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #fadeInTime.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "fadeTimeOut", TypeF32, Offset( mSlots.mFadeTimeOut.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "fadeTimeOut", TypeRangedF32, Offset( mSlots.mFadeTimeOut.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Seconds to fade sound out (-1 to use the track's own fadeOutTime.)\n"
"@see SFXDescription::fadeTimeOut" );
addField( "fadeTimeOutVariance", TypePoint2F, Offset( mSlots.mFadeTimeOut.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #fadeOutTime\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "referenceDistance", TypeF32, Offset( mSlots.mMinDistance.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "referenceDistance", TypeRangedF32, Offset( mSlots.mMinDistance.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"@c referenceDistance to set for 3D sounds in this slot (<1 to use @c referenceDistance of track's own description).\n"
"@see SFXDescription::referenceDistance" );
addField( "referenceDistanceVariance", TypePoint2F, Offset( mSlots.mMinDistance.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #referenceDistance.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "maxDistance", TypeF32, Offset( mSlots.mMaxDistance.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "maxDistance", TypeRangedF32, Offset( mSlots.mMaxDistance.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"@c maxDistance to apply to 3D sounds in this slot (<1 to use @c maxDistance of track's own description).\n"
"@see SFXDescription::maxDistance" );
addField( "maxDistanceVariance", TypePoint2F, Offset( mSlots.mMaxDistance.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #maxDistance.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "volumeScale", TypeF32, Offset( mSlots.mVolumeScale.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "volumeScale", TypeRangedF32, Offset( mSlots.mVolumeScale.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Scale factor to apply to volume of sounds played on this list slot.\n"
"This value will scale the actual volume level set on the track assigned to the slot, i.e. a value of 0.5 will "
"cause the track to play at half-volume." );
addField( "volumeScaleVariance", TypePoint2F, Offset( mSlots.mVolumeScale.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #volumeScale.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "pitchScale", TypeF32, Offset( mSlots.mPitchScale.mValue, SFXPlayList ), NUM_SLOTS,
addFieldV( "pitchScale", TypeRangedF32, Offset( mSlots.mPitchScale.mValue, SFXPlayList ), &CommonValidators::PositiveFloat, NUM_SLOTS,
"Scale factor to apply to pitch of sounds played on this list slot.\n"
"This value will scale the actual pitch set on the track assigned to the slot, i.e. a value of 0.5 will "
"cause the track to play at half its assigned speed." );
addField( "pitchScaleVariance", TypePoint2F, Offset( mSlots.mPitchScale.mVariance, SFXPlayList ), NUM_SLOTS,
"Bounds on randomization of #pitchScale.\n\n"
"@ref SFXPlayList_randomization\n" );
addField( "repeatCount", TypeS32, Offset( mSlots.mRepeatCount, SFXPlayList ), NUM_SLOTS,
addFieldV( "repeatCount", TypeRangedS32, Offset( mSlots.mRepeatCount, SFXPlayList ), &CommonValidators::PositiveInt, NUM_SLOTS,
"Number of times to loop this slot." );
addField( "state", TypeSFXStateName, Offset( mSlots.mState, SFXPlayList ), NUM_SLOTS,
"State that must be active for this slot to play.\n\n"