2023-03-15 15:20:35 +00:00
# pragma once
# include <cstdint>
# include "!GlobalTypes.hpp"
2023-03-23 14:05:13 +00:00
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Binary: particles.dll
2023-08-31 01:50:54 +00:00
// Classes count: 438
// Enums count: 68
2023-03-23 14:05:13 +00:00
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ParticleControlPointAxis_t : uint32_t
{
PARTICLE_CP_AXIS_X = 0x0 ,
PARTICLE_CP_AXIS_Y = 0x1 ,
PARTICLE_CP_AXIS_Z = 0x2 ,
PARTICLE_CP_AXIS_NEGATIVE_X = 0x3 ,
PARTICLE_CP_AXIS_NEGATIVE_Y = 0x4 ,
PARTICLE_CP_AXIS_NEGATIVE_Z = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ParticleImpulseType_t : uint32_t
{
IMPULSE_TYPE_NONE = 0x0 ,
IMPULSE_TYPE_GENERIC = 0x1 ,
IMPULSE_TYPE_ROPE = 0x2 ,
IMPULSE_TYPE_EXPLOSION = 0x4 ,
IMPULSE_TYPE_EXPLOSION_UNDERWATER = 0x8 ,
IMPULSE_TYPE_PARTICLE_SYSTEM = 0x10 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleFalloffFunction_t : uint32_t
{
PARTICLE_FALLOFF_CONSTANT = 0x0 ,
PARTICLE_FALLOFF_LINEAR = 0x1 ,
PARTICLE_FALLOFF_EXPONENTIAL = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class AnimationType_t : uint32_t
{
ANIMATION_TYPE_FIXED_RATE = 0x0 ,
ANIMATION_TYPE_FIT_LIFETIME = 0x1 ,
ANIMATION_TYPE_MANUAL_FRAMES = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ClosestPointTestType_t : uint32_t
{
PARTICLE_CLOSEST_TYPE_BOX = 0x0 ,
PARTICLE_CLOSEST_TYPE_CAPSULE = 0x1 ,
PARTICLE_CLOSEST_TYPE_HYBRID = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class InheritableBoolType_t : uint32_t
{
INHERITABLE_BOOL_INHERIT = 0x0 ,
INHERITABLE_BOOL_FALSE = 0x1 ,
INHERITABLE_BOOL_TRUE = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleHitboxBiasType_t : uint32_t
{
PARTICLE_HITBOX_BIAS_ENTITY = 0x0 ,
PARTICLE_HITBOX_BIAS_HITBOX = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 15:20:35 +00:00
enum class PFuncVisualizationType_t : uint32_t
{
PFUNC_VISUALIZATION_SPHERE_WIREFRAME = 0x0 ,
PFUNC_VISUALIZATION_SPHERE_SOLID = 0x1 ,
PFUNC_VISUALIZATION_BOX = 0x2 ,
PFUNC_VISUALIZATION_RING = 0x3 ,
PFUNC_VISUALIZATION_PLANE = 0x4 ,
PFUNC_VISUALIZATION_LINE = 0x5 ,
PFUNC_VISUALIZATION_CYLINDER = 0x6 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class PetGroundType_t : uint32_t
{
PET_GROUND_NONE = 0x0 ,
PET_GROUND_GRID = 0x1 ,
PET_GROUND_PLANE = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class SpriteCardShaderType_t : uint32_t
{
SPRITECARD_SHADER_BASE = 0x0 ,
SPRITECARD_SHADER_CUSTOM = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class ParticleTopology_t : uint32_t
{
PARTICLE_TOPOLOGY_POINTS = 0x0 ,
PARTICLE_TOPOLOGY_LINES = 0x1 ,
PARTICLE_TOPOLOGY_TRIS = 0x2 ,
PARTICLE_TOPOLOGY_QUADS = 0x3 ,
PARTICLE_TOPOLOGY_CUBES = 0x4 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleDetailLevel_t : uint32_t
{
PARTICLEDETAIL_LOW = 0x0 ,
PARTICLEDETAIL_MEDIUM = 0x1 ,
PARTICLEDETAIL_HIGH = 0x2 ,
PARTICLEDETAIL_ULTRA = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleTraceSet_t : uint32_t
{
PARTICLE_TRACE_SET_ALL = 0x0 ,
PARTICLE_TRACE_SET_STATIC = 0x1 ,
PARTICLE_TRACE_SET_DYNAMIC = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class ParticleCollisionMode_t : uint32_t
{
COLLISION_MODE_PER_PARTICLE_TRACE = 0x3 ,
COLLISION_MODE_USE_NEAREST_TRACE = 0x2 ,
COLLISION_MODE_PER_FRAME_PLANESET = 0x1 ,
COLLISION_MODE_INITIAL_TRACE_DOWN = 0x0 ,
COLLISION_MODE_DISABLED = 0xffffffffffffffff ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class ParticleColorBlendMode_t : uint32_t
{
PARTICLEBLEND_DEFAULT = 0x0 ,
PARTICLEBLEND_OVERLAY = 0x1 ,
PARTICLEBLEND_DARKEN = 0x2 ,
PARTICLEBLEND_LIGHTEN = 0x3 ,
PARTICLEBLEND_MULTIPLY = 0x4 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 15:20:35 +00:00
enum class Detail2Combo_t : uint32_t
{
DETAIL_2_COMBO_UNINITIALIZED = 0xffffffffffffffff ,
DETAIL_2_COMBO_OFF = 0x0 ,
DETAIL_2_COMBO_ADD = 0x1 ,
DETAIL_2_COMBO_ADD_SELF_ILLUM = 0x2 ,
DETAIL_2_COMBO_MOD2X = 0x3 ,
DETAIL_2_COMBO_MUL = 0x4 ,
DETAIL_2_COMBO_CROSSFADE = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class DetailCombo_t : uint32_t
{
DETAIL_COMBO_OFF = 0x0 ,
DETAIL_COMBO_ADD = 0x1 ,
DETAIL_COMBO_ADD_SELF_ILLUM = 0x2 ,
DETAIL_COMBO_MOD2X = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x9
2023-03-15 15:20:35 +00:00
enum class ScalarExpressionType_t : uint32_t
{
SCALAR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff ,
SCALAR_EXPRESSION_ADD = 0x0 ,
SCALAR_EXPRESSION_SUBTRACT = 0x1 ,
SCALAR_EXPRESSION_MUL = 0x2 ,
SCALAR_EXPRESSION_DIVIDE = 0x3 ,
SCALAR_EXPRESSION_INPUT_1 = 0x4 ,
SCALAR_EXPRESSION_MIN = 0x5 ,
SCALAR_EXPRESSION_MAX = 0x6 ,
SCALAR_EXPRESSION_MOD = 0x7 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x9
2023-03-15 15:20:35 +00:00
enum class VectorExpressionType_t : uint32_t
{
VECTOR_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff ,
VECTOR_EXPRESSION_ADD = 0x0 ,
VECTOR_EXPRESSION_SUBTRACT = 0x1 ,
VECTOR_EXPRESSION_MUL = 0x2 ,
VECTOR_EXPRESSION_DIVIDE = 0x3 ,
VECTOR_EXPRESSION_INPUT_1 = 0x4 ,
VECTOR_EXPRESSION_MIN = 0x5 ,
VECTOR_EXPRESSION_MAX = 0x6 ,
VECTOR_EXPRESSION_CROSSPRODUCT = 0x7 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 15:20:35 +00:00
enum class VectorFloatExpressionType_t : uint32_t
{
VECTOR_FLOAT_EXPRESSION_UNINITIALIZED = 0xffffffffffffffff ,
VECTOR_FLOAT_EXPRESSION_DOTPRODUCT = 0x0 ,
VECTOR_FLOAT_EXPRESSION_DISTANCE = 0x1 ,
VECTOR_FLOAT_EXPRESSION_DISTANCESQR = 0x2 ,
VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTH = 0x3 ,
VECTOR_FLOAT_EXPRESSION_INPUT1_LENGTHSQR = 0x4 ,
VECTOR_FLOAT_EXPRESSION_INPUT1_NOISE = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class MissingParentInheritBehavior_t : uint32_t
{
MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff ,
MISSING_PARENT_KILL = 0x0 ,
MISSING_PARENT_FIND_NEW = 0x1 ,
MISSING_PARENT_SAME_INDEX = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class HitboxLerpType_t : uint32_t
{
HITBOX_LERP_LIFETIME = 0x0 ,
HITBOX_LERP_CONSTANT = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleSelection_t : uint32_t
{
PARTICLE_SELECTION_FIRST = 0x0 ,
PARTICLE_SELECTION_LAST = 0x1 ,
PARTICLE_SELECTION_NUMBER = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0xc
2023-03-15 15:20:35 +00:00
enum class ParticlePinDistance_t : uint32_t
{
PARTICLE_PIN_DISTANCE_NONE = 0xffffffffffffffff ,
PARTICLE_PIN_DISTANCE_NEIGHBOR = 0x0 ,
PARTICLE_PIN_DISTANCE_FARTHEST = 0x1 ,
PARTICLE_PIN_DISTANCE_FIRST = 0x2 ,
PARTICLE_PIN_DISTANCE_LAST = 0x3 ,
PARTICLE_PIN_DISTANCE_CENTER = 0x5 ,
PARTICLE_PIN_DISTANCE_CP = 0x6 ,
PARTICLE_PIN_DISTANCE_CP_PAIR_EITHER = 0x7 ,
PARTICLE_PIN_DISTANCE_CP_PAIR_BOTH = 0x8 ,
PARTICLE_PIN_SPEED = 0x9 ,
PARTICLE_PIN_COLLECTION_AGE = 0xa ,
2023-08-31 01:50:54 +00:00
PARTICLE_PIN_FLOAT_VALUE = 0xb ,
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0xd
2023-03-15 15:20:35 +00:00
enum class ParticleColorBlendType_t : uint32_t
{
PARTICLE_COLOR_BLEND_MULTIPLY = 0x0 ,
PARTICLE_COLOR_BLEND_MULTIPLY2X = 0x1 ,
PARTICLE_COLOR_BLEND_DIVIDE = 0x2 ,
PARTICLE_COLOR_BLEND_ADD = 0x3 ,
PARTICLE_COLOR_BLEND_SUBTRACT = 0x4 ,
PARTICLE_COLOR_BLEND_MOD2X = 0x5 ,
PARTICLE_COLOR_BLEND_SCREEN = 0x6 ,
PARTICLE_COLOR_BLEND_MAX = 0x7 ,
PARTICLE_COLOR_BLEND_MIN = 0x8 ,
PARTICLE_COLOR_BLEND_REPLACE = 0x9 ,
PARTICLE_COLOR_BLEND_AVERAGE = 0xa ,
PARTICLE_COLOR_BLEND_NEGATE = 0xb ,
PARTICLE_COLOR_BLEND_LUMINANCE = 0xc ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ParticleSetMethod_t : uint32_t
{
PARTICLE_SET_REPLACE_VALUE = 0x0 ,
PARTICLE_SET_SCALE_INITIAL_VALUE = 0x1 ,
PARTICLE_SET_ADD_TO_INITIAL_VALUE = 0x2 ,
PARTICLE_SET_RAMP_CURRENT_VALUE = 0x3 ,
PARTICLE_SET_SCALE_CURRENT_VALUE = 0x4 ,
PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleDirectionNoiseType_t : uint32_t
{
PARTICLE_DIR_NOISE_PERLIN = 0x0 ,
PARTICLE_DIR_NOISE_CURL = 0x1 ,
PARTICLE_DIR_NOISE_WORLEY_BASIC = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleRotationLockType_t : uint32_t
{
PARTICLE_ROTATION_LOCK_NONE = 0x0 ,
PARTICLE_ROTATION_LOCK_ROTATIONS = 0x1 ,
PARTICLE_ROTATION_LOCK_NORMAL = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleEndcapMode_t : uint32_t
{
PARTICLE_ENDCAP_ALWAYS_ON = 0xffffffffffffffff ,
PARTICLE_ENDCAP_ENDCAP_OFF = 0x0 ,
PARTICLE_ENDCAP_ENDCAP_ON = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleLightingQuality_t : uint32_t
{
PARTICLE_LIGHTING_PER_PARTICLE = 0x0 ,
PARTICLE_LIGHTING_PER_VERTEX = 0x1 ,
PARTICLE_LIGHTING_PER_PIXEL = 0xffffffffffffffff ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class StandardLightingAttenuationStyle_t : uint32_t
{
LIGHT_STYLE_OLD = 0x0 ,
LIGHT_STYLE_NEW = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleTraceMissBehavior_t : uint32_t
{
PARTICLE_TRACE_MISS_BEHAVIOR_NONE = 0x0 ,
PARTICLE_TRACE_MISS_BEHAVIOR_KILL = 0x1 ,
PARTICLE_TRACE_MISS_BEHAVIOR_TRACE_END = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleOrientationSetMode_t : uint32_t
{
PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0 ,
PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleLightnintBranchBehavior_t : uint32_t
{
PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0 ,
PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleLightFogLightingMode_t : uint32_t
{
PARTICLE_LIGHT_FOG_LIGHTING_MODE_NONE = 0x0 ,
PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC = 0x2 ,
PARTICLE_LIGHT_FOG_LIGHTING_MODE_DYNAMIC_NOSHADOWS = 0x4 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleSequenceCropOverride_t : uint32_t
{
PARTICLE_SEQUENCE_CROP_OVERRIDE_DEFAULT = 0xffffffffffffffff ,
PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_OFF = 0x0 ,
PARTICLE_SEQUENCE_CROP_OVERRIDE_FORCE_ON = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleParentSetMode_t : uint32_t
{
PARTICLE_SET_PARENT_NO = 0x0 ,
PARTICLE_SET_PARENT_IMMEDIATE = 0x1 ,
PARTICLE_SET_PARENT_ROOT = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class MaterialProxyType_t : uint32_t
{
MATERIAL_PROXY_STATUS_EFFECT = 0x0 ,
MATERIAL_PROXY_TINT = 0x1 ,
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 4
// Size: 0x3
enum class BBoxVolumeType_t : uint32_t
{
BBOX_VOLUME = 0x0 ,
BBOX_DIMENSIONS = 0x1 ,
BBOX_MINS_MAXS = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ParticleOrientationChoiceList_t : uint32_t
{
PARTICLE_ORIENTATION_SCREEN_ALIGNED = 0x0 ,
PARTICLE_ORIENTATION_SCREEN_Z_ALIGNED = 0x1 ,
PARTICLE_ORIENTATION_WORLD_Z_ALIGNED = 0x2 ,
PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL = 0x3 ,
PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL = 0x4 ,
PARTICLE_ORIENTATION_FULL_3AXIS_ROTATION = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 15:20:35 +00:00
enum class ParticleOutputBlendMode_t : uint32_t
{
PARTICLE_OUTPUT_BLEND_MODE_ALPHA = 0x0 ,
PARTICLE_OUTPUT_BLEND_MODE_ADD = 0x1 ,
PARTICLE_OUTPUT_BLEND_MODE_BLEND_ADD = 0x2 ,
PARTICLE_OUTPUT_BLEND_MODE_HALF_BLEND_ADD = 0x3 ,
PARTICLE_OUTPUT_BLEND_MODE_NEG_HALF_BLEND_ADD = 0x4 ,
PARTICLE_OUTPUT_BLEND_MODE_MOD2X = 0x5 ,
PARTICLE_OUTPUT_BLEND_MODE_LIGHTEN = 0x6 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleAlphaReferenceType_t : uint32_t
{
PARTICLE_ALPHA_REFERENCE_ALPHA_ALPHA = 0x0 ,
PARTICLE_ALPHA_REFERENCE_OPAQUE_ALPHA = 0x1 ,
PARTICLE_ALPHA_REFERENCE_ALPHA_OPAQUE = 0x2 ,
PARTICLE_ALPHA_REFERENCE_OPAQUE_OPAQUE = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class BlurFilterType_t : uint32_t
{
BLURFILTER_GAUSSIAN = 0x0 ,
BLURFILTER_BOX = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleLightTypeChoiceList_t : uint32_t
{
PARTICLE_LIGHT_TYPE_POINT = 0x0 ,
PARTICLE_LIGHT_TYPE_SPOT = 0x1 ,
PARTICLE_LIGHT_TYPE_FX = 0x2 ,
PARTICLE_LIGHT_TYPE_CAPSULE = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleLightUnitChoiceList_t : uint32_t
{
PARTICLE_LIGHT_UNIT_CANDELAS = 0x0 ,
PARTICLE_LIGHT_UNIT_LUMENS = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleOmni2LightTypeChoiceList_t : uint32_t
{
PARTICLE_OMNI2_LIGHT_TYPE_POINT = 0x0 ,
PARTICLE_OMNI2_LIGHT_TYPE_SPHERE = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleLightBehaviorChoiceList_t : uint32_t
{
PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION = 0x0 ,
PARTICLE_LIGHT_BEHAVIOR_ROPE = 0x1 ,
PARTICLE_LIGHT_BEHAVIOR_TRAILS = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleDepthFeatheringMode_t : uint32_t
{
PARTICLE_DEPTH_FEATHERING_OFF = 0x0 ,
PARTICLE_DEPTH_FEATHERING_ON_OPTIONAL = 0x1 ,
PARTICLE_DEPTH_FEATHERING_ON_REQUIRED = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleVRHandChoiceList_t : uint32_t
{
PARTICLE_VRHAND_LEFT = 0x0 ,
PARTICLE_VRHAND_RIGHT = 0x1 ,
PARTICLE_VRHAND_CP = 0x2 ,
PARTICLE_VRHAND_CP_OBJECT = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class ParticleSortingChoiceList_t : uint32_t
{
PARTICLE_SORTING_NEAREST = 0x0 ,
PARTICLE_SORTING_CREATION_TIME = 0x1 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0xa
2023-03-15 15:20:35 +00:00
enum class SpriteCardTextureType_t : uint32_t
{
SPRITECARD_TEXTURE_DIFFUSE = 0x0 ,
SPRITECARD_TEXTURE_ZOOM = 0x1 ,
SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 0x2 ,
SPRITECARD_TEXTURE_UVDISTORTION = 0x3 ,
SPRITECARD_TEXTURE_UVDISTORTION_ZOOM = 0x4 ,
SPRITECARD_TEXTURE_NORMALMAP = 0x5 ,
SPRITECARD_TEXTURE_ANIMMOTIONVEC = 0x6 ,
SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_A = 0x7 ,
SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_B = 0x8 ,
SPRITECARD_TEXTURE_SPHERICAL_HARMONICS_C = 0x9 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0xf
2023-03-15 15:20:35 +00:00
enum class SpriteCardTextureChannel_t : uint32_t
{
SPRITECARD_TEXTURE_CHANNEL_MIX_RGB = 0x0 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA = 0x1 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_A = 0x2 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A = 0x3 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_ALPHAMASK = 0x4 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_RGBMASK = 0x5 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGBA_RGBALPHA = 0x6 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_A_RGBALPHA = 0x7 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RGB_A_RGBALPHA = 0x8 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_R = 0x9 ,
SPRITECARD_TEXTURE_CHANNEL_MIX_G = 0xa ,
SPRITECARD_TEXTURE_CHANNEL_MIX_B = 0xb ,
SPRITECARD_TEXTURE_CHANNEL_MIX_RALPHA = 0xc ,
SPRITECARD_TEXTURE_CHANNEL_MIX_GALPHA = 0xd ,
SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xe ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0xe
2023-03-15 15:20:35 +00:00
enum class SpriteCardPerParticleScale_t : uint32_t
{
SPRITECARD_TEXTURE_PP_SCALE_NONE = 0x0 ,
SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_AGE = 0x1 ,
SPRITECARD_TEXTURE_PP_SCALE_ANIMATION_FRAME = 0x2 ,
SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA1 = 0x3 ,
SPRITECARD_TEXTURE_PP_SCALE_SHADER_EXTRA_DATA2 = 0x4 ,
SPRITECARD_TEXTURE_PP_SCALE_PARTICLE_ALPHA = 0x5 ,
SPRITECARD_TEXTURE_PP_SCALE_SHADER_RADIUS = 0x6 ,
SPRITECARD_TEXTURE_PP_SCALE_ROLL = 0x7 ,
SPRITECARD_TEXTURE_PP_SCALE_YAW = 0x8 ,
SPRITECARD_TEXTURE_PP_SCALE_PITCH = 0x9 ,
SPRITECARD_TEXTURE_PP_SCALE_RANDOM = 0xa ,
SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM = 0xb ,
SPRITECARD_TEXTURE_PP_SCALE_RANDOM_TIME = 0xc ,
SPRITECARD_TEXTURE_PP_SCALE_NEG_RANDOM_TIME = 0xd ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 15:20:35 +00:00
enum class ParticleTextureLayerBlendType_t : uint32_t
{
SPRITECARD_TEXTURE_BLEND_MULTIPLY = 0x0 ,
SPRITECARD_TEXTURE_BLEND_MOD2X = 0x1 ,
SPRITECARD_TEXTURE_BLEND_REPLACE = 0x2 ,
SPRITECARD_TEXTURE_BLEND_ADD = 0x3 ,
SPRITECARD_TEXTURE_BLEND_SUBTRACT = 0x4 ,
SPRITECARD_TEXTURE_BLEND_AVERAGE = 0x5 ,
SPRITECARD_TEXTURE_BLEND_LUMINANCE = 0x6 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ParticlePostProcessPriorityGroup_t : uint32_t
{
PARTICLE_POST_PROCESS_PRIORITY_LEVEL_VOLUME = 0x0 ,
PARTICLE_POST_PROCESS_PRIORITY_LEVEL_OVERRIDE = 0x1 ,
PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_EFFECT = 0x2 ,
PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_LOW = 0x3 ,
PARTICLE_POST_PROCESS_PRIORITY_GAMEPLAY_STATE_HIGH = 0x4 ,
PARTICLE_POST_PROCESS_PRIORITY_GLOBAL_UI = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class ParticleFogType_t : uint32_t
{
PARTICLE_FOG_GAME_DEFAULT = 0x0 ,
PARTICLE_FOG_ENABLED = 0x1 ,
PARTICLE_FOG_DISABLED = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class TextureRepetitionMode_t : uint32_t
{
TEXTURE_REPETITION_PARTICLE = 0x0 ,
TEXTURE_REPETITION_PATH = 0x1 ,
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x18
2023-03-15 15:20:35 +00:00
enum class ParticleFloatType_t : uint32_t
{
PF_TYPE_INVALID = 0xffffffffffffffff ,
PF_TYPE_LITERAL = 0x0 ,
PF_TYPE_NAMED_VALUE = 0x1 ,
PF_TYPE_RANDOM_UNIFORM = 0x2 ,
PF_TYPE_RANDOM_BIASED = 0x3 ,
PF_TYPE_COLLECTION_AGE = 0x4 ,
PF_TYPE_ENDCAP_AGE = 0x5 ,
PF_TYPE_CONTROL_POINT_COMPONENT = 0x6 ,
PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7 ,
PF_TYPE_CONTROL_POINT_SPEED = 0x8 ,
PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9 ,
2023-08-31 01:50:54 +00:00
PF_TYPE_CONCURRENT_DEF_COUNT = 0xa ,
PF_TYPE_CLOSEST_CAMERA_DISTANCE = 0xb ,
PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xc ,
PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xd ,
PF_TYPE_PARTICLE_NOISE = 0xe ,
PF_TYPE_PARTICLE_AGE = 0xf ,
PF_TYPE_PARTICLE_AGE_NORMALIZED = 0x10 ,
PF_TYPE_PARTICLE_FLOAT = 0x11 ,
PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x12 ,
PF_TYPE_PARTICLE_SPEED = 0x13 ,
PF_TYPE_PARTICLE_NUMBER = 0x14 ,
PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x15 ,
PF_TYPE_COUNT = 0x16 ,
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class ParticleFloatBiasType_t : uint32_t
{
PF_BIAS_TYPE_INVALID = 0xffffffffffffffff ,
PF_BIAS_TYPE_STANDARD = 0x0 ,
PF_BIAS_TYPE_GAIN = 0x1 ,
PF_BIAS_TYPE_EXPONENTIAL = 0x2 ,
PF_BIAS_TYPE_COUNT = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class PFNoiseType_t : uint32_t
{
PF_NOISE_TYPE_PERLIN = 0x0 ,
PF_NOISE_TYPE_SIMPLEX = 0x1 ,
PF_NOISE_TYPE_WORLEY = 0x2 ,
PF_NOISE_TYPE_CURL = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class PFNoiseModifier_t : uint32_t
{
PF_NOISE_MODIFIER_NONE = 0x0 ,
PF_NOISE_MODIFIER_LINES = 0x1 ,
PF_NOISE_MODIFIER_CLUMPS = 0x2 ,
PF_NOISE_MODIFIER_RINGS = 0x3 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class PFNoiseTurbulence_t : uint32_t
{
PF_NOISE_TURB_NONE = 0x0 ,
PF_NOISE_TURB_HIGHLIGHT = 0x1 ,
PF_NOISE_TURB_FEEDBACK = 0x2 ,
PF_NOISE_TURB_LOOPY = 0x3 ,
PF_NOISE_TURB_CONTRAST = 0x4 ,
PF_NOISE_TURB_ALTERNATE = 0x5 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleFloatRandomMode_t : uint32_t
{
PF_RANDOM_MODE_INVALID = 0xffffffffffffffff ,
PF_RANDOM_MODE_CONSTANT = 0x0 ,
PF_RANDOM_MODE_VARYING = 0x1 ,
PF_RANDOM_MODE_COUNT = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class ParticleFloatInputMode_t : uint32_t
{
PF_INPUT_MODE_INVALID = 0xffffffffffffffff ,
PF_INPUT_MODE_CLAMPED = 0x0 ,
PF_INPUT_MODE_LOOPED = 0x1 ,
PF_INPUT_MODE_COUNT = 0x2 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x8
2023-03-15 15:20:35 +00:00
enum class ParticleFloatMapType_t : uint32_t
{
PF_MAP_TYPE_INVALID = 0xffffffffffffffff ,
PF_MAP_TYPE_DIRECT = 0x0 ,
PF_MAP_TYPE_MULT = 0x1 ,
PF_MAP_TYPE_REMAP = 0x2 ,
PF_MAP_TYPE_REMAP_BIASED = 0x3 ,
PF_MAP_TYPE_CURVE = 0x4 ,
PF_MAP_TYPE_NOTCHED = 0x5 ,
PF_MAP_TYPE_COUNT = 0x6 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class ParticleTransformType_t : uint32_t
{
PT_TYPE_INVALID = 0x0 ,
PT_TYPE_NAMED_VALUE = 0x1 ,
PT_TYPE_CONTROL_POINT = 0x2 ,
PT_TYPE_CONTROL_POINT_RANGE = 0x3 ,
PT_TYPE_COUNT = 0x4 ,
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 4
// Size: 0x5
enum class ParticleModelType_t : uint32_t
{
PM_TYPE_INVALID = 0x0 ,
PM_TYPE_NAMED_VALUE_MODEL = 0x1 ,
PM_TYPE_NAMED_VALUE_EHANDLE = 0x2 ,
PM_TYPE_CONTROL_POINT = 0x3 ,
PM_TYPE_COUNT = 0x4 ,
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x12
2023-03-15 15:20:35 +00:00
enum class ParticleVecType_t : uint32_t
{
PVEC_TYPE_INVALID = 0xffffffffffffffff ,
PVEC_TYPE_LITERAL = 0x0 ,
PVEC_TYPE_LITERAL_COLOR = 0x1 ,
PVEC_TYPE_NAMED_VALUE = 0x2 ,
PVEC_TYPE_PARTICLE_VECTOR = 0x3 ,
PVEC_TYPE_PARTICLE_VELOCITY = 0x4 ,
PVEC_TYPE_CP_VALUE = 0x5 ,
PVEC_TYPE_CP_RELATIVE_POSITION = 0x6 ,
PVEC_TYPE_CP_RELATIVE_DIR = 0x7 ,
PVEC_TYPE_CP_RELATIVE_RANDOM_DIR = 0x8 ,
PVEC_TYPE_FLOAT_COMPONENTS = 0x9 ,
PVEC_TYPE_FLOAT_INTERP_CLAMPED = 0xa ,
PVEC_TYPE_FLOAT_INTERP_OPEN = 0xb ,
PVEC_TYPE_FLOAT_INTERP_GRADIENT = 0xc ,
PVEC_TYPE_RANDOM_UNIFORM = 0xd ,
PVEC_TYPE_RANDOM_UNIFORM_OFFSET = 0xe ,
2023-05-15 01:39:33 +00:00
PVEC_TYPE_CP_DELTA = 0xf ,
PVEC_TYPE_COUNT = 0x10 ,
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
struct ParticleAttributeIndex_t ;
struct ParticlePreviewState_t ;
struct CParticleCollectionFloatInput ;
struct CParticleVisibilityInputs ;
2023-04-21 10:40:43 +00:00
struct CParticleCollectionRendererFloatInput ;
2023-03-23 14:05:13 +00:00
struct TextureControls_t ;
2023-04-21 10:40:43 +00:00
struct CParticleCollectionRendererVecInput ;
2023-03-23 14:05:13 +00:00
struct CParticleCollectionVecInput ;
struct CParticleTransformInput ;
struct CParticleFloatInput ;
2023-05-15 01:39:33 +00:00
struct ParticleNamedValueConfiguration_t ;
2023-03-23 14:05:13 +00:00
struct CNewParticleEffect ;
struct IParticleCollection ;
struct PARTICLE_EHANDLE__ ;
struct CParticleProperty ;
struct CPerParticleFloatInput ;
struct CPathParameters ;
struct CPerParticleVecInput ;
2023-05-15 01:39:33 +00:00
struct CParticleModelInput ;
2023-03-23 14:05:13 +00:00
struct CRandomNumberGeneratorParameters ;
struct CParticleRemapFloatInput ;
struct ControlPointReference_t ;
2023-05-15 01:39:33 +00:00
struct CParticleVariableRef ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x8
2023-03-15 15:20:35 +00:00
class CRandomNumberGeneratorParameters
{
public :
// MPropertyFriendlyName "Distribute evenly"
2023-03-23 14:05:13 +00:00
bool m_bDistributeEvenly ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Seed (negative values=randomize)"
// MPropertySuppressExpr "!m_bDistributeEvenly"
2023-03-23 14:05:13 +00:00
int32_t m_nSeed ; // 0x4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
struct ParticleAttributeIndex_t
{
public :
int32_t m_Value ; // 0x0
2023-08-31 01:50:54 +00:00
// Static fields:
static bool & Get_IS_TYPESAFE_INTEGER ( ) { return * reinterpret_cast < bool * > ( interfaces : : g_schema - > FindTypeScopeForModule ( " particles.dll " ) - > FindDeclaredClass ( " ParticleAttributeIndex_t " ) - > m_static_fields [ 0 ] - > m_instance ) ; } ;
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 3
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct MaterialVariable_t
{
public :
// MPropertyFriendlyName "material variable"
2023-03-23 14:05:13 +00:00
CUtlString m_strVariable ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 14:05:13 +00:00
ParticleAttributeIndex_t m_nVariableField ; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale"
2023-03-23 14:05:13 +00:00
float m_flScale ; // 0xc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct ParticlePreviewBodyGroup_t
{
public :
2023-03-23 14:05:13 +00:00
CUtlString m_bodyGroupName ; // 0x0
int32_t m_nValue ; // 0x8
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 16
// Size: 0x68
2023-03-15 15:20:35 +00:00
struct ParticlePreviewState_t
{
public :
2023-03-23 14:05:13 +00:00
CUtlString m_previewModel ; // 0x0
uint32_t m_nModSpecificData ; // 0x8
PetGroundType_t m_groundType ; // 0xc
CUtlString m_sequenceName ; // 0x10
int32_t m_nFireParticleOnSequenceFrame ; // 0x18
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad001c [ 0x4 ] ; // 0x1c
2023-03-23 14:05:13 +00:00
public :
CUtlString m_hitboxSetName ; // 0x20
CUtlString m_materialGroupName ; // 0x28
CUtlVector < ParticlePreviewBodyGroup_t > m_vecBodyGroups ; // 0x30
float m_flPlaybackSpeed ; // 0x48
float m_flParticleSimulationRate ; // 0x4c
bool m_bShouldDrawHitboxes ; // 0x50
bool m_bShouldDrawAttachments ; // 0x51
bool m_bShouldDrawAttachmentNames ; // 0x52
bool m_bShouldDrawControlPointAxes ; // 0x53
bool m_bAnimationNonLooping ; // 0x54
2023-08-31 01:50:54 +00:00
private :
[[maybe_unused]] uint8_t __pad0055 [ 0x3 ] ; // 0x55
public :
Vector m_vecPreviewGravity ; // 0x58
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 6
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct ParticleControlPointDriver_t
{
public :
2023-03-23 14:05:13 +00:00
int32_t m_iControlPoint ; // 0x0
ParticleAttachment_t m_iAttachType ; // 0x4
CUtlString m_attachmentName ; // 0x8
Vector m_vecOffset ; // 0x10
QAngle m_angOffset ; // 0x1c
CUtlString m_entityName ; // 0x28
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x88
2023-03-15 15:20:35 +00:00
struct ParticleControlPointConfiguration_t
{
public :
2023-03-23 14:05:13 +00:00
CUtlString m_name ; // 0x0
CUtlVector < ParticleControlPointDriver_t > m_drivers ; // 0x8
ParticlePreviewState_t m_previewState ; // 0x20
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x10
2023-03-15 15:20:35 +00:00
class IParticleCollection
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x10 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
2023-03-25 17:14:12 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class IControlPointEditorData
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x8 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
2023-03-25 17:14:12 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class IParticleSystemDefinition
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x8 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
2023-03-25 17:14:12 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 18
// Size: 0x44
2023-03-15 15:20:35 +00:00
class CParticleVisibilityInputs
{
public :
// MPropertyFriendlyName "camera depth bias"
2023-03-23 14:05:13 +00:00
float m_flCameraBias ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input control point number"
2023-03-23 14:05:13 +00:00
int32_t m_nCPin ; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input proxy radius"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flProxyRadius ; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input proxy visibility minimum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flInputMin ; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input proxy visibility maximum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flInputMax ; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input proxy unsupported hardware fallback value"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flNoPixelVisibilityFallback ; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input distance minimum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flDistanceInputMin ; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input distance maximum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flDistanceInputMax ; // 0x1c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input dot minimum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flDotInputMin ; // 0x20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input dot maximum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flDotInputMax ; // 0x24
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input dot use CP angles"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
bool m_bDotCPAngles ; // 0x28
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input dot use Camera angles"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
bool m_bDotCameraAngles ; // 0x29
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad002a [ 0x2 ] ; // 0x2a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output alpha scale minimum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flAlphaScaleMin ; // 0x2c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output alpha scale maximum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flAlphaScaleMax ; // 0x30
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output radius scale minimum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flRadiusScaleMin ; // 0x34
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output radius scale maximum"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flRadiusScaleMax ; // 0x38
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output radius FOV scale base"
// MPropertySuppressExpr "m_nCPin == -1"
2023-03-23 14:05:13 +00:00
float m_flRadiusScaleFOVBase ; // 0x3c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "vr camera right eye"
// MParticleAdvancedField
2023-03-23 14:05:13 +00:00
bool m_bRightEye ; // 0x40
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
// Size: 0x40
2023-03-15 15:20:35 +00:00
class CPathParameters
{
public :
// MPropertyFriendlyName "start control point number"
2023-03-23 14:05:13 +00:00
int32_t m_nStartControlPointNumber ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end control point number"
2023-03-23 14:05:13 +00:00
int32_t m_nEndControlPointNumber ; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bulge control 0=random 1=orientation of start pnt 2=orientation of end point"
2023-03-23 14:05:13 +00:00
int32_t m_nBulgeControl ; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random bulge"
2023-03-23 14:05:13 +00:00
float m_flBulge ; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "mid point position"
2023-03-23 14:05:13 +00:00
float m_flMidPoint ; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from curve start point for path start"
// MVectorIsCoordinate
2023-03-23 14:05:13 +00:00
Vector m_vStartPointOffset ; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from curve midpoint for curve center"
// MVectorIsCoordinate
2023-03-23 14:05:13 +00:00
Vector m_vMidPointOffset ; // 0x20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from control point for path end"
// MVectorIsCoordinate
2023-03-23 14:05:13 +00:00
Vector m_vEndOffset ; // 0x2c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
// Size: 0x20
2023-03-15 15:20:35 +00:00
struct ParticleChildrenInfo_t
{
public :
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CStrongHandle < InfoForResourceTypeIParticleSystemDefinition > m_ChildRef ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "delay"
2023-03-23 14:05:13 +00:00
float m_flDelay ; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end cap effect"
2023-03-23 14:05:13 +00:00
bool m_bEndCap ; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
bool m_bDisableChild ; // 0xd
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad000e [ 0x2 ] ; // 0xe
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "disable at detail levels below"
2023-03-23 14:05:13 +00:00
ParticleDetailLevel_t m_nDetailLevel ; // 0x10
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x14
2023-03-15 15:20:35 +00:00
struct ControlPointReference_t
{
public :
// MPropertyFriendlyName "Control point"
2023-03-23 14:05:13 +00:00
int32_t m_controlPointNameString ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from control point"
2023-03-23 14:05:13 +00:00
Vector m_vOffsetFromControlPoint ; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use local space offset"
2023-03-23 14:05:13 +00:00
bool m_bOffsetInLocalSpace ; // 0x10
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct ModelReference_t
{
public :
// MPropertyFriendlyName "model"
2023-03-23 14:05:13 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_model ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Relative probability"
2023-03-23 14:05:13 +00:00
float m_flRelativeProbabilityOfSpawn ; // 0x8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x8
2023-03-15 15:20:35 +00:00
struct SequenceWeightedList_t
{
public :
// MPropertyFriendlyName "sequence"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-03-23 14:05:13 +00:00
int32_t m_nSequence ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "weight"
2023-03-23 14:05:13 +00:00
float m_flRelativeWeight ; // 0x4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
struct CollisionGroupContext_t
{
public :
2023-03-23 14:05:13 +00:00
int32_t m_nCollisionGroupNumber ; // 0x0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x14
2023-03-15 15:20:35 +00:00
struct PointDefinition_t
{
public :
// MPropertyFriendlyName "Control point"
2023-03-23 14:05:13 +00:00
int32_t m_nControlPoint ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use local coordinates for offset"
2023-03-23 14:05:13 +00:00
bool m_bLocalCoords ; // 0x4
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0005 [ 0x3 ] ; // 0x5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from control point"
2023-03-23 14:05:13 +00:00
Vector m_vOffset ; // 0x8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x18
2023-03-15 15:20:35 +00:00
struct PointDefinitionWithTimeValues_t : public PointDefinition_t
{
public :
// MPropertyFriendlyName "Duration value for path point"
2023-03-23 14:05:13 +00:00
float m_flTimeDuration ; // 0x14
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 64
2023-04-21 10:40:43 +00:00
// Size: 0x3e0
2023-03-15 15:20:35 +00:00
class CParticleSystemDefinition : public IParticleSystemDefinition
{
public :
// MPropertyFriendlyName "version"
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
int32_t m_nBehaviorVersion ; // 0x8
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad000c [ 0x4 ] ; // 0xc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionPreEmission * > m_PreEmissionOperators ; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionEmitter * > m_Emitters ; // 0x28
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionInitializer * > m_Initializers ; // 0x40
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionOperator * > m_Operators ; // 0x58
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionForce * > m_ForceGenerators ; // 0x70
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionConstraint * > m_Constraints ; // 0x88
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < CParticleFunctionRenderer * > m_Renderers ; // 0xa0
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
CUtlVector < ParticleChildrenInfo_t > m_Children ; // 0xb8
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad00d0 [ 0xa8 ] ; // 0xd0
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
int32_t m_nFirstMultipleOverride_BackwardCompat ; // 0x178
private :
2023-04-21 10:40:43 +00:00
[[maybe_unused]] uint8_t __pad017c [ 0x94 ] ; // 0x17c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Collection Options"
// MPropertyFriendlyName "initial particles"
2023-04-21 10:40:43 +00:00
int32_t m_nInitialParticles ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max particles"
2023-04-21 10:40:43 +00:00
int32_t m_nMaxParticles ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "group id"
2023-04-21 10:40:43 +00:00
int32_t m_nGroupID ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Bounding Box"
// MPropertyFriendlyName "bounding box bloat min"
// MVectorIsCoordinate
2023-04-21 10:40:43 +00:00
Vector m_BoundingBoxMin ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bounding box bloat max"
// MVectorIsCoordinate
2023-04-21 10:40:43 +00:00
Vector m_BoundingBoxMax ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bounding box depth sort bias"
2023-04-21 10:40:43 +00:00
float m_flDepthSortBias ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sort override position CP"
2023-04-21 10:40:43 +00:00
int32_t m_nSortOverridePositionCP ; // 0x238
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "infinite bounds - don't cull"
2023-04-21 10:40:43 +00:00
bool m_bInfiniteBounds ; // 0x23c
// MPropertyStartGroup "Named Values"
// MPropertyFriendlyName "Enable Named Values (EXPERIMENTAL)"
bool m_bEnableNamedValues ; // 0x23d
private :
[[maybe_unused]] uint8_t __pad023e [ 0x2 ] ; // 0x23e
public :
// MPropertyFriendlyName "Domain Class"
// MPropertyAttributeChoiceName "particlefield_domain"
// MPropertyAutoRebuildOnChange
// MPropertySuppressExpr "!m_bEnableNamedValues"
CUtlString m_NamedValueDomain ; // 0x240
2023-05-15 01:39:33 +00:00
// MPropertySuppressField
CUtlVector < ParticleNamedValueSource_t * > m_NamedValueLocals ; // 0x248
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Base Properties"
// MPropertyFriendlyName "color"
// MPropertyColorPlusAlpha
2023-04-21 10:40:43 +00:00
Color m_ConstantColor ; // 0x260
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normal"
// MVectorIsCoordinate
2023-04-21 10:40:43 +00:00
Vector m_ConstantNormal ; // 0x264
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius"
// MPropertyAttributeRange "biased 0 500"
2023-04-21 10:40:43 +00:00
float m_flConstantRadius ; // 0x270
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation"
2023-04-21 10:40:43 +00:00
float m_flConstantRotation ; // 0x274
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation speed"
2023-04-21 10:40:43 +00:00
float m_flConstantRotationSpeed ; // 0x278
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime"
2023-04-21 10:40:43 +00:00
float m_flConstantLifespan ; // 0x27c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sequence number"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-04-21 10:40:43 +00:00
int32_t m_nConstantSequenceNumber ; // 0x280
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sequence number 1"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-04-21 10:40:43 +00:00
int32_t m_nConstantSequenceNumber1 ; // 0x284
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Snapshot Options"
2023-04-21 10:40:43 +00:00
int32_t m_nSnapshotControlPoint ; // 0x288
2023-03-23 14:05:13 +00:00
private :
2023-04-21 10:40:43 +00:00
[[maybe_unused]] uint8_t __pad028c [ 0x4 ] ; // 0x28c
2023-03-23 14:05:13 +00:00
public :
2023-04-21 10:40:43 +00:00
CStrongHandle < InfoForResourceTypeIParticleSnapshot > m_hSnapshot ; // 0x290
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Replacement Options"
// MPropertyFriendlyName "cull replacement definition"
2023-04-21 10:40:43 +00:00
CStrongHandle < InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName ; // 0x298
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull radius"
2023-04-21 10:40:43 +00:00
float m_flCullRadius ; // 0x2a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull cost"
2023-04-21 10:40:43 +00:00
float m_flCullFillCost ; // 0x2a4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull control point"
2023-04-21 10:40:43 +00:00
int32_t m_nCullControlPoint ; // 0x2a8
2023-03-23 14:05:13 +00:00
private :
2023-04-21 10:40:43 +00:00
[[maybe_unused]] uint8_t __pad02ac [ 0x4 ] ; // 0x2ac
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fallback replacement definition"
2023-04-21 10:40:43 +00:00
CStrongHandle < InfoForResourceTypeIParticleSystemDefinition > m_hFallback ; // 0x2b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fallback max count"
2023-04-21 10:40:43 +00:00
int32_t m_nFallbackMaxCount ; // 0x2b8
2023-03-23 14:05:13 +00:00
private :
2023-04-21 10:40:43 +00:00
[[maybe_unused]] uint8_t __pad02bc [ 0x4 ] ; // 0x2bc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "low violence definition"
2023-04-21 10:40:43 +00:00
CStrongHandle < InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef ; // 0x2c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reference replacement definition"
2023-04-21 10:40:43 +00:00
CStrongHandle < InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement ; // 0x2c8
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Simulation Options"
// MPropertyFriendlyName "pre-simulation time"
2023-04-21 10:40:43 +00:00
float m_flPreSimulationTime ; // 0x2d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "freeze simulation after time"
2023-04-21 10:40:43 +00:00
float m_flStopSimulationAfterTime ; // 0x2d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum time step"
2023-04-21 10:40:43 +00:00
float m_flMaximumTimeStep ; // 0x2d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum sim tick rate"
2023-04-21 10:40:43 +00:00
float m_flMaximumSimTime ; // 0x2dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum sim tick rate"
2023-04-21 10:40:43 +00:00
float m_flMinimumSimTime ; // 0x2e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum simulation time step"
2023-04-21 10:40:43 +00:00
float m_flMinimumTimeStep ; // 0x2e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum required rendered frames"
2023-04-21 10:40:43 +00:00
int32_t m_nMinimumFrames ; // 0x2e8
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Performance Options"
// MPropertyFriendlyName "minimum CPU level"
2023-04-21 10:40:43 +00:00
int32_t m_nMinCPULevel ; // 0x2ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum GPU level"
2023-04-21 10:40:43 +00:00
int32_t m_nMinGPULevel ; // 0x2f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time to sleep when not drawn"
2023-04-21 10:40:43 +00:00
float m_flNoDrawTimeToGoToSleep ; // 0x2f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum draw distance"
2023-04-21 10:40:43 +00:00
float m_flMaxDrawDistance ; // 0x2f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade distance"
2023-04-21 10:40:43 +00:00
float m_flStartFadeDistance ; // 0x2fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum creation distance"
2023-04-21 10:40:43 +00:00
float m_flMaxCreationDistance ; // 0x300
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum free particles to aggregate"
2023-04-21 10:40:43 +00:00
int32_t m_nAggregationMinAvailableParticles ; // 0x304
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "aggregation radius"
2023-04-21 10:40:43 +00:00
float m_flAggregateRadius ; // 0x308
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "batch particle systems"
2023-04-21 10:40:43 +00:00
bool m_bShouldBatch ; // 0x30c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Hitboxes fall back to render bounds"
2023-04-21 10:40:43 +00:00
bool m_bShouldHitboxesFallbackToRenderBounds ; // 0x30d
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "Hitboxes fall back to snapshot"
bool m_bShouldHitboxesFallbackToSnapshot ; // 0x30e
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad030f [ 0x1 ] ; // 0x30f
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rendering Options"
// MPropertyFriendlyName "view model effect"
// MPropertySuppressExpr "m_bScreenSpaceEffect"
2023-04-21 10:40:43 +00:00
InheritableBoolType_t m_nViewModelEffect ; // 0x310
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "screen space effect"
// MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE"
2023-04-21 10:40:43 +00:00
bool m_bScreenSpaceEffect ; // 0x314
2023-03-23 14:05:13 +00:00
private :
2023-04-21 10:40:43 +00:00
[[maybe_unused]] uint8_t __pad0315 [ 0x3 ] ; // 0x315
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "target layer ID for rendering"
2023-04-21 10:40:43 +00:00
CUtlSymbolLarge m_pszTargetLayerID ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to disable rendering if it is the camera"
2023-04-21 10:40:43 +00:00
int32_t m_nSkipRenderControlPoint ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to only enable rendering if it is the camera"
2023-04-21 10:40:43 +00:00
int32_t m_nAllowRenderControlPoint ; // 0x324
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)"
// MParticleAdvancedField
2023-04-21 10:40:43 +00:00
bool m_bShouldSort ; // 0x328
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0329 [ 0x47 ] ; // 0x329
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-08-31 01:50:54 +00:00
CUtlVector < ParticleControlPointConfiguration_t > m_controlPointConfigurations ; // 0x370
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 0
// Size: 0x10
class CParticleInput
{
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x10 ] ; // 0x0
public :
// No members available
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 45
// Size: 0x158
2023-05-15 01:39:33 +00:00
class CParticleFloatInput : public CParticleInput
2023-03-23 14:05:13 +00:00
{
public :
2023-05-15 01:39:33 +00:00
ParticleFloatType_t m_nType ; // 0x10
ParticleFloatMapType_t m_nMapType ; // 0x14
float m_flLiteralValue ; // 0x18
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad001c [ 0x4 ] ; // 0x1c
2023-03-23 14:05:13 +00:00
public :
2023-05-15 01:39:33 +00:00
CParticleNamedValueRef m_NamedValue ; // 0x20
int32_t m_nControlPoint ; // 0x60
ParticleAttributeIndex_t m_nScalarAttribute ; // 0x64
ParticleAttributeIndex_t m_nVectorAttribute ; // 0x68
int32_t m_nVectorComponent ; // 0x6c
float m_flRandomMin ; // 0x70
float m_flRandomMax ; // 0x74
bool m_bHasRandomSignFlip ; // 0x78
private :
[[maybe_unused]] uint8_t __pad0079 [ 0x3 ] ; // 0x79
public :
ParticleFloatRandomMode_t m_nRandomMode ; // 0x7c
private :
[[maybe_unused]] uint8_t __pad0080 [ 0x4 ] ; // 0x80
public :
float m_flLOD0 ; // 0x84
float m_flLOD1 ; // 0x88
float m_flLOD2 ; // 0x8c
float m_flLOD3 ; // 0x90
ParticleAttributeIndex_t m_nNoiseInputVectorAttribute ; // 0x94
float m_flNoiseOutputMin ; // 0x98
float m_flNoiseOutputMax ; // 0x9c
float m_flNoiseScale ; // 0xa0
Vector m_vecNoiseOffsetRate ; // 0xa4
float m_flNoiseOffset ; // 0xb0
int32_t m_nNoiseOctaves ; // 0xb4
PFNoiseTurbulence_t m_nNoiseTurbulence ; // 0xb8
PFNoiseType_t m_nNoiseType ; // 0xbc
PFNoiseModifier_t m_nNoiseModifier ; // 0xc0
float m_flNoiseTurbulenceScale ; // 0xc4
float m_flNoiseTurbulenceMix ; // 0xc8
float m_flNoiseImgPreviewScale ; // 0xcc
bool m_bNoiseImgPreviewLive ; // 0xd0
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad00d1 [ 0xb ] ; // 0xd1
2023-05-15 01:39:33 +00:00
public :
2023-08-31 01:50:54 +00:00
float m_flNoCameraFallback ; // 0xdc
bool m_bUseBoundsCenter ; // 0xe0
2023-05-15 01:39:33 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad00e1 [ 0x3 ] ; // 0xe1
2023-05-15 01:39:33 +00:00
public :
2023-08-31 01:50:54 +00:00
ParticleFloatInputMode_t m_nInputMode ; // 0xe4
float m_flMultFactor ; // 0xe8
float m_flInput0 ; // 0xec
float m_flInput1 ; // 0xf0
float m_flOutput0 ; // 0xf4
float m_flOutput1 ; // 0xf8
float m_flNotchedRangeMin ; // 0xfc
float m_flNotchedRangeMax ; // 0x100
float m_flNotchedOutputOutside ; // 0x104
float m_flNotchedOutputInside ; // 0x108
ParticleFloatBiasType_t m_nBiasType ; // 0x10c
float m_flBiasParameter ; // 0x110
2023-05-15 01:39:33 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0114 [ 0x4 ] ; // 0x114
2023-05-15 01:39:33 +00:00
public :
2023-08-31 01:50:54 +00:00
CPiecewiseCurve m_Curve ; // 0x118
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x158
2023-03-23 14:05:13 +00:00
class CParticleCollectionFloatInput : public CParticleFloatInput
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 16
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-03-15 15:20:35 +00:00
class CParticleFunction
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x8 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
// MPropertyFriendlyName "operator strength"
// MPropertySortPriority "-100"
2023-03-23 14:05:13 +00:00
CParticleCollectionFloatInput m_flOpStrength ; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator end cap state"
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
ParticleEndcapMode_t m_nOpEndCapState ; // 0x160
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Operator Fade"
// MPropertyFriendlyName "operator start fadein"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpStartFadeInTime ; // 0x164
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator end fadein"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpEndFadeInTime ; // 0x168
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator start fadeout"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpStartFadeOutTime ; // 0x16c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator end fadeout"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpEndFadeOutTime ; // 0x170
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator fade oscillate"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpFadeOscillatePeriod ; // 0x174
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize fade times to endcap"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
bool m_bNormalizeToStopTime ; // 0x178
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0179 [ 0x3 ] ; // 0x179
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Operator Fade Time Offset"
// MPropertyFriendlyName "operator fade time offset min"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpTimeOffsetMin ; // 0x17c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator fade time offset max"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpTimeOffsetMax ; // 0x180
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator fade time offset seed"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
int32_t m_nOpTimeOffsetSeed ; // 0x184
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Operator Fade Timescale Modifiers"
// MPropertyFriendlyName "operator fade time scale seed"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
int32_t m_nOpTimeScaleSeed ; // 0x188
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator fade time scale min"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpTimeScaleMin ; // 0x18c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator fade time scale max"
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
float m_flOpTimeScaleMax ; // 0x190
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0194 [ 0x2 ] ; // 0x194
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup
// MPropertySuppressField
2023-08-31 01:50:54 +00:00
bool m_bDisableOperator ; // 0x196
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0197 [ 0x1 ] ; // 0x197
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "operator help and notes"
// MParticleHelpField
// MParticleAdvancedField
// MPropertySortPriority "-100"
2023-08-31 01:50:54 +00:00
CUtlString m_Notes ; // 0x198
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
class CParticleFunctionOperator : public CParticleFunction
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
class CParticleFunctionForce : public CParticleFunction
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class CParticleFunctionPreEmission : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Run Only Once"
2023-08-31 01:50:54 +00:00
bool m_bRunOnce ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-15 15:20:35 +00:00
class CParticleFunctionRenderer : public CParticleFunction
{
2023-08-31 01:50:54 +00:00
// Collision detected(0x1b8->0x1c0), output may be wrong.
2023-03-15 15:20:35 +00:00
public :
2023-08-31 01:50:54 +00:00
// Skipped field "VisibilityInputs" @ 0x1b8 because of the struct collision
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rendering filter"
// MPropertyFriendlyName "I cannot be refracted through refracting objects like water"
// MPropertySortPriority "-1"
2023-08-31 01:50:54 +00:00
bool m_bCannotBeRefracted ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Skip rendering on mobile"
// MPropertySortPriority "-1"
2023-08-31 01:50:54 +00:00
bool m_bSkipRenderingOnMobile ; // 0x1fd
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x158
2023-04-21 10:40:43 +00:00
class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput
{
public :
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 16
2023-08-31 01:50:54 +00:00
// Size: 0x988
2023-03-15 15:20:35 +00:00
struct TextureControls_t
{
public :
// MPropertyFriendlyName "horizontal texture scale"
2023-04-21 10:40:43 +00:00
CParticleCollectionRendererFloatInput m_flFinalTextureScaleU ; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "vertical texture scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFinalTextureScaleV ; // 0x158
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "horizontal texture offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU ; // 0x2b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "vertical texture offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV ; // 0x408
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "texture rotation / animation rate scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation ; // 0x560
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Infinite Zoom Scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flZoomScale ; // 0x6b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Distortion Amount"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flDistortion ; // 0x810
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Randomize Initial Offset"
2023-08-31 01:50:54 +00:00
bool m_bRandomizeOffsets ; // 0x968
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Clamp UVs"
2023-08-31 01:50:54 +00:00
bool m_bClampUVs ; // 0x969
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad096a [ 0x2 ] ; // 0x96a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for blend"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleBlend ; // 0x96c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for scale"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleScale ; // 0x970
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for horizontal offset"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleOffsetU ; // 0x974
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for vertical offset"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleOffsetV ; // 0x978
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for rotation"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleRotation ; // 0x97c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for zoom"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleZoom ; // 0x980
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle scalar for distortion"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleDistortion ; // 0x984
2023-03-23 14:05:13 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 23
2023-08-31 01:50:54 +00:00
// Size: 0x658
2023-05-15 01:39:33 +00:00
class CParticleVecInput : public CParticleInput
2023-03-23 14:05:13 +00:00
{
public :
2023-05-15 01:39:33 +00:00
ParticleVecType_t m_nType ; // 0x10
Vector m_vLiteralValue ; // 0x14
Color m_LiteralColor ; // 0x20
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0024 [ 0x4 ] ; // 0x24
2023-03-23 14:05:13 +00:00
public :
2023-05-15 01:39:33 +00:00
CParticleNamedValueRef m_NamedValue ; // 0x28
bool m_bFollowNamedValue ; // 0x68
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0069 [ 0x3 ] ; // 0x69
2023-03-23 14:05:13 +00:00
public :
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nVectorAttribute ; // 0x6c
Vector m_vVectorAttributeScale ; // 0x70
int32_t m_nControlPoint ; // 0x7c
int32_t m_nDeltaControlPoint ; // 0x80
Vector m_vCPValueScale ; // 0x84
Vector m_vCPRelativePosition ; // 0x90
Vector m_vCPRelativeDir ; // 0x9c
CParticleFloatInput m_FloatComponentX ; // 0xa8
2023-08-31 01:50:54 +00:00
CParticleFloatInput m_FloatComponentY ; // 0x200
CParticleFloatInput m_FloatComponentZ ; // 0x358
CParticleFloatInput m_FloatInterp ; // 0x4b0
float m_flInterpInput0 ; // 0x608
float m_flInterpInput1 ; // 0x60c
Vector m_vInterpOutput0 ; // 0x610
Vector m_vInterpOutput1 ; // 0x61c
CColorGradient m_Gradient ; // 0x628
Vector m_vRandomMin ; // 0x640
Vector m_vRandomMax ; // 0x64c
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x658
2023-03-23 14:05:13 +00:00
class CParticleCollectionVecInput : public CParticleVecInput
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x160
2023-03-23 14:05:13 +00:00
struct FloatInputMaterialVariable_t
{
public :
// MPropertyFriendlyName "material variable"
CUtlString m_strVariable ; // 0x0
// MPropertyFriendlyName "input"
CParticleCollectionFloatInput m_flInput ; // 0x8
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x658
2023-04-21 10:40:43 +00:00
class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput
2023-03-23 14:05:13 +00:00
{
public :
2023-04-21 10:40:43 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-05-15 01:39:33 +00:00
class CParticleFunctionConstraint : public CParticleFunction
2023-03-23 14:05:13 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 8
// Size: 0x68
class CParticleTransformInput : public CParticleInput
2023-04-21 10:40:43 +00:00
{
public :
2023-08-31 01:50:54 +00:00
ParticleTransformType_t m_nType ; // 0x10
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0014 [ 0x4 ] ; // 0x14
2023-04-21 10:40:43 +00:00
public :
2023-08-31 01:50:54 +00:00
CParticleNamedValueRef m_NamedValue ; // 0x18
bool m_bFollowNamedValue ; // 0x58
bool m_bSupportsDisabled ; // 0x59
bool m_bUseOrientation ; // 0x5a
private :
[[maybe_unused]] uint8_t __pad005b [ 0x1 ] ; // 0x5b
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint ; // 0x5c
int32_t m_nControlPointRangeMax ; // 0x60
float m_flEndCPGrowthTime ; // 0x64
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
class CParticleFunctionEmitter : public CParticleFunction
2023-04-21 10:40:43 +00:00
{
2023-08-31 01:50:54 +00:00
// Collision detected(0x1b8->0x1c0), output may be wrong.
2023-04-21 10:40:43 +00:00
public :
2023-08-31 01:50:54 +00:00
// Skipped field "m_nEmitterIndex" @ 0x1b8 because of the struct collision
2023-03-23 14:05:13 +00:00
} ;
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x158
class CPerParticleFloatInput : public CParticleFloatInput
2023-03-23 14:05:13 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
class CParticleFunctionInitializer : public CParticleFunction
2023-04-21 10:40:43 +00:00
{
2023-08-31 01:50:54 +00:00
// Collision detected(0x1b8->0x1c0), output may be wrong.
2023-04-21 10:40:43 +00:00
public :
2023-08-31 01:50:54 +00:00
// Skipped field "m_nAssociatedEmitterIndex" @ 0x1b8 because of the struct collision
2023-04-21 10:40:43 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 9
// Size: 0xb18
struct TextureGroup_t
2023-04-21 10:40:43 +00:00
{
public :
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "Enabled"
bool m_bEnabled ; // 0x0
// MPropertyFriendlyName "Author Texture As Gradient"
// MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )"
bool m_bReplaceTextureWithGradient ; // 0x1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0002 [ 0x6 ] ; // 0x2
2023-04-21 10:40:43 +00:00
public :
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "Texture"
// MPropertySuppressExpr "m_bReplaceTextureWithGradient"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
CStrongHandle < InfoForResourceTypeCTextureBase > m_hTexture ; // 0x8
// MPropertyFriendlyName "Gradient"
// MPropertySuppressExpr "!m_bReplaceTextureWithGradient"
CColorGradient m_Gradient ; // 0x10
// MPropertyFriendlyName "Texture Type"
SpriteCardTextureType_t m_nTextureType ; // 0x28
// MPropertyFriendlyName "Channel Mix"
// MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )"
SpriteCardTextureChannel_t m_nTextureChannels ; // 0x2c
// MPropertyFriendlyName "Mix Blend Mode"
// MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )"
ParticleTextureLayerBlendType_t m_nTextureBlendMode ; // 0x30
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0034 [ 0x4 ] ; // 0x34
2023-04-21 10:40:43 +00:00
public :
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "Blend Amount"
// MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )"
CParticleCollectionRendererFloatInput m_flTextureBlend ; // 0x38
// MPropertyFriendlyName "Texture Controls"
// MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )"
TextureControls_t m_TextureControls ; // 0x190
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x158
class CParticleRemapFloatInput : public CParticleFloatInput
2023-04-21 10:40:43 +00:00
{
public :
// No members available
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 61
// Size: 0x2470
class CBaseRendererSource2 : public CParticleFunctionRenderer
2023-04-21 10:40:43 +00:00
{
public :
2023-08-31 01:50:54 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
// MPropertyFriendlyName "radius scale"
// MPropertySortPriority "700"
CParticleCollectionRendererFloatInput m_flRadiusScale ; // 0x200
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
CParticleCollectionRendererFloatInput m_flAlphaScale ; // 0x358
// MPropertyFriendlyName "rotation roll scale"
// MPropertySortPriority "700"
CParticleCollectionRendererFloatInput m_flRollScale ; // 0x4b0
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
ParticleAttributeIndex_t m_nAlpha2Field ; // 0x608
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad060c [ 0x4 ] ; // 0x60c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererVecInput m_vecColorScale ; // 0x610
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0xc68
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Material"
// MPropertyFriendlyName "Shader"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
SpriteCardShaderType_t m_nShaderType ; // 0xc6c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Custom Shader"
// MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CUtlString m_strShaderOverride ; // 0xc70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "X offset of center point"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flCenterXOffset ; // 0xc78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Y offset of center point"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flCenterYOffset ; // 0xdd0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Bump Strength"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
float m_flBumpStrength ; // 0xf28
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sheet Crop Behavior"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
ParticleSequenceCropOverride_t m_nCropTextureOverride ; // 0xf2c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Textures"
// MParticleRequireDefaultArrayEntry
// MPropertyAutoExpandSelf
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CUtlVector < TextureGroup_t > m_vecTexturesInput ; // 0xf30
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "animation rate"
// MPropertyAttributeRange "0 5"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
float m_flAnimationRate ; // 0xf48
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "animation type"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
AnimationType_t m_nAnimationType ; // 0xf4c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set animation value in FPS"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
bool m_bAnimateInFPS ; // 0xf50
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0f51 [ 0x7 ] ; // 0xf51
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Lighting and Shadows"
// MPropertyFriendlyName "self illum amount"
// MPropertyAttributeRange "0 2"
// MPropertySortPriority "400"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flSelfIllumAmount ; // 0xf58
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "diffuse lighting amount"
// MPropertyAttributeRange "0 1"
// MPropertySortPriority "400"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flDiffuseAmount ; // 0x10b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "diffuse lighting origin Control Point"
// MPropertySortPriority "400"
2023-08-31 01:50:54 +00:00
int32_t m_nLightingControlPoint ; // 0x1208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "self illum per-particle"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "400"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nSelfIllumPerParticle ; // 0x120c
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Color and alpha adjustments"
// MPropertyFriendlyName "output blend mode"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
ParticleOutputBlendMode_t m_nOutputBlendMode ; // 0x1210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Gamma-correct vertex colors"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
bool m_bGammaCorrectVertexColors ; // 0x1214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Saturate color pre alphablend"
// MPropertySortPriority "300"
// MPropertySuppressExpr "mod!=dota"
2023-08-31 01:50:54 +00:00
bool m_bSaturateColorPreAlphaBlend ; // 0x1215
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1216 [ 0x2 ] ; // 0x1216
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "add self amount over alphablend"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flAddSelfAmount ; // 0x1218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desaturation amount"
// MPropertyAttributeRange "0 1"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flDesaturation ; // 0x1370
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "overbright factor"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flOverbrightFactor ; // 0x14c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "HSV Shift Control Point"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
int32_t m_nHSVShiftControlPoint ; // 0x1620
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Apply fog to particle"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
ParticleFogType_t m_nFogType ; // 0x1624
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "Fog Scale"
// MPropertySortPriority "300"
// MPropertySuppressExpr "mod != hlx"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFogAmount ; // 0x1628
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Apply fog of war to color"
// MPropertySortPriority "300"
// MPropertySuppressExpr "mod != dota"
2023-08-31 01:50:54 +00:00
bool m_bTintByFOW ; // 0x1780
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Apply global light to color"
// MPropertySortPriority "300"
// MPropertySuppressExpr "mod != dota"
2023-08-31 01:50:54 +00:00
bool m_bTintByGlobalLight ; // 0x1781
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1782 [ 0x2 ] ; // 0x1782
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Color and alpha adjustments/Alpha Reference"
// MPropertyFriendlyName "alpha reference"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleAlphaReference ; // 0x1784
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha reference window size"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow ; // 0x1788
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha reference type"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
ParticleAlphaReferenceType_t m_nAlphaReferenceType ; // 0x178c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha reference softness"
// MPropertyAttributeRange "0 1"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness ; // 0x1790
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "source alpha value to map to alpha of zero"
// MPropertyAttributeRange "0 1"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero ; // 0x18e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "source alpha value to map to alpha of 1"
// MPropertyAttributeRange "0 1"
// MPropertySortPriority "300"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne ; // 0x1a40
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Refraction"
// MPropertyFriendlyName "refract background"
// MPropertySortPriority "200"
2023-08-31 01:50:54 +00:00
bool m_bRefract ; // 0x1b98
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "refract draws opaque - alpha scales refraction"
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-08-31 01:50:54 +00:00
bool m_bRefractSolid ; // 0x1b99
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1b9a [ 0x6 ] ; // 0x1b9a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "refract amount"
// MPropertyAttributeRange "-2 2"
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flRefractAmount ; // 0x1ba0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "refract blur radius"
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-08-31 01:50:54 +00:00
int32_t m_nRefractBlurRadius ; // 0x1cf8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "refract blur type"
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-08-31 01:50:54 +00:00
BlurFilterType_t m_nRefractBlurType ; // 0x1cfc
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup
// MPropertyFriendlyName "Only Render in effects bloom pass"
// MPropertySortPriority "1100"
2023-08-31 01:50:54 +00:00
bool m_bOnlyRenderInEffectsBloomPass ; // 0x1d00
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Only Render in effects water pass"
// MPropertySortPriority "1050"
// MPropertySuppressExpr "mod != csgo"
2023-08-31 01:50:54 +00:00
bool m_bOnlyRenderInEffectsWaterPass ; // 0x1d01
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use Mixed Resolution Rendering"
// MPropertySortPriority "1200"
2023-08-31 01:50:54 +00:00
bool m_bUseMixedResolutionRendering ; // 0x1d02
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Only Render in effects game overlay pass"
// MPropertySortPriority "1210"
// MPropertySuppressExpr "mod != csgo"
2023-08-31 01:50:54 +00:00
bool m_bOnlyRenderInEffecsGameOverlay ; // 0x1d03
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Stencil"
// MPropertyFriendlyName "stencil test ID"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
char m_stencilTestID [ 128 ] ; // 0x1d04
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only write where stencil is NOT stencil test ID"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
bool m_bStencilTestExclude ; // 0x1d84
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "stencil write ID"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
char m_stencilWriteID [ 128 ] ; // 0x1d85
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "write stencil on z-buffer test success"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
bool m_bWriteStencilOnDepthPass ; // 0x1e05
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "write stencil on z-buffer test failure"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
bool m_bWriteStencilOnDepthFail ; // 0x1e06
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Depth buffer control and effects"
// MPropertyFriendlyName "reverse z-buffer test"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
bool m_bReverseZBuffering ; // 0x1e07
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "disable z-buffer test"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
bool m_bDisableZBuffering ; // 0x1e08
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1e09 [ 0x3 ] ; // 0x1e09
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Depth feathering mode"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
ParticleDepthFeatheringMode_t m_nFeatheringMode ; // 0x1e0c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle feathering closest distance to surface"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFeatheringMinDist ; // 0x1e10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle feathering farthest distance to surface"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFeatheringMaxDist ; // 0x1f68
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle feathering filter"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFeatheringFilter ; // 0x20c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "depth comparison bias"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
float m_flDepthBias ; // 0x2218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sort Method"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
ParticleSortingChoiceList_t m_nSortMethod ; // 0x221c
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "blend sequence animation frames"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
bool m_bBlendFramesSeq0 ; // 0x2220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use max-luminance blending for sequence"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bBlendFramesSeq0"
2023-08-31 01:50:54 +00:00
bool m_bMaxLuminanceBlendingSequence0 ; // 0x2221
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x60
class CParticleModelInput : public CParticleInput
2023-04-21 10:40:43 +00:00
{
2023-05-15 01:39:33 +00:00
public :
ParticleModelType_t m_nType ; // 0x10
2023-04-21 10:40:43 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0014 [ 0x4 ] ; // 0x14
2023-04-21 10:40:43 +00:00
public :
2023-05-15 01:39:33 +00:00
CParticleNamedValueRef m_NamedValue ; // 0x18
int32_t m_nControlPoint ; // 0x58
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 22
2023-08-31 01:50:54 +00:00
// Size: 0x1420
2023-04-21 10:40:43 +00:00
class C_OP_RenderCables : public CParticleFunctionRenderer
{
public :
// MPropertyStartGroup "Renderer Modifiers"
// MPropertyFriendlyName "Radius Scale"
// MPropertySortPriority "700"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flRadiusScale ; // 0x200
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flAlphaScale ; // 0x358
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecColorScale ; // 0x4b0
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0xb08
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0b0c [ 0x4 ] ; // 0xb0c
2023-04-21 10:40:43 +00:00
public :
// MPropertyStartGroup
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hMaterial ; // 0xb10
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "texture repetition mode"
2023-08-31 01:50:54 +00:00
TextureRepetitionMode_t m_nTextureRepetitionMode ; // 0xb18
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0b1c [ 0x4 ] ; // 0xb1c
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "texture repetitions"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flTextureRepeatsPerSegment ; // 0xb20
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "texture repetitions around cable"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flTextureRepeatsCircumference ; // 0xc78
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "color map offset along path"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flColorMapOffsetV ; // 0xdd0
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "color map offset around cable"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flColorMapOffsetU ; // 0xf28
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "normal map offset along path"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flNormalMapOffsetV ; // 0x1080
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "normal map offset around cable"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flNormalMapOffsetU ; // 0x11d8
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "draw caps at each end of the cable"
2023-08-31 01:50:54 +00:00
bool m_bDrawCableCaps ; // 0x1330
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1331 [ 0x3 ] ; // 0x1331
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "cable end cap shape factor"
// MPropertyAttributeRange "0 2"
2023-08-31 01:50:54 +00:00
float m_flCapRoundness ; // 0x1334
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "cable end cap offset amount"
// MPropertyAttributeRange "0 2"
2023-08-31 01:50:54 +00:00
float m_flCapOffsetAmount ; // 0x1338
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "tessellation scale factor"
2023-08-31 01:50:54 +00:00
float m_flTessScale ; // 0x133c
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "minimum steps between particles"
2023-08-31 01:50:54 +00:00
int32_t m_nMinTesselation ; // 0x1340
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "maximum steps between particles"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxTesselation ; // 0x1344
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "roundness factor"
2023-08-31 01:50:54 +00:00
int32_t m_nRoundness ; // 0x1348
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad134c [ 0x4 ] ; // 0x134c
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "diffuse lighting origin"
2023-05-15 01:39:33 +00:00
// MParticleInputOptional
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_LightingTransform ; // 0x1350
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "material float variables"
2023-08-31 01:50:54 +00:00
CUtlVector < FloatInputMaterialVariable_t > m_MaterialFloatVars ; // 0x13b8
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad13d0 [ 0x18 ] ; // 0x13d0
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "material vector variables"
2023-08-31 01:50:54 +00:00
CUtlVector < VecInputMaterialVariable_t > m_MaterialVecVars ; // 0x13e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x658
2023-03-23 14:05:13 +00:00
class CPerParticleVecInput : public CParticleVecInput
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-23 14:05:13 +00:00
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x660
2023-04-21 10:40:43 +00:00
struct VecInputMaterialVariable_t
{
public :
// MPropertyFriendlyName "material variable"
CUtlString m_strVariable ; // 0x0
// MPropertyFriendlyName "input"
CParticleCollectionVecInput m_vecInput ; // 0x8
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 27
2023-08-31 01:50:54 +00:00
// Size: 0x2b90
2023-03-23 14:05:13 +00:00
class C_OP_RenderSprites : public CBaseRendererSource2
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "sequence id override"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_nSequenceOverride ; // 0x2470
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Orientation"
// MPropertyFriendlyName "orientation type"
// MPropertySortPriority "750"
2023-08-31 01:50:54 +00:00
ParticleOrientationChoiceList_t m_nOrientationType ; // 0x25c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orientation control point"
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-08-31 01:50:54 +00:00
int32_t m_nOrientationControlPoint ; // 0x25cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "enable yaw for particles aligned to normals"
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-08-31 01:50:54 +00:00
bool m_bUseYawWithNormalAligned ; // 0x25d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad25d1 [ 0x3 ] ; // 0x25d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Fading and culling"
// MPropertyFriendlyName "minimum visual screen size"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flMinSize ; // 0x25d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum visual screen size"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flMaxSize ; // 0x25d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Factor to map size adjustment to alpha"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flAlphaAdjustWithSizeAdjust ; // 0x25dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "screen size to start fading"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flStartFadeSize ; // 0x25e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "screen size to fade away"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flEndFadeSize ; // 0x2738
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flStartFadeDot ; // 0x2890
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flEndFadeDot ; // 0x2894
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Distance to alpha coding"
// MPropertyFriendlyName "distance alpha"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
bool m_bDistanceAlpha ; // 0x2898
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use soft edges for distance alpha"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-08-31 01:50:54 +00:00
bool m_bSoftEdges ; // 0x2899
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad289a [ 0x2 ] ; // 0x289a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start value for soft edges for distance alpha"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-08-31 01:50:54 +00:00
float m_flEdgeSoftnessStart ; // 0x289c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end value for soft edges for distance alpha"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-08-31 01:50:54 +00:00
float m_flEdgeSoftnessEnd ; // 0x28a0
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Outlining"
// MPropertyFriendlyName "enable particle outlining"
// MPropertySortPriority "0"
2023-08-31 01:50:54 +00:00
bool m_bOutline ; // 0x28a4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline color"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
Color m_OutlineColor ; // 0x28a5
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28a9 [ 0x3 ] ; // 0x28a9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline alpha"
// MPropertyAttributeRange "0 255"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
int32_t m_nOutlineAlpha ; // 0x28ac
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline start 0"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
float m_flOutlineStart0 ; // 0x28b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline start 1"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
float m_flOutlineStart1 ; // 0x28b4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline end 0"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
float m_flOutlineEnd0 ; // 0x28b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outline end 1"
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-08-31 01:50:54 +00:00
float m_flOutlineEnd1 ; // 0x28bc
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Lighting and Shadows"
// MPropertyFriendlyName "lighting mode"
// MPropertySortPriority "400"
// MPropertySuppressExpr "mod != hlx"
2023-08-31 01:50:54 +00:00
ParticleLightingQuality_t m_nLightingMode ; // 0x28c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28c4 [ 0x4 ] ; // 0x28c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "vertex lighting tessellation (0-5)"
// MPropertyAttributeRange "0 5"
// MPropertySortPriority "400"
// MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flLightingTessellation ; // 0x28c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lighting directionality"
// MPropertySortPriority "400"
// MPropertySuppressExpr "mod != hlx"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flLightingDirectionality ; // 0x2a20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Particle Shadows"
// MPropertySortPriority "400"
2023-08-31 01:50:54 +00:00
bool m_bParticleShadows ; // 0x2b78
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad2b79 [ 0x3 ] ; // 0x2b79
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Shadow Density"
// MPropertySortPriority "400"
// MPropertySuppressExpr "!m_bParticleShadows"
2023-08-31 01:50:54 +00:00
float m_flShadowDensity ; // 0x2b7c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
class PARTICLE_EHANDLE__
{
public :
2023-03-23 14:05:13 +00:00
int32_t unused ; // 0x0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
class PARTICLE_WORLD_HANDLE__
{
public :
2023-03-23 14:05:13 +00:00
int32_t unused ; // 0x0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class IParticleEffect
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x8 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
2023-03-25 17:14:12 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x110
2023-04-21 10:40:43 +00:00
class CParticleCollectionBindingInstance : public CBasePulseGraphInstance
{
public :
// No members available
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 0
// Size: 0x140
class CParticleBindingRealPulse : public CParticleCollectionBindingInstance
{
public :
// No members available
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 6
// Size: 0x38
struct ParticleNamedValueConfiguration_t
{
public :
CUtlString m_ConfigName ; // 0x0
KeyValues3 m_ConfigValue ; // 0x8
ParticleAttachment_t m_iAttachType ; // 0x18
private :
[[maybe_unused]] uint8_t __pad001c [ 0x4 ] ; // 0x1c
public :
CUtlString m_BoundEntityPath ; // 0x20
CUtlString m_strEntityScope ; // 0x28
CUtlString m_strAttachmentName ; // 0x30
} ;
// Alignment: 5
// Size: 0x60
struct ParticleNamedValueSource_t
{
public :
CUtlString m_Name ; // 0x0
bool m_IsPublic ; // 0x8
private :
[[maybe_unused]] uint8_t __pad0009 [ 0x3 ] ; // 0x9
public :
// MPropertySuppressField
PulseValueType_t m_ValueType ; // 0xc
// MPropertySuppressField
ParticleNamedValueConfiguration_t m_DefaultConfig ; // 0x10
// MPropertySuppressField
CUtlVector < ParticleNamedValueConfiguration_t > m_NamedConfigs ; // 0x48
} ;
// Alignment: 2
// Size: 0x40
class CParticleVariableRef
{
public :
CKV3MemberNameWithStorage m_variableName ; // 0x0
PulseValueType_t m_variableType ; // 0x38
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x28
2023-03-15 15:20:35 +00:00
class CParticleProperty
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0000 [ 0x28 ] ; // 0x0
2023-03-15 15:20:35 +00:00
public :
2023-03-25 17:14:12 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 32
// Size: 0xc8
2023-03-15 15:20:35 +00:00
class CNewParticleEffect : public IParticleEffect
{
2023-03-25 17:14:12 +00:00
private :
[[maybe_unused]] uint8_t __pad0008 [ 0x8 ] ; // 0x8
2023-03-15 15:20:35 +00:00
public :
2023-03-23 14:05:13 +00:00
CNewParticleEffect * m_pNext ; // 0x10
CNewParticleEffect * m_pPrev ; // 0x18
IParticleCollection * m_pParticles ; // 0x20
char * m_pDebugName ; // 0x28
struct
{
uint8_t m_bDontRemove : 1 ;
uint8_t m_bRemove : 1 ;
uint8_t m_bNeedsBBoxUpdate : 1 ;
uint8_t m_bIsFirstFrame : 1 ;
uint8_t m_bAutoUpdateBBox : 1 ;
uint8_t m_bAllocated : 1 ;
uint8_t m_bSimulate : 1 ;
uint8_t m_bShouldPerformCullCheck : 1 ;
uint8_t m_bForceNoDraw : 1 ;
uint8_t m_bShouldSave : 1 ;
uint8_t m_bDisableAggregation : 1 ;
uint8_t m_bShouldSimulateDuringGamePaused : 1 ;
uint8_t m_bShouldCheckFoW : 1 ;
uint256_t __pad0 : 179 ;
} ; // 192 bits
Vector m_vSortOrigin ; // 0x40
float m_flScale ; // 0x4c
PARTICLE_EHANDLE__ * m_hOwner ; // 0x50
CParticleProperty * m_pOwningParticleProperty ; // 0x58
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0060 [ 0x10 ] ; // 0x60
2023-03-23 14:05:13 +00:00
public :
float m_flFreezeTransitionStart ; // 0x70
float m_flFreezeTransitionDuration ; // 0x74
float m_flFreezeTransitionOverride ; // 0x78
bool m_bFreezeTransitionActive ; // 0x7c
bool m_bFreezeTargetState ; // 0x7d
bool m_bCanFreeze ; // 0x7e
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad007f [ 0x1 ] ; // 0x7f
2023-03-23 14:05:13 +00:00
public :
Vector m_LastMin ; // 0x80
Vector m_LastMax ; // 0x8c
CSplitScreenSlot m_nSplitScreenUser ; // 0x98
Vector m_vecAggregationCenter ; // 0x9c
private :
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad00a8 [ 0x18 ] ; // 0xa8
2023-03-23 14:05:13 +00:00
public :
int32_t m_RefCount ; // 0xc0
} ;
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x490
2023-03-23 14:05:13 +00:00
class C_OP_ConstrainDistance : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum distance"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_fMinDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_fMaxDistance ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset of center"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_CenterOffset ; // 0x474
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global center point"
2023-08-31 01:50:54 +00:00
bool m_bGlobalCenter ; // 0x480
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x470
2023-03-23 14:05:13 +00:00
class C_OP_CollideWithSelf : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "particle radius scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum speed for check"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flMinimumSpeed ; // 0x318
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x470
2023-03-23 14:05:13 +00:00
class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "parent particle radius scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flParentRadiusScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle radius scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusScale ; // 0x318
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum distance"
2023-08-31 01:50:54 +00:00
float m_fMinDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance"
2023-08-31 01:50:54 +00:00
float m_flMaxDistance0 ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance middle"
2023-08-31 01:50:54 +00:00
float m_flMaxDistanceMid ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance end"
2023-08-31 01:50:54 +00:00
float m_flMaxDistance1 ; // 0x1cc
CPathParameters m_PathParameters ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "travel time"
2023-08-31 01:50:54 +00:00
float m_flTravelTime ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "travel time scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldScale ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "manual time placement field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nManualTField ; // 0x218
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum distance"
2023-08-31 01:50:54 +00:00
float m_fMinDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance"
2023-08-31 01:50:54 +00:00
float m_flMaxDistance ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Time scale"
2023-08-31 01:50:54 +00:00
float m_flTimeScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-08-31 01:50:54 +00:00
bool m_bLoopedPath ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "path points"
2023-08-31 01:50:54 +00:00
CUtlVector < PointDefinitionWithTimeValues_t > m_pointList ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x490
2023-03-23 14:05:13 +00:00
class C_OP_PlanarConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "plane point"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_PointOnPlane ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "plane normal"
2023-08-31 01:50:54 +00:00
Vector m_PlaneNormal ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global origin"
2023-08-31 01:50:54 +00:00
bool m_bGlobalOrigin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global normal"
2023-08-31 01:50:54 +00:00
bool m_bGlobalNormal ; // 0x1dd
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01de [ 0x2 ] ; // 0x1de
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusScale ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff distance from control point"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flMaximumDistanceToCP ; // 0x338
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-03-23 14:05:13 +00:00
class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 27
// Size: 0x950
2023-03-23 14:05:13 +00:00
class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point for fast collision tests"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point offset for fast collisions"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCpOffset ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collision mode"
2023-08-31 01:50:54 +00:00
ParticleCollisionMode_t m_nCollisionMode ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum detail collision mode"
2023-08-31 01:50:54 +00:00
ParticleCollisionMode_t m_nCollisionModeMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Collision Options"
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "World Only"
2023-08-31 01:50:54 +00:00
bool m_bWorldOnly ; // 0x25c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "brush only"
2023-08-31 01:50:54 +00:00
bool m_bBrushOnly ; // 0x25d
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "include water"
2023-08-31 01:50:54 +00:00
bool m_bIncludeWater ; // 0x25e
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad025f [ 0x1 ] ; // 0x25f
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-08-31 01:50:54 +00:00
int32_t m_nIgnoreCP ; // 0x260
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point movement distance tolerance"
// MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE"
2023-08-31 01:50:54 +00:00
float m_flCpMovementTolerance ; // 0x264
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "plane cache retest rate"
// MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET"
2023-08-31 01:50:54 +00:00
float m_flRetestRate ; // 0x268
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace accuracy tolerance"
// MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE"
2023-08-31 01:50:54 +00:00
float m_flTraceTolerance ; // 0x26c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Confirm Collision Speed Threshold"
// MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE"
2023-08-31 01:50:54 +00:00
float m_flCollisionConfirmationSpeed ; // 0x270
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Max Confirmation Traces Per Fame"
// MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE"
2023-08-31 01:50:54 +00:00
float m_nMaxTracesPerFrame ; // 0x274
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Impact Options"
// MPropertyFriendlyName "radius scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusScale ; // 0x278
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of bounce"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flBounceAmount ; // 0x3d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of slide"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flSlideAmount ; // 0x528
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random Direction scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRandomDirScale ; // 0x680
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Add Decay to Bounce"
2023-08-31 01:50:54 +00:00
bool m_bDecayBounce ; // 0x7d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "kill particle on collision"
2023-08-31 01:50:54 +00:00
bool m_bKillonContact ; // 0x7d9
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad07da [ 0x2 ] ; // 0x7da
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum speed to kill on collision"
2023-08-31 01:50:54 +00:00
float m_flMinSpeed ; // 0x7dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set Normal"
2023-08-31 01:50:54 +00:00
bool m_bSetNormal ; // 0x7e0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad07e1 [ 0x3 ] ; // 0x7e1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Stick On Collision Cache Field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nStickOnCollisionField ; // 0x7e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Speed to stop when sticking"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flStopSpeed ; // 0x7e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nEntityStickDataField ; // 0x940
// MPropertyFriendlyName "Entity Normal Cache Field (Requires Stick on Collision)"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nEntityStickNormalField ; // 0x944
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 5
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_OP_BoxConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min coords"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max coords"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecMax ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0xe70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0xe74
// MPropertyFriendlyName "Take radius into account"
bool m_bAccountForRadius ; // 0xe75
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x730
2023-03-23 14:05:13 +00:00
class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "slack"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRestLength ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum segment length %"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flMinDistance ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum segment length %"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flMaxDistance ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor for spring correction"
2023-08-31 01:50:54 +00:00
float m_flAdjustmentScale ; // 0x5c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad05cc [ 0x4 ] ; // 0x5cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "manual resting spacing"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInitialRestingLength ; // 0x5d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0xd80
2023-03-23 14:05:13 +00:00
class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "slack"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRestLength ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum segment length %"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flMinDistance ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum segment length %"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flMaxDistance ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "resting spacing"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRestingLength ; // 0x5c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "anchor vector"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecAnchorVector ; // 0x720
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_ConstrainLineLength : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum length"
2023-08-31 01:50:54 +00:00
float m_flMinDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum length"
2023-08-31 01:50:54 +00:00
float m_flMaxDistance ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0xcf0
2023-03-23 14:05:13 +00:00
class C_INIT_RingWave : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input transform"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "even distribution count"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flParticlesPerOrbit ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "initial radius"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInitialRadius ; // 0x380
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "thickness"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flThickness ; // 0x4d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min initial speed"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInitialSpeedMin ; // 0x630
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max initial speed"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInitialSpeedMax ; // 0x788
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "roll"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRoll ; // 0x8e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pitch"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flPitch ; // 0xa38
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "yaw"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flYaw ; // 0xb90
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "even distribution"
2023-08-31 01:50:54 +00:00
bool m_bEvenDistribution ; // 0xce8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "XY velocity only"
2023-08-31 01:50:54 +00:00
bool m_bXYVelocityOnly ; // 0xce9
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)"
2023-05-15 01:39:33 +00:00
int32_t m_nOverrideCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "density"
2023-05-15 01:39:33 +00:00
int32_t m_nDensity ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "initial radius"
2023-05-15 01:39:33 +00:00
float m_flInitialRadius ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min initial speed"
2023-05-15 01:39:33 +00:00
float m_flInitialSpeedMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max initial speed"
2023-05-15 01:39:33 +00:00
float m_flInitialSpeedMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use particle count as density scale"
2023-05-15 01:39:33 +00:00
bool m_bUseParticleCount ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x7a0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "first dimension 0-2 (-1 disables)"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nComponent1 ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second dimension 0-2 (-1 disables)"
2023-04-21 10:40:43 +00:00
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nComponent2 ; // 0x1c4
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "input transform"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle density"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flParticleDensity ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "point offset"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOffset ; // 0x388
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius 1"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadius1 ; // 0x4e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius 2"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadius2 ; // 0x638
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use particle count instead of creation time"
2023-08-31 01:50:54 +00:00
bool m_bUseCount ; // 0x790
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space"
2023-08-31 01:50:54 +00:00
bool m_bUseLocalCoords ; // 0x791
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset from existing position"
2023-08-31 01:50:54 +00:00
bool m_bOffsetExistingPos ; // 0x792
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 14
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale size multiplier from CP"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nComponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "center core radius"
2023-05-15 01:39:33 +00:00
float m_fRadCentCore ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius multiplier"
2023-05-15 01:39:33 +00:00
float m_fRadPerPoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius max (-1 procedural growth)"
2023-05-15 01:39:33 +00:00
float m_fRadPerPointTo ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "golden angle (is 137.508)"
2023-05-15 01:39:33 +00:00
float m_fpointAngle ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "overall size multiplier (-1 count based distribution)"
2023-05-15 01:39:33 +00:00
float m_fsizeOverall ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius bias"
2023-05-15 01:39:33 +00:00
float m_fRadBias ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius min "
2023-05-15 01:39:33 +00:00
float m_fMinRad ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distribution bias"
2023-05-15 01:39:33 +00:00
float m_fDistBias ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space"
2023-05-15 01:39:33 +00:00
bool m_bUseLocalCoords ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use continuous emission"
2023-05-15 01:39:33 +00:00
bool m_bUseWithContEmit ; // 0x1ed
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale radius from initial value"
2023-05-15 01:39:33 +00:00
bool m_bUseOrigRadius ; // 0x1ee
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 13
2023-08-31 01:50:54 +00:00
// Size: 0x1130
2023-03-23 14:05:13 +00:00
class C_INIT_CreateOnModel : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "input model"
CParticleModelInput m_modelInput ; // 0x1c0
// MPropertyFriendlyName "input transform for transforming local space bias vector"
// MParticleInputOptional
CParticleTransformInput m_transformInput ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force to be inside model"
2023-05-15 01:39:33 +00:00
int32_t m_nForceInModel ; // 0x288
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-05-15 01:39:33 +00:00
int32_t m_nDesiredHitbox ; // 0x28c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Control Point Providing Hitbox index"
2023-05-15 01:39:33 +00:00
int32_t m_nHitboxValueFromControlPointIndex ; // 0x290
private :
[[maybe_unused]] uint8_t __pad0294 [ 0x4 ] ; // 0x294
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox scale"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecHitBoxScale ; // 0x298
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherited velocity scale"
2023-08-31 01:50:54 +00:00
float m_flBoneVelocity ; // 0x8f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum inherited velocity"
2023-08-31 01:50:54 +00:00
float m_flMaxBoneVelocity ; // 0x8f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecDirectionBias ; // 0x8f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0xf50
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias in local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalCoords ; // 0xfd0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0xfd1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0fd2 [ 0x6 ] ; // 0xfd2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox shell thickness"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flShellSize ; // 0xfd8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 14
2023-08-31 01:50:54 +00:00
// Size: 0x1310
2023-03-23 14:05:13 +00:00
class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-05-15 01:39:33 +00:00
bool m_bUseBones ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force creation height to desired height"
2023-05-15 01:39:33 +00:00
bool m_bForceZ ; // 0x1c1
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c2 [ 0x2 ] ; // 0x1c2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "height override control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nHeightCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desired height is relative to water"
2023-05-15 01:39:33 +00:00
bool m_bUseWaterHeight ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "relative desired height"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flDesiredHeight ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecHitBoxScale ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecDirectionBias ; // 0x980
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias type"
2023-08-31 01:50:54 +00:00
ParticleHitboxBiasType_t m_nBiasType ; // 0xfd8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias in local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalCoords ; // 0xfdc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias prefers moving hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bPreferMovingBoxes ; // 0xfdd
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0xfde
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad105e [ 0x2 ] ; // 0x105e
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox velocity inherited scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flHitboxVelocityScale ; // 0x1060
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max hitbox velocity"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flMaxBoneVelocity ; // 0x11b8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0xa10
2023-03-23 14:05:13 +00:00
class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-05-15 01:39:33 +00:00
int32_t m_nDesiredHitbox ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecHitBoxScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x8a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "get closest point on closest hitbox"
2023-08-31 01:50:54 +00:00
bool m_bUseClosestPointOnHitbox ; // 0x8a1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad08a2 [ 0x2 ] ; // 0x8a2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "closest point test type"
2023-08-31 01:50:54 +00:00
ClosestPointTestType_t m_nTestType ; // 0x8a4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hybrid ratio"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flHybridRatio ; // 0x8a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set initial position"
2023-08-31 01:50:54 +00:00
bool m_bUpdatePosition ; // 0xa00
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0xa10
2023-03-23 14:05:13 +00:00
class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force to be inside model"
2023-05-15 01:39:33 +00:00
int32_t m_nForceInModel ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-05-15 01:39:33 +00:00
int32_t m_nDesiredHitbox ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecHitBoxScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecDirectionBias ; // 0x828
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maintain existing hitbox"
2023-08-31 01:50:54 +00:00
bool m_bMaintainHitbox ; // 0x834
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x835
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x836
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad08b6 [ 0x2 ] ; // 0x8b6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox shell thickness"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flShellSize ; // 0x8b8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 14
2023-08-31 01:50:54 +00:00
// Size: 0x1ac0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "distance min"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_fRadiusMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance max"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fRadiusMax ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance bias"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecDistanceBias ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance bias absolute value"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecDistanceBiasAbs ; // 0xac8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0ad4 [ 0x4 ] ; // 0xad4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input position transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0xad8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed min"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fSpeedMin ; // 0xb40
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed max"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fSpeedMax ; // 0xc98
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed random exponent"
2023-08-31 01:50:54 +00:00
float m_fSpeedRandExp ; // 0xdf0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias in local system"
2023-08-31 01:50:54 +00:00
bool m_bLocalCoords ; // 0xdf4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0df5 [ 0x3 ] ; // 0xdf5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "randomly distribution growth time"
2023-08-31 01:50:54 +00:00
float m_flEndCPGrowthTime ; // 0xdf8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0dfc [ 0x4 ] ; // 0xdfc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed in local coordinate system min"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMin ; // 0xe00
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed in local coordinate system max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMax ; // 0x1458
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1ab0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Velocity vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldVelocity ; // 0x1ab4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_INIT_CreateWithinBox : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_vecMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecMax ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0xe70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0xe74
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0e75 [ 0x3 ] ; // 0xe75
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-08-31 01:50:54 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0xe78
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x9e0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateOnGrid : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "X Dimension Count"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_nXCount ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Y Dimension Count"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nYCount ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Z Dimension Count"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nZCount ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "X Dimension Spacing"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nXSpacing ; // 0x5c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Y Dimension Spacing"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nYSpacing ; // 0x720
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Z Dimension Spacing"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nZSpacing ; // 0x878
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x9d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0x9d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "center around control point"
2023-08-31 01:50:54 +00:00
bool m_bCenter ; // 0x9d5
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hollow"
2023-08-31 01:50:54 +00:00
bool m_bHollow ; // 0x9d6
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xef0
2023-03-23 14:05:13 +00:00
class C_INIT_PositionOffset : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "offset min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_OffsetMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_OffsetMax ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0xe70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-08-31 01:50:54 +00:00
bool m_bLocalCoords ; // 0xed8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset proportional to radius 0/1"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0xed9
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0eda [ 0x2 ] ; // 0xeda
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-08-31 01:50:54 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0xedc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "creation control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumberStart ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumberEnd ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-05-15 01:39:33 +00:00
bool m_bLocalCoords ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-08-31 01:50:54 +00:00
// Size: 0x520
2023-03-23 14:05:13 +00:00
class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "offset"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flOffset ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max trace length"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flMaxTraceLength ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x4f0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad04f4 [ 0xc ] ; // 0x4f4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "No Collision Behavior"
2023-08-31 01:50:54 +00:00
ParticleTraceMissBehavior_t m_nTraceMissBehavior ; // 0x500
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "include water"
2023-08-31 01:50:54 +00:00
bool m_bIncludeWater ; // 0x504
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-08-31 01:50:54 +00:00
bool m_bSetNormal ; // 0x505
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set Previous XYZ only"
2023-08-31 01:50:54 +00:00
bool m_bSetPXYZOnly ; // 0x506
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace along particle normal"
2023-08-31 01:50:54 +00:00
bool m_bTraceAlongNormal ; // 0x507
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset only if trace hit"
2023-08-31 01:50:54 +00:00
bool m_bOffsetonColOnly ; // 0x508
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0509 [ 0x3 ] ; // 0x509
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset final position by this fraction of the particle radius"
2023-08-31 01:50:54 +00:00
float m_flOffsetByRadiusFactor ; // 0x50c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "preserve initial Z-offset relative to cp"
2023-08-31 01:50:54 +00:00
int32_t m_nPreserveOffsetCP ; // 0x510
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-08-31 01:50:54 +00:00
int32_t m_nIgnoreCP ; // 0x514
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "random speed min"
2023-05-15 01:39:33 +00:00
float m_fSpeedMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random speed max"
2023-05-15 01:39:33 +00:00
float m_fSpeedMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-05-15 01:39:33 +00:00
bool m_bIgnoreDt ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1140
2023-03-23 14:05:13 +00:00
class C_INIT_VelocityRandom : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random speed min"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_fSpeedMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random speed max"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fSpeedMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed in local coordinate system min"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed in local coordinate system max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMax ; // 0xad0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Ignore delta time (RenderTrails)"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreDT ; // 0x1128
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1129 [ 0x3 ] ; // 0x1129
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-08-31 01:50:54 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0x112c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x1960
2023-03-23 14:05:13 +00:00
class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "absolute value"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecAbsVal ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "invert abs value"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecAbsValInv ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_vecOffsetLoc ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOffset ; // 0x830
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecOutputMin ; // 0x988
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecOutputMax ; // 0xfe0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flNoiseScale ; // 0x1638
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flNoiseScaleLoc ; // 0x1790
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input local space velocity (optional)"
2023-05-15 01:39:33 +00:00
// MParticleInputOptional
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x18e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreDt ; // 0x1950
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "velocity minimum"
2023-05-15 01:39:33 +00:00
float m_flVelocityMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "velocity maximum"
2023-05-15 01:39:33 +00:00
float m_flVelocityMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-05-15 01:39:33 +00:00
char m_HitboxSetName [ 128 ] ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-05-15 01:39:33 +00:00
bool m_bUseBones ; // 0x24c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random speed min"
2023-05-15 01:39:33 +00:00
float m_fSpeedMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random speed max"
2023-05-15 01:39:33 +00:00
float m_fSpeedMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space scale"
2023-05-15 01:39:33 +00:00
Vector m_vecLocalCoordinateSystemSpeedScale ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01d8 [ 0x1 ] ; // 0x1d8
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-05-15 01:39:33 +00:00
bool m_bIgnoreDelta ; // 0x1d9
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomLifeTime : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "lifetime min"
// MPropertyAttributeRange "0 20"
2023-05-15 01:39:33 +00:00
float m_fLifetimeMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime max"
// MPropertyAttributeRange "0 20"
2023-05-15 01:39:33 +00:00
float m_fLifetimeMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime random exponent"
2023-05-15 01:39:33 +00:00
float m_fLifetimeRandExponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min"
2023-05-15 01:39:33 +00:00
float m_flMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max"
2023-05-15 01:39:33 +00:00
float m_flMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "exponent"
2023-05-15 01:39:33 +00:00
float m_flExponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-05-15 01:39:33 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min"
2023-05-15 01:39:33 +00:00
float m_flMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max"
2023-05-15 01:39:33 +00:00
float m_flMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "component 0/1/2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
int32_t m_nComponent ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_INIT_AddVectorToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "component scale factor"
2023-05-15 01:39:33 +00:00
Vector m_vecScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random offset min"
2023-05-15 01:39:33 +00:00
Vector m_vOffsetMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random offset max"
2023-05-15 01:39:33 +00:00
Vector m_vOffsetMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-05-15 01:39:33 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0x1ec
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min"
2023-05-15 01:39:33 +00:00
float m_flMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max"
2023-05-15 01:39:33 +00:00
float m_flMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "exponent"
2023-05-15 01:39:33 +00:00
float m_flExponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomRadius : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "radius min"
// MPropertyAttributeRange "biased 0 500"
2023-05-15 01:39:33 +00:00
float m_flRadiusMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius max"
// MPropertyAttributeRange "biased 0 500"
2023-05-15 01:39:33 +00:00
float m_flRadiusMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius random exponent"
// MPropertyAttributeRange "-2 2"
2023-05-15 01:39:33 +00:00
float m_flRadiusRandExponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomAlpha : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha min"
// MPropertyAttributeRange "0 255"
2023-05-15 01:39:33 +00:00
int32_t m_nAlphaMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha max"
// MPropertyAttributeRange "0 255"
2023-05-15 01:39:33 +00:00
int32_t m_nAlphaMax ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x8 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha random exponent"
2023-05-15 01:39:33 +00:00
float m_flAlphaRandExponent ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class CGeneralRandomRotation : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation initial"
2023-05-15 01:39:33 +00:00
float m_flDegrees ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation offset from initial min"
2023-05-15 01:39:33 +00:00
float m_flDegreesMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation offset from initial max"
2023-05-15 01:39:33 +00:00
float m_flDegreesMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation offset exponent"
2023-05-15 01:39:33 +00:00
float m_flRotationRandExponent ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "randomly flip direction"
2023-05-15 01:39:33 +00:00
bool m_bRandomlyFlipDirection ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomRotation : public CGeneralRandomRotation
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-05-15 01:39:33 +00:00
int32_t m_nCP ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation offset"
2023-05-15 01:39:33 +00:00
float m_flRotOffset ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomYaw : public CGeneralRandomRotation
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RandomColor : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
2023-03-25 17:14:12 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c0 [ 0x1c ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
public :
// MPropertyFriendlyName "color1"
2023-05-15 01:39:33 +00:00
Color m_ColorMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color2"
2023-05-15 01:39:33 +00:00
Color m_ColorMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint clamp min"
2023-05-15 01:39:33 +00:00
Color m_TintMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint clamp max"
2023-05-15 01:39:33 +00:00
Color m_TintMax ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint perc"
2023-05-15 01:39:33 +00:00
float m_flTintPerc ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint update movement threshold"
2023-05-15 01:39:33 +00:00
float m_flUpdateThreshold ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint control point"
2023-05-15 01:39:33 +00:00
int32_t m_nTintCP ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint blend mode"
2023-05-15 01:39:33 +00:00
ParticleColorBlendMode_t m_nTintBlendMode ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light amplification amount"
2023-05-15 01:39:33 +00:00
float m_flLightAmplification ; // 0x200
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
2023-03-25 17:14:12 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c0 [ 0x18 ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
public :
// MPropertyFriendlyName "color1"
2023-05-15 01:39:33 +00:00
Color m_ColorMin ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color2"
2023-05-15 01:39:33 +00:00
Color m_ColorMax ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint clamp min"
2023-05-15 01:39:33 +00:00
Color m_TintMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint clamp max"
2023-05-15 01:39:33 +00:00
Color m_TintMax ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light bias"
2023-05-15 01:39:33 +00:00
float m_flTintPerc ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tint blend mode"
2023-05-15 01:39:33 +00:00
ParticleColorBlendMode_t m_nTintBlendMode ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light amplification amount"
2023-05-15 01:39:33 +00:00
float m_flLightAmplification ; // 0x1f0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomTrailLength : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "length min"
2023-05-15 01:39:33 +00:00
float m_flMinLength ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "length max"
2023-05-15 01:39:33 +00:00
float m_flMaxLength ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "length random exponent"
2023-05-15 01:39:33 +00:00
float m_flLengthRandExponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomSequence : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "sequence min"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-05-15 01:39:33 +00:00
int32_t m_nSequenceMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sequence max"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-05-15 01:39:33 +00:00
int32_t m_nSequenceMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "shuffle"
2023-05-15 01:39:33 +00:00
bool m_bShuffle ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "linear"
2023-05-15 01:39:33 +00:00
bool m_bLinear ; // 0x1c9
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01ca [ 0x6 ] ; // 0x1ca
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "weighted list"
2023-05-15 01:39:33 +00:00
CUtlVector < SequenceWeightedList_t > m_WeightedList ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_SequenceFromCP : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "kill unused"
2023-05-15 01:39:33 +00:00
bool m_bKillUnused ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset propotional to radius"
2023-05-15 01:39:33 +00:00
bool m_bRadiusScale ; // 0x1c1
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c2 [ 0x2 ] ; // 0x1c2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-05-15 01:39:33 +00:00
int32_t m_nCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per particle spatial offset"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffset ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x3d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomModelSequence : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "activity"
2023-04-21 10:40:43 +00:00
// MPropertySuppressExpr "mod != dota"
2023-05-15 01:39:33 +00:00
char m_ActivityName [ 256 ] ; // 0x1c0
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "sequence"
// MPropertySuppressExpr "mod == dota"
2023-05-15 01:39:33 +00:00
char m_SequenceName [ 256 ] ; // 0x2c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x3c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x820
2023-03-23 14:05:13 +00:00
class C_INIT_ScaleVelocity : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "velocity scale"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0xe90
2023-03-23 14:05:13 +00:00
class C_INIT_PositionWarp : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "warp min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecWarpMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecWarpMax ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp scale control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleControlPointNumber ; // 0xe70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0xe74
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius scale component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nRadiusComponent ; // 0xe78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)"
2023-08-31 01:50:54 +00:00
float m_flWarpTime ; // 0xe7c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp transition start time"
2023-08-31 01:50:54 +00:00
float m_flWarpStartTime ; // 0xe80
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position sacale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0xe84
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reverse warp (0/1)"
2023-08-31 01:50:54 +00:00
bool m_bInvertWarp ; // 0xe88
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use particle count instead of time"
2023-08-31 01:50:54 +00:00
bool m_bUseCount ; // 0xe89
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "warp min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecWarpMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp max"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecWarpMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp amount"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_InputValue ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position scale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "warp scale control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleControlPointNumber ; // 0x334
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x338
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_CreationNoise : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsVal ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsValInv ; // 0x1c5
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c6 [ 0x2 ] ; // 0x1c6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-05-15 01:39:33 +00:00
float m_flOffset ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flNoiseScale ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flNoiseScaleLoc ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetLoc ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "world time noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flWorldTimeScale ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_INIT_CreateAlongPath : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "maximum distance"
2023-05-15 01:39:33 +00:00
float m_fMaxDistance ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0xc ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-05-15 01:39:33 +00:00
CPathParameters m_PathParams ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "randomly select sequential CP pairs between start and end points"
2023-05-15 01:39:33 +00:00
bool m_bUseRandomCPs ; // 0x210
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0211 [ 0x3 ] ; // 0x211
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset from control point for path end"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vEndOffset ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "save offset"
2023-05-15 01:39:33 +00:00
bool m_bSaveOffset ; // 0x220
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x880
2023-03-23 14:05:13 +00:00
class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum speed"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flSpeedMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum speed"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flSpeedMax ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end spread"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flEndSpread ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start offset"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flStartOffset ; // 0x5c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end offset"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flEndOffset ; // 0x720
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end control point"
2023-08-31 01:50:54 +00:00
int32_t m_nEndControlPointNumber ; // 0x878
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias lifetime by trail length"
2023-08-31 01:50:54 +00:00
bool m_bTrailBias ; // 0x87c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flEndTime ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-05-15 01:39:33 +00:00
bool m_bActiveRange ; // 0x1e4
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01e5 [ 0x3 ] ; // 0x1e5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-05-15 01:39:33 +00:00
float m_flRemapBias ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 12
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
int32_t m_nInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
int32_t m_nInputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input scale control point"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleControlPoint ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleControlPointField ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-05-15 01:39:33 +00:00
bool m_bActiveRange ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "invert input from total particle count"
2023-05-15 01:39:33 +00:00
bool m_bInvert ; // 0x1e1
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wrap input"
2023-05-15 01:39:33 +00:00
bool m_bWrap ; // 0x1e2
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01e3 [ 0x1 ] ; // 0x1e3
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-05-15 01:39:33 +00:00
float m_flRemapBias ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output min name"
2023-05-15 01:39:33 +00:00
CUtlString m_outputMinName ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output max name"
2023-05-15 01:39:33 +00:00
CUtlString m_outputMaxName ; // 0x200
bool m_bModelFromRenderer ; // 0x208
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_InheritVelocity : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "velocity scale"
2023-05-15 01:39:33 +00:00
float m_flVelocityScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x890
2023-03-23 14:05:13 +00:00
class C_INIT_VelocityFromCP : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "velocity"
CParticleCollectionVecInput m_velocityInput ; // 0x1c0
// MPropertyFriendlyName "local space"
// MParticleInputOptional
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_transformInput ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "velocity scale"
2023-08-31 01:50:54 +00:00
float m_flVelocityScale ; // 0x880
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "direction only"
2023-08-31 01:50:54 +00:00
bool m_bDirectionOnly ; // 0x884
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_AgeNoise : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsVal ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsValInv ; // 0x1c1
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c2 [ 0x2 ] ; // 0x1c2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-05-15 01:39:33 +00:00
float m_flOffset ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start age minimum"
2023-05-15 01:39:33 +00:00
float m_flAgeMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start age maximum"
2023-05-15 01:39:33 +00:00
float m_flAgeMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flNoiseScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flNoiseScaleLoc ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetLoc ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "frames per second"
2023-05-15 01:39:33 +00:00
float m_flFramerate ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 12
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMax ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flEndTime ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local system"
2023-05-15 01:39:33 +00:00
bool m_bLocalCoords ; // 0x1f8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01f9 [ 0x3 ] ; // 0x1f9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-05-15 01:39:33 +00:00
float m_flRemapBias ; // 0x1fc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output offset minimum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output offset maximum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Random number generator controls"
2023-05-15 01:39:33 +00:00
CRandomNumberGeneratorParameters m_randomnessParameters ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x4d0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "maximum distance"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_fMaxDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flNumToAssign ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-08-31 01:50:54 +00:00
bool m_bLoop ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use sequential CP pairs between start and end point"
2023-08-31 01:50:54 +00:00
bool m_bCPPairs ; // 0x471
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "save offset"
2023-08-31 01:50:54 +00:00
bool m_bSaveOffset ; // 0x472
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0473 [ 0xd ] ; // 0x473
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
CPathParameters m_PathParams ; // 0x480
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "maximum distance"
2023-05-15 01:39:33 +00:00
float m_fMaxDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-05-15 01:39:33 +00:00
float m_flNumToAssign ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-05-15 01:39:33 +00:00
bool m_bLoop ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use sequential CP pairs between start and end point"
2023-05-15 01:39:33 +00:00
bool m_bCPPairs ; // 0x1c9
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "save offset"
2023-05-15 01:39:33 +00:00
bool m_bSaveOffset ; // 0x1ca
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cb [ 0x5 ] ; // 0x1cb
2023-03-23 14:05:13 +00:00
public :
2023-05-15 01:39:33 +00:00
CPathParameters m_PathParams ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-05-15 01:39:33 +00:00
// Size: 0x280
2023-03-23 14:05:13 +00:00
class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "collision group"
2023-05-15 01:39:33 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-05-15 01:39:33 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x240
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum velocity"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMin ; // 0x244
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum velocity"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOutputMax ; // 0x250
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x25c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per particle world collision tests"
2023-05-15 01:39:33 +00:00
bool m_bPerParticle ; // 0x260
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset instead of accelerate"
2023-05-15 01:39:33 +00:00
bool m_bTranslate ; // 0x261
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset proportional to radius 0/1"
2023-05-15 01:39:33 +00:00
bool m_bProportional ; // 0x262
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0263 [ 0x1 ] ; // 0x263
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace length"
2023-05-15 01:39:33 +00:00
float m_flTraceLength ; // 0x264
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use radius for per particle trace length"
2023-05-15 01:39:33 +00:00
bool m_bPerParticleTR ; // 0x268
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherit from parent"
2023-05-15 01:39:33 +00:00
bool m_bInherit ; // 0x269
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad026a [ 0x2 ] ; // 0x26a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control points to broadcast to children (n + 1)"
2023-05-15 01:39:33 +00:00
int32_t m_nChildCP ; // 0x26c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "child group ID to affect"
2023-05-15 01:39:33 +00:00
int32_t m_nChildGroupID ; // 0x270
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomYawFlip : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "flip percentage"
2023-05-15 01:39:33 +00:00
float m_flPercent ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "sequence min"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-05-15 01:39:33 +00:00
int32_t m_nSequenceMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sequence max"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-05-15 01:39:33 +00:00
int32_t m_nSequenceMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nCPInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nField ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flEndTime ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-05-15 01:39:33 +00:00
float m_flRemapBias ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-05-15 01:39:33 +00:00
// Size: 0x2e0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vOutputMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vOutputMax ; // 0x1e8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01f4 [ 0x4 ] ; // 0x1f4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space transform"
2023-05-15 01:39:33 +00:00
// MParticleInputOptional
CParticleTransformInput m_LocalSpaceTransform ; // 0x260
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x2c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flEndTime ; // 0x2cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x2d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset position"
2023-05-15 01:39:33 +00:00
bool m_bOffset ; // 0x2d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "accelerate position"
2023-05-15 01:39:33 +00:00
bool m_bAccelerate ; // 0x2d5
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad02d6 [ 0x2 ] ; // 0x2d6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-05-15 01:39:33 +00:00
float m_flRemapBias ; // 0x2d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "pickover A parameter"
2023-05-15 01:39:33 +00:00
float m_flAParm ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pickover B parameter"
2023-05-15 01:39:33 +00:00
float m_flBParm ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pickover C parameter"
2023-05-15 01:39:33 +00:00
float m_flCParm ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pickover D parameter"
2023-05-15 01:39:33 +00:00
float m_flDParm ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale"
2023-05-15 01:39:33 +00:00
float m_flScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed min"
2023-05-15 01:39:33 +00:00
float m_flSpeedMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed max"
2023-05-15 01:39:33 +00:00
float m_flSpeedMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "relative control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nBaseCP ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "uniform speed"
2023-05-15 01:39:33 +00:00
bool m_bUniformSpeed ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "inherited velocity scale"
2023-05-15 01:39:33 +00:00
float m_flVelocityScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-05-15 01:39:33 +00:00
float m_flIncrement ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-05-15 01:39:33 +00:00
bool m_bRandomDistribution ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c9 [ 0x3 ] ; // 0x1c9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-05-15 01:39:33 +00:00
int32_t m_nRandomSeed ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sub frame interpolation"
2023-05-15 01:39:33 +00:00
bool m_bSubFrame ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "scale"
2023-05-15 01:39:33 +00:00
float m_flScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-05-15 01:39:33 +00:00
int32_t m_nIncrement ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-05-15 01:39:33 +00:00
bool m_bRandomDistribution ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-05-15 01:39:33 +00:00
int32_t m_nRandomSeed ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_INIT_CreateFromCPs : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point increment amount"
2023-05-15 01:39:33 +00:00
int32_t m_nIncrement ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "starting control point"
2023-05-15 01:39:33 +00:00
int32_t m_nMinCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ending control point"
// MParticleMinVersion
2023-05-15 01:39:33 +00:00
int32_t m_nMaxCP ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "dynamic control point count"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_nDynamicCPCount ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0x930
2023-03-23 14:05:13 +00:00
class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance minimum"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x5d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nStartCP ; // 0x728
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-08-31 01:50:54 +00:00
bool m_bLOS ; // 0x72c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x72d
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad07ad [ 0x3 ] ; // 0x7ad
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x7b0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad07b4 [ 0x4 ] ; // 0x7b4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Maximum Trace Length"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flMaxTraceLength ; // 0x7b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-08-31 01:50:54 +00:00
float m_flLOSScale ; // 0x910
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x914
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x918
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0919 [ 0x3 ] ; // 0x919
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance component scale"
2023-08-31 01:50:54 +00:00
Vector m_vecDistanceScale ; // 0x91c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap bias"
2023-08-31 01:50:54 +00:00
float m_flRemapBias ; // 0x928
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-05-15 01:39:33 +00:00
// Size: 0x280
2023-03-23 14:05:13 +00:00
class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "bias distance"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecComponentScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace offset"
2023-05-15 01:39:33 +00:00
float m_flTraceOffset ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-05-15 01:39:33 +00:00
float m_flMaxTraceLength ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace recycle tolerance"
2023-05-15 01:39:33 +00:00
float m_flTraceTolerance ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum points to cache"
2023-05-15 01:39:33 +00:00
int32_t m_nMaxPlanes ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace collision group"
2023-05-15 01:39:33 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-05-15 01:39:33 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x260
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0264 [ 0xc ] ; // 0x264
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collide with water"
2023-05-15 01:39:33 +00:00
bool m_bIncludeWater ; // 0x270
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "local offset min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local offset max"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetMax ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01d8 [ 0x1 ] ; // 0x1d8
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-05-15 01:39:33 +00:00
bool m_bUseNormal ; // 0x1d9
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_INIT_ModelCull : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use only bounding box"
2023-05-15 01:39:33 +00:00
bool m_bBoundBox ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull outside instead of inside"
2023-05-15 01:39:33 +00:00
bool m_bCullOutside ; // 0x1c5
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-05-15 01:39:33 +00:00
bool m_bUseBones ; // 0x1c6
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-05-15 01:39:33 +00:00
char m_HitboxSetName [ 128 ] ; // 0x1c7
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_INIT_DistanceCull : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPoint ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull distance"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flDistance ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull inside instead of outside"
2023-08-31 01:50:54 +00:00
bool m_bCullInside ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_INIT_PlaneCull : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point of plane"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPoint ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull offset"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flDistance ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "flip cull normal"
2023-08-31 01:50:54 +00:00
bool m_bCullInside ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "cull distance"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-05-15 01:39:33 +00:00
// Size: 0x270
2023-03-23 14:05:13 +00:00
class C_INIT_RtEnvCull : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "test direction"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecTestDir ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull normal"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecTestNormal ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use velocity for test direction"
2023-05-15 01:39:33 +00:00
bool m_bUseVelocity ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull on miss"
2023-05-15 01:39:33 +00:00
bool m_bCullOnMiss ; // 0x1d9
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "velocity test adjust lifespan"
2023-05-15 01:39:33 +00:00
bool m_bLifeAdjust ; // 0x1da
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ray trace environment name"
2023-05-15 01:39:33 +00:00
char m_RtEnvName [ 128 ] ; // 0x1db
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad025b [ 0x1 ] ; // 0x25b
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ray trace environment cp"
2023-05-15 01:39:33 +00:00
int32_t m_nRTEnvCP ; // 0x25c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rt env control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nComponent ; // 0x260
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-04-21 10:40:43 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "input"
CParticleTransformInput m_transformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point axis"
2023-05-15 01:39:33 +00:00
ParticleControlPointAxis_t m_nControlPointAxis ; // 0x228
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_NormalOffset : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "offset min"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_OffsetMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset max"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_OffsetMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-05-15 01:39:33 +00:00
bool m_bLocalCoords ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize output 0/1"
2023-05-15 01:39:33 +00:00
bool m_bNormalize ; // 0x1dd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number (ignored if per particle)"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-05-15 01:39:33 +00:00
float m_flEndTime ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per particle"
2023-05-15 01:39:33 +00:00
bool m_bPerParticle ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 10
// Size: 0x490
2023-03-23 14:05:13 +00:00
class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nAttributeToRead ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "field to write"
// MPropertyAttributeChoiceName "particlefield"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nAttributeToWrite ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nLocalSpaceCP ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random order"
2023-05-15 01:39:33 +00:00
bool m_bRandom ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reverse order"
2023-05-15 01:39:33 +00:00
bool m_bReverse ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0x6 ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot increment amount"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_nSnapShotIncrement ; // 0x1d8
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "Manual Snapshot Index"
CPerParticleFloatInput m_nManualSnapshotIndex ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-08-31 01:50:54 +00:00
int32_t m_nRandomSeed ; // 0x488
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space angles"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpaceAngles ; // 0x48c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 17
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nSnapshotControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random order"
2023-05-15 01:39:33 +00:00
bool m_bRandom ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c9 [ 0x3 ] ; // 0x1c9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-05-15 01:39:33 +00:00
int32_t m_nRandomSeed ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "prepare for rigid lock"
2023-05-15 01:39:33 +00:00
bool m_bRigid ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-05-15 01:39:33 +00:00
bool m_bSetNormal ; // 0x1d1
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normal velocity ignore delta time"
2023-05-15 01:39:33 +00:00
bool m_bIgnoreDt ; // 0x1d2
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01d3 [ 0x1 ] ; // 0x1d3
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normal velocity min"
2023-05-15 01:39:33 +00:00
float m_flMinNormalVelocity ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normal velocity max"
2023-05-15 01:39:33 +00:00
float m_flMaxNormalVelocity ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-05-15 01:39:33 +00:00
float m_flIncrement ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Full Loop Increment Amount"
2023-05-15 01:39:33 +00:00
int32_t m_nFullLoopIncrement ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-05-15 01:39:33 +00:00
int32_t m_nSnapShotStartPoint ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherited bone velocity"
2023-05-15 01:39:33 +00:00
float m_flBoneVelocity ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max inherited bone velocity"
2023-05-15 01:39:33 +00:00
float m_flBoneVelocityMax ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set Color"
2023-05-15 01:39:33 +00:00
bool m_bCopyColor ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set Alpha"
2023-05-15 01:39:33 +00:00
bool m_bCopyAlpha ; // 0x1f1
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set Radius"
2023-05-15 01:39:33 +00:00
bool m_bSetRadius ; // 0x1f2
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "field to init"
// MPropertyAttributeChoiceName "particlefield"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nAttributeToCopy ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x830
2023-03-23 14:05:13 +00:00
class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nLocalSpaceCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "weight update control point"
2023-05-15 01:39:33 +00:00
int32_t m_nWeightUpdateCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use vertical velocity for weighting"
2023-05-15 01:39:33 +00:00
bool m_bUseVerticalVelocity ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Component Scale"
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_vecScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-05-15 01:39:33 +00:00
float m_flScale ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset rotation"
2023-05-15 01:39:33 +00:00
float m_flOffsetRot ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset axis"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetAxis ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize"
2023-05-15 01:39:33 +00:00
bool m_bNormalize ; // 0x240
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset rotation"
2023-05-15 01:39:33 +00:00
float m_flOffsetRot ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point axis"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-05-15 01:39:33 +00:00
int32_t m_nComponent ; // 0x230
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-05-15 01:39:33 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset pitch/yaw/roll"
2023-05-15 01:39:33 +00:00
Vector m_vecRotation ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use Quaternians Internally"
2023-05-15 01:39:33 +00:00
bool m_bUseQuat ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Write normal instead of rotation"
2023-05-15 01:39:33 +00:00
bool m_bWriteNormal ; // 0x235
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attribute to read from"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attribute to cache to"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space"
2023-05-15 01:39:33 +00:00
bool m_bLocalSpace ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
2023-03-25 17:14:12 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c0 [ 0x4 ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-05-15 01:39:33 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "current anim time output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutputAnim ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-05-15 01:39:33 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-05-15 01:39:33 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_INIT_GlobalScale : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "scale amount"
2023-05-15 01:39:33 +00:00
float m_flScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointNumber ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale radius"
2023-05-15 01:39:33 +00:00
bool m_bScaleRadius ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale position"
2023-05-15 01:39:33 +00:00
bool m_bScalePosition ; // 0x1cd
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale velocity"
2023-05-15 01:39:33 +00:00
bool m_bScaleVelocity ; // 0x1ce
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_PointList : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "point list"
2023-05-15 01:39:33 +00:00
CUtlVector < PointDefinition_t > m_pointList ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "space points along path"
2023-05-15 01:39:33 +00:00
bool m_bPlaceAlongPath ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-05-15 01:39:33 +00:00
bool m_bClosedLoop ; // 0x1e1
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01e2 [ 0x2 ] ; // 0x1e2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Numer of points along path"
2023-05-15 01:39:33 +00:00
int32_t m_nNumPointsAlongPath ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "names"
2023-05-15 01:39:33 +00:00
CUtlVector < CUtlString > m_names ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "shuffle"
2023-05-15 01:39:33 +00:00
bool m_bShuffle ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "linear"
2023-05-15 01:39:33 +00:00
bool m_bLinear ; // 0x1e1
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model from renderer"
2023-05-15 01:39:33 +00:00
bool m_bModelFromRenderer ; // 0x1e2
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01e3 [ 0x1 ] ; // 0x1e3
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "names"
2023-05-15 01:39:33 +00:00
CUtlVector < CUtlString > m_names ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap values for names"
2023-05-15 01:39:33 +00:00
CUtlVector < float32 > m_values ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-05-15 01:39:33 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model from renderer"
2023-05-15 01:39:33 +00:00
bool m_bModelFromRenderer ; // 0x204
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 18
2023-05-15 01:39:33 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_INIT_StatusEffect : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "D_DETAIL_2"
2023-05-15 01:39:33 +00:00
Detail2Combo_t m_nDetail2Combo ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$DETAIL2ROTATION"
2023-05-15 01:39:33 +00:00
float m_flDetail2Rotation ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$DETAIL2SCALE"
2023-05-15 01:39:33 +00:00
float m_flDetail2Scale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$DETAIL2BLENDFACTOR"
2023-05-15 01:39:33 +00:00
float m_flDetail2BlendFactor ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$COLORWARPINTENSITY"
2023-05-15 01:39:33 +00:00
float m_flColorWarpIntensity ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL"
2023-05-15 01:39:33 +00:00
float m_flDiffuseWarpBlendToFull ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$ENVMAPINTENSITY"
2023-05-15 01:39:33 +00:00
float m_flEnvMapIntensity ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$AMBIENTSCALE"
2023-05-15 01:39:33 +00:00
float m_flAmbientScale ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SPECULARCOLOR"
2023-05-15 01:39:33 +00:00
Color m_specularColor ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SPECULARSCALE"
2023-05-15 01:39:33 +00:00
float m_flSpecularScale ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SPECULAREXPONENT"
2023-05-15 01:39:33 +00:00
float m_flSpecularExponent ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL"
2023-05-15 01:39:33 +00:00
float m_flSpecularExponentBlendToFull ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SPECULARBLENDTOFULL"
2023-05-15 01:39:33 +00:00
float m_flSpecularBlendToFull ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$RIMLIGHTCOLOR"
2023-05-15 01:39:33 +00:00
Color m_rimLightColor ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$RIMLIGHTSCALE"
2023-05-15 01:39:33 +00:00
float m_flRimLightScale ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE"
2023-05-15 01:39:33 +00:00
float m_flReflectionsTintByBaseBlendToNone ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$METALNESSBLENDTOFULL"
2023-05-15 01:39:33 +00:00
float m_flMetalnessBlendToFull ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SELFILLUMBLENDTOFULL"
2023-05-15 01:39:33 +00:00
float m_flSelfIllumBlendToFull ; // 0x204
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 19
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "$SFXColorWarpAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXColorWarpAmount ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXNormalAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXNormalAmount ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXMetalnessAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXMetalnessAmount ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXRoughnessAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXRoughnessAmount ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXSelfIllumAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXSelfIllumAmount ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureScale"
2023-05-15 01:39:33 +00:00
float m_flSFXSScale ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureScrollX"
2023-05-15 01:39:33 +00:00
float m_flSFXSScrollX ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureScrollY"
2023-05-15 01:39:33 +00:00
float m_flSFXSScrollY ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureScrollZ"
2023-05-15 01:39:33 +00:00
float m_flSFXSScrollZ ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetX"
2023-05-15 01:39:33 +00:00
float m_flSFXSOffsetX ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetY"
2023-05-15 01:39:33 +00:00
float m_flSFXSOffsetY ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetZ"
2023-05-15 01:39:33 +00:00
float m_flSFXSOffsetZ ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "D_DETAIL"
2023-05-15 01:39:33 +00:00
DetailCombo_t m_nDetailCombo ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXDetailAmount"
2023-05-15 01:39:33 +00:00
float m_flSFXSDetailAmount ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScale"
2023-05-15 01:39:33 +00:00
float m_flSFXSDetailScale ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollX"
2023-05-15 01:39:33 +00:00
float m_flSFXSDetailScrollX ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollY"
2023-05-15 01:39:33 +00:00
float m_flSFXSDetailScrollY ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollZ"
2023-05-15 01:39:33 +00:00
float m_flSFXSDetailScrollZ ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "$SFXUseModelUVs"
2023-05-15 01:39:33 +00:00
float m_flSFXSUseModelUVs ; // 0x208
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x5e0
2023-03-23 14:05:13 +00:00
class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "radius"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_InputRadius ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "magnitude"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_InputMagnitude ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force falloff function"
2023-08-31 01:50:54 +00:00
ParticleFalloffFunction_t m_nFalloffFunction ; // 0x470
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0474 [ 0x4 ] ; // 0x474
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "exponential falloff exponent"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_InputFalloffExp ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "impulse type"
2023-08-31 01:50:54 +00:00
ParticleImpulseType_t m_nImpulseType ; // 0x5d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_INIT_QuantizeFloat : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "interval to snap to"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xef0
2023-03-23 14:05:13 +00:00
class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-05-15 01:39:33 +00:00
VectorExpressionType_t m_nExpression ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_vInput1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vInput2 ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0xe78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0xe7c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize result"
2023-08-31 01:50:54 +00:00
bool m_bNormalizedOutput ; // 0xe80
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_INIT_InitFloatCollection : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_INIT_InitFloat : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle strength"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_InputStrength ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x820
2023-03-23 14:05:13 +00:00
class C_INIT_InitVecCollection : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x818
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x830
2023-03-23 14:05:13 +00:00
class C_INIT_InitVec : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x81c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize result"
2023-08-31 01:50:54 +00:00
bool m_bNormalizedOutput ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set previous position"
// MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ"
2023-08-31 01:50:54 +00:00
bool m_bWritePreviousPosition ; // 0x821
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "num to emit"
// MPropertyAttributeRange "1 1000"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_nParticlesToEmit ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission start time"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flStartTime ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission scale from killed parent particles"
2023-08-31 01:50:54 +00:00
float m_flInitFromKilledParentParticles ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum emission per frame"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxEmittedPerFrame ; // 0x474
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point with snapshot data"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPoint ; // 0x478
2023-03-15 15:20:35 +00:00
} ;
2023-04-21 10:40:43 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x5f0
2023-03-23 14:05:13 +00:00
class C_OP_ContinuousEmitter : public CParticleFunctionEmitter
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "emission duration"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flEmissionDuration ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission start time"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flStartTime ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flEmitRate ; // 0x470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale emission to used control points"
// MParticleMaxVersion
2023-08-31 01:50:54 +00:00
float m_flEmissionScale ; // 0x5c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale emission by parent particle count"
2023-08-31 01:50:54 +00:00
float m_flScalePerParentParticle ; // 0x5cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emit particles for killed parent particles"
2023-08-31 01:50:54 +00:00
bool m_bInitFromKilledParentParticles ; // 0x5d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad05d1 [ 0x3 ] ; // 0x5d1
2023-03-23 14:05:13 +00:00
public :
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "control point with snapshot data"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPoint ; // 0x5d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "limit per update"
2023-08-31 01:50:54 +00:00
int32_t m_nLimitPerUpdate ; // 0x5d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force emit on first update"
2023-08-31 01:50:54 +00:00
bool m_bForceEmitOnFirstUpdate ; // 0x5dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force emit on last update"
2023-08-31 01:50:54 +00:00
bool m_bForceEmitOnLastUpdate ; // 0x5dd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_NoiseEmitter : public CParticleFunctionEmitter
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "emission duration"
2023-05-15 01:39:33 +00:00
float m_flEmissionDuration ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission start time"
2023-05-15 01:39:33 +00:00
float m_flStartTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale emission to used control points"
// MParticleMaxVersion
2023-05-15 01:39:33 +00:00
float m_flEmissionScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission count scale control point"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleControlPoint ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission count scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nScaleControlPointField ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "world noise scale control point"
2023-05-15 01:39:33 +00:00
int32_t m_nWorldNoisePoint ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsVal ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-05-15 01:39:33 +00:00
bool m_bAbsValInv ; // 0x1d9
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad01da [ 0x2 ] ; // 0x1da
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-05-15 01:39:33 +00:00
float m_flOffset ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission minimum"
2023-05-15 01:39:33 +00:00
float m_flOutputMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission maximum"
2023-05-15 01:39:33 +00:00
float m_flOutputMax ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flNoiseScale ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "world spatial noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flWorldNoiseScale ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-05-15 01:39:33 +00:00
Vector m_vecOffsetLoc ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "world time noise coordinate scale"
2023-05-15 01:39:33 +00:00
float m_flWorldTimeScale ; // 0x1fc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x5e0
2023-03-23 14:05:13 +00:00
class C_OP_MaintainEmitter : public CParticleFunctionEmitter
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "count to maintain"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nParticlesToMaintain ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x318
private :
[[maybe_unused]] uint8_t __pad031c [ 0x4 ] ; // 0x31c
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission duration"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flEmissionDuration ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emission rate"
2023-08-31 01:50:54 +00:00
float m_flEmissionRate ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point with snapshot data"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPoint ; // 0x47c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "group emission times for new particles"
2023-08-31 01:50:54 +00:00
bool m_bEmitInstantaneously ; // 0x480
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "perform final emit on stop"
2023-08-31 01:50:54 +00:00
bool m_bFinalEmitOnStop ; // 0x481
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0482 [ 0x6 ] ; // 0x482
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "total count scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flScale ; // 0x488
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RandomForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min force"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_MinForce ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max force"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_MaxForce ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_CPVelocityForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "velocity scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flScale ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_ParentVortices : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "amount of force"
2023-08-31 01:50:54 +00:00
float m_flForceScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "twist axis"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecTwistAxis ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "flip twist axis with yaw"
2023-08-31 01:50:54 +00:00
bool m_bFlipBasedOnYaw ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_TwistAroundAxis : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "amount of force"
2023-08-31 01:50:54 +00:00
float m_fForceAmount ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "twist axis"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_TwistAxis ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "object local space axis 0/1"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0x1e0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e1 [ 0x3 ] ; // 0x1e1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x510
2023-03-23 14:05:13 +00:00
class C_OP_AttractToControlPoint : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "component scale"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecComponentScale ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of force (or Max Force)"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fForceAmount ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff power"
2023-08-31 01:50:54 +00:00
float m_fFalloffPower ; // 0x338
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad033c [ 0x4 ] ; // 0x33c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input position transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x340
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Min Pullforce"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_fForceAmountMin ; // 0x3a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Apply Min Pullforce"
2023-08-31 01:50:54 +00:00
bool m_bApplyMinForce ; // 0x500
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min distance from plane"
2023-08-31 01:50:54 +00:00
float m_flMinDist ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force at min distance"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecForceAtMinDist ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max distance from plane"
2023-08-31 01:50:54 +00:00
float m_flMaxDist ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force at max distance"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecForceAtMaxDist ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "plane normal"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecPlaneNormal ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "exponent"
2023-08-31 01:50:54 +00:00
float m_flExponent ; // 0x200
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_TimeVaryingForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "time to start transition"
2023-08-31 01:50:54 +00:00
float m_flStartLerpTime ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "starting force"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_StartingForce ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time to end transition"
2023-08-31 01:50:54 +00:00
float m_flEndLerpTime ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ending force"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_EndingForce ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_TurbulenceForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "noise scale 0"
2023-08-31 01:50:54 +00:00
float m_flNoiseCoordScale0 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise scale 1"
2023-08-31 01:50:54 +00:00
float m_flNoiseCoordScale1 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise scale 2"
2023-08-31 01:50:54 +00:00
float m_flNoiseCoordScale2 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise scale 3"
2023-08-31 01:50:54 +00:00
float m_flNoiseCoordScale3 ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise amount 0"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecNoiseAmount0 ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise amount 1"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecNoiseAmount1 ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise amount 2"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecNoiseAmount2 ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise amount 3"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecNoiseAmount3 ; // 0x204
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 7
// Size: 0x1df0
2023-03-23 14:05:13 +00:00
class C_OP_CurlNoiseForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "noise type"
2023-08-31 01:50:54 +00:00
ParticleDirectionNoiseType_t m_nNoiseType ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise frequency"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecNoiseFreq ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise amplitude"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecNoiseScale ; // 0x830
// MPropertyFriendlyName "offset"
// MVectorIsCoordinate
CPerParticleVecInput m_vecOffset ; // 0xe88
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset rate"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecOffsetRate ; // 0x14e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "worley seed"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flWorleySeed ; // 0x1b38
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "worley jitter"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flWorleyJitter ; // 0x1c90
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x990
2023-03-23 14:05:13 +00:00
class C_OP_PerParticleForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "force scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flForceScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force to apply"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vForce ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x980
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_WindForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "force to apply"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vForce ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 11
// Size: 0x1df0
2023-03-23 14:05:13 +00:00
class C_OP_ExternalWindForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "sample position"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecSamplePosition ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force scale"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecScale ; // 0x828
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sample wind"
2023-08-31 01:50:54 +00:00
bool m_bSampleWind ; // 0xe80
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sample water current"
2023-08-31 01:50:54 +00:00
bool m_bSampleWater ; // 0xe81
// MPropertyFriendlyName "dampen gravity/buoyancy near water plane"
// MPropertySuppressExpr "!m_bSampleWater"
bool m_bDampenNearWaterPlane ; // 0xe82
// MPropertyFriendlyName "sample local gravity"
bool m_bSampleGravity ; // 0xe83
private :
[[maybe_unused]] uint8_t __pad0e84 [ 0x4 ] ; // 0xe84
public :
// MPropertyFriendlyName "gravity force"
// MPropertySuppressExpr "m_bSampleGravity"
CPerParticleVecInput m_vecGravityForce ; // 0xe88
// MPropertyFriendlyName "use Movement Basic for Local Gravity & Buoyancy Scale"
// MPropertySuppressExpr "!m_bSampleGravity"
bool m_bUseBasicMovementGravity ; // 0x14e0
private :
[[maybe_unused]] uint8_t __pad14e1 [ 0x7 ] ; // 0x14e1
public :
// MPropertyFriendlyName "local gravity scale"
// MPropertySuppressExpr "!m_bSampleGravity"
CPerParticleFloatInput m_flLocalGravityScale ; // 0x14e8
// MPropertyFriendlyName "local gravity buoyancy scale"
// MPropertySuppressExpr "!m_bSampleGravity"
CPerParticleFloatInput m_flLocalBuoyancyScale ; // 0x1640
// MPropertyFriendlyName "buoyancy force"
// MPropertySuppressExpr "!m_bSampleWater || m_bSampleGravity"
CPerParticleVecInput m_vecBuoyancyForce ; // 0x1798
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "force scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flForceScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rope shake"
2023-08-31 01:50:54 +00:00
bool m_bRopes ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "limit rope impulses to Z"
2023-08-31 01:50:54 +00:00
bool m_bRopesZOnly ; // 0x329
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "explosions"
2023-08-31 01:50:54 +00:00
bool m_bExplosions ; // 0x32a
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle systems"
2023-08-31 01:50:54 +00:00
bool m_bParticles ; // 0x32b
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x830
2023-03-23 14:05:13 +00:00
class C_OP_LocalAccelerationForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "local space control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale control point"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space acceleration"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecAccel ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 3
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_DensityForce : public CParticleFunctionForce
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Radius scale for particle influence"
2023-08-31 01:50:54 +00:00
float m_flRadiusScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Scale of force"
2023-08-31 01:50:54 +00:00
float m_flForceScale ; // 0x1d4
// MPropertyFriendlyName "Target density"
float m_flTargetDensity ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x980
2023-03-23 14:05:13 +00:00
class C_OP_BasicMovement : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "gravity"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_Gravity ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "drag"
// MPropertyAttributeRange "-1 1"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_fDrag ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max constraint passes"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxConstraintPasses ; // 0x970
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_FadeAndKill : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "start fade in time"
2023-08-31 01:50:54 +00:00
float m_flStartFadeInTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade in time"
2023-08-31 01:50:54 +00:00
float m_flEndFadeInTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade out time"
2023-08-31 01:50:54 +00:00
float m_flStartFadeOutTime ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade out time"
2023-08-31 01:50:54 +00:00
float m_flEndFadeOutTime ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start alpha"
2023-08-31 01:50:54 +00:00
float m_flStartAlpha ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end alpha"
2023-08-31 01:50:54 +00:00
float m_flEndAlpha ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force preserving particle order"
2023-08-31 01:50:54 +00:00
bool m_bForcePreserveParticleOrder ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "start fade in time"
2023-08-31 01:50:54 +00:00
float m_flStartFadeInTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade in time"
2023-08-31 01:50:54 +00:00
float m_flEndFadeInTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade out time"
2023-08-31 01:50:54 +00:00
float m_flStartFadeOutTime ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade out time"
2023-08-31 01:50:54 +00:00
float m_flEndFadeOutTime ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start alpha"
2023-08-31 01:50:54 +00:00
float m_flStartAlpha ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end alpha"
2023-08-31 01:50:54 +00:00
float m_flEndAlpha ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_FadeIn : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "fade in time min"
2023-08-31 01:50:54 +00:00
float m_flFadeInTimeMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade in time max"
2023-08-31 01:50:54 +00:00
float m_flFadeInTimeMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade in time exponent"
2023-08-31 01:50:54 +00:00
float m_flFadeInTimeExp ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_FadeOut : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "fade out time min"
2023-08-31 01:50:54 +00:00
float m_flFadeOutTimeMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade out time max"
2023-08-31 01:50:54 +00:00
float m_flFadeOutTimeMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade out time exponent"
2023-08-31 01:50:54 +00:00
float m_flFadeOutTimeExp ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade bias"
2023-08-31 01:50:54 +00:00
float m_flFadeBias ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d0 [ 0x30 ] ; // 0x1d0
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease in and out"
2023-08-31 01:50:54 +00:00
bool m_bEaseInAndOut ; // 0x201
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_FadeInSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "proportional fade in time"
2023-08-31 01:50:54 +00:00
float m_flFadeInTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_FadeOutSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "proportional fade out time"
2023-08-31 01:50:54 +00:00
float m_flFadeOutTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_OP_ClampScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_OP_ClampVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecOutputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecOutputMax ; // 0x820
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_OscillateScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "oscillation rate min"
2023-08-31 01:50:54 +00:00
float m_RateMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation rate max"
2023-08-31 01:50:54 +00:00
float m_RateMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency min"
2023-08-31 01:50:54 +00:00
float m_FrequencyMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency max"
2023-08-31 01:50:54 +00:00
float m_FrequencyMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportionalOp ; // 0x1d5
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d6 [ 0x2 ] ; // 0x1d6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time min"
2023-08-31 01:50:54 +00:00
float m_flStartTime_min ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time max"
2023-08-31 01:50:54 +00:00
float m_flStartTime_max ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time min"
2023-08-31 01:50:54 +00:00
float m_flEndTime_min ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time max"
2023-08-31 01:50:54 +00:00
float m_flEndTime_max ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-08-31 01:50:54 +00:00
float m_flOscMult ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-08-31 01:50:54 +00:00
float m_flOscAdd ; // 0x1ec
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_OscillateScalarSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "oscillation rate"
2023-08-31 01:50:54 +00:00
float m_Rate ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency"
2023-08-31 01:50:54 +00:00
float m_Frequency ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-08-31 01:50:54 +00:00
float m_flOscMult ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-08-31 01:50:54 +00:00
float m_flOscAdd ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0x610
2023-03-23 14:05:13 +00:00
class C_OP_OscillateVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "oscillation rate min"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_RateMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation rate max"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_RateMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency min"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_FrequencyMin ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency max"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_FrequencyMax ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportionalOp ; // 0x1f5
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-08-31 01:50:54 +00:00
bool m_bOffset ; // 0x1f6
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01f7 [ 0x1 ] ; // 0x1f7
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time min"
2023-08-31 01:50:54 +00:00
float m_flStartTime_min ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time max"
2023-08-31 01:50:54 +00:00
float m_flStartTime_max ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time min"
2023-08-31 01:50:54 +00:00
float m_flEndTime_min ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time max"
2023-08-31 01:50:54 +00:00
float m_flEndTime_max ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOscMult ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOscAdd ; // 0x360
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rate scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRateScale ; // 0x4b8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_OscillateVectorSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "oscillation rate"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_Rate ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation frequency"
2023-08-31 01:50:54 +00:00
Vector m_Frequency ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-08-31 01:50:54 +00:00
float m_flOscMult ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-08-31 01:50:54 +00:00
float m_flOscAdd ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-08-31 01:50:54 +00:00
bool m_bOffset ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "difference minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "difference maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified difference"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "also set ouput to previous particle"
2023-08-31 01:50:54 +00:00
bool m_bSetPreviousParticle ; // 0x1dd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 7
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d4
// MPropertyFriendlyName "use old code"
bool m_bOldCode ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 8
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDensityToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Radius scale for particle influence"
2023-08-31 01:50:54 +00:00
float m_flRadiusScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Density value to map to min value"
2023-08-31 01:50:54 +00:00
float m_flDensityMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Density value to map to max value"
2023-08-31 01:50:54 +00:00
float m_flDensityMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output minimum"
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output maximum"
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMax ; // 0x1dc
// MPropertyFriendlyName "Use parent density instead of ours"
bool m_bUseParentDensity ; // 0x1e8
private :
[[maybe_unused]] uint8_t __pad01e9 [ 0x3 ] ; // 0x1e9
public :
// MPropertyFriendlyName "Resolution to use for creating a voxel grid"
int32_t m_nVoxelGridResolution ; // 0x1ec
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x1d0
2023-08-31 01:50:54 +00:00
class C_OP_Diffusion : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "Radius scale for particle influence"
float m_flRadiusScale ; // 0x1c0
// MPropertyFriendlyName "Output field"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
// MPropertyFriendlyName "Resolution to use for creating a voxel grid"
int32_t m_nVoxelGridResolution ; // 0x1c8
} ;
// Alignment: 6
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapScalarEndCap : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "remap time proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c1 [ 0x3 ] ; // 0x1c1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap time"
2023-08-31 01:50:54 +00:00
float m_flRemapTime ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
int32_t m_nInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
int32_t m_nInputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "count back from last particle"
2023-08-31 01:50:54 +00:00
bool m_bBackwards ; // 0x1d4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d5 [ 0x3 ] ; // 0x1d5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x730
2023-03-23 14:05:13 +00:00
class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nInputMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMax ; // 0x5d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x728
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0729 [ 0x3 ] ; // 0x729
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x72c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius scale"
2023-08-31 01:50:54 +00:00
float m_flRadiusScale ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP visibility minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP visibility maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x238
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x23c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x240
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility radius"
2023-08-31 01:50:54 +00:00
float m_flRadius ; // 0x244
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x260
2023-03-23 14:05:13 +00:00
class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP visibility minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP visibility maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x238
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMin ; // 0x23c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMax ; // 0x248
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "visibility radius"
2023-08-31 01:50:54 +00:00
float m_flRadius ; // 0x254
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_LerpScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "value to lerp to"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x324
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_LerpEndCapScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "value to lerp to"
2023-08-31 01:50:54 +00:00
float m_flOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lerp time"
2023-08-31 01:50:54 +00:00
float m_flLerpTime ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_LerpEndCapVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "value to lerp to"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lerp time"
2023-08-31 01:50:54 +00:00
float m_flLerpTime ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_LerpVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "value to lerp to"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x350
2023-03-23 14:05:13 +00:00
class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input attribute from"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInputFrom ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input attribute to"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output attribute"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapSpeed : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreDelta ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapVectortoCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle number to read"
2023-08-31 01:50:54 +00:00
int32_t m_nParticleNumber ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RampScalarLinear : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "ramp rate min"
2023-08-31 01:50:54 +00:00
float m_RateMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-08-31 01:50:54 +00:00
float m_RateMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time min"
2023-08-31 01:50:54 +00:00
float m_flStartTime_min ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time max"
2023-08-31 01:50:54 +00:00
float m_flStartTime_max ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time min"
2023-08-31 01:50:54 +00:00
float m_flEndTime_min ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time max"
2023-08-31 01:50:54 +00:00
float m_flEndTime_max ; // 0x1d4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d8 [ 0x28 ] ; // 0x1d8
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportionalOp ; // 0x204
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RampScalarSpline : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "ramp rate min"
2023-08-31 01:50:54 +00:00
float m_RateMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-08-31 01:50:54 +00:00
float m_RateMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time min"
2023-08-31 01:50:54 +00:00
float m_flStartTime_min ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time max"
2023-08-31 01:50:54 +00:00
float m_flStartTime_max ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time min"
2023-08-31 01:50:54 +00:00
float m_flEndTime_min ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time max"
2023-08-31 01:50:54 +00:00
float m_flEndTime_max ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bias"
2023-08-31 01:50:54 +00:00
float m_flBias ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x24 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportionalOp ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease out"
2023-08-31 01:50:54 +00:00
bool m_bEaseOut ; // 0x205
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "ramp rate"
2023-08-31 01:50:54 +00:00
float m_Rate ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x24 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1f0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "ramp rate"
2023-08-31 01:50:54 +00:00
float m_Rate ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x24 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease out"
2023-08-31 01:50:54 +00:00
bool m_bEaseOut ; // 0x1f4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x13f0
2023-03-23 14:05:13 +00:00
class C_OP_ChladniWave : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wave minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wave maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x5d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wave length"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecWaveLength ; // 0x728
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "harmonics"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecHarmonics ; // 0xd80
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x13d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point"
2023-08-31 01:50:54 +00:00
int32_t m_nLocalSpaceControlPoint ; // 0x13dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "3D"
2023-08-31 01:50:54 +00:00
bool m_b3D ; // 0x13e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_Noise : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise coordinate scale"
2023-08-31 01:50:54 +00:00
float m_fl4NoiseScale ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "additive"
2023-08-31 01:50:54 +00:00
bool m_bAdditive ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x3 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Noise animation time scale"
2023-08-31 01:50:54 +00:00
float m_flNoiseAnimationTimeScale ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_VectorNoise : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "noise coordinate scale"
2023-08-31 01:50:54 +00:00
float m_fl4NoiseScale ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "additive"
2023-08-31 01:50:54 +00:00
bool m_bAdditive ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-08-31 01:50:54 +00:00
bool m_bOffset ; // 0x1e1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e2 [ 0x2 ] ; // 0x1e2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Noise animation time scale"
2023-08-31 01:50:54 +00:00
float m_flNoiseAnimationTimeScale ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_Decay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Reduce rope popping on decay"
2023-08-31 01:50:54 +00:00
bool m_bRopeDecay ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force preserving particle order"
2023-08-31 01:50:54 +00:00
bool m_bForcePreserveParticleOrder ; // 0x1c1
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_OP_DecayOffscreen : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Offscreen Time Before Decay"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOffscreenTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "freeze time"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flFreezeTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_EndCapTimedDecay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "decay time"
2023-08-31 01:50:54 +00:00
float m_flDecayTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-03-23 14:05:13 +00:00
class C_OP_EndCapDecay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_VelocityDecay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum velocity"
2023-08-31 01:50:54 +00:00
float m_flMinVelocity ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_AlphaDecay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum alpha"
2023-08-31 01:50:54 +00:00
float m_flMinAlpha ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RadiusDecay : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum radius"
2023-08-31 01:50:54 +00:00
float m_flMinRadius ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_DecayMaintainCount : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "count to maintain"
2023-08-31 01:50:54 +00:00
int32_t m_nParticlesToMaintain ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "decay delay"
2023-08-31 01:50:54 +00:00
float m_flDecayDelay ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "snapshot control point for count"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPoint ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "decay on lifespan"
2023-08-31 01:50:54 +00:00
bool m_bLifespanDecay ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "total count scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "kill newest instead of oldest"
2023-08-31 01:50:54 +00:00
bool m_bKillNewest ; // 0x328
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x320
2023-03-23 14:05:13 +00:00
class C_OP_DecayClampCount : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Maximum Count"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nCount ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_Cull : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "cull percentage"
2023-08-31 01:50:54 +00:00
float m_flCullPerc ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull start time"
2023-08-31 01:50:54 +00:00
float m_flCullStart ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull end time"
2023-08-31 01:50:54 +00:00
float m_flCullEnd ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull time exponent"
2023-08-31 01:50:54 +00:00
float m_flCullExp ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class CGeneralSpin : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "spin rate degrees"
2023-08-31 01:50:54 +00:00
int32_t m_nSpinRateDegrees ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spin rate min"
2023-08-31 01:50:54 +00:00
int32_t m_nSpinRateMinDegrees ; // 0x1c4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c8 [ 0x4 ] ; // 0x1c8
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spin stop time"
2023-08-31 01:50:54 +00:00
float m_fSpinRateStopTime ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-03-23 14:05:13 +00:00
class CSpinUpdateBase : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_Spin : public CGeneralSpin
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1c0
2023-03-23 14:05:13 +00:00
class C_OP_SpinUpdate : public CSpinUpdateBase
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SpinYaw : public CGeneralSpin
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_InterpolateRadius : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "start time"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end time"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius start scale"
2023-08-31 01:50:54 +00:00
float m_flStartScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius end scale"
2023-08-31 01:50:54 +00:00
float m_flEndScale ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease in and out"
2023-08-31 01:50:54 +00:00
bool m_bEaseInAndOut ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x3 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale bias"
2023-08-31 01:50:54 +00:00
float m_flBias ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_ColorInterpolate : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "color fade"
2023-08-31 01:50:54 +00:00
Color m_ColorFade ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0xc ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade start time"
2023-08-31 01:50:54 +00:00
float m_flFadeStartTime ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade end time"
2023-08-31 01:50:54 +00:00
float m_flFadeEndTime ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease in and out"
2023-08-31 01:50:54 +00:00
bool m_bEaseInOut ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "color fade min"
2023-08-31 01:50:54 +00:00
Color m_ColorFadeMin ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x18 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color fade max"
2023-08-31 01:50:54 +00:00
Color m_ColorFadeMax ; // 0x1dc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e0 [ 0xc ] ; // 0x1e0
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade start time"
2023-08-31 01:50:54 +00:00
float m_flFadeStartTime ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fade end time"
2023-08-31 01:50:54 +00:00
float m_flFadeEndTime ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ease in and out"
2023-08-31 01:50:54 +00:00
bool m_bEaseInOut ; // 0x1f8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0xa10
2023-03-23 14:05:13 +00:00
class C_OP_PositionLock : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fadeout min"
2023-08-31 01:50:54 +00:00
float m_flStartTime_min ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fadeout max"
2023-08-31 01:50:54 +00:00
float m_flStartTime_max ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fadeout exponent"
2023-08-31 01:50:54 +00:00
float m_flStartTime_exp ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fadeout min"
2023-08-31 01:50:54 +00:00
float m_flEndTime_min ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fadeout max"
2023-08-31 01:50:54 +00:00
float m_flEndTime_max ; // 0x238
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fadeout exponent"
2023-08-31 01:50:54 +00:00
float m_flEndTime_exp ; // 0x23c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance fade range"
2023-08-31 01:50:54 +00:00
float m_flRange ; // 0x240
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0244 [ 0x4 ] ; // 0x244
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance fade bias"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRangeBias ; // 0x248
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-08-31 01:50:54 +00:00
float m_flJumpThreshold ; // 0x3a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position scale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0x3a4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lock rotation"
2023-08-31 01:50:54 +00:00
bool m_bLockRot ; // 0x3a8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad03a9 [ 0x7 ] ; // 0x3a9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "component scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecScale ; // 0x3b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0xa08
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field prev"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutputPrev ; // 0xa0c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 33
2023-08-31 01:50:54 +00:00
// Size: 0x710
2023-03-23 14:05:13 +00:00
class C_OP_ControlpointLight : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "initial color bias"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4cc ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint1 ; // 0x690
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint2 ; // 0x694
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint3 ; // 0x698
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint4 ; // 0x69c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 control point offset"
2023-08-31 01:50:54 +00:00
Vector m_vecCPOffset1 ; // 0x6a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 control point offset"
2023-08-31 01:50:54 +00:00
Vector m_vecCPOffset2 ; // 0x6ac
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 control point offset"
2023-08-31 01:50:54 +00:00
Vector m_vecCPOffset3 ; // 0x6b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 control point offset"
2023-08-31 01:50:54 +00:00
Vector m_vecCPOffset4 ; // 0x6c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 50% distance"
2023-08-31 01:50:54 +00:00
float m_LightFiftyDist1 ; // 0x6d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 0% distance"
2023-08-31 01:50:54 +00:00
float m_LightZeroDist1 ; // 0x6d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 50% distance"
2023-08-31 01:50:54 +00:00
float m_LightFiftyDist2 ; // 0x6d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 0% distance"
2023-08-31 01:50:54 +00:00
float m_LightZeroDist2 ; // 0x6dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 50% distance"
2023-08-31 01:50:54 +00:00
float m_LightFiftyDist3 ; // 0x6e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 0% distance"
2023-08-31 01:50:54 +00:00
float m_LightZeroDist3 ; // 0x6e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 50% distance"
2023-08-31 01:50:54 +00:00
float m_LightFiftyDist4 ; // 0x6e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 0% distance"
2023-08-31 01:50:54 +00:00
float m_LightZeroDist4 ; // 0x6ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 color"
2023-08-31 01:50:54 +00:00
Color m_LightColor1 ; // 0x6f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 color"
2023-08-31 01:50:54 +00:00
Color m_LightColor2 ; // 0x6f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 color"
2023-08-31 01:50:54 +00:00
Color m_LightColor3 ; // 0x6f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 color"
2023-08-31 01:50:54 +00:00
Color m_LightColor4 ; // 0x6fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 type 0=point 1=spot"
2023-08-31 01:50:54 +00:00
bool m_bLightType1 ; // 0x700
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 type 0=point 1=spot"
2023-08-31 01:50:54 +00:00
bool m_bLightType2 ; // 0x701
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 type 0=point 1=spot"
2023-08-31 01:50:54 +00:00
bool m_bLightType3 ; // 0x702
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 type 0=point 1=spot"
2023-08-31 01:50:54 +00:00
bool m_bLightType4 ; // 0x703
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 1 dynamic light"
2023-08-31 01:50:54 +00:00
bool m_bLightDynamic1 ; // 0x704
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 2 dynamic light"
2023-08-31 01:50:54 +00:00
bool m_bLightDynamic2 ; // 0x705
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 3 dynamic light"
2023-08-31 01:50:54 +00:00
bool m_bLightDynamic3 ; // 0x706
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light 4 dynamic light"
2023-08-31 01:50:54 +00:00
bool m_bLightDynamic4 ; // 0x707
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "compute normals from control points"
2023-08-31 01:50:54 +00:00
bool m_bUseNormal ; // 0x708
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "half-lambert normals"
2023-08-31 01:50:54 +00:00
bool m_bUseHLambert ; // 0x709
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad070a [ 0x4 ] ; // 0x70a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "clamp minimum light value to initial color"
2023-08-31 01:50:54 +00:00
bool m_bClampLowerRange ; // 0x70e
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "clamp maximum light value to initial color"
2023-08-31 01:50:54 +00:00
bool m_bClampUpperRange ; // 0x70f
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_GlobalLight : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "initial color bias"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "clamp minimum light value to initial color"
2023-08-31 01:50:54 +00:00
bool m_bClampLowerRange ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "clamp maximum light value to initial color"
2023-08-31 01:50:54 +00:00
bool m_bClampUpperRange ; // 0x1c5
2023-03-15 15:20:35 +00:00
} ;
2023-05-06 19:33:43 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_SetChildControlPoints : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nFirstSourcePoint ; // 0x1d0
2023-05-06 19:33:43 +00:00
// MPropertyFriendlyName "start as last particle"
2023-08-31 01:50:54 +00:00
bool m_bReverse ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set orientation"
2023-08-31 01:50:54 +00:00
bool m_bSetOrientation ; // 0x329
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstSourcePoint ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set orientation"
2023-08-31 01:50:54 +00:00
bool m_bSetOrientation ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x3 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orientation style"
2023-08-31 01:50:54 +00:00
ParticleOrientationSetMode_t m_nOrientationMode ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set parent"
2023-08-31 01:50:54 +00:00
ParticleParentSetMode_t m_nSetParent ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x2d0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attachment to follow"
2023-08-31 01:50:54 +00:00
char m_AttachmentName [ 128 ] ; // 0x240
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "First control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x2c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x2c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstSourcePoint ; // 0x2c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use skinning instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bSkin ; // 0x2cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "follow attachment"
2023-08-31 01:50:54 +00:00
bool m_bAttachment ; // 0x2cd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x490
2023-03-23 14:05:13 +00:00
class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of children to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nParticleIncrement ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nFirstSourcePoint ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set orientation from velocity"
2023-08-31 01:50:54 +00:00
bool m_bSetOrientation ; // 0x480
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0481 [ 0x3 ] ; // 0x481
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orientation vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOrientationField ; // 0x484
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set number of children based on particle count"
2023-08-31 01:50:54 +00:00
bool m_bNumBasedOnParticleCount ; // 0x488
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of children to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
int32_t m_nParticleIncrement ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstSourcePoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set number of children based on particle count"
2023-08-31 01:50:54 +00:00
bool m_bNumBasedOnParticleCount ; // 0x1d4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d5 [ 0x3 ] ; // 0x1d5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAttributeToRead ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point field for scalars"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPField ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation offset"
2023-08-31 01:50:54 +00:00
float m_flRotOffset ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spin strength"
2023-08-31 01:50:54 +00:00
float m_flSpinStrength ; // 0x230
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_DampenToCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff range"
2023-08-31 01:50:54 +00:00
float m_flRange ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "dampen scale"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetToCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset"
2023-08-31 01:50:54 +00:00
Vector m_vecOffset ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset in local space"
2023-08-31 01:50:54 +00:00
bool m_bOffsetLocal ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 13
// Size: 0x1050
2023-03-23 14:05:13 +00:00
class C_OP_PinParticleToCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecOffset ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset in local space"
2023-08-31 01:50:54 +00:00
bool m_bOffsetLocal ; // 0x820
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0821 [ 0x3 ] ; // 0x821
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle to use"
2023-08-31 01:50:54 +00:00
ParticleSelection_t m_nParticleSelection ; // 0x824
2023-05-06 19:33:43 +00:00
// MPropertyFriendlyName "particle number/offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nParticleNumber ; // 0x828
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pin break type"
2023-08-31 01:50:54 +00:00
ParticlePinDistance_t m_nPinBreakType ; // 0x980
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0984 [ 0x4 ] ; // 0x984
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "break length %"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flBreakDistance ; // 0x988
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "break speed"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flBreakSpeed ; // 0xae0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "break age"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flAge ; // 0xc38
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "break comparison control point 1"
2023-08-31 01:50:54 +00:00
int32_t m_nBreakControlPointNumber ; // 0xd90
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "break comparison control point 2"
2023-08-31 01:50:54 +00:00
int32_t m_nBreakControlPointNumber2 ; // 0xd94
// MPropertyFriendlyName "break value"
CParticleCollectionFloatInput m_flBreakValue ; // 0xd98
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0xef0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleCPField ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cache attribute to read from"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attribute to write to"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space"
2023-08-31 01:50:54 +00:00
bool m_bOffsetLocal ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0xae0
2023-03-23 14:05:13 +00:00
class C_OP_LerpToInitialPosition : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "position cache attribute"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nCacheField ; // 0x320
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0324 [ 0x4 ] ; // 0x324
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flScale ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "component scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecScale ; // 0x480
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-08-31 01:50:54 +00:00
// Size: 0x890
2023-03-23 14:05:13 +00:00
class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strarting transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformEnd ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMin ; // 0x298
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0x3f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x548
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x6a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-08-31 01:50:54 +00:00
float m_flMaxTraceLength ; // 0x7f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-08-31 01:50:54 +00:00
float m_flLOSScale ; // 0x7fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x800
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x880
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-08-31 01:50:54 +00:00
bool m_bLOS ; // 0x884
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0885 [ 0x3 ] ; // 0x885
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x888
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x2b0
2023-03-23 14:05:13 +00:00
class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strarting transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformEnd ; // 0x240
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x2a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within input range"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x2ac
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-08-31 01:50:54 +00:00
bool m_bRadialCheck ; // 0x2ad
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x2c0
2023-03-23 14:05:13 +00:00
class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOutputMax ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e4 [ 0x4 ] ; // 0x1e4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strarting transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformEnd ; // 0x250
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x2b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within input range"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x2bc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-08-31 01:50:54 +00:00
bool m_bRadialCheck ; // 0x2bd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 12
2023-08-31 01:50:54 +00:00
// Size: 0x2c0
2023-03-23 14:05:13 +00:00
class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strarting transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformEnd ; // 0x238
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output starting control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputStartCP ; // 0x2a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputStartField ; // 0x2a4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output ending control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputEndCP ; // 0x2a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputEndField ; // 0x2ac
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x2b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within input range"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x2b4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-08-31 01:50:54 +00:00
bool m_bRadialCheck ; // 0x2b5
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x13e0
2023-03-23 14:05:13 +00:00
class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first vector"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecPoint1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second vector"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecPoint2 ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMin ; // 0xe78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0xfd0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x1128
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x1280
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x13d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)"
2023-08-31 01:50:54 +00:00
bool m_bDeltaTime ; // 0x13dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first vector"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecPoint1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second vector"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecPoint2 ; // 0x820
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_OP_DistanceToTransform : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x5d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x728
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-08-31 01:50:54 +00:00
bool m_bLOS ; // 0x790
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x791
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0811 [ 0x3 ] ; // 0x811
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x814
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-08-31 01:50:54 +00:00
float m_flMaxTraceLength ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-08-31 01:50:54 +00:00
float m_flLOSScale ; // 0x81c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x824
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output is additive"
2023-08-31 01:50:54 +00:00
bool m_bAdditive ; // 0x825
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0826 [ 0x2 ] ; // 0x826
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "component scale"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecComponentScale ; // 0x828
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x800
2023-03-23 14:05:13 +00:00
class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylinder inner radius"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMin ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylinder outer radius"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInputMax ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylinder inner output"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMin ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylinder outer output"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOutputMax ; // 0x5d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylindrical top transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformStart ; // 0x728
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cylindrical bottom transform"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformEnd ; // 0x790
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x7f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x7fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output is additive"
2023-08-31 01:50:54 +00:00
bool m_bAdditive ; // 0x7fd
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "apply radius to ends (capsule)"
2023-08-31 01:50:54 +00:00
bool m_bCapsule ; // 0x7fe
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x270
2023-03-23 14:05:13 +00:00
class C_OP_RtEnvCull : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "test direction"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecTestDir ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull normal"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecTestNormal ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull on miss"
2023-08-31 01:50:54 +00:00
bool m_bCullOnMiss ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "stick instead of cull"
2023-08-31 01:50:54 +00:00
bool m_bStickInsteadOfCull ; // 0x1d9
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ray trace environment name"
2023-08-31 01:50:54 +00:00
char m_RtEnvName [ 128 ] ; // 0x1da
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad025a [ 0x2 ] ; // 0x25a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ray trace environment cp"
2023-08-31 01:50:54 +00:00
int32_t m_nRTEnvCP ; // 0x25c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rt env control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nComponent ; // 0x260
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x980
2023-03-23 14:05:13 +00:00
class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flDistance ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "component scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecScale ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance squared output attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nDistSqrAttr ; // 0x978
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_OP_MoveToHitbox : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "model input"
2023-08-31 01:50:54 +00:00
CParticleModelInput m_modelInput ; // 0x1c0
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_transformInput ; // 0x220
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0288 [ 0x4 ] ; // 0x288
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime lerp start"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeLerpStart ; // 0x28c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime lerp end"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeLerpEnd ; // 0x290
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position scale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0x294
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x298
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x318
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0319 [ 0x3 ] ; // 0x319
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lerp type"
2023-08-31 01:50:54 +00:00
HitboxLerpType_t m_nLerpType ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Constant Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0xae0
2023-03-23 14:05:13 +00:00
class C_OP_LockToBone : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "model input"
2023-08-31 01:50:54 +00:00
CParticleModelInput m_modelInput ; // 0x1c0
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_transformInput ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime fade start"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeFadeStart ; // 0x288
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime fade end"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeFadeEnd ; // 0x28c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-08-31 01:50:54 +00:00
float m_flJumpThreshold ; // 0x290
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position scale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0x294
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x298
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rigid lock"
2023-08-31 01:50:54 +00:00
bool m_bRigid ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x319
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad031a [ 0x2 ] ; // 0x31a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field prev"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutputPrev ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Set Rotations to Bones"
// MPropertyFriendlyName "lock rotations to bone orientation"
2023-08-31 01:50:54 +00:00
ParticleRotationLockType_t m_nRotationSetType ; // 0x324
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rigid set rotation from bones"
2023-08-31 01:50:54 +00:00
bool m_bRigidRotationLock ; // 0x328
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0329 [ 0x7 ] ; // 0x329
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecRotation ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rigid rotation interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRotLerp ; // 0x988
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotate normals"
2023-08-31 01:50:54 +00:00
bool m_bTransformNormals ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale radii"
2023-08-31 01:50:54 +00:00
bool m_bTransformRadii ; // 0x1c1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c2 [ 0x2 ] ; // 0x1c2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotate normals"
2023-08-31 01:50:54 +00:00
bool m_bTransformNormals ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale radii"
2023-08-31 01:50:54 +00:00
bool m_bTransformRadii ; // 0x1c1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c2 [ 0x2 ] ; // 0x1c2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime fade start"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeFadeStart ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lifetime fade end"
2023-08-31 01:50:54 +00:00
float m_flLifeTimeFadeEnd ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-08-31 01:50:54 +00:00
float m_flJumpThreshold ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "previous position scale"
2023-08-31 01:50:54 +00:00
float m_flPrevPosScale ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "percentage minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "percentage bias"
2023-08-31 01:50:54 +00:00
float m_flInputBias ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "starting control point"
2023-08-31 01:50:54 +00:00
int32_t m_nStartCP ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ending control point"
2023-08-31 01:50:54 +00:00
int32_t m_nEndCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOffsetCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOuputCP ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-08-31 01:50:54 +00:00
bool m_bRadialCheck ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat offset as scale of total distance"
2023-08-31 01:50:54 +00:00
bool m_bScaleOffset ; // 0x1e1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e2 [ 0x2 ] ; // 0x1e2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset amount"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOffset ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_PlaneCull : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point for point on plane"
2023-08-31 01:50:54 +00:00
int32_t m_nPlaneControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "plane normal"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecPlaneDirection ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x3 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull plane offset"
2023-08-31 01:50:54 +00:00
float m_flPlaneOffset ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_DistanceCull : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecPointOffset ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull distance"
2023-08-31 01:50:54 +00:00
float m_flDistance ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull inside instead of outside"
2023-08-31 01:50:54 +00:00
bool m_bCullInside ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_OP_ModelCull : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use only bounding box"
2023-08-31 01:50:54 +00:00
bool m_bBoundBox ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cull outside instead of inside"
2023-08-31 01:50:54 +00:00
bool m_bCullOutside ; // 0x1c5
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x1c6
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x1c7
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x8b0
2023-03-23 14:05:13 +00:00
class C_OP_ModelDampenMovement : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use only bounding box"
2023-08-31 01:50:54 +00:00
bool m_bBoundBox ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "dampen outside instead of inside"
2023-08-31 01:50:54 +00:00
bool m_bOutside ; // 0x1c5
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-08-31 01:50:54 +00:00
bool m_bUseBones ; // 0x1c6
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0x1c7
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0247 [ 0x1 ] ; // 0x247
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "test position offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecPosOffset ; // 0x248
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "drag"
// MPropertyAttributeRange "-1 1"
2023-08-31 01:50:54 +00:00
float m_fDrag ; // 0x8a0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SequenceFromModel : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "current anim time output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutputAnim ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_VelocityMatchingForce : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "direction matching strength"
2023-08-31 01:50:54 +00:00
float m_flDirScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "speed matching strength"
2023-08-31 01:50:54 +00:00
float m_flSpdScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to broadcast speed and direction to"
2023-08-31 01:50:54 +00:00
int32_t m_nCPBroadcast ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_MovementMaintainOffset : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "desired offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOffset ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space CP"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale by radius"
2023-08-31 01:50:54 +00:00
bool m_bRadiusScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 17
2023-08-31 01:50:54 +00:00
// Size: 0x3e0
2023-03-23 14:05:13 +00:00
class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "offset"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOffset ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max trace length"
2023-08-31 01:50:54 +00:00
float m_flMaxTraceLength ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP movement tolerance"
2023-08-31 01:50:54 +00:00
float m_flTolerance ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace offset"
2023-08-31 01:50:54 +00:00
float m_flTraceOffset ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation rate"
2023-08-31 01:50:54 +00:00
float m_flLerpRate ; // 0x324
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x3a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reference CP 1"
2023-08-31 01:50:54 +00:00
int32_t m_nRefCP1 ; // 0x3ac
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reference CP 2"
2023-08-31 01:50:54 +00:00
int32_t m_nRefCP2 ; // 0x3b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interploation distance tolerance cp"
2023-08-31 01:50:54 +00:00
int32_t m_nLerpCP ; // 0x3b4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad03b8 [ 0x8 ] ; // 0x3b8
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "No Collision Behavior"
2023-08-31 01:50:54 +00:00
ParticleTraceMissBehavior_t m_nTraceMissBehavior ; // 0x3c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "include default contents trace hulls"
2023-08-31 01:50:54 +00:00
bool m_bIncludeShotHull ; // 0x3c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "include water"
2023-08-31 01:50:54 +00:00
bool m_bIncludeWater ; // 0x3c5
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad03c6 [ 0x2 ] ; // 0x3c6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-08-31 01:50:54 +00:00
bool m_bSetNormal ; // 0x3c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "treat offset as scalar of particle radius"
2023-08-31 01:50:54 +00:00
bool m_bScaleOffset ; // 0x3c9
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad03ca [ 0x2 ] ; // 0x3ca
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "preserve initial Z-offset relative to cp"
2023-08-31 01:50:54 +00:00
int32_t m_nPreserveOffsetCP ; // 0x3cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-08-31 01:50:54 +00:00
int32_t m_nIgnoreCP ; // 0x3d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_InheritFromParentParticles : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "scale"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
int32_t m_nIncrement ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-08-31 01:50:54 +00:00
bool m_bRandomDistribution ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "scale"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
int32_t m_nIncrement ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-08-31 01:50:54 +00:00
bool m_bRandomDistribution ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "behavior if parent particle dies"
2023-08-31 01:50:54 +00:00
MissingParentInheritBehavior_t m_nMissingParentBehavior ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "read field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "written field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
int32_t m_nIncrement ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum distance"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_DistanceCheck ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x328
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "read field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "written field"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle neighbor increment amount"
2023-08-31 01:50:54 +00:00
int32_t m_nIncrement ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "group id"
2023-08-31 01:50:54 +00:00
int32_t m_nGroupID ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Input Vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output Scalar"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Vector Component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nComponent ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_OrientTo2dDirection : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotation offset"
2023-08-31 01:50:54 +00:00
float m_flRotOffset ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spin strength"
2023-08-31 01:50:54 +00:00
float m_flSpinStrength ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RestartAfterDuration : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "minimum restart time"
2023-08-31 01:50:54 +00:00
float m_flDurationMin ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum restart time"
2023-08-31 01:50:54 +00:00
float m_flDurationMax ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to scale duration"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point field X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPField ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "child group ID"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only restart children"
2023-08-31 01:50:54 +00:00
bool m_bOnlyChildren ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_Orient2DRelToCP : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotation offset"
2023-08-31 01:50:54 +00:00
float m_flRotOffset ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spin strength"
2023-08-31 01:50:54 +00:00
float m_flSpinStrength ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x9e0
2023-03-23 14:05:13 +00:00
class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotation axis"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecRotAxis ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRotRate ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x970
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use local space"
2023-08-31 01:50:54 +00:00
bool m_bLocalSpace ; // 0x9d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_OP_RotateVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation axis min"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecRotAxisMin ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation axis max"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecRotAxisMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation rate min"
2023-08-31 01:50:54 +00:00
float m_flRotRateMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation rate max"
2023-08-31 01:50:54 +00:00
float m_flRotRateMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize output"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0x1e4
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e5 [ 0x3 ] ; // 0x1e5
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per particle scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flScale ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 4
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_MaxVelocity : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "maximum velocity"
2023-08-31 01:50:54 +00:00
float m_flMaxVelocity ; // 0x1c0
// MPropertyFriendlyName "minimum velocity"
float m_flMinVelocity ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "override max velocity from this CP"
2023-08-31 01:50:54 +00:00
int32_t m_nOverrideCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "override CP field"
2023-08-31 01:50:54 +00:00
int32_t m_nOverrideCPField ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_LagCompensation : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "desired velocity CP"
2023-08-31 01:50:54 +00:00
int32_t m_nDesiredVelocityCP ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "latency CP"
2023-08-31 01:50:54 +00:00
int32_t m_nLatencyCP ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "latency CP field"
2023-08-31 01:50:54 +00:00
int32_t m_nLatencyCPField ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "desired velocity CP field override(for speed only)"
2023-08-31 01:50:54 +00:00
int32_t m_nDesiredVelocityCPField ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_MaintainSequentialPath : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "maximum distance"
2023-08-31 01:50:54 +00:00
float m_fMaxDistance ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-08-31 01:50:54 +00:00
float m_flNumToAssign ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cohesion strength"
2023-08-31 01:50:54 +00:00
float m_flCohesionStrength ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point movement tolerance"
2023-08-31 01:50:54 +00:00
float m_flTolerance ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-08-31 01:50:54 +00:00
bool m_bLoop ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use existing particle count"
2023-08-31 01:50:54 +00:00
bool m_bUseParticleCount ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0xe ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
CPathParameters m_PathParams ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "start fade time"
2023-08-31 01:50:54 +00:00
float m_flFadeStart ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade time"
2023-08-31 01:50:54 +00:00
float m_flFadeEnd ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use sequential CP pairs between start and end point"
2023-08-31 01:50:54 +00:00
bool m_bCPPairs ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c9 [ 0x7 ] ; // 0x1c9
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
CPathParameters m_PathParams ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
2023-03-25 17:14:12 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c0 [ 0x4 ] ; // 0x1c0
2023-03-15 15:20:35 +00:00
public :
// MPropertyFriendlyName "start fade time"
2023-08-31 01:50:54 +00:00
float m_flFadeStart ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade time"
2023-08-31 01:50:54 +00:00
float m_flFadeEnd ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use sequential CP pairs between start and end point"
2023-08-31 01:50:54 +00:00
bool m_bCPPairs ; // 0x1cc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cd [ 0x3 ] ; // 0x1cd
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
CPathParameters m_PathParams ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "first input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP1 ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP2 ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum (-1 to 1)"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum (-1 to 1)"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use particle velocity for first input"
2023-08-31 01:50:54 +00:00
bool m_bUseParticleVelocity ; // 0x1dc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dd [ 0x3 ] ; // 0x1dd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-08-31 01:50:54 +00:00
bool m_bActiveRange ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use particle normal for first input"
2023-08-31 01:50:54 +00:00
bool m_bUseParticleNormal ; // 0x1e5
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapCPtoScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nField ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation scale"
2023-08-31 01:50:54 +00:00
float m_flInterpRate ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_NormalLock : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 13
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RemapCPtoVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space CP"
2023-08-31 01:50:54 +00:00
int32_t m_nLocalSpaceCP ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vInputMin ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vInputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vOutputMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vOutputMax ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-08-31 01:50:54 +00:00
float m_flStartTime ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-08-31 01:50:54 +00:00
float m_flEndTime ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation scale"
2023-08-31 01:50:54 +00:00
float m_flInterpRate ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset position"
2023-08-31 01:50:54 +00:00
bool m_bOffset ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "accelerate position"
2023-08-31 01:50:54 +00:00
bool m_bAccelerate ; // 0x20d
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_SetCPtoVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapVelocityToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset rotation"
2023-08-31 01:50:54 +00:00
float m_flOffsetRot ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset axis"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecOffsetAxis ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0x1dc
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dd [ 0x3 ] ; // 0x1dd
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strength field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldStrength ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0xe80
2023-03-23 14:05:13 +00:00
class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input vector 1"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_InputVec1 ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input vector 2"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_InputVec2 ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0xe70
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize output"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0xe74
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_NormalizeVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor"
2023-08-31 01:50:54 +00:00
float m_flScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x270
2023-03-23 14:05:13 +00:00
class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "interpolation rate"
2023-08-31 01:50:54 +00:00
float m_flInterpRate ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max trace length"
2023-08-31 01:50:54 +00:00
float m_flMaxTraceLength ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP movement tolerance"
2023-08-31 01:50:54 +00:00
float m_flTolerance ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace offset"
2023-08-31 01:50:54 +00:00
float m_flTraceOffset ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x250
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to trace from"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP ; // 0x254
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to set"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x258
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad025c [ 0xc ] ; // 0x25c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "include water"
2023-08-31 01:50:54 +00:00
bool m_bIncludeWater ; // 0x268
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "transform input"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_TransformInput ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset pitch/yaw/roll"
2023-08-31 01:50:54 +00:00
Vector m_vecRotation ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use Quaternians Internally"
2023-08-31 01:50:54 +00:00
bool m_bUseQuat ; // 0x234
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Write normal instead of rotation"
2023-08-31 01:50:54 +00:00
bool m_bWriteNormal ; // 0x235
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset rotation"
2023-08-31 01:50:54 +00:00
float m_flOffsetRot ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point axis"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-08-31 01:50:54 +00:00
int32_t m_nComponent ; // 0x1cc
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_LockToPointList : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "point list"
2023-08-31 01:50:54 +00:00
CUtlVector < PointDefinition_t > m_pointList ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "space points along path"
2023-08-31 01:50:54 +00:00
bool m_bPlaceAlongPath ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-08-31 01:50:54 +00:00
bool m_bClosedLoop ; // 0x1e1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e2 [ 0x2 ] ; // 0x1e2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Numer of points along path"
2023-08-31 01:50:54 +00:00
int32_t m_nNumPointsAlongPath ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input names"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_inNames ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output names"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_outNames ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fallback names when the input doesn't match"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_fallbackNames ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model from renderer"
2023-08-31 01:50:54 +00:00
bool m_bModelFromRenderer ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap time proportional"
2023-08-31 01:50:54 +00:00
bool m_bProportional ; // 0x211
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0212 [ 0x2 ] ; // 0x212
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "remap time"
2023-08-31 01:50:54 +00:00
float m_flRemapTime ; // 0x21c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeCModel > m_hModel ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input names"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_inNames ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output names"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_outNames ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fallback names when the input doesn't match"
2023-08-31 01:50:54 +00:00
CUtlVector < CUtlString > m_fallbackNames ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model from renderer"
2023-08-31 01:50:54 +00:00
bool m_bModelFromRenderer ; // 0x210
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0211 [ 0x3 ] ; // 0x211
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x218
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x5f0
2023-03-23 14:05:13 +00:00
class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAttributeToRead ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "field to write"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAttributeToWrite ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nLocalSpaceCP ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random order"
2023-08-31 01:50:54 +00:00
bool m_bRandom ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reverse order"
2023-08-31 01:50:54 +00:00
bool m_bReverse ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0x2 ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-08-31 01:50:54 +00:00
int32_t m_nRandomSeed ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nSnapShotStartPoint ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot increment amount"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nSnapShotIncrement ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x488
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sub-Sample Between Input Points"
2023-08-31 01:50:54 +00:00
bool m_bSubSample ; // 0x5e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x990
2023-03-23 14:05:13 +00:00
class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "extra velocity field to write"
// MPropertyAttributeChoiceName "particlefield"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAttributeToWrite ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nLocalSpaceCP ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01cc [ 0x4 ] ; // 0x1cc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Component Scale"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecScale ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Boundary Dampening"
2023-08-31 01:50:54 +00:00
float m_flBoundaryDampening ; // 0x980
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set Velocity"
2023-08-31 01:50:54 +00:00
bool m_bSetVelocity ; // 0x984
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Lock to Surface"
2023-08-31 01:50:54 +00:00
bool m_bLockToSurface ; // 0x985
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0986 [ 0x2 ] ; // 0x986
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Vector Field Grid Spacing Override"
2023-08-31 01:50:54 +00:00
float m_flGridSpacing ; // 0x988
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x4a0
2023-03-23 14:05:13 +00:00
class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
ScalarExpressionType_t m_nExpression ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInput1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInput2 ; // 0x320
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x47c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xef0
2023-03-23 14:05:13 +00:00
class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
VectorExpressionType_t m_nExpression ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vInput1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vInput2 ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0xe78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0xe7c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize result"
2023-08-31 01:50:54 +00:00
bool m_bNormalizedOutput ; // 0xe80
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xfe0
2023-03-23 14:05:13 +00:00
class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
VectorFloatExpressionType_t m_nExpression ; // 0x1c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c4 [ 0x4 ] ; // 0x1c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vInput1 ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vInput2 ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output"
2023-08-31 01:50:54 +00:00
CParticleRemapFloatInput m_flOutputRemap ; // 0xe78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0xfd0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0xfd4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x740
2023-03-23 14:05:13 +00:00
class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random order"
2023-08-31 01:50:54 +00:00
bool m_bRandom ; // 0x1c8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01c9 [ 0x3 ] ; // 0x1c9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "random seed"
2023-08-31 01:50:54 +00:00
int32_t m_nRandomSeed ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-08-31 01:50:54 +00:00
bool m_bSetNormal ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set radius"
2023-08-31 01:50:54 +00:00
bool m_bSetRadius ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0x6 ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flIncrement ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Full Loop Increment Amount"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nFullLoopIncrement ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nSnapShotStartPoint ; // 0x488
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x5e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x480
2023-03-23 14:05:13 +00:00
class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "snapshot control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nSnapshotControlPointNumber ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set normal"
2023-08-31 01:50:54 +00:00
bool m_bSetNormal ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set radius"
2023-08-31 01:50:54 +00:00
bool m_bSetRadius ; // 0x1c9
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01ca [ 0x6 ] ; // 0x1ca
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInterpolation ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Snapshot Index T Value"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flTValue ; // 0x328
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_OP_QuantizeFloat : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x4a0
2023-03-23 14:05:13 +00:00
class C_OP_SetFloatCollection : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_Lerp ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x4a0
2023-03-23 14:05:13 +00:00
class C_OP_SetFloat : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x31c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_Lerp ; // 0x320
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x980
2023-03-23 14:05:13 +00:00
class C_OP_SetVec : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "value"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_InputValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nOutputField ; // 0x818
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x81c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_Lerp ; // 0x820
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize result"
2023-08-31 01:50:54 +00:00
bool m_bNormalizedOutput ; // 0x978
2023-04-21 10:40:43 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 5
// Size: 0xae0
2023-04-21 10:40:43 +00:00
class C_OP_DragRelativeToPlane : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "dampening"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flDragAtPlane ; // 0x1c0
// MPropertyFriendlyName "falloff"
CParticleCollectionFloatInput m_flFalloff ; // 0x318
// MPropertyFriendlyName "dampen on only one side of plane"
bool m_bDirectional ; // 0x470
private :
[[maybe_unused]] uint8_t __pad0471 [ 0x7 ] ; // 0x471
public :
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "plane normal"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecPlaneNormal ; // 0x478
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0xad0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Radius scale for particle influence"
2023-08-31 01:50:54 +00:00
float m_flRadiusScale ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_LockPoints : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "min column/particle index to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nMinCol ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max column/particle index to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxCol ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min row/particle index to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nMinRow ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max row/particle index to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxRow ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to lock to"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of current position to preserve"
2023-08-31 01:50:54 +00:00
float m_flBlendValue ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point 0"
2023-08-31 01:50:54 +00:00
int32_t m_nCP0 ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point 1"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min distance value"
2023-08-31 01:50:54 +00:00
float m_flMinInputValue ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max distance value"
2023-08-31 01:50:54 +00:00
float m_flMaxInputValue ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment"
2023-08-31 01:50:54 +00:00
bool m_bInfiniteLine ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output value at min distance"
2023-08-31 01:50:54 +00:00
float m_flMinOutputValue ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output value at max distance"
2023-08-31 01:50:54 +00:00
float m_flMaxOutputValue ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output value at min distance"
2023-08-31 01:50:54 +00:00
Vector m_vMinOutputValue ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output value at max distance"
2023-08-31 01:50:54 +00:00
Vector m_vMaxOutputValue ; // 0x1f0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_TeleportBeam : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Position Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPPosition ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Velocity Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPVelocity ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Misc Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPMisc ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Color Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPColor ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Invalid Color Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInvalidColor ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Extra Arc Data Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPExtraArcData ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Gravity"
2023-08-31 01:50:54 +00:00
Vector m_vGravity ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Arc Duration Maximum"
2023-08-31 01:50:54 +00:00
float m_flArcMaxDuration ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Segment Break"
2023-08-31 01:50:54 +00:00
float m_flSegmentBreak ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Arc Speed"
2023-08-31 01:50:54 +00:00
float m_flArcSpeed ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Alpha"
2023-08-31 01:50:54 +00:00
float m_flAlpha ; // 0x1f0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_CycleScalar : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "destination scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nDestField ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Value at start of cycle"
2023-08-31 01:50:54 +00:00
float m_flStartValue ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Value at end of cycle"
2023-08-31 01:50:54 +00:00
float m_flEndValue ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Cycle time"
2023-08-31 01:50:54 +00:00
float m_flCycleTime ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Do not repeat cycle"
2023-08-31 01:50:54 +00:00
bool m_bDoNotRepeatCycle ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Synchronize particles"
2023-08-31 01:50:54 +00:00
bool m_bSynchronizeParticles ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0x2 ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Scale Start/End Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPScale ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPFieldMin ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPFieldMax ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set value method"
2023-08-31 01:50:54 +00:00
ParticleSetMethod_t m_nSetMethod ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "start value"
2023-08-31 01:50:54 +00:00
Vector m_vStartValue ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field 1"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput1 ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input scale 1"
2023-08-31 01:50:54 +00:00
float m_flInputScale1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field 2"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldInput2 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input scale 2"
2023-08-31 01:50:54 +00:00
float m_flInputScale2 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point input 1"
2023-08-31 01:50:54 +00:00
ControlPointReference_t m_nControlPointInput1 ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point scale 1"
2023-08-31 01:50:54 +00:00
float m_flControlPointScale1 ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point input 2"
2023-08-31 01:50:54 +00:00
ControlPointReference_t m_nControlPointInput2 ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point scale 2"
2023-08-31 01:50:54 +00:00
float m_flControlPointScale2 ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nFieldOutput ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "final per component scale"
2023-08-31 01:50:54 +00:00
Vector m_vFinalOutputScale ; // 0x210
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x5d0
2023-03-23 14:05:13 +00:00
class C_OP_ColorAdjustHSL : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "hue adjust"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flHueAdjust ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "saturation adjust"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flSaturationAdjust ; // 0x318
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "lightness adjust"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flLightnessAdjust ; // 0x470
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1d0
2023-03-23 14:05:13 +00:00
class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstControlPoint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Second Control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nSecondControlPoint ; // 0x1c4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_UpdateLightSource : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "color tint"
2023-08-31 01:50:54 +00:00
Color m_vColorTint ; // 0x1c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount to multiply light brightness by"
2023-08-31 01:50:54 +00:00
float m_flBrightnessScale ; // 0x1c4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount to multiply particle system radius by to get light radius"
2023-08-31 01:50:54 +00:00
float m_flRadiusScale ; // 0x1c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum radius for created lights"
2023-08-31 01:50:54 +00:00
float m_flMinimumLightingRadius ; // 0x1cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum radius for created lights"
2023-08-31 01:50:54 +00:00
float m_flMaximumLightingRadius ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of damping of changes"
2023-08-31 01:50:54 +00:00
float m_flPositionDampingConstant ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nField ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use delta of velocity instead of constant speed"
2023-08-31 01:50:54 +00:00
bool m_bUseDeltaV ; // 0x1ec
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0xe20
2023-03-23 14:05:13 +00:00
class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nField ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInputMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInputMax ; // 0x338
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMin ; // 0x490
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMax ; // 0x5e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "intersection height CP"
2023-08-31 01:50:54 +00:00
int32_t m_nHeightControlPointNumber ; // 0x740
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0744 [ 0x4 ] ; // 0x744
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "comparison velocity"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecComparisonVelocity ; // 0x748
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hitbox set"
2023-08-31 01:50:54 +00:00
char m_HitboxSetName [ 128 ] ; // 0xda0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x740
2023-03-23 14:05:13 +00:00
class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "first input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP2 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum (-1 to 1)"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInputMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum (-1 to 1)"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInputMax ; // 0x338
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMin ; // 0x490
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOutputMax ; // 0x5e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x5f0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
ScalarExpressionType_t m_nExpression ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInput1 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInput2 ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output"
2023-08-31 01:50:54 +00:00
CParticleRemapFloatInput m_flOutputRemap ; // 0x488
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x5e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0x5e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xff0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
VectorFloatExpressionType_t m_nExpression ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecInput1 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecInput2 ; // 0x830
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output"
2023-08-31 01:50:54 +00:00
CParticleRemapFloatInput m_flOutputRemap ; // 0xe88
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0xfe0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0xfe4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0xe90
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "expression"
2023-08-31 01:50:54 +00:00
VectorExpressionType_t m_nExpression ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 1"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vInput1 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input 2"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vInput2 ; // 0x830
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize result"
2023-08-31 01:50:54 +00:00
bool m_bNormalizedOutput ; // 0xe88
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 9
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
2023-08-31 01:50:54 +00:00
// MPropertyFriendlyName "output BBox Type"
BBoxVolumeType_t m_nBBoxType ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input control point"
2023-08-31 01:50:54 +00:00
int32_t m_nInControlPointNumber ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d8
// MPropertyFriendlyName "output max control point"
// MPropertySuppressExpr "m_nBBoxType != BBOX_MINS_MAXS"
int32_t m_nOutControlPointMaxNumber ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output CP component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
// MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME"
int32_t m_nField ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume minimum in cubic units"
2023-08-31 01:50:54 +00:00
// MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME"
float m_flInputMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume maximum in cubic units"
2023-08-31 01:50:54 +00:00
// MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME"
float m_flInputMax ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
// MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME"
float m_flOutputMin ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
// MPropertySuppressExpr "m_nBBoxType != BBOX_VOLUME"
float m_flOutputMax ; // 0x1f0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume minimum in cubic units"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume maximum in cubic units"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nField ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input volume maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp rate min"
2023-08-31 01:50:54 +00:00
Vector m_vecRateMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-08-31 01:50:54 +00:00
Vector m_vecRateMax ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nChildControlPoint ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of children to set"
2023-08-31 01:50:54 +00:00
int32_t m_nNumControlPoints ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first parent control point to set from"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstSourcePoint ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set orientation"
2023-08-31 01:50:54 +00:00
bool m_bSetOrientation ; // 0x1e0
2023-05-15 01:39:33 +00:00
} ;
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0xa40
2023-05-15 01:39:33 +00:00
class C_OP_SetVariable : public CParticleFunctionPreEmission
{
public :
// MPropertyFriendlyName "Variable"
2023-08-31 01:50:54 +00:00
CParticleVariableRef m_variableReference ; // 0x1d0
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "Value"
// MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM"
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_transformInput ; // 0x210
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "Position Offset"
// MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM"
2023-08-31 01:50:54 +00:00
Vector m_positionOffset ; // 0x278
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "Rotation Offset"
// MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_TRANSFORM"
2023-08-31 01:50:54 +00:00
QAngle m_rotationOffset ; // 0x284
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "Value"
// MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_VEC3"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecInput ; // 0x290
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "Value"
// MPropertySuppressExpr "m_variableReference.m_variableType != PVAL_FLOAT"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_floatInput ; // 0x8e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 12
2023-08-31 01:50:54 +00:00
// Size: 0x220
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "set positions in world space"
2023-08-31 01:50:54 +00:00
bool m_bUseWorldLocation ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherit CP orientation"
2023-08-31 01:50:54 +00:00
bool m_bOrient ; // 0x1d1
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only set position once"
2023-08-31 01:50:54 +00:00
bool m_bSetOnce ; // 0x1d2
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d3 [ 0x1 ] ; // 0x1d3
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP2 ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "third control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP3 ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fourth control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP4 ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first control point location"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "second control point location"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP2Pos ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "third control point location"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP3Pos ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fourth control point location"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP4Pos ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to offset positions from"
2023-08-31 01:50:54 +00:00
int32_t m_nHeadLocation ; // 0x214
2023-03-15 15:20:35 +00:00
} ;
2023-05-15 01:39:33 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x8a0
2023-03-23 14:05:13 +00:00
class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "only set position once"
2023-08-31 01:50:54 +00:00
bool m_bSetOnce ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x3 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point location"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecCP1Pos ; // 0x1d8
2023-05-15 01:39:33 +00:00
// MPropertyFriendlyName "transform to offset positions from"
// MParticleInputOptional
2023-08-31 01:50:54 +00:00
CParticleTransformInput m_transformInput ; // 0x830
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min active CP"
2023-08-31 01:50:54 +00:00
int32_t m_nHeadLocationMin ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max active CP"
2023-08-31 01:50:54 +00:00
int32_t m_nHeadLocationMax ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reset rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flResetRate ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x4b0
2023-03-23 14:05:13 +00:00
class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "set positions in world space"
2023-08-31 01:50:54 +00:00
bool m_bUseWorldLocation ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inherit CP orientation"
2023-08-31 01:50:54 +00:00
bool m_bOrient ; // 0x1d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d2 [ 0x2 ] ; // 0x1d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to offset positions from"
2023-08-31 01:50:54 +00:00
int32_t m_nHeadLocation ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "re-randomize rate (-1 for once only)"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flReRandomRate ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point min"
2023-08-31 01:50:54 +00:00
Vector m_vecCPMinPos ; // 0x338
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point max"
2023-08-31 01:50:54 +00:00
Vector m_vecCPMaxPos ; // 0x344
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInterpolation ; // 0x350
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x350
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "set orientation in world space"
2023-08-31 01:50:54 +00:00
bool m_bUseWorldLocation ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d1 [ 0x1 ] ; // 0x1d1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "randomize"
2023-08-31 01:50:54 +00:00
bool m_bRandomize ; // 0x1d2
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only set orientation once"
2023-08-31 01:50:54 +00:00
bool m_bSetOnce ; // 0x1d3
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to offset orientation from"
2023-08-31 01:50:54 +00:00
int32_t m_nHeadLocation ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pitch yaw roll"
2023-08-31 01:50:54 +00:00
QAngle m_vecRotation ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pitch yaw roll max"
2023-08-31 01:50:54 +00:00
QAngle m_vecRotationB ; // 0x1e8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01f4 [ 0x4 ] ; // 0x1f4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInterpolation ; // 0x1f8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutput ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0x290
2023-03-23 14:05:13 +00:00
class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "starting control point"
2023-08-31 01:50:54 +00:00
int32_t m_nStartCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ending control point"
2023-08-31 01:50:54 +00:00
int32_t m_nEndCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point field"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCPField ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "only set distance once"
2023-08-31 01:50:54 +00:00
bool m_bSetOnce ; // 0x1e0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e1 [ 0x3 ] ; // 0x1e1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "distance maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-08-31 01:50:54 +00:00
float m_flMaxTraceLength ; // 0x1f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS Failure Scale"
2023-08-31 01:50:54 +00:00
float m_flLOSScale ; // 0x1f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-08-31 01:50:54 +00:00
bool m_bLOS ; // 0x1fc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x1fd
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad027d [ 0x3 ] ; // 0x27d
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x280
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set parent"
2023-08-31 01:50:54 +00:00
ParticleParentSetMode_t m_nSetParent ; // 0x284
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use eye orientation"
2023-08-31 01:50:54 +00:00
bool m_bOrientToEyes ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hand"
2023-08-31 01:50:54 +00:00
int32_t m_nHand ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use hand orientation"
2023-08-31 01:50:54 +00:00
bool m_bOrientToHand ; // 0x1e4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use hmd orientation"
2023-08-31 01:50:54 +00:00
bool m_bOrientToHMD ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x270
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nControlPointNumber ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "time-of-day parameter"
2023-08-31 01:50:54 +00:00
char m_pszTimeOfDayParameter [ 128 ] ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "default value"
2023-08-31 01:50:54 +00:00
Vector m_vecDefaultValue ; // 0x254
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 3
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point number to set"
2023-08-31 01:50:54 +00:00
int32_t m_nCP1 ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "center offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1d4
// MPropertyFriendlyName "set parent"
ParticleParentSetMode_t m_nSetParent ; // 0x1e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x840
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point input"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number to set velocity"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutputVel ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normalize output"
2023-08-31 01:50:54 +00:00
bool m_bNormalize ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d9 [ 0x3 ] ; // 0x1d9
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point number to set magnitude"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutputMag ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point field for magnitude"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPField ; // 0x1e0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e4 [ 0x4 ] ; // 0x1e4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "comparison velocity"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecComparisonVelocity ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point input for velocity"
2023-08-31 01:50:54 +00:00
int32_t m_nCPInput ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point output for orientation"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutput ; // 0x1d4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "duration at which to stop"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flDuration ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "destroy all particles immediately"
2023-08-31 01:50:54 +00:00
bool m_bDestroyImmediately ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "play end cap effect"
2023-08-31 01:50:54 +00:00
bool m_bPlayEndCap ; // 0x329
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x990
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotation axis"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecRotAxis ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRotRate ; // 0x828
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x980
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "local space control point"
2023-08-31 01:50:54 +00:00
int32_t m_nLocalCP ; // 0x984
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-08-31 01:50:54 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nInputControlPoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputControlPoint ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nInputField ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputField ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1ec
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use the derivative"
2023-08-31 01:50:54 +00:00
bool m_bDerivative ; // 0x1f0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01f1 [ 0x3 ] ; // 0x1f1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interpolation"
2023-08-31 01:50:54 +00:00
float m_flInterpRate ; // 0x1f4
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Target color control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nColorCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Color Gem Enable control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nColorGemEnableCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Default HSV Color"
2023-08-31 01:50:54 +00:00
Color m_DefaultHSVColor ; // 0x1dc
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 12
// Size: 0x3e0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point to set"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOut ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point to trace from"
2023-08-31 01:50:54 +00:00
int32_t m_nCPIn ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace update rate"
2023-08-31 01:50:54 +00:00
float m_flUpdateRate ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max trace length"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flTraceLength ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset start point amount"
2023-08-31 01:50:54 +00:00
float m_flStartOffset ; // 0x338
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "offset end point amount"
2023-08-31 01:50:54 +00:00
float m_flOffset ; // 0x33c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace direction override"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecTraceDir ; // 0x340
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace collision group"
2023-08-31 01:50:54 +00:00
char m_CollisionGroupName [ 128 ] ; // 0x34c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trace Set"
2023-08-31 01:50:54 +00:00
ParticleTraceSet_t m_nTraceSet ; // 0x3cc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set to trace endpoint if no collision"
2023-08-31 01:50:54 +00:00
bool m_bSetToEndpoint ; // 0x3d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "trace to closest surface along all cardinal directions"
2023-08-31 01:50:54 +00:00
bool m_bTraceToClosestSurface ; // 0x3d1
// MPropertyFriendlyName "include water"
bool m_bIncludeWater ; // 0x3d2
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-08-31 01:50:54 +00:00
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "CP to point towards"
2023-08-31 01:50:54 +00:00
int32_t m_nInputCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to set"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Interpolation"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInterpolation ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "2D Orient"
2023-08-31 01:50:54 +00:00
bool m_b2DOrientation ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Avoid Vertical Axis Singularity"
2023-08-31 01:50:54 +00:00
bool m_bAvoidSingularity ; // 0x331
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Point Away"
2023-08-31 01:50:54 +00:00
bool m_bPointAway ; // 0x332
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 6
// Size: 0x340
2023-03-23 14:05:13 +00:00
class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first child to enable"
2023-08-31 01:50:54 +00:00
int32_t m_nFirstChild ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max # of children to enable (-1 for max particle count)"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nNumChildrenToEnable ; // 0x1d8
// MPropertyFriendlyName "remove children when particle count lowers"
bool m_bDisableChildren ; // 0x330
// MPropertyFriendlyName "play endcap when children are removed"
// MPropertySuppressExpr "!m_bDisableChildren"
bool m_bPlayEndcapOnStop ; // 0x331
// MPropertyFriendlyName "destroy particles immediately when child is removed"
// MPropertySuppressExpr "!m_bDisableChildren"
bool m_bDestroyImmediately ; // 0x332
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x5e0
2023-03-23 14:05:13 +00:00
class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nChildGroupID ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "first child to enable"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nFirstChild ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "# of children to enable"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_nNumChildrenToEnable ; // 0x480
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "play endcap when children are removed"
2023-08-31 01:50:54 +00:00
bool m_bPlayEndcapOnStop ; // 0x5d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "destroy particles immediately when child is removed"
2023-08-31 01:50:54 +00:00
bool m_bDestroyImmediately ; // 0x5d9
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "play when emission ends"
2023-08-31 01:50:54 +00:00
bool m_bFireOnEmissionEnd ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wait for children to finish"
2023-08-31 01:50:54 +00:00
bool m_bIncludeChildren ; // 0x1d1
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point"
2023-08-31 01:50:54 +00:00
int32_t m_ControlPoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-08-31 01:50:54 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputControlPoint ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutputField ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input minimum"
2023-08-31 01:50:54 +00:00
float m_flInputMin ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "input maximum"
2023-08-31 01:50:54 +00:00
float m_flInputMax ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output minimum"
2023-08-31 01:50:54 +00:00
float m_flOutputMin ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output maximum"
2023-08-31 01:50:54 +00:00
float m_flOutputMax ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound stack name"
2023-08-31 01:50:54 +00:00
CUtlString m_StackName ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound operator name"
2023-08-31 01:50:54 +00:00
CUtlString m_OperatorName ; // 0x1f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound field name"
2023-08-31 01:50:54 +00:00
CUtlString m_FieldName ; // 0x1f8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x1e0
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "source CP"
2023-08-31 01:50:54 +00:00
int32_t m_nSourceCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "dest CP"
2023-08-31 01:50:54 +00:00
int32_t m_nDestCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "dest control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPField ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x350
2023-03-23 14:05:13 +00:00
class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "source CP"
2023-08-31 01:50:54 +00:00
int32_t m_nSourceCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to set to surface"
2023-08-31 01:50:54 +00:00
int32_t m_nDestCP ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to set to surface current flow velocity"
// MPropertySuppressExpr "mod != hlx"
2023-08-31 01:50:54 +00:00
int32_t m_nFlowCP ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP to set component of if water"
2023-08-31 01:50:54 +00:00
int32_t m_nActiveCP ; // 0x1dc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "CP component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nActiveCPField ; // 0x1e0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01e4 [ 0x4 ] ; // 0x1e4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "retest rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRetestRate ; // 0x1e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "adaptive retest on moving surface"
2023-08-31 01:50:54 +00:00
bool m_bAdaptiveThreshold ; // 0x340
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x5f0
2023-03-23 14:05:13 +00:00
class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Within-Cluster Refire Time"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flClusterRefireTime ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flClusterSize ; // 0x330
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Cluster Cooldown Time"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flClusterCooldown ; // 0x488
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "limit active children to parent particle count"
2023-08-31 01:50:54 +00:00
bool m_bLimitChildCount ; // 0x5e0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "group ID to affect"
2023-08-31 01:50:54 +00:00
int32_t m_nChildGroupID ; // 0x1d0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01d4 [ 0x4 ] ; // 0x1d4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Number of Children to Use"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flNumberOfChildren ; // 0x1d8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-08-31 01:50:54 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_SetSimulationRate : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "simulation timescale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flSimulationScale ; // 0x1d0
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x1f0
2023-03-23 14:05:13 +00:00
class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "source Control Point in World"
2023-08-31 01:50:54 +00:00
int32_t m_nCPIn ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Source Control Point offset"
// MVectorIsCoordinate
2023-08-31 01:50:54 +00:00
Vector m_vecCP1Pos ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Set control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOut ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutField ; // 0x1e4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Ss Pos and Dot OUT CP"
2023-08-31 01:50:54 +00:00
int32_t m_nCPSSPosOut ; // 0x1e8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 15
2023-08-31 01:50:54 +00:00
// Size: 0x10b0
2023-03-23 14:05:13 +00:00
class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "snapshot control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPSnapshot ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPStartPnt ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end control point number"
2023-08-31 01:50:54 +00:00
int32_t m_nCPEndPnt ; // 0x1d8
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad01dc [ 0x4 ] ; // 0x1dc
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Recursion Depth"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flSegments ; // 0x1e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOffset ; // 0x338
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Offset Decay"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flOffsetDecay ; // 0x490
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Recalculation Rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRecalcRate ; // 0x5e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "UV Scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flUVScale ; // 0x740
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "UV Offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flUVOffset ; // 0x898
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Branch Split Rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flSplitRate ; // 0x9f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Branch Twist"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flBranchTwist ; // 0xb48
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Branch Behavior"
2023-08-31 01:50:54 +00:00
ParticleLightnintBranchBehavior_t m_nBranchBehavior ; // 0xca0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0ca4 [ 0x4 ] ; // 0xca4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Start Radius"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRadiusStart ; // 0xca8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "End Radius"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRadiusEnd ; // 0xe00
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Dedicated Particle Pool Count"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flDedicatedPool ; // 0xf58
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 5
2023-08-31 01:50:54 +00:00
// Size: 0x840
2023-03-23 14:05:13 +00:00
class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "control point to sample wind"
2023-08-31 01:50:54 +00:00
int32_t m_nCP ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutput ; // 0x1d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "wind scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecScale ; // 0x1d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set magnitude instead of vector"
2023-08-31 01:50:54 +00:00
bool m_bSetMagnitude ; // 0x830
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0831 [ 0x3 ] ; // 0x831
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "magnitude output component"
// MPropertyAttributeChoiceName "vector_component"
// MPropertySuppressExpr "!m_bSetMagnitude"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0x834
} ;
// Alignment: 5
// Size: 0x340
class C_OP_SetGravityToCP : public CParticleFunctionPreEmission
{
public :
// MPropertyFriendlyName "control point to sample gravity"
int32_t m_nCPInput ; // 0x1d0
// MPropertyFriendlyName "output control point"
int32_t m_nCPOutput ; // 0x1d4
// MPropertyFriendlyName "gravity scale"
CParticleCollectionFloatInput m_flScale ; // 0x1d8
// MPropertyFriendlyName "set orientation"
bool m_bSetOrientation ; // 0x330
// MPropertyFriendlyName "set gravity orientation to Z Down (instead of X)"
// MPropertySuppressExpr "!m_bSetOrientation"
bool m_bSetZDown ; // 0x331
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x490
2023-03-23 14:05:13 +00:00
class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "input"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flInputValue ; // 0x1d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output control point"
2023-08-31 01:50:54 +00:00
int32_t m_nCPOutput ; // 0x328
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-08-31 01:50:54 +00:00
int32_t m_nOutVectorField ; // 0x32c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "interval to snap to"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flQuantizeValue ; // 0x330
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 1
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RenderPoints : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hMaterial ; // 0x200
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0x2740
2023-03-23 14:05:13 +00:00
class CBaseTrailRenderer : public CBaseRendererSource2
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyStartGroup "Orientation"
// MPropertyFriendlyName "orientation type"
// MPropertySortPriority "750"
2023-08-31 01:50:54 +00:00
ParticleOrientationChoiceList_t m_nOrientationType ; // 0x2470
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orientation control point"
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-08-31 01:50:54 +00:00
int32_t m_nOrientationControlPoint ; // 0x2474
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Screenspace Fading and culling"
// MPropertyFriendlyName "minimum visual screen-size"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
float m_flMinSize ; // 0x2478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum visual screen-size"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
float m_flMaxSize ; // 0x247c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade screen-size"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flStartFadeSize ; // 0x2480
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade and cull screen-size"
// MPropertySortPriority "900"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flEndFadeSize ; // 0x25d8
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Trail UV Controls"
// MPropertyFriendlyName "Clamp Non-Sheet texture V coords"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
bool m_bClampV ; // 0x2730
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 20
2023-08-31 01:50:54 +00:00
// Size: 0x3990
2023-03-23 14:05:13 +00:00
class C_OP_RenderTrails : public CBaseTrailRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyStartGroup "Screenspace Fading and culling"
// MPropertyFriendlyName "enable fading and clamping"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
bool m_bEnableFadingAndClamping ; // 0x2740
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad2741 [ 0x3 ] ; // 0x2741
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flStartFadeDot ; // 0x2744
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flEndFadeDot ; // 0x2748
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Trail Length"
// MPropertyFriendlyName "Anchor point source"
// MPropertyAttributeChoiceName "particlefield_vector"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nPrevPntSource ; // 0x274c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max length"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
float m_flMaxLength ; // 0x2750
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min length"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
float m_flMinLength ; // 0x2754
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreDT ; // 0x2758
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad2759 [ 0x3 ] ; // 0x2759
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "constrain radius to no more than this times the length"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
float m_flConstrainRadiusToLengthRatio ; // 0x275c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount to scale trail length by"
2023-08-31 01:50:54 +00:00
float m_flLengthScale ; // 0x2760
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "how long before a trail grows to its full length"
2023-08-31 01:50:54 +00:00
float m_flLengthFadeInTime ; // 0x2764
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Trail Head & Tail"
// MPropertyFriendlyName "head taper scale"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusHeadTaper ; // 0x2768
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "head color scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecHeadColorScale ; // 0x28c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "head alpha scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flHeadAlphaScale ; // 0x2f18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tail taper scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRadiusTaper ; // 0x3070
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tail color scale"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecTailColorScale ; // 0x31c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tail alpha scale"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flTailAlphaScale ; // 0x3820
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Trail UV Controls"
// MPropertyFriendlyName "texture UV horizontal Scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nHorizCropField ; // 0x3978
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "texture UV vertical Scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nVertCropField ; // 0x397c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Trail forward shift (fraction)"
2023-08-31 01:50:54 +00:00
float m_flForwardShift ; // 0x3980
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI"
2023-08-31 01:50:54 +00:00
bool m_bFlipUVBasedOnPitchYaw ; // 0x3984
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 30
2023-08-31 01:50:54 +00:00
// Size: 0x28e0
2023-03-23 14:05:13 +00:00
class C_OP_RenderRopes : public CBaseRendererSource2
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyStartGroup "Screenspace Fading and culling"
// MPropertyFriendlyName "enable fading and clamping"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
bool m_bEnableFadingAndClamping ; // 0x2470
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad2471 [ 0x3 ] ; // 0x2471
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum visual screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-08-31 01:50:54 +00:00
float m_flMinSize ; // 0x2474
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum visual screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-08-31 01:50:54 +00:00
float m_flMaxSize ; // 0x2478
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-08-31 01:50:54 +00:00
float m_flStartFadeSize ; // 0x247c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade and cull screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-08-31 01:50:54 +00:00
float m_flEndFadeSize ; // 0x2480
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "start fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flStartFadeDot ; // 0x2484
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "end fade dot product of normal vs view"
// MPropertySortPriority "1000"
2023-08-31 01:50:54 +00:00
float m_flEndFadeDot ; // 0x2488
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rope Tesselation"
// MPropertyFriendlyName "amount to taper the width of the trail end by"
2023-08-31 01:50:54 +00:00
float m_flRadiusTaper ; // 0x248c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minium number of quads per render segment"
// MPropertySortPriority "850"
2023-08-31 01:50:54 +00:00
int32_t m_nMinTesselation ; // 0x2490
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum number of quads per render segment"
2023-08-31 01:50:54 +00:00
int32_t m_nMaxTesselation ; // 0x2494
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tesselation resolution scale factor"
2023-08-31 01:50:54 +00:00
float m_flTessScale ; // 0x2498
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad249c [ 0x4 ] ; // 0x249c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Rope Global UV Controls"
// MPropertyFriendlyName "global texture V World Size"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flTextureVWorldSize ; // 0x24a0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global texture V Scroll Rate"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flTextureVScrollRate ; // 0x25f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global texture V Offset"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flTextureVOffset ; // 0x2750
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "global texture V Params CP"
2023-08-31 01:50:54 +00:00
int32_t m_nTextureVParamsCP ; // 0x28a8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Clamp Non-Sheet texture V coords"
2023-08-31 01:50:54 +00:00
bool m_bClampV ; // 0x28ac
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28ad [ 0x3 ] ; // 0x28ad
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rope Global UV Controls/CP Scaling"
// MPropertyFriendlyName "scale CP start"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleCP1 ; // 0x28b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale CP end"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleCP2 ; // 0x28b4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale V world size by CP distance"
2023-08-31 01:50:54 +00:00
float m_flScaleVSizeByControlPointDistance ; // 0x28b8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale V scroll rate by CP distance"
2023-08-31 01:50:54 +00:00
float m_flScaleVScrollByControlPointDistance ; // 0x28bc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale V offset by CP distance"
2023-08-31 01:50:54 +00:00
float m_flScaleVOffsetByControlPointDistance ; // 0x28c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28c4 [ 0x1 ] ; // 0x28c4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rope Global UV Controls"
// MPropertyFriendlyName "Use scalar attribute for texture coordinate"
2023-08-31 01:50:54 +00:00
bool m_bUseScalarForTextureCoordinate ; // 0x28c5
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28c6 [ 0x2 ] ; // 0x28c6
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scalar to use for texture coordinate"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate ; // 0x28c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale value to map attribute to texture coordinate"
// MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate"
2023-08-31 01:50:54 +00:00
float m_flScalarAttributeTextureCoordScale ; // 0x28cc
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Rope Order Controls"
// MPropertyFriendlyName "reverse point order"
// MPropertySortPriority "800"
2023-08-31 01:50:54 +00:00
bool m_bReverseOrder ; // 0x28d0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Closed loop"
2023-08-31 01:50:54 +00:00
bool m_bClosedLoop ; // 0x28d1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad28d2 [ 0x2 ] ; // 0x28d2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Orientation"
// MPropertyFriendlyName "orientation_type"
// MPropertySortPriority "750"
2023-08-31 01:50:54 +00:00
ParticleOrientationChoiceList_t m_nOrientationType ; // 0x28d4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attribute to use for normal"
// MPropertyAttributeChoiceName "particlefield_vector"
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nVectorFieldForOrientation ; // 0x28d8
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Material"
// MPropertyFriendlyName "draw as opaque"
2023-08-31 01:50:54 +00:00
bool m_bDrawAsOpaque ; // 0x28dc
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Orientation"
// MPropertyFriendlyName "generate normals for cylinder"
2023-08-31 01:50:54 +00:00
bool m_bGenerateNormals ; // 0x28dd
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-05-15 01:39:33 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_OP_RenderAsModels : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "models"
// MParticleRequireDefaultArrayEntry
2023-05-15 01:39:33 +00:00
CUtlVector < ModelReference_t > m_ModelList ; // 0x200
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0218 [ 0x4 ] ; // 0x218
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale factor for radius"
2023-05-15 01:39:33 +00:00
float m_flModelScale ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale model to match particle size"
2023-05-15 01:39:33 +00:00
bool m_bFitToModelSize ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "non-uniform scaling"
2023-05-15 01:39:33 +00:00
bool m_bNonUniformScaling ; // 0x221
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0222 [ 0x2 ] ; // 0x222
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "X axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nXAxisScalingAttribute ; // 0x224
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Y axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nYAxisScalingAttribute ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Z axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nZAxisScalingAttribute ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model size cull bloat"
// MPropertyAttributeChoiceName "particlefield_size_cull_bloat"
2023-05-15 01:39:33 +00:00
int32_t m_nSizeCullBloat ; // 0x230
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_OP_RenderLights : public C_OP_RenderPoints
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "animation rate"
2023-05-15 01:39:33 +00:00
float m_flAnimationRate ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "animation type"
2023-05-15 01:39:33 +00:00
AnimationType_t m_nAnimationType ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set animation value in FPS"
2023-05-15 01:39:33 +00:00
bool m_bAnimateInFPS ; // 0x218
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0219 [ 0x3 ] ; // 0x219
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "minimum visual size"
2023-05-15 01:39:33 +00:00
float m_flMinSize ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "maximum visual size"
2023-05-15 01:39:33 +00:00
float m_flMaxSize ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "size at which to start fading"
2023-05-15 01:39:33 +00:00
float m_flStartFadeSize ; // 0x224
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "size at which to fade away"
2023-05-15 01:39:33 +00:00
float m_flEndFadeSize ; // 0x228
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 6
// Size: 0x650
2023-03-23 14:05:13 +00:00
class C_OP_RenderBlobs : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "cube width"
2023-05-15 01:39:33 +00:00
CParticleCollectionRendererFloatInput m_cubeWidth ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cutoff radius"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_cutoffRadius ; // 0x358
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "render radius"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_renderRadius ; // 0x4b0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)"
2023-08-31 01:50:54 +00:00
int32_t m_nScaleCP ; // 0x608
private :
[[maybe_unused]] uint8_t __pad060c [ 0x4 ] ; // 0x60c
public :
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
// MPropertySortPriority "600"
CUtlVector < MaterialVariable_t > m_MaterialVars ; // 0x610
private :
[[maybe_unused]] uint8_t __pad0628 [ 0x18 ] ; // 0x628
public :
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hMaterial ; // 0x640
} ;
// Alignment: 6
// Size: 0x620
class C_OP_RenderGpuImplicit : public CParticleFunctionRenderer
{
public :
// MPropertySortPriority "-1"
// MPropertyDescription "Honors the per-particle radius (multiplied by radius scale) but is more expensive to render. Some particles with large radii can make things much costlier"
bool m_bUsePerParticleRadius ; // 0x200
private :
[[maybe_unused]] uint8_t __pad0201 [ 0x7 ] ; // 0x201
public :
CParticleCollectionRendererFloatInput m_fGridSize ; // 0x208
CParticleCollectionRendererFloatInput m_fRadiusScale ; // 0x360
// MPropertyAttributeRange ".1 .95"
CParticleCollectionRendererFloatInput m_fIsosurfaceThreshold ; // 0x4b8
// MPropertyFriendlyName "scale CP (grid size/particle radius/threshold = x/y/z)"
int32_t m_nScaleCP ; // 0x610
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0614 [ 0x4 ] ; // 0x614
2023-03-23 14:05:13 +00:00
public :
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hMaterial ; // 0x618
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "rotate rate(dps)"
2023-05-15 01:39:33 +00:00
float m_flRotateRateDegrees ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "forward angle"
2023-05-15 01:39:33 +00:00
float m_flForwardDegrees ; // 0x204
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 49
// Size: 0x25f0
2023-03-23 14:05:13 +00:00
class C_OP_RenderModels : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Only Render in effects bloom pass"
// MPropertySortPriority "1100"
2023-05-15 01:39:33 +00:00
bool m_bOnlyRenderInEffectsBloomPass ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Only Render in effects water pass"
// MPropertySortPriority "1050"
// MPropertySuppressExpr "mod != csgo"
2023-05-15 01:39:33 +00:00
bool m_bOnlyRenderInEffectsWaterPass ; // 0x201
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Use Mixed Resolution Rendering"
// MPropertySortPriority "1200"
2023-05-15 01:39:33 +00:00
bool m_bUseMixedResolutionRendering ; // 0x202
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Only Render in effects game overlay pass"
// MPropertySortPriority "1210"
// MPropertySuppressExpr "mod != csgo"
2023-05-15 01:39:33 +00:00
bool m_bOnlyRenderInEffecsGameOverlay ; // 0x203
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0204 [ 0x4 ] ; // 0x204
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "models"
// MParticleRequireDefaultArrayEntry
// MPropertyAutoExpandSelf
// MPropertySortPriority "775"
2023-05-15 01:39:33 +00:00
CUtlVector < ModelReference_t > m_ModelList ; // 0x208
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0220 [ 0x4 ] ; // 0x220
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "bodygroup field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nBodyGroupField ; // 0x224
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "submodel field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nSubModelField ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Orientation"
// MPropertyFriendlyName "ignore normal"
// MPropertySortPriority "750"
2023-05-15 01:39:33 +00:00
bool m_bIgnoreNormal ; // 0x22c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orient model z to normal"
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_bIgnoreNormal"
2023-05-15 01:39:33 +00:00
bool m_bOrientZ ; // 0x22d
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "center mesh"
// MPropertySortPriority "750"
2023-05-15 01:39:33 +00:00
bool m_bCenterOffset ; // 0x22e
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad022f [ 0x1 ] ; // 0x22f
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model local offset"
// MPropertySortPriority "750"
2023-05-15 01:39:33 +00:00
CPerParticleVecInput m_vecLocalOffset ; // 0x230
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model local rotation (pitch/yaw/roll)"
// MPropertySortPriority "750"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecLocalRotation ; // 0x888
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Model Scale"
// MPropertyFriendlyName "ignore radius"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreRadius ; // 0xee0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0ee1 [ 0x3 ] ; // 0xee1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model scale CP"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
int32_t m_nModelScaleCP ; // 0xee4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model component scale"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CPerParticleVecInput m_vecComponentScale ; // 0xee8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "apply scales in local model space"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
bool m_bLocalScale ; // 0x1540
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "animated"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
bool m_bAnimated ; // 0x1541
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1542 [ 0x2 ] ; // 0x1542
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "animation rate"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
float m_flAnimationRate ; // 0x1544
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "scale animation rate"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
bool m_bScaleAnimationRate ; // 0x1548
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "force looping animations"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
bool m_bForceLoopingAnimation ; // 0x1549
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reset animation frame on stop"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
bool m_bResetAnimOnStop ; // 0x154a
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "set animation frame manually"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
bool m_bManualAnimFrame ; // 0x154b
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "animation rate scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAnimationScaleField ; // 0x154c
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "animation sequence field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAnimationField ; // 0x1550
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "manual animation frame field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nManualFrameField ; // 0x1554
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "activity override"
2023-04-21 10:40:43 +00:00
// MPropertySuppressExpr "mod != dota"
2023-03-15 15:20:35 +00:00
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
char m_ActivityName [ 256 ] ; // 0x1558
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "sequence override"
// MPropertySuppressExpr "mod == dota"
// MPropertySortPriority "500"
2023-08-31 01:50:54 +00:00
char m_SequenceName [ 256 ] ; // 0x1658
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Enable Cloth Simulation"
2023-08-31 01:50:54 +00:00
bool m_bEnableClothSimulation ; // 0x1758
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1759 [ 0x7 ] ; // 0x1759
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Material"
// MPropertyFriendlyName "material override"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hOverrideMaterial ; // 0x1760
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "override translucent materials"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
bool m_bOverrideTranslucentMaterials ; // 0x1768
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1769 [ 0x7 ] ; // 0x1769
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "skin number"
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_nSkin ; // 0x1770
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
// MPropertySortPriority "600"
2023-08-31 01:50:54 +00:00
CUtlVector < MaterialVariable_t > m_MaterialVars ; // 0x18c8
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Model Overrides"
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "input model"
2023-08-31 01:50:54 +00:00
CParticleModelInput m_modelInput ; // 0x18e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model LOD"
2023-08-31 01:50:54 +00:00
int32_t m_nLOD ; // 0x1940
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model override economy loadout slot type"
2023-08-31 01:50:54 +00:00
char m_EconSlotName [ 256 ] ; // 0x1944
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)"
2023-08-31 01:50:54 +00:00
bool m_bOriginalModel ; // 0x1a44
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "suppress tinting of the model"
2023-08-31 01:50:54 +00:00
bool m_bSuppressTint ; // 0x1a45
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)"
2023-08-31 01:50:54 +00:00
bool m_bUseRawMeshGroup ; // 0x1a46
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "disable shadows"
2023-08-31 01:50:54 +00:00
bool m_bDisableShadows ; // 0x1a47
// MPropertyFriendlyName "accept decals"
bool m_bAcceptsDecals ; // 0x1a48
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "forcedrawinterlevedwithsiblings"
2023-08-31 01:50:54 +00:00
bool m_bForceDrawInterlevedWithSiblings ; // 0x1a49
// MPropertyFriendlyName "do not draw in particle pass"
bool m_bDoNotDrawInParticlePass ; // 0x1a4a
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "render attribute"
2023-08-31 01:50:54 +00:00
char m_szRenderAttribute [ 260 ] ; // 0x1a4b
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1b4f [ 0x1 ] ; // 0x1b4f
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
// MPropertyFriendlyName "Radius Scale"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRadiusScale ; // 0x1b50
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flAlphaScale ; // 0x1ca8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "rotation roll scale"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRollScale ; // 0x1e00
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAlpha2Field ; // 0x1f58
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1f5c [ 0x4 ] ; // 0x1f5c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecColorScale ; // 0x1f60
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0x25b8
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0xb50
2023-03-23 14:05:13 +00:00
class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Control Point for Model"
2023-05-15 01:39:33 +00:00
int32_t m_nMaterialControlPoint ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "proxy type"
2023-05-15 01:39:33 +00:00
MaterialProxyType_t m_nProxyType ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
2023-05-15 01:39:33 +00:00
CUtlVector < MaterialVariable_t > m_MaterialVars ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material override"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hOverrideMaterial ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material override enable"
2023-05-15 01:39:33 +00:00
CParticleCollectionFloatInput m_flMaterialOverrideEnabled ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model tint"
2023-08-31 01:50:54 +00:00
CParticleCollectionVecInput m_vecColorScale ; // 0x380
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model alpha"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flAlpha ; // 0x9d8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "model tint blend type"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0xb30
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 11
2023-05-15 01:39:33 +00:00
// Size: 0x250
2023-03-23 14:05:13 +00:00
class C_OP_RenderProjected : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "project on characters"
2023-05-15 01:39:33 +00:00
bool m_bProjectCharacter ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "project on world"
2023-05-15 01:39:33 +00:00
bool m_bProjectWorld ; // 0x201
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "project on water"
2023-05-15 01:39:33 +00:00
bool m_bProjectWater ; // 0x202
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "flip horizontal"
2023-05-15 01:39:33 +00:00
bool m_bFlipHorizontal ; // 0x203
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "enable projected depth controls"
2023-05-15 01:39:33 +00:00
bool m_bEnableProjectedDepthControls ; // 0x204
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0205 [ 0x3 ] ; // 0x205
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min projection depth"
// MPropertySuppressExpr "!m_bEnableProjectedDepthControls"
2023-05-15 01:39:33 +00:00
float m_flMinProjectionDepth ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max projection depth"
// MPropertySuppressExpr "!m_bEnableProjectedDepthControls"
2023-05-15 01:39:33 +00:00
float m_flMaxProjectionDepth ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeIMaterial2 > m_hProjectedMaterial ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sheet animation time scale"
2023-05-15 01:39:33 +00:00
float m_flAnimationTimeScale ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "orient to normal"
2023-05-15 01:39:33 +00:00
bool m_bOrientToNormal ; // 0x21c
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad021d [ 0x3 ] ; // 0x21d
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
2023-05-15 01:39:33 +00:00
CUtlVector < MaterialVariable_t > m_MaterialVars ; // 0x220
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 16
2023-08-31 01:50:54 +00:00
// Size: 0x8a0
2023-03-23 14:05:13 +00:00
class C_OP_RenderDeferredLight : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "projected texture use alpha test window"
// MPropertySuppressExpr "!m_bUseTexture"
2023-05-15 01:39:33 +00:00
bool m_bUseAlphaTestWindow ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "projected texture light"
2023-05-15 01:39:33 +00:00
bool m_bUseTexture ; // 0x201
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0202 [ 0x2 ] ; // 0x202
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
// MPropertyFriendlyName "radius scale"
// MPropertySortPriority "700"
2023-05-15 01:39:33 +00:00
float m_flRadiusScale ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
2023-05-15 01:39:33 +00:00
float m_flAlphaScale ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nAlpha2Field ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecColorScale ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0x868
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup
// MPropertyFriendlyName "spotlight distance"
2023-08-31 01:50:54 +00:00
float m_flLightDistance ; // 0x86c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light start falloff"
2023-08-31 01:50:54 +00:00
float m_flStartFalloff ; // 0x870
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spotlight distance falloff"
2023-08-31 01:50:54 +00:00
float m_flDistanceFalloff ; // 0x874
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "spotlight FoV"
2023-08-31 01:50:54 +00:00
float m_flSpotFoV ; // 0x878
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "projected texture alpha test point scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySuppressExpr "!m_bUseTexture"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAlphaTestPointField ; // 0x87c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "projected texture alpha test range scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySuppressExpr "!m_bUseTexture"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAlphaTestRangeField ; // 0x880
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "projected texture alpha test sharpness scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySuppressExpr "!m_bUseTexture"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nAlphaTestSharpnessField ; // 0x884
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "texture"
// MPropertySuppressExpr "!m_bUseTexture"
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_hTexture ; // 0x888
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "HSV Shift Control Point"
2023-08-31 01:50:54 +00:00
int32_t m_nHSVShiftControlPoint ; // 0x890
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 29
2023-08-31 01:50:54 +00:00
// Size: 0x1380
2023-03-23 14:05:13 +00:00
class C_OP_RenderStandardLight : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "light type"
2023-05-15 01:39:33 +00:00
ParticleLightTypeChoiceList_t m_nLightType ; // 0x200
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0204 [ 0x4 ] ; // 0x204
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vecColorScale ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "color blend type"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0x860
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0864 [ 0x4 ] ; // 0x864
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "intensity"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flIntensity ; // 0x868
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cast shadows"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-08-31 01:50:54 +00:00
bool m_bCastShadows ; // 0x9c0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad09c1 [ 0x7 ] ; // 0x9c1
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "inner cone angle"
// MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flTheta ; // 0x9c8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "outer cone angle"
// MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flPhi ; // 0xb20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light radius multiplier"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRadiusMultiplier ; // 0xc78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "attenuation type"
2023-08-31 01:50:54 +00:00
StandardLightingAttenuationStyle_t m_nAttenuationStyle ; // 0xdd0
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0dd4 [ 0x4 ] ; // 0xdd4
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff linearity"
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flFalloffLinearity ; // 0xdd8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff fifty percent"
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flFiftyPercentFalloff ; // 0xf30
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "falloff zero percent"
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flZeroPercentFalloff ; // 0x1088
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "render diffuse"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-08-31 01:50:54 +00:00
bool m_bRenderDiffuse ; // 0x11e0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "render specular"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-08-31 01:50:54 +00:00
bool m_bRenderSpecular ; // 0x11e1
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad11e2 [ 0x6 ] ; // 0x11e2
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light cookie string"
2023-08-31 01:50:54 +00:00
CUtlString m_lightCookie ; // 0x11e8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "light priority"
2023-08-31 01:50:54 +00:00
int32_t m_nPriority ; // 0x11f0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fog lighting mode"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-08-31 01:50:54 +00:00
ParticleLightFogLightingMode_t m_nFogLightingMode ; // 0x11f4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fog contribution"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-08-31 01:50:54 +00:00
CParticleCollectionRendererFloatInput m_flFogContribution ; // 0x11f8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "capsule behavior"
2023-08-31 01:50:54 +00:00
ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior ; // 0x1350
2023-03-15 15:20:35 +00:00
// MPropertyStartGroup "Capsule Light Controls"
// MPropertyFriendlyName "capsule length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-08-31 01:50:54 +00:00
float m_flCapsuleLength ; // 0x1354
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "reverse point order"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-08-31 01:50:54 +00:00
bool m_bReverseOrder ; // 0x1358
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Closed loop"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-08-31 01:50:54 +00:00
bool m_bClosedLoop ; // 0x1359
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad135a [ 0x2 ] ; // 0x135a
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Anchor point source"
// MPropertyAttributeChoiceName "particlefield_vector"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
ParticleAttributeIndex_t m_nPrevPntSource ; // 0x135c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "max length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
float m_flMaxLength ; // 0x1360
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "min length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
float m_flMinLength ; // 0x1364
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "ignore delta time"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
bool m_bIgnoreDT ; // 0x1368
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad1369 [ 0x3 ] ; // 0x1369
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "constrain radius to no more than this times the length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
float m_flConstrainRadiusToLengthRatio ; // 0x136c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount to scale trail length by"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
float m_flLengthScale ; // 0x1370
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "how long before a trail grows to its full length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-08-31 01:50:54 +00:00
float m_flLengthFadeInTime ; // 0x1374
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 14
// Size: 0x11f0
2023-03-23 14:05:13 +00:00
class C_OP_RenderOmni2Light : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Type"
2023-05-15 01:39:33 +00:00
ParticleOmni2LightTypeChoiceList_t m_nLightType ; // 0x200
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0204 [ 0x4 ] ; // 0x204
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Color Blend"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vColorBlend ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Color Blend Type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0x860
ParticleLightUnitChoiceList_t m_nBrightnessUnit ; // 0x864
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Lumens"
// MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flBrightnessLumens ; // 0x868
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Candelas"
// MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flBrightnessCandelas ; // 0x9c0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Shadows"
// MPropertySuppressExpr "mod == csgo"
2023-08-31 01:50:54 +00:00
bool m_bCastShadows ; // 0xb18
2023-03-23 14:05:13 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad0b19 [ 0x7 ] ; // 0xb19
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Light Radius"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flLuminaireRadius ; // 0xb20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Skirt"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flSkirt ; // 0xc78
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Range"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flRange ; // 0xdd0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Inner Cone Angle"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flInnerConeAngle ; // 0xf28
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Outer Cone Angle"
2023-08-31 01:50:54 +00:00
CPerParticleFloatInput m_flOuterConeAngle ; // 0x1080
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Cookie"
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_hLightCookie ; // 0x11d8
// MPropertyFriendlyName "Cookie is Spherically Mapped"
bool m_bSphericalCookie ; // 0x11e0
2023-04-21 10:40:43 +00:00
} ;
// Alignment: 7
2023-08-31 01:50:54 +00:00
// Size: 0xdd0
2023-04-21 10:40:43 +00:00
class C_OP_RenderLightBeam : public CParticleFunctionRenderer
{
public :
// MPropertyFriendlyName "Color Blend"
2023-05-15 01:39:33 +00:00
CParticleCollectionVecInput m_vColorBlend ; // 0x200
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "Color Blend Type"
// MPropertySortPriority "700"
2023-08-31 01:50:54 +00:00
ParticleColorBlendType_t m_nColorBlendType ; // 0x858
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad085c [ 0x4 ] ; // 0x85c
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "Lumens Per Meter"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flBrightnessLumensPerMeter ; // 0x860
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "Shadows"
// MPropertySuppressExpr "mod == csgo"
2023-08-31 01:50:54 +00:00
bool m_bCastShadows ; // 0x9b8
2023-04-21 10:40:43 +00:00
private :
2023-08-31 01:50:54 +00:00
[[maybe_unused]] uint8_t __pad09b9 [ 0x7 ] ; // 0x9b9
2023-04-21 10:40:43 +00:00
public :
// MPropertyFriendlyName "Skirt"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flSkirt ; // 0x9c0
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "Range"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flRange ; // 0xb18
2023-04-21 10:40:43 +00:00
// MPropertyFriendlyName "Thickness"
2023-08-31 01:50:54 +00:00
CParticleCollectionFloatInput m_flThickness ; // 0xc70
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_RenderClothForce : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 0
2023-05-15 01:39:33 +00:00
// Size: 0x200
2023-03-23 14:05:13 +00:00
class C_OP_Callback : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
2023-03-24 22:01:31 +00:00
// No members available
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 9
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_OP_RenderScreenShake : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "duration scale"
2023-05-15 01:39:33 +00:00
float m_flDurationScale ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius scale"
2023-05-15 01:39:33 +00:00
float m_flRadiusScale ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "frequence scale"
2023-05-15 01:39:33 +00:00
float m_flFrequencyScale ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amplitude scale"
2023-05-15 01:39:33 +00:00
float m_flAmplitudeScale ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nRadiusField ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "duration field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nDurationField ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "frequency field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nFrequencyField ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amplitude field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nAmplitudeField ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "control point of shake recipient (-1 = global)"
2023-05-15 01:39:33 +00:00
int32_t m_nFilterCP ; // 0x220
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RenderTonemapController : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "tonemap level scale"
2023-05-15 01:39:33 +00:00
float m_flTonemapLevel ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tonemap weight scale"
2023-05-15 01:39:33 +00:00
float m_flTonemapWeight ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tonemap level"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nTonemapLevelField ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "tonemap weight"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nTonemapWeightField ; // 0x20c
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-08-31 01:50:54 +00:00
// Size: 0x370
2023-03-23 14:05:13 +00:00
class C_OP_RenderPostProcessing : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "Post Processing Strength"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flPostProcessStrength ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Post Processing File"
// MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )"
2023-08-31 01:50:54 +00:00
CStrongHandle < InfoForResourceTypeCPostProcessingResource > m_hPostTexture ; // 0x358
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Post Processing Priority Group"
2023-08-31 01:50:54 +00:00
ParticlePostProcessPriorityGroup_t m_nPriority ; // 0x360
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 12
2023-05-15 01:39:33 +00:00
// Size: 0x330
2023-03-23 14:05:13 +00:00
class C_OP_RenderSound : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "duration scale"
2023-05-15 01:39:33 +00:00
float m_flDurationScale ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "decibel level scale"
2023-05-15 01:39:33 +00:00
float m_flSndLvlScale ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pitch scale"
2023-05-15 01:39:33 +00:00
float m_flPitchScale ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "volume scale"
2023-05-15 01:39:33 +00:00
float m_flVolumeScale ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "decibel level field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nSndLvlField ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "duration field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nDurationField ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "pitch field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nPitchField ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "volume field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nVolumeField ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound channel"
// MPropertyAttributeChoiceName "sound_channel"
2023-05-15 01:39:33 +00:00
int32_t m_nChannel ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nCPReference ; // 0x224
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "sound"
// MPropertyAttributeEditor "SoundPicker()"
2023-05-15 01:39:33 +00:00
char m_pszSoundName [ 256 ] ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "suppress stop event"
2023-05-15 01:39:33 +00:00
bool m_bSuppressStopSoundEvent ; // 0x328
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 7
2023-05-15 01:39:33 +00:00
// Size: 0x240
2023-03-23 14:05:13 +00:00
class C_OP_RenderStatusEffect : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureColorWarp ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "detail 2 texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureDetail2 ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "diffuse warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fresnel color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "fresnel warp texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "specular warp texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp ; // 0x228
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "environment map texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureEnvMap ; // 0x230
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 6
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureColorWarp ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "normal texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureNormal ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "metalness texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureMetalness ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "roughness texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureRoughness ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "self illum texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureSelfIllum ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "detail texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-05-15 01:39:33 +00:00
CStrongHandle < InfoForResourceTypeCTextureBase > m_pTextureDetail ; // 0x228
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 3
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "flattening strength"
2023-05-15 01:39:33 +00:00
float m_flFlattenStrength ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nStrengthFieldOverride ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius scale"
2023-05-15 01:39:33 +00:00
float m_flRadiusScale ; // 0x208
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 10
2023-05-15 01:39:33 +00:00
// Size: 0x230
2023-03-23 14:05:13 +00:00
class C_OP_RenderTreeShake : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "peak strength"
2023-05-15 01:39:33 +00:00
float m_flPeakStrength ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "peak strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nPeakStrengthFieldOverride ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "radius"
2023-05-15 01:39:33 +00:00
float m_flRadius ; // 0x208
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-05-15 01:39:33 +00:00
ParticleAttributeIndex_t m_nRadiusFieldOverride ; // 0x20c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "shake duration after end"
2023-05-15 01:39:33 +00:00
float m_flShakeDuration ; // 0x210
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amount of time taken to smooth between different shake parameters"
2023-05-15 01:39:33 +00:00
float m_flTransitionTime ; // 0x214
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Twist amount (-1..1)"
2023-05-15 01:39:33 +00:00
float m_flTwistAmount ; // 0x218
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Radial Amount (-1..1)"
2023-05-15 01:39:33 +00:00
float m_flRadialAmount ; // 0x21c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Control Point Orientation Amount (-1..1)"
2023-05-15 01:39:33 +00:00
float m_flControlPointOrientationAmount ; // 0x220
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Control Point for Orientation Amount"
2023-05-15 01:39:33 +00:00
int32_t m_nControlPointForLinearDirection ; // 0x224
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 2
2023-05-15 01:39:33 +00:00
// Size: 0x210
2023-03-23 14:05:13 +00:00
class C_OP_RenderText : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "outline color"
2023-05-15 01:39:33 +00:00
Color m_OutlineColor ; // 0x200
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad0204 [ 0x4 ] ; // 0x204
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "default text"
2023-05-15 01:39:33 +00:00
CUtlString m_DefaultText ; // 0x208
2023-03-15 15:20:35 +00:00
} ;
2023-03-23 14:05:13 +00:00
// Alignment: 4
2023-08-31 01:50:54 +00:00
// Size: 0x370
2023-03-23 14:05:13 +00:00
class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
public :
// MPropertyFriendlyName "haptic hand"
2023-05-15 01:39:33 +00:00
ParticleVRHandChoiceList_t m_nHand ; // 0x200
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "hand control point number"
2023-05-15 01:39:33 +00:00
int32_t m_nOutputHandCP ; // 0x204
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "cp field"
// MPropertyAttributeChoiceName "vector_component"
2023-05-15 01:39:33 +00:00
int32_t m_nOutputField ; // 0x208
2023-03-23 14:05:13 +00:00
private :
2023-05-15 01:39:33 +00:00
[[maybe_unused]] uint8_t __pad020c [ 0x4 ] ; // 0x20c
2023-03-23 14:05:13 +00:00
public :
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "amplitude"
2023-05-15 01:39:33 +00:00
CPerParticleFloatInput m_flAmplitude ; // 0x210
2023-03-15 15:20:35 +00:00
} ;
2023-08-31 01:50:54 +00:00
// Alignment: 8
// Size: 0x9e0
class C_OP_RemapSDFDistanceToScalarAttribute : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "Output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
// MPropertyFriendlyName "Input field"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nVectorFieldInput ; // 0x1c4
// MPropertyFriendlyName "Minimum distance"
CParticleCollectionFloatInput m_flMinDistance ; // 0x1c8
// MPropertyFriendlyName "Maximum distance"
CParticleCollectionFloatInput m_flMaxDistance ; // 0x320
// MPropertyFriendlyName "Value for dist<min"
CParticleCollectionFloatInput m_flValueBelowMin ; // 0x478
// MPropertyFriendlyName "Value for dist=min"
CParticleCollectionFloatInput m_flValueAtMin ; // 0x5d0
// MPropertyFriendlyName "Value for dist=max"
CParticleCollectionFloatInput m_flValueAtMax ; // 0x728
// MPropertyFriendlyName "Value for dist>max"
CParticleCollectionFloatInput m_flValueAboveMax ; // 0x880
} ;
// Alignment: 8
// Size: 0x4b0
class C_OP_RemapSDFDistanceToVectorAttribute : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "Output field"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nVectorFieldOutput ; // 0x1c0
// MPropertyFriendlyName "Input field"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nVectorFieldInput ; // 0x1c4
// MPropertyFriendlyName "Minimum distance"
CParticleCollectionFloatInput m_flMinDistance ; // 0x1c8
// MPropertyFriendlyName "Maximum distance"
CParticleCollectionFloatInput m_flMaxDistance ; // 0x320
// MPropertyFriendlyName "Value for dist<min"
Vector m_vValueBelowMin ; // 0x478
// MPropertyFriendlyName "Value for dist=min"
Vector m_vValueAtMin ; // 0x484
// MPropertyFriendlyName "Value for dist=max"
Vector m_vValueAtMax ; // 0x490
// MPropertyFriendlyName "Value for dist>max"
Vector m_vValueAboveMax ; // 0x49c
} ;
// Alignment: 1
// Size: 0x1e0
class C_OP_SDFForce : public CParticleFunctionForce
{
public :
// MPropertyFriendlyName "force scale"
float m_flForceScale ; // 0x1d0
} ;
// Alignment: 1
// Size: 0x1d0
class C_OP_RemapSDFGradientToVectorAttribute : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
ParticleAttributeIndex_t m_nFieldOutput ; // 0x1c0
} ;
// Alignment: 3
// Size: 0x1f0
class C_OP_SDFLighting : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "Lighting dir"
Vector m_vLightingDir ; // 0x1c0
// MPropertyFriendlyName "shadow color"
Vector m_vTint_0 ; // 0x1cc
// MPropertyFriendlyName "lit color"
Vector m_vTint_1 ; // 0x1d8
} ;
// Alignment: 3
// Size: 0x480
class C_OP_SDFConstraint : public CParticleFunctionConstraint
{
public :
// MPropertyFriendlyName "min dist to sdf"
CParticleCollectionFloatInput m_flMinDist ; // 0x1c0
// MPropertyFriendlyName "max dist to sdf"
CParticleCollectionFloatInput m_flMaxDist ; // 0x318
// MPropertyFriendlyName "Max # of iterations"
int32_t m_nMaxIterations ; // 0x470
} ;
// Alignment: 3
// Size: 0x980
class C_OP_ParticlePhysics : public CParticleFunctionOperator
{
public :
// MPropertyFriendlyName "gravity"
// MVectorIsCoordinate
CParticleCollectionVecInput m_Gravity ; // 0x1c0
// MPropertyFriendlyName "drag"
// MPropertyAttributeRange "-1 1"
CParticleCollectionFloatInput m_fDrag ; // 0x818
// MPropertyFriendlyName "max constraint passes"
int32_t m_nMaxConstraintPasses ; // 0x970
} ;