source2sdk/sdk/particles.hpp

9792 lines
316 KiB
C++
Raw Normal View History

2023-03-15 15:20:35 +00:00
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
2023-03-23 15:10:10 +00:00
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Binary: particles.dll
2023-03-23 15:10:10 +00:00
// Classes count: 403
// Enums count: 61
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 21:40:38 +00:00
enum class ParticleControlPointAxis_t : uint32_t
2023-03-15 19:24:28 +00:00
{
2023-03-15 21:40:38 +00:00
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-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x12
2023-03-15 17:43:32 +00:00
enum class ParticleAttachment_t : uint32_t
{
PATTACH_INVALID = 0xffffffffffffffff,
PATTACH_ABSORIGIN = 0x0,
PATTACH_ABSORIGIN_FOLLOW = 0x1,
PATTACH_CUSTOMORIGIN = 0x2,
PATTACH_CUSTOMORIGIN_FOLLOW = 0x3,
PATTACH_POINT = 0x4,
PATTACH_POINT_FOLLOW = 0x5,
PATTACH_EYES_FOLLOW = 0x6,
PATTACH_OVERHEAD_FOLLOW = 0x7,
PATTACH_WORLDORIGIN = 0x8,
PATTACH_ROOTBONE_FOLLOW = 0x9,
PATTACH_RENDERORIGIN_FOLLOW = 0xa,
PATTACH_MAIN_VIEW = 0xb,
PATTACH_WATERWAKE = 0xc,
PATTACH_CENTER_FOLLOW = 0xd,
2023-03-15 19:24:28 +00:00
PATTACH_CUSTOM_GAME_STATE_1 = 0xe,
2023-03-15 21:40:38 +00:00
PATTACH_HEALTHBAR = 0xf,
MAX_PATTACH_TYPES = 0x10,
2023-03-15 17:43:32 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 18:34:46 +00:00
enum class ParticleImpulseType_t : uint32_t
2023-03-15 17:43:32 +00:00
{
2023-03-15 18:34:46 +00:00
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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 18:34:46 +00:00
enum class ParticleFalloffFunction_t : uint32_t
{
PARTICLE_FALLOFF_CONSTANT = 0x0,
PARTICLE_FALLOFF_LINEAR = 0x1,
PARTICLE_FALLOFF_EXPONENTIAL = 0x2,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 18:34:46 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class ParticleHitboxBiasType_t : uint32_t
{
PARTICLE_HITBOX_BIAS_ENTITY = 0x0,
PARTICLE_HITBOX_BIAS_HITBOX = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 21:40:38 +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-15 18:56:19 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 17:43:32 +00:00
enum class PetGroundType_t : uint32_t
{
PET_GROUND_NONE = 0x0,
PET_GROUND_GRID = 0x1,
PET_GROUND_PLANE = 0x2,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class SpriteCardShaderType_t : uint32_t
{
SPRITECARD_SHADER_BASE = 0x0,
SPRITECARD_SHADER_CUSTOM = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 18:34:46 +00:00
enum class ParticleDetailLevel_t : uint32_t
{
PARTICLEDETAIL_LOW = 0x0,
PARTICLEDETAIL_MEDIUM = 0x1,
PARTICLEDETAIL_HIGH = 0x2,
PARTICLEDETAIL_ULTRA = 0x3,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 18:34:46 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x8
2023-03-15 17:43:32 +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,
2023-03-15 18:34:46 +00:00
SCALAR_EXPRESSION_MIN = 0x5,
SCALAR_EXPRESSION_MAX = 0x6,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x9
2023-03-15 18:34:46 +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_NORMALIZE_INPUT_1 = 0x7,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 18:34:46 +00:00
enum class MissingParentInheritBehavior_t : uint32_t
{
MISSING_PARENT_DO_NOTHING = 0xffffffffffffffff,
MISSING_PARENT_KILL = 0x0,
MISSING_PARENT_FIND_NEW = 0x1,
2023-03-15 17:43:32 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 17:43:32 +00:00
enum class HitboxLerpType_t : uint32_t
{
HITBOX_LERP_LIFETIME = 0x0,
HITBOX_LERP_CONSTANT = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 18:34:46 +00:00
enum class ParticleSelection_t : uint32_t
{
PARTICLE_SELECTION_FIRST = 0x0,
PARTICLE_SELECTION_LAST = 0x1,
PARTICLE_SELECTION_NUMBER = 0x2,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0xb
2023-03-15 18:34:46 +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,
2023-03-15 21:40:38 +00:00
PARTICLE_PIN_COLLECTION_AGE = 0xa,
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0xd
2023-03-15 18:34:46 +00:00
enum class ParticleColorBlendType_t : uint32_t
{
PARTICLE_COLOR_BLEND_MULTIPLY = 0x0,
2023-03-15 21:40:38 +00:00
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-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 18:34:46 +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,
2023-03-15 21:40:38 +00:00
PARTICLE_SET_RAMP_CURRENT_VALUE = 0x3,
PARTICLE_SET_SCALE_CURRENT_VALUE = 0x4,
PARTICLE_SET_ADD_TO_CURRENT_VALUE = 0x5,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class ParticleLightingQuality_t : uint32_t
{
PARTICLE_LIGHTING_PER_VERTEX = 0x0,
PARTICLE_LIGHTING_PER_PIXEL = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class StandardLightingAttenuationStyle_t : uint32_t
{
LIGHT_STYLE_OLD = 0x0,
LIGHT_STYLE_NEW = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class ParticleOrientationSetMode_t : uint32_t
{
PARTICLE_ORIENTATION_SET_FROM_VELOCITY = 0x0,
PARTICLE_ORIENTATION_SET_FROM_ROTATIONS = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class ParticleLightnintBranchBehavior_t : uint32_t
{
PARTICLE_LIGHTNING_BRANCH_CURRENT_DIR = 0x0,
PARTICLE_LIGHTNING_BRANCH_ENDPOINT_DIR = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 21:40:38 +00:00
enum class MaterialProxyType_t : uint32_t
{
MATERIAL_PROXY_STATUS_EFFECT = 0x0,
MATERIAL_PROXY_TINT = 0x1,
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 17:43:32 +00:00
enum class BlurFilterType_t : uint32_t
{
BLURFILTER_GAUSSIAN = 0x0,
BLURFILTER_BOX = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 17:43:32 +00:00
enum class ParticleLightTypeChoiceList_t : uint32_t
{
PARTICLE_LIGHT_TYPE_POINT = 0x0,
PARTICLE_LIGHT_TYPE_SPOT = 0x1,
PARTICLE_LIGHT_TYPE_FX = 0x2,
2023-03-15 21:40:38 +00:00
PARTICLE_LIGHT_TYPE_CAPSULE = 0x3,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +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-15 17:43:32 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 18:34:46 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 18:34:46 +00:00
enum class ParticleSortingChoiceList_t : uint32_t
{
PARTICLE_SORTING_NEAREST = 0x0,
PARTICLE_SORTING_CREATION_TIME = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0xa
2023-03-15 21:40:38 +00:00
enum class SpriteCardTextureType_t : uint32_t
{
SPRITECARD_TEXTURE_DIFFUSE = 0x0,
SPRITECARD_TEXTURE_ZOOM = 0x1,
SPRITECARD_TEXTURE_UVDISTORTION = 0x2,
SPRITECARD_TEXTURE_UVDISTORTION_ZOOM = 0x3,
SPRITECARD_TEXTURE_1D_COLOR_LOOKUP = 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 15:10:10 +00:00
// Alignment: 4
// Size: 0xf
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0xe
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 21:40:38 +00:00
enum class ParticleFogType_t : uint32_t
{
PARTICLE_FOG_GAME_DEFAULT = 0x0,
PARTICLE_FOG_ENABLED = 0x1,
PARTICLE_FOG_DISABLED = 0x2,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 18:34:46 +00:00
enum class TextureRepetitionMode_t : uint32_t
{
TEXTURE_REPETITION_PARTICLE = 0x0,
TEXTURE_REPETITION_PATH = 0x1,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x12
2023-03-15 17:43:32 +00:00
enum class ParticleFloatType_t : uint32_t
{
PF_TYPE_INVALID = 0xffffffffffffffff,
PF_TYPE_LITERAL = 0x0,
PF_TYPE_RANDOM_UNIFORM = 0x1,
PF_TYPE_RANDOM_BIASED = 0x2,
PF_TYPE_COLLECTION_AGE = 0x3,
2023-03-15 18:34:46 +00:00
PF_TYPE_ENDCAP_AGE = 0x4,
PF_TYPE_CONTROL_POINT_COMPONENT = 0x5,
PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x6,
PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x7,
2023-03-15 21:40:38 +00:00
PF_TYPE_PARTICLE_NOISE = 0x8,
PF_TYPE_PARTICLE_AGE = 0x9,
PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xa,
PF_TYPE_PARTICLE_FLOAT = 0xb,
PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0xc,
PF_TYPE_PARTICLE_SPEED = 0xd,
PF_TYPE_PARTICLE_NUMBER = 0xe,
PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0xf,
PF_TYPE_COUNT = 0x10,
2023-03-15 17:43:32 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 21:40:38 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 17:43:32 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 18:34:46 +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 15:10:10 +00:00
// Alignment: 4
// Size: 0x7
2023-03-15 17:43:32 +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_COUNT = 0x5,
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0xc
2023-03-15 18:34:46 +00:00
enum class ParticleVecType_t : uint32_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 18:34:46 +00:00
PVEC_TYPE_INVALID = 0xffffffffffffffff,
PVEC_TYPE_LITERAL = 0x0,
PVEC_TYPE_LITERAL_COLOR = 0x1,
PVEC_TYPE_PARTICLE_VECTOR = 0x2,
PVEC_TYPE_CP_VALUE = 0x3,
PVEC_TYPE_CP_RELATIVE_POSITION = 0x4,
PVEC_TYPE_CP_RELATIVE_DIR = 0x5,
PVEC_TYPE_FLOAT_COMPONENTS = 0x6,
PVEC_TYPE_FLOAT_INTERP_CLAMPED = 0x7,
PVEC_TYPE_FLOAT_INTERP_OPEN = 0x8,
PVEC_TYPE_FLOAT_INTERP_GRADIENT = 0x9,
PVEC_TYPE_COUNT = 0xa,
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
struct ParticleAttributeIndex_t;
struct ParticlePreviewState_t;
struct CParticleCollectionFloatInput;
struct CParticleVisibilityInputs;
struct TextureControls_t;
struct CParticleCollectionVecInput;
struct CPiecewiseCurveSchemaWrapper;
struct CParticleFloatInput;
struct CNewParticleEffect;
struct IParticleCollection;
struct PARTICLE_EHANDLE__;
struct CParticleProperty;
struct CPerParticleFloatInput;
struct CPathParameters;
struct CPerParticleVecInput;
struct ControlPointReference_t;
2023-03-24 21:17:17 +00:00
// Alignment: 1
// Size: 0x4
struct ParticleAttributeIndex_t
{
public:
int32_t m_nBoxedTypeSafeInt; // 0x0
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x10
2023-03-15 18:34:46 +00:00
struct MaterialVariable_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "material variable"
2023-03-23 15:10:10 +00:00
CUtlString m_strVariable; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle field"
2023-03-15 17:25:55 +00:00
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nVariableField; // 0x8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0xc
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x10
2023-03-15 18:34:46 +00:00
struct ParticlePreviewBodyGroup_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-23 15:10:10 +00:00
CUtlString m_bodyGroupName; // 0x0
int32_t m_nValue; // 0x8
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x58
2023-03-15 18:34:46 +00:00
struct ParticlePreviewState_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-23 15:10:10 +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:02:34 +00:00
[[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c
2023-03-23 15:10:10 +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
};
// Alignment: 6
// Size: 0x30
2023-03-15 18:34:46 +00:00
struct ParticleControlPointDriver_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-23 15:10:10 +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 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x78
2023-03-15 18:34:46 +00:00
struct ParticleControlPointConfiguration_t
{
public:
2023-03-23 15:10:10 +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 15:10:10 +00:00
// Alignment: 0
// Size: 0x10
2023-03-15 18:34:46 +00:00
class IParticleCollection
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x10]; // Autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 18:34:46 +00:00
class IControlPointEditorData
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x8]; // Autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 18:34:46 +00:00
class IParticleSystemDefinition
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x8]; // Autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 18
// Size: 0x44
2023-03-15 18:34:46 +00:00
class CParticleVisibilityInputs
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility camera depth bias"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flCameraBias; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input minimum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input maximum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility alpha scale minimum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flAlphaScaleMin; // 0xc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility alpha scale maximum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flAlphaScaleMax; // 0x10
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility radius scale minimum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flRadiusScaleMin; // 0x14
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility radius scale maximum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flRadiusScaleMax; // 0x18
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility radius FOV scale base"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flRadiusScaleFOVBase; // 0x1c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility proxy radius"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flProxyRadius; // 0x20
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input distance minimum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flDistanceInputMin; // 0x24
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input distance maximum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flDistanceInputMax; // 0x28
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input dot minimum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flDotInputMin; // 0x2c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility input dot maximum"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flDotInputMax; // 0x30
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Visibility input dot use CP angles"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bDotCPAngles; // 0x34
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Visibility input dot use Camera angles"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bDotCameraAngles; // 0x35
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0036[0x2]; // 0x36
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility unsupported hardware fallback value"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flNoPixelVisibilityFallback; // 0x38
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility proxy input control point number"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nCPin; // 0x3c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility vr camera right eye"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bRightEye; // 0x40
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x40
2023-03-15 18:34:46 +00:00
class CPathParameters
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nStartControlPointNumber; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nEndControlPointNumber; // 0x4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bulge control 0=random 1=orientation of start pnt 2=orientation of end point"
2023-03-23 15:10:10 +00:00
int32_t m_nBulgeControl; // 0x8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random bulge"
2023-03-23 15:10:10 +00:00
float m_flBulge; // 0xc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "mid point position"
2023-03-23 15:10:10 +00:00
float m_flMidPoint; // 0x10
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Offset from curve start point for path start"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vStartPointOffset; // 0x14
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Offset from curve midpoint for curve center"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vMidPointOffset; // 0x20
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Offset from control point for path end"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vEndOffset; // 0x2c
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x20
2023-03-15 18:34:46 +00:00
struct ParticleChildrenInfo_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_ChildRef; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "delay"
2023-03-23 15:10:10 +00:00
float m_flDelay; // 0x8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad000c[0x2]; // 0xc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end cap effect"
2023-03-23 15:10:10 +00:00
bool m_bEndCap; // 0xe
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
bool m_bDisableChild; // 0xf
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "disable at detail levels below"
2023-03-23 15:10:10 +00:00
ParticleDetailLevel_t m_nDetailLevel; // 0x10
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x14
2023-03-15 18:34:46 +00:00
struct ControlPointReference_t
{
public:
// MPropertyFriendlyName "Control point"
2023-03-23 15:10:10 +00:00
int32_t m_controlPointNameString; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Offset from control point"
2023-03-23 15:10:10 +00:00
Vector m_vOffsetFromControlPoint; // 0x4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use local space offset"
2023-03-23 15:10:10 +00:00
bool m_bOffsetInLocalSpace; // 0x10
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x10
2023-03-15 18:34:46 +00:00
struct ModelReference_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_model; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Relative probability"
2023-03-23 15:10:10 +00:00
float m_flRelativeProbabilityOfSpawn; // 0x8
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x8
2023-03-15 21:40:38 +00:00
struct SequenceWeightedList_t
{
public:
// MPropertyFriendlyName "sequence"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-03-23 15:10:10 +00:00
int32_t m_nSequence; // 0x0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "weight"
2023-03-23 15:10:10 +00:00
float m_flRelativeWeight; // 0x4
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 18:34:46 +00:00
struct CollisionGroupContext_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-23 15:10:10 +00:00
int32_t m_nCollisionGroupNumber; // 0x0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x14
2023-03-15 18:34:46 +00:00
struct PointDefinition_t
{
public:
// MPropertyFriendlyName "Control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use local coordinates for offset"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Offset from control point"
2023-03-23 15:10:10 +00:00
Vector m_vOffset; // 0x8
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x18
2023-03-15 18:34:46 +00:00
struct PointDefinitionWithTimeValues_t : public PointDefinition_t
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Duration value for path point"
2023-03-23 15:10:10 +00:00
float m_flTimeDuration; // 0x14
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 59
// Size: 0x350
2023-03-15 18:34:46 +00:00
class CParticleSystemDefinition : public IParticleSystemDefinition
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "version"
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
int32_t m_nBehaviorVersion; // 0x8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionPreEmission* > m_PreEmissionOperators; // 0x10
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionEmitter* > m_Emitters; // 0x28
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionInitializer* > m_Initializers; // 0x40
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionOperator* > m_Operators; // 0x58
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionForce* > m_ForceGenerators; // 0x70
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionConstraint* > m_Constraints; // 0x88
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< CParticleFunctionRenderer* > m_Renderers; // 0xa0
2023-03-15 18:34:46 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< ParticleChildrenInfo_t > m_Children; // 0xb8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad00d0[0xa8]; // 0xd0
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "initial particles"
2023-03-23 15:10:10 +00:00
int32_t m_nInitialParticles; // 0x17c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max particles"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxParticles; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x3c]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bounding box min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_BoundingBoxMin; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bounding box max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_BoundingBoxMax; // 0x1cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "snapshot control point"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPoint; // 0x1d8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "snapshot"
// MPropertyAttributeEditor "AssetBrowse( vsnap )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "target layer ID for rendering"
2023-03-23 15:10:10 +00:00
CUtlSymbolLarge m_pszTargetLayerID; // 0x1e8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reference replacement definition"
// MPropertyAttributeEditor "AssetBrowse( vpcf )"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x208
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull replacement definition"
// MPropertyAttributeEditor "AssetBrowse( vpcf )"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x210
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull radius"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flCullRadius; // 0x218
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull cost"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flCullFillCost; // 0x21c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull control point"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nCullControlPoint; // 0x220
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fallback replacement definition"
// MPropertyAttributeEditor "AssetBrowse( vpcf )"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x230
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fallback max count"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nFallbackMaxCount; // 0x238
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "low violence definition"
// MPropertyAttributeEditor "AssetBrowse( vpcf )"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x240
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color"
2023-03-15 21:40:38 +00:00
// MPropertyColorPlusAlpha
2023-03-23 15:10:10 +00:00
Color m_ConstantColor; // 0x248
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normal"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_ConstantNormal; // 0x24c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius"
// MPropertyAttributeRange "biased 0 500"
2023-03-23 15:10:10 +00:00
float m_flConstantRadius; // 0x258
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation"
2023-03-23 15:10:10 +00:00
float m_flConstantRotation; // 0x25c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation speed"
2023-03-23 15:10:10 +00:00
float m_flConstantRotationSpeed; // 0x260
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime"
2023-03-23 15:10:10 +00:00
float m_flConstantLifespan; // 0x264
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sequence number"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-03-23 15:10:10 +00:00
int32_t m_nConstantSequenceNumber; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sequence number 1"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-03-23 15:10:10 +00:00
int32_t m_nConstantSequenceNumber1; // 0x26c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "group id"
2023-03-23 15:10:10 +00:00
int32_t m_nGroupID; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum time step"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flMaximumTimeStep; // 0x274
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum sim tick rate"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flMaximumSimTime; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum sim tick rate"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flMinimumSimTime; // 0x27c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum simulation time step"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flMinimumTimeStep; // 0x280
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum rendered frames"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nMinimumFrames; // 0x284
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum CPU level"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nMinCPULevel; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum GPU level"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nMinGPULevel; // 0x28c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "view model effect"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bViewModelEffect; // 0x290
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "screen space effect"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bScreenSpaceEffect; // 0x291
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0292[0x16]; // 0x292
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x2a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "time to sleep when not drawn"
2023-03-23 15:10:10 +00:00
float m_flNoDrawTimeToGoToSleep; // 0x2c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum draw distance"
2023-03-23 15:10:10 +00:00
float m_flMaxDrawDistance; // 0x2c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fade distance"
2023-03-23 15:10:10 +00:00
float m_flStartFadeDistance; // 0x2c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum creation distance"
2023-03-23 15:10:10 +00:00
float m_flMaxCreationDistance; // 0x2cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to disable rendering if it is the camera"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nSkipRenderControlPoint; // 0x2d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to only enable rendering if it is the camera"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nAllowRenderControlPoint; // 0x2d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum free particles to aggregate"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
int32_t m_nAggregationMinAvailableParticles; // 0x2d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "aggregation radius"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flAggregateRadius; // 0x2dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "freeze simulation after time"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flStopSimulationAfterTime; // 0x2e0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "pre-simulation time"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
float m_flPreSimulationTime; // 0x2e4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad02e8[0x38]; // 0x2e8
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)"
2023-03-23 15:10:10 +00:00
bool m_bShouldSort; // 0x320
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "batch particle systems"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bShouldBatch; // 0x321
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0322[0x2]; // 0x322
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "depth sort bias"
2023-03-23 15:10:10 +00:00
float m_flDepthSortBias; // 0x324
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "infinite bounds - don't cull"
2023-03-23 15:10:10 +00:00
bool m_bInfiniteBounds; // 0x328
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0329[0x1]; // 0x329
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Hitboxes fall back to render bounds"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bShouldHitboxesFallbackToRenderBounds; // 0x32a
2023-03-15 15:20:35 +00:00
};
2023-03-24 21:17:17 +00:00
// Alignment: 0
// Size: 0x40
class CPiecewiseCurveSchemaWrapper
{
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x40]; // Autoaligned
2023-03-24 21:17:17 +00:00
};
// Alignment: 36
// Size: 0xe8
class CParticleFloatInput
{
public:
ParticleFloatType_t m_nType; // 0x0
ParticleFloatMapType_t m_nMapType; // 0x4
float m_flLiteralValue; // 0x8
int32_t m_nControlPoint; // 0xc
ParticleAttributeIndex_t m_nScalarAttribute; // 0x10
ParticleAttributeIndex_t m_nVectorAttribute; // 0x14
int32_t m_nVectorComponent; // 0x18
float m_flRandomMin; // 0x1c
float m_flRandomMax; // 0x20
ParticleFloatRandomMode_t m_nRandomMode; // 0x24
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0028[0x4]; // 0x28
2023-03-24 21:17:17 +00:00
public:
float m_flLOD0; // 0x2c
float m_flLOD1; // 0x30
float m_flLOD2; // 0x34
float m_flLOD3; // 0x38
float m_flNoiseOutputMin; // 0x3c
float m_flNoiseOutputMax; // 0x40
float m_flNoiseScale; // 0x44
Vector m_vecNoiseOffsetRate; // 0x48
float m_flNoiseOffset; // 0x54
int32_t m_nNoiseOctaves; // 0x58
PFNoiseTurbulence_t m_nNoiseTurbulence; // 0x5c
PFNoiseType_t m_nNoiseType; // 0x60
PFNoiseModifier_t m_nNoiseModifier; // 0x64
float m_flNoiseTurbulenceScale; // 0x68
float m_flNoiseTurbulenceMix; // 0x6c
float m_flNoiseImgPreviewScale; // 0x70
bool m_bNoiseImgPreviewLive; // 0x74
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0075[0x7]; // 0x75
2023-03-24 21:17:17 +00:00
public:
ParticleFloatInputMode_t m_nInputMode; // 0x7c
float m_flMultFactor; // 0x80
float m_flInput0; // 0x84
float m_flInput1; // 0x88
float m_flOutput0; // 0x8c
float m_flOutput1; // 0x90
ParticleFloatBiasType_t m_nBiasType; // 0x94
float m_flBiasParameter; // 0x98
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c
2023-03-24 21:17:17 +00:00
public:
CPiecewiseCurveSchemaWrapper m_Curve; // 0xa0
};
// Alignment: 0
// Size: 0xe8
class CParticleCollectionFloatInput : public CParticleFloatInput
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 16
// Size: 0x180
2023-03-15 18:34:46 +00:00
class CParticleFunction
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Operator Fade"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator start fadein"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpStartFadeInTime; // 0x8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator end fadein"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpEndFadeInTime; // 0xc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator start fadeout"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpStartFadeOutTime; // 0x10
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator end fadeout"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpEndFadeOutTime; // 0x14
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator fade oscillate"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpFadeOscillatePeriod; // 0x18
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize fade times to endcap"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
bool m_bNormalizeToStopTime; // 0x1c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Time Offset"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time offset min"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpTimeOffsetMin; // 0x20
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time offset max"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpTimeOffsetMax; // 0x24
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time offset seed"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
int32_t m_nOpTimeOffsetSeed; // 0x28
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Timescale Modifiers"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time scale seed"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
int32_t m_nOpTimeScaleSeed; // 0x2c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time scale min"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpTimeScaleMin; // 0x30
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator time scale max"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
float m_flOpTimeScaleMax; // 0x34
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0038[0x1]; // 0x38
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup
// MPropertySuppressField
2023-03-23 15:10:10 +00:00
bool m_bDisableOperator; // 0x39
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad003a[0x2]; // 0x3a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator end cap state"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
ParticleEndcapMode_t m_nOpEndCapState; // 0x3c
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Strength Modifiers"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "operator strength"
2023-03-15 19:24:28 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOpStrength; // 0x40
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "operator help and notes"
2023-03-15 18:34:46 +00:00
// MParticleHelpField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-100"
2023-03-23 15:10:10 +00:00
CUtlString m_Notes; // 0x128
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
2023-03-15 18:34:46 +00:00
class CParticleFunctionForce : public CParticleFunction
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
2023-03-15 18:34:46 +00:00
class CParticleFunctionOperator : public CParticleFunction
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class CParticleFunctionPreEmission : public CParticleFunctionOperator
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Run Only Once"
2023-03-23 15:10:10 +00:00
bool m_bRunOnce; // 0x180
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1d0
2023-03-15 18:34:46 +00:00
class CParticleFunctionRenderer : public CParticleFunction
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 18:34:46 +00:00
// MParticleAdvancedField
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-1"
2023-03-23 15:10:10 +00:00
CParticleVisibilityInputs VisibilityInputs; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Rendering filter"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "I cannot be refracted through refracting objects like water"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-1"
2023-03-23 15:10:10 +00:00
bool m_bCannotBeRefracted; // 0x1c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Skip rendering on mobile"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "-1"
2023-03-23 15:10:10 +00:00
bool m_bSkipRenderingOnMobile; // 0x1c5
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x678
2023-03-15 21:40:38 +00:00
struct TextureControls_t
{
public:
// MPropertyFriendlyName "horizontal texture scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "vertical texture scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0xe8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "horizontal texture offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "vertical texture offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x2b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "texture rotation / animation rate scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x3a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Infinite Zoom Scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flZoomScale; // 0x488
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Distortion Amount"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDistortion; // 0x570
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Randomize Initial Offset"
2023-03-23 15:10:10 +00:00
bool m_bRandomizeOffsets; // 0x658
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Clamp UVs"
2023-03-23 15:10:10 +00:00
bool m_bClampUVs; // 0x659
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad065a[0x2]; // 0x65a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for scale"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x65c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for horizontal offset"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x660
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for vertical offset"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x664
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for rotation"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x668
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for zoom"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x66c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle scalar for distortion"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x670
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x798
2023-03-15 21:40:38 +00:00
struct TextureGroup_t
{
public:
// MPropertyFriendlyName "Enabled"
2023-03-23 15:10:10 +00:00
bool m_bEnabled; // 0x0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Author Texture As Gradient"
2023-03-23 15:10:10 +00:00
bool m_bReplaceTextureWithGradient; // 0x1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0002[0x6]; // 0x2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Texture"
// MPropertySuppressExpr "m_bReplaceTextureWithGradient"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Gradient"
// MPropertySuppressExpr "!m_bReplaceTextureWithGradient"
2023-03-23 15:10:10 +00:00
CColorGradient m_Gradient; // 0x10
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Texture Type"
2023-03-23 15:10:10 +00:00
SpriteCardTextureType_t m_nTextureType; // 0x28
2023-03-15 21:40:38 +00:00
// 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 )"
2023-03-23 15:10:10 +00:00
SpriteCardTextureChannel_t m_nTextureChannels; // 0x2c
2023-03-15 21:40:38 +00:00
// 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 )"
2023-03-23 15:10:10 +00:00
ParticleTextureLayerBlendType_t m_nTextureBlendMode; // 0x30
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +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 )"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flTextureBlend; // 0x38
2023-03-15 21:40:38 +00:00
// 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 )"
2023-03-23 15:10:10 +00:00
TextureControls_t m_TextureControls; // 0x120
2023-03-15 21:40:38 +00:00
};
2023-03-24 21:17:17 +00:00
// Alignment: 18
// Size: 0x430
class CParticleVecInput
{
public:
ParticleVecType_t m_nType; // 0x0
Vector m_vLiteralValue; // 0x4
Color m_LiteralColor; // 0x10
ParticleAttributeIndex_t m_nVectorAttribute; // 0x14
Vector m_vVectorAttributeScale; // 0x18
int32_t m_nControlPoint; // 0x24
Vector m_vCPValueScale; // 0x28
Vector m_vCPRelativePosition; // 0x34
Vector m_vCPRelativeDir; // 0x40
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c
2023-03-24 21:17:17 +00:00
public:
CParticleFloatInput m_FloatComponentX; // 0x50
CParticleFloatInput m_FloatComponentY; // 0x138
CParticleFloatInput m_FloatComponentZ; // 0x220
CParticleFloatInput m_FloatInterp; // 0x308
float m_flInterpInput0; // 0x3f0
float m_flInterpInput1; // 0x3f4
Vector m_vInterpOutput0; // 0x3f8
Vector m_vInterpOutput1; // 0x404
CColorGradient m_Gradient; // 0x410
};
// Alignment: 0
// Size: 0x430
class CParticleCollectionVecInput : public CParticleVecInput
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
// Alignment: 2
// Size: 0xf0
struct FloatInputMaterialVariable_t
{
public:
// MPropertyFriendlyName "material variable"
CUtlString m_strVariable; // 0x0
// MPropertyFriendlyName "input"
CParticleCollectionFloatInput m_flInput; // 0x8
};
// Alignment: 2
// Size: 0x438
struct VecInputMaterialVariable_t
{
public:
// MPropertyFriendlyName "material variable"
CUtlString m_strVariable; // 0x0
// MPropertyFriendlyName "input"
CParticleCollectionVecInput m_vecInput; // 0x8
};
// Alignment: 21
// Size: 0xde0
class C_OP_RenderCables : public CParticleFunctionRenderer
{
public:
// MPropertyStartGroup "Renderer Modifiers"
// MPropertyFriendlyName "Radius Scale"
// MPropertySortPriority "700"
CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
CParticleCollectionVecInput m_vecColorScale; // 0x3a0
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
ParticleColorBlendType_t m_nColorBlendType; // 0x7d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad07d4[0x4]; // 0x7d4
2023-03-24 21:17:17 +00:00
public:
// MPropertyStartGroup
// MPropertyFriendlyName "material"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x7d8
// MPropertyFriendlyName "texture repetition mode"
TextureRepetitionMode_t m_nTextureRepetitionMode; // 0x7e0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad07e4[0x4]; // 0x7e4
2023-03-24 21:17:17 +00:00
public:
// MPropertyFriendlyName "texture repetitions"
CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0x7e8
// MPropertyFriendlyName "texture repetitions around cable"
CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0x8d0
// MPropertyFriendlyName "color map offset along path"
CParticleCollectionFloatInput m_flColorMapOffsetV; // 0x9b8
// MPropertyFriendlyName "color map offset around cable"
CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xaa0
// MPropertyFriendlyName "normal map offset along path"
CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xb88
// MPropertyFriendlyName "normal map offset around cable"
CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0xc70
// MPropertyFriendlyName "draw caps at each end of the cable"
bool m_bDrawCableCaps; // 0xd58
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0d59[0x3]; // 0xd59
2023-03-24 21:17:17 +00:00
public:
// MPropertyFriendlyName "cable end cap shape factor"
// MPropertyAttributeRange "0 2"
float m_flCapRoundness; // 0xd5c
// MPropertyFriendlyName "cable end cap offset amount"
// MPropertyAttributeRange "0 2"
float m_flCapOffsetAmount; // 0xd60
// MPropertyFriendlyName "tessellation scale factor"
float m_flTessScale; // 0xd64
// MPropertyFriendlyName "minimum steps between particles"
int32_t m_nMinTesselation; // 0xd68
// MPropertyFriendlyName "maximum steps between particles"
int32_t m_nMaxTesselation; // 0xd6c
// MPropertyFriendlyName "roundness factor"
int32_t m_nRoundness; // 0xd70
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74
2023-03-24 21:17:17 +00:00
public:
// MPropertyFriendlyName "material float variables"
CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0xd78
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0d90[0x18]; // 0xd90
2023-03-24 21:17:17 +00:00
public:
// MPropertyFriendlyName "material vector variables"
CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0xda8
};
// Alignment: 0
// Size: 0x180
class CParticleFunctionConstraint : public CParticleFunction
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
// Alignment: 0
// Size: 0x180
class CParticleFunctionEmitter : public CParticleFunction
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
// Alignment: 0
// Size: 0xe8
class CPerParticleFloatInput : public CParticleFloatInput
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
// Alignment: 0
// Size: 0x180
class CParticleFunctionInitializer : public CParticleFunction
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 57
// Size: 0x16f0
class CBaseRendererSource2 : public CParticleFunctionRenderer
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
// MPropertyFriendlyName "radius scale"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRadiusScale; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "alpha scale"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flAlphaScale; // 0x2b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlpha2Field; // 0x3a0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecColorScale; // 0x3a8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleColorBlendType_t m_nColorBlendType; // 0x7d8
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Material"
// MPropertyFriendlyName "Shader"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
SpriteCardShaderType_t m_nShaderType; // 0x7dc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Custom Shader"
// MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CUtlString m_strShaderOverride; // 0x7e0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "X offset of center point"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flCenterXOffset; // 0x7e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Y offset of center point"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flCenterYOffset; // 0x8d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Bump Strength"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
float m_flBumpStrength; // 0x9b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Sheet Crop Behavior"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0x9bc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Textures"
// MParticleRequireDefaultArrayEntry
// MPropertyAutoExpandSelf
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0x9c0
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Animation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "animation rate"
// MPropertyAttributeRange "0 5"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
float m_flAnimationRate; // 0x9d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "animation type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
AnimationType_t m_nAnimationType; // 0x9dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set animation value in FPS"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
bool m_bAnimateInFPS; // 0x9e0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad09e1[0x7]; // 0x9e1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Lighting and Shadows"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "self illum amount"
// MPropertyAttributeRange "0 2"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSelfIllumAmount; // 0x9e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "diffuse lighting amount"
// MPropertyAttributeRange "0 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDiffuseAmount; // 0xad0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "diffuse lighting origin Control Point"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
int32_t m_nLightingControlPoint; // 0xbb8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "self illum per-particle"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0xbbc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "lighting mode"
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
ParticleLightingQuality_t m_nLightingMode; // 0xbc0
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Color and alpha adjustments"
// MPropertyFriendlyName "output blend mode"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
ParticleOutputBlendMode_t m_nOutputBlendMode; // 0xbc4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Gamma-correct vertex colors"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
bool m_bGammaCorrectVertexColors; // 0xbc8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Saturate color pre alphablend"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
bool m_bSaturateColorPreAlphaBlend; // 0xbc9
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0bca[0x6]; // 0xbca
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "add self amount over alphablend"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flAddSelfAmount; // 0xbd0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "desaturation amount"
2023-03-15 17:25:55 +00:00
// MPropertyAttributeRange "0 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDesaturation; // 0xcb8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "overbright factor"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOverbrightFactor; // 0xda0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "HSV Shift Control Point"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
int32_t m_nHSVShiftControlPoint; // 0xe88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Apply fog to particle"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
ParticleFogType_t m_nFogType; // 0xe8c
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Color and alpha adjustments/Alpha Reference"
// MPropertyFriendlyName "alpha reference"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0xe90
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "alpha reference window size"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0xe94
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "alpha reference type"
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0xe98
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0e9c[0x4]; // 0xe9c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "alpha reference softness"
2023-03-15 18:56:19 +00:00
// MPropertyAttributeRange "0 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0xea0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "source alpha value to map to alpha of zero"
2023-03-15 18:56:19 +00:00
// MPropertyAttributeRange "0 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0xf88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "source alpha value to map to alpha of 1"
2023-03-15 18:56:19 +00:00
// MPropertyAttributeRange "0 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1070
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Refraction"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "refract background"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "200"
2023-03-23 15:10:10 +00:00
bool m_bRefract; // 0x1158
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "refract draws opaque - alpha scales refraction"
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-03-23 15:10:10 +00:00
bool m_bRefractSolid; // 0x1159
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad115a[0x6]; // 0x115a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "refract amount"
// MPropertyAttributeRange "-2 2"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRefractAmount; // 0x1160
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "refract blur radius"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-03-23 15:10:10 +00:00
int32_t m_nRefractBlurRadius; // 0x1248
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "refract blur type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "200"
// MPropertySuppressExpr "!m_bRefract"
2023-03-23 15:10:10 +00:00
BlurFilterType_t m_nRefractBlurType; // 0x124c
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Only Render in effects bloom pass"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1100"
2023-03-23 15:10:10 +00:00
bool m_bOnlyRenderInEffectsBloomPass; // 0x1250
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Use Mixed Resolution Rendering"
// MPropertySortPriority "1200"
2023-03-23 15:10:10 +00:00
bool m_bUseMixedResolutionRendering; // 0x1251
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Stencil"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "stencil test ID"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
char m_stencilTestID[128]; // 0x1252
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only write where stencil is NOT stencil test ID"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
bool m_bStencilTestExclude; // 0x12d2
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "stencil write ID"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
char m_stencilWriteID[128]; // 0x12d3
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "write stencil on z-buffer test success"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
bool m_bWriteStencilOnDepthPass; // 0x1353
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "write stencil on z-buffer test failure"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
bool m_bWriteStencilOnDepthFail; // 0x1354
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Depth buffer control and effects"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "reverse z-buffer test"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
bool m_bReverseZBuffering; // 0x1355
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "disable z-buffer test"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
bool m_bDisableZBuffering; // 0x1356
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad1357[0x1]; // 0x1357
2023-03-23 15:10:10 +00:00
public:
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "Depth feathering mode"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1358
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad135c[0x4]; // 0x135c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "particle feathering closest distance to surface"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1360
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "particle feathering farthest distance to surface"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1448
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "depth comparison bias"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
float m_flDepthBias; // 0x1530
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Sort Method"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
ParticleSortingChoiceList_t m_nSortMethod; // 0x1534
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Color and alpha adjustments/Dota Fog & Light"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "Apply fog of war to color"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
bool m_bTintByFOW; // 0x1538
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "Apply global light to color"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "300"
2023-03-23 15:10:10 +00:00
bool m_bTintByGlobalLight; // 0x1539
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "blend sequence animation frames"
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
bool m_bBlendFramesSeq0; // 0x153a
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "use max-luminance blending for sequence"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bBlendFramesSeq0"
2023-03-23 15:10:10 +00:00
bool m_bMaxLuminanceBlendingSequence0; // 0x153b
2023-03-15 21:40:38 +00:00
};
2023-03-24 21:17:17 +00:00
// Alignment: 0
// Size: 0x430
class CPerParticleVecInput : public CParticleVecInput
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-24 21:17:17 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 24
// Size: 0x1a00
class C_OP_RenderSprites : public CBaseRendererSource2
2023-03-15 15:20:35 +00:00
{
2023-03-15 17:25:55 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Animation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sequence id override"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nSequenceOverride; // 0x16f0
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Orientation"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "orientation type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
ParticleOrientationChoiceList_t m_nOrientationType; // 0x17d8
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "orientation control point"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-03-23 15:10:10 +00:00
int32_t m_nOrientationControlPoint; // 0x17dc
2023-03-15 21:40:38 +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-03-23 15:10:10 +00:00
bool m_bUseYawWithNormalAligned; // 0x17e0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad17e1[0x3]; // 0x17e1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Fading and culling"
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "minimum visual size"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
float m_flMinSize; // 0x17e4
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "maximum visual size"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
float m_flMaxSize; // 0x17e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Factor to map size adjustment to alpha"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
float m_flAlphaAdjustWithSizeAdjust; // 0x17ec
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "size at which to start fading"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flStartFadeSize; // 0x17f0
2023-03-15 17:25:55 +00:00
// MPropertyFriendlyName "size at which to fade away"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flEndFadeSize; // 0x18d8
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Fading and culling"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start dot product value for fading as the particle normal becomes aligned with the view vector"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
float m_flStartFadeDot; // 0x19c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end dot product value for fading as the particle normal becomes aligned with the view vector"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
float m_flEndFadeDot; // 0x19c4
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Distance to alpha coding"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance alpha"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
bool m_bDistanceAlpha; // 0x19c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use soft edges for distance alpha"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-03-23 15:10:10 +00:00
bool m_bSoftEdges; // 0x19c9
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19ca[0x2]; // 0x19ca
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start value for soft edges for distance alpha"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-03-23 15:10:10 +00:00
float m_flEdgeSoftnessStart; // 0x19cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end value for soft edges for distance alpha"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bDistanceAlpha"
2023-03-23 15:10:10 +00:00
float m_flEdgeSoftnessEnd; // 0x19d0
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Outlining"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "enable particle outlining"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
2023-03-23 15:10:10 +00:00
bool m_bOutline; // 0x19d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline color"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
Color m_OutlineColor; // 0x19d5
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19d9[0x3]; // 0x19d9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline alpha"
// MPropertyAttributeRange "0 255"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
int32_t m_nOutlineAlpha; // 0x19dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline start 0"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
float m_flOutlineStart0; // 0x19e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline start 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
float m_flOutlineStart1; // 0x19e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline end 0"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
float m_flOutlineEnd0; // 0x19e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outline end 1"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "0"
// MPropertySuppressExpr "!m_bOutline"
2023-03-23 15:10:10 +00:00
float m_flOutlineEnd1; // 0x19ec
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Lighting and Shadows"
// MPropertyFriendlyName "Particle Shadows"
// MPropertySortPriority "400"
2023-03-23 15:10:10 +00:00
bool m_bParticleShadows; // 0x19f0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19f1[0x3]; // 0x19f1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Shadow Density"
// MPropertySortPriority "400"
// MPropertySuppressExpr "!m_bParticleShadows"
2023-03-23 15:10:10 +00:00
float m_flShadowDensity; // 0x19f4
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 18:34:46 +00:00
class PARTICLE_EHANDLE__
{
public:
2023-03-23 15:10:10 +00:00
int32_t unused; // 0x0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 18:34:46 +00:00
class PARTICLE_WORLD_HANDLE__
{
public:
2023-03-23 15:10:10 +00:00
int32_t unused; // 0x0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 18:34:46 +00:00
class IParticleEffect
{
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x8]; // Autoaligned
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x28
2023-03-15 18:34:46 +00:00
class CParticleProperty
{
public:
2023-03-24 22:02:34 +00:00
uint8_t __pad0000[0x28]; // Autoaligned
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 25
// Size: 0xb8
2023-03-15 18:34:46 +00:00
class CNewParticleEffect : public IParticleEffect
{
public:
2023-03-23 15:10:10 +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_bDisableAggregation: 1;
uint8_t m_bShouldSimulateDuringGamePaused: 1;
uint8_t m_bShouldCheckFoW: 1;
uint256_t __pad0: 180;
}; // 192 bits
Vector m_vSortOrigin; // 0x40
float m_flScale; // 0x4c
PARTICLE_EHANDLE__* m_hOwner; // 0x50
CParticleProperty* m_pOwningParticleProperty; // 0x58
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0060[0x10]; // 0x60
2023-03-23 15:10:10 +00:00
public:
Vector m_LastMin; // 0x70
Vector m_LastMax; // 0x7c
CSplitScreenSlot m_nSplitScreenUser; // 0x88
Vector m_vecAggregationCenter; // 0x8c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0098[0x18]; // 0x98
2023-03-23 15:10:10 +00:00
public:
int32_t m_RefCount; // 0xb0
};
// Alignment: 5
// Size: 0x370
class C_OP_ConstrainDistance : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum distance"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_fMinDistance; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_fMaxDistance; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset of center"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_CenterOffset; // 0x354
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "global center point"
2023-03-23 15:10:10 +00:00
bool m_bGlobalCenter; // 0x360
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x350
class C_OP_CollideWithSelf : public CParticleFunctionConstraint
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "particle radius scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusScale; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "minimum speed for check"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flMinimumSpeed; // 0x268
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x350
class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "parent particle radius scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flParentRadiusScale; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "particle radius scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusScale; // 0x268
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1e0
class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum distance"
2023-03-23 15:10:10 +00:00
float m_fMinDistance; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_flMaxDistance0; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance middle"
2023-03-23 15:10:10 +00:00
float m_flMaxDistanceMid; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance end"
2023-03-23 15:10:10 +00:00
float m_flMaxDistance1; // 0x18c
CPathParameters m_PathParameters; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "travel time"
2023-03-23 15:10:10 +00:00
float m_flTravelTime; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "travel time scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldScale; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "manual time placement field"
2023-03-15 17:25:55 +00:00
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nManualTField; // 0x1d8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum distance"
2023-03-23 15:10:10 +00:00
float m_fMinDistance; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_flMaxDistance; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Time scale"
2023-03-23 15:10:10 +00:00
float m_flTimeScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-03-23 15:10:10 +00:00
bool m_bLoopedPath; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "path points"
2023-03-23 15:10:10 +00:00
CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x370
class C_OP_PlanarConstraint : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "plane point"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_PointOnPlane; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "plane normal"
2023-03-23 15:10:10 +00:00
Vector m_PlaneNormal; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "global origin"
2023-03-23 15:10:10 +00:00
bool m_bGlobalOrigin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "global normal"
2023-03-23 15:10:10 +00:00
bool m_bGlobalNormal; // 0x19d
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusScale; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "falloff distance from control point"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x288
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 23
// Size: 0x6e0
class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point for fast collision tests"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point offset for fast collisions"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCpOffset; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collision mode"
2023-03-23 15:10:10 +00:00
ParticleCollisionMode_t m_nCollisionMode; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum detail collision mode"
2023-03-23 15:10:10 +00:00
ParticleCollisionMode_t m_nCollisionModeMin; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of bounce"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flBounceAmount; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of slide"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flSlideAmount; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusScale; // 0x370
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Random Direction scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRandomDirScale; // 0x458
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point movement distance tolerance"
2023-03-23 15:10:10 +00:00
float m_flCpMovementTolerance; // 0x540
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace accuracy tolerance"
2023-03-23 15:10:10 +00:00
float m_flTraceTolerance; // 0x544
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum speed to kill on collision"
2023-03-23 15:10:10 +00:00
float m_flMinSpeed; // 0x548
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Add Decay to Bounce"
2023-03-23 15:10:10 +00:00
bool m_bDecayBounce; // 0x54c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "kill particle on collision"
2023-03-23 15:10:10 +00:00
bool m_bKillonContact; // 0x54d
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Confirm Collision Speed Threshold"
2023-03-23 15:10:10 +00:00
float m_flCollisionConfirmationSpeed; // 0x550
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Set Normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x554
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Stick On Collision Cache Field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x558
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Speed to stop when sticking"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flStopSpeed; // 0x560
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nEntityStickDataField; // 0x648
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "World Only"
2023-03-23 15:10:10 +00:00
bool m_bWorldOnly; // 0x64c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad064d[0x3]; // 0x64d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-03-23 15:10:10 +00:00
int32_t m_nIgnoreCP; // 0x650
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x654
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "brush only"
2023-03-23 15:10:10 +00:00
bool m_bBrushOnly; // 0x6d4
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_BoxConstraint : public CParticleFunctionConstraint
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min coords"
2023-03-23 15:10:10 +00:00
Vector m_vecMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max coords"
2023-03-23 15:10:10 +00:00
Vector m_vecMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x530
class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "slack"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRestLength; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum segment length %"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flMinDistance; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum segment length %"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flMaxDistance; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor for spring correction"
2023-03-23 15:10:10 +00:00
float m_flAdjustmentScale; // 0x438
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad043c[0x4]; // 0x43c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "manual resting spacing"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInitialRestingLength; // 0x440
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x950
class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "slack"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRestLength; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "minimum segment length %"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flMinDistance; // 0x268
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "maximum segment length %"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flMaxDistance; // 0x350
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "resting spacing"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRestingLength; // 0x438
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "anchor vector"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecAnchorVector; // 0x520
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_ConstrainLineLength : public CParticleFunctionConstraint
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum length"
2023-03-23 15:10:10 +00:00
float m_flMinDistance; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum length"
2023-03-23 15:10:10 +00:00
float m_flMaxDistance; // 0x184
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x8d0
class C_INIT_RingWave : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "even distribution count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "initial radius"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInitialRadius; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "thickness"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flThickness; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min initial speed"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInitialSpeedMin; // 0x440
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max initial speed"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInitialSpeedMax; // 0x528
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "roll"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRoll; // 0x610
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pitch"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flPitch; // 0x6f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "yaw"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flYaw; // 0x7e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "even distribution"
2023-03-23 15:10:10 +00:00
bool m_bEvenDistribution; // 0x8c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "XY velocity only"
2023-03-23 15:10:10 +00:00
bool m_bXYVelocityOnly; // 0x8c9
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)"
2023-03-23 15:10:10 +00:00
int32_t m_nOverrideCP; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "density"
2023-03-23 15:10:10 +00:00
int32_t m_nDensity; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "initial radius"
2023-03-23 15:10:10 +00:00
float m_flInitialRadius; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "min initial speed"
2023-03-23 15:10:10 +00:00
float m_flInitialSpeedMin; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "max initial speed"
2023-03-23 15:10:10 +00:00
float m_flInitialSpeedMax; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use particle count as density scale"
2023-03-23 15:10:10 +00:00
bool m_bUseParticleCount; // 0x198
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x540
class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "first dimension 0-2 (-1 disables)"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent1; // 0x180
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "second dimension 0-2 (-1 disables)"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent2; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle density"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flParticleDensity; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "point offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOffset; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius 1"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadius1; // 0x360
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius 2"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadius2; // 0x448
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use particle count instead of creation time"
2023-03-23 15:10:10 +00:00
bool m_bUseCount; // 0x530
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space"
2023-03-23 15:10:10 +00:00
bool m_bUseLocalCoords; // 0x531
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset from existing position"
2023-03-23 15:10:10 +00:00
bool m_bOffsetExistingPos; // 0x532
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 14
// Size: 0x1b0
class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale size multiplier from CP"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "center core radius"
2023-03-23 15:10:10 +00:00
float m_fRadCentCore; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius multiplier"
2023-03-23 15:10:10 +00:00
float m_fRadPerPoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius max (-1 procedural growth)"
2023-03-23 15:10:10 +00:00
float m_fRadPerPointTo; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "golden angle (is 137.508)"
2023-03-23 15:10:10 +00:00
float m_fpointAngle; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "overall size multiplier (-1 count based distribution)"
2023-03-23 15:10:10 +00:00
float m_fsizeOverall; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius bias"
2023-03-23 15:10:10 +00:00
float m_fRadBias; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius min "
2023-03-23 15:10:10 +00:00
float m_fMinRad; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distribution bias"
2023-03-23 15:10:10 +00:00
float m_fDistBias; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space"
2023-03-23 15:10:10 +00:00
bool m_bUseLocalCoords; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use continuous emission"
2023-03-23 15:10:10 +00:00
bool m_bUseWithContEmit; // 0x1ad
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale radius from initial value"
2023-03-23 15:10:10 +00:00
bool m_bUseOrigRadius; // 0x1ae
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0xa80
class C_INIT_CreateOnModel : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force to be inside model"
2023-03-23 15:10:10 +00:00
int32_t m_nForceInModel; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-03-23 15:10:10 +00:00
int32_t m_nDesiredHitbox; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Control Point Providing Hitbox index"
2023-03-23 15:10:10 +00:00
int32_t m_nHitboxValueFromControlPointIndex; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecHitBoxScale; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherited velocity scale"
2023-03-23 15:10:10 +00:00
float m_flBoneVelocity; // 0x5c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum inherited velocity"
2023-03-23 15:10:10 +00:00
float m_flMaxBoneVelocity; // 0x5c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecDirectionBias; // 0x5c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x9f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bias in local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0xa78
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0xa79
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 14
// Size: 0xd30
class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force creation height to desired height"
2023-03-23 15:10:10 +00:00
bool m_bForceZ; // 0x181
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "height override control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nHeightCP; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "desired height is relative to water"
2023-03-23 15:10:10 +00:00
bool m_bUseWaterHeight; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "relative desired height"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDesiredHeight; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecHitBoxScale; // 0x278
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecDirectionBias; // 0x6a8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "bias type"
2023-03-23 15:10:10 +00:00
ParticleHitboxBiasType_t m_nBiasType; // 0xad8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "bias in local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0xadc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "bias prefers moving hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bPreferMovingBoxes; // 0xadd
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0xade
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0b5e[0x2]; // 0xb5e
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "hitbox velocity inherited scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xb60
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "max hitbox velocity"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0xc48
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x730
class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-03-23 15:10:10 +00:00
int32_t m_nDesiredHitbox; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecHitBoxScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x5b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x638
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "get closest point on closest hitbox"
2023-03-23 15:10:10 +00:00
bool m_bUseClosestPointOnHitbox; // 0x639
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad063a[0x2]; // 0x63a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "closest point test type"
2023-03-23 15:10:10 +00:00
ClosestPointTestType_t m_nTestType; // 0x63c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "hybrid ratio"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flHybridRatio; // 0x640
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set initial position"
2023-03-23 15:10:10 +00:00
bool m_bUpdatePosition; // 0x728
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x650
class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force to be inside model"
2023-03-23 15:10:10 +00:00
int32_t m_nForceInModel; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "desired hitbox"
2023-03-23 15:10:10 +00:00
int32_t m_nDesiredHitbox; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model hitbox scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecHitBoxScale; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "direction bias"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecDirectionBias; // 0x5c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maintain existing hitbox"
2023-03-23 15:10:10 +00:00
bool m_bMaintainHitbox; // 0x5cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x5cd
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x5ce
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 17
// Size: 0x11e0
class C_INIT_CreateWithinSphere : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance min"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fRadiusMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance max"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fRadiusMax; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance bias"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecDistanceBias; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance bias absolute value"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecDistanceBiasAbs; // 0x780
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "randomly distribute between the control point and control point max"
2023-03-23 15:10:10 +00:00
bool m_bDistributeInCPRange; // 0x78c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad078d[0x3]; // 0x78d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x790
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "max control point number"
// MPropertySuppressExpr "m_bDistributeInCPRange != true"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumberMax; // 0x794
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed min"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fSpeedMin; // 0x798
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed max"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fSpeedMax; // 0x880
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed random exponent"
2023-03-23 15:10:10 +00:00
float m_fSpeedRandExp; // 0x968
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bias in local system"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x96c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad096d[0x1]; // 0x96d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "randomly distribute to highest supplied control point"
// MParticleMaxVersion
2023-03-23 15:10:10 +00:00
bool m_bUseHighestEndCP; // 0x96e
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad096f[0x1]; // 0x96f
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "randomly distribution growth time"
2023-03-23 15:10:10 +00:00
float m_flEndCPGrowthTime; // 0x970
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0974[0x4]; // 0x974
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed in local coordinate system min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x978
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed in local coordinate system max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xda8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Output vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x11d8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Velocity vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldVelocity; // 0x11dc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x9f0
class C_INIT_CreateWithinBox : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecMax; // 0x5b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x9e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x9e4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x700
class C_INIT_CreateOnGrid : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "X Dimension Count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nXCount; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Y Dimension Count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nYCount; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Z Dimension Count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nZCount; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "X Dimension Spacing"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nXSpacing; // 0x438
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Y Dimension Spacing"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nYSpacing; // 0x520
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Z Dimension Spacing"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nZSpacing; // 0x608
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x6f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x6f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "center around control point"
2023-03-23 15:10:10 +00:00
bool m_bCenter; // 0x6f5
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hollow"
2023-03-23 15:10:10 +00:00
bool m_bHollow; // 0x6f6
2023-03-15 17:25:55 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x9f0
class C_INIT_PositionOffset : public CParticleFunctionInitializer
2023-03-15 17:25:55 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_OffsetMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_OffsetMax; // 0x5b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x9e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x9e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset proportional to radius 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x9e5
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "creation control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumberStart; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "offset control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumberEnd; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x188
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x400
class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOffset; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max trace length"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flMaxTraceLength; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x350
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x3d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad03d4[0xc]; // 0x3d4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "No Collision Behavior"
2023-03-23 15:10:10 +00:00
ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "include water"
2023-03-23 15:10:10 +00:00
bool m_bIncludeWater; // 0x3e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x3e5
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set Previous XYZ only"
2023-03-23 15:10:10 +00:00
bool m_bSetPXYZOnly; // 0x3e6
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Trace along particle normal"
2023-03-23 15:10:10 +00:00
bool m_bTraceAlongNormal; // 0x3e7
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Offset only if trace hit"
2023-03-23 15:10:10 +00:00
bool m_bOffsetonColOnly; // 0x3e8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad03e9[0x3]; // 0x3e9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset final position by this fraction of the particle radius"
2023-03-23 15:10:10 +00:00
float m_flOffsetByRadiusFactor; // 0x3ec
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "preserve initial Z-offset relative to cp"
2023-03-23 15:10:10 +00:00
int32_t m_nPreserveOffsetCP; // 0x3f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-03-23 15:10:10 +00:00
int32_t m_nIgnoreCP; // 0x3f4
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed min"
2023-03-23 15:10:10 +00:00
float m_fSpeedMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed max"
2023-03-23 15:10:10 +00:00
float m_fSpeedMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDt; // 0x188
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0xbc0
class C_INIT_VelocityRandom : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed min"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fSpeedMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed max"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fSpeedMax; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed in local coordinate system min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed in local coordinate system max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x788
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Ignore delta time (RenderTrails)"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDT; // 0xbb8
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x10f0
class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "absolute value"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecAbsVal; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "invert abs value"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecAbsValInv; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecOffsetLoc; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOffset; // 0x5c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecOutputMin; // 0x6b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecOutputMax; // 0xae0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flNoiseScale; // 0xf10
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flNoiseScaleLoc; // 0xff8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x10e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "apply velocity in local space (0/1)"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x10e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDt; // 0x10e5
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x210
class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "velocity minimum"
2023-03-23 15:10:10 +00:00
float m_flVelocityMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "velocity maximum"
2023-03-23 15:10:10 +00:00
float m_flVelocityMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x20c
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed min"
2023-03-23 15:10:10 +00:00
float m_fSpeedMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random speed max"
2023-03-23 15:10:10 +00:00
float m_fSpeedMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space scale"
2023-03-23 15:10:10 +00:00
Vector m_vecLocalCoordinateSystemSpeedScale; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDelta; // 0x199
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_RandomLifeTime : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "lifetime min"
// MPropertyAttributeRange "0 20"
2023-03-23 15:10:10 +00:00
float m_fLifetimeMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "lifetime max"
// MPropertyAttributeRange "0 20"
2023-03-23 15:10:10 +00:00
float m_fLifetimeMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "lifetime random exponent"
2023-03-23 15:10:10 +00:00
float m_fLifetimeRandExponent; // 0x188
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_INIT_RandomScalar : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "min"
2023-03-23 15:10:10 +00:00
float m_flMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "max"
2023-03-23 15:10:10 +00:00
float m_flMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "exponent"
2023-03-23 15:10:10 +00:00
float m_flExponent; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x18c
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_INIT_RandomVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "min"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "max"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x198
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "min"
2023-03-23 15:10:10 +00:00
float m_flMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "max"
2023-03-23 15:10:10 +00:00
float m_flMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "component 0/1/2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x18c
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_INIT_AddVectorToVector : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "component scale factor"
2023-03-23 15:10:10 +00:00
Vector m_vecScale; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "random offset min"
2023-03-23 15:10:10 +00:00
Vector m_vOffsetMin; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "random offset max"
2023-03-23 15:10:10 +00:00
Vector m_vOffsetMax; // 0x1a0
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "min"
2023-03-23 15:10:10 +00:00
float m_flMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "max"
2023-03-23 15:10:10 +00:00
float m_flMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "exponent"
2023-03-23 15:10:10 +00:00
float m_flExponent; // 0x188
2023-03-15 15:20:35 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_RandomRadius : public CParticleFunctionInitializer
2023-03-15 15:20:35 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "radius min"
// MPropertyAttributeRange "biased 0 500"
2023-03-23 15:10:10 +00:00
float m_flRadiusMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "radius max"
// MPropertyAttributeRange "biased 0 500"
2023-03-23 15:10:10 +00:00
float m_flRadiusMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "radius random exponent"
// MPropertyAttributeRange "-2 2"
2023-03-23 15:10:10 +00:00
float m_flRadiusRandExponent; // 0x188
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_INIT_RandomAlpha : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "alpha min"
// MPropertyAttributeRange "0 255"
2023-03-23 15:10:10 +00:00
int32_t m_nAlphaMin; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "alpha max"
// MPropertyAttributeRange "0 255"
2023-03-23 15:10:10 +00:00
int32_t m_nAlphaMax; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x8]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "alpha random exponent"
2023-03-23 15:10:10 +00:00
float m_flAlphaRandExponent; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1b0
class CGeneralRandomRotation : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "yaw offset min"
2023-03-23 15:10:10 +00:00
float m_flDegreesMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "yaw offset max"
2023-03-23 15:10:10 +00:00
float m_flDegreesMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "yaw initial"
2023-03-23 15:10:10 +00:00
float m_flDegrees; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0190[0xc]; // 0x190
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "yaw random exponent"
2023-03-23 15:10:10 +00:00
float m_flRotationRandExponent; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "randomly flip direction"
2023-03-23 15:10:10 +00:00
bool m_bRandomlyFlipDirection; // 0x1a0
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomRotation : public CGeneralRandomRotation
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "rotation offset"
2023-03-23 15:10:10 +00:00
float m_flRotOffset; // 0x188
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomYaw : public CGeneralRandomRotation
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1c0
class C_INIT_RandomColor : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "color1"
2023-03-23 15:10:10 +00:00
Color m_ColorMin; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "color2"
2023-03-23 15:10:10 +00:00
Color m_ColorMax; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint clamp min"
2023-03-23 15:10:10 +00:00
Color m_TintMin; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint clamp max"
2023-03-23 15:10:10 +00:00
Color m_TintMax; // 0x1a4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint perc"
2023-03-23 15:10:10 +00:00
float m_flTintPerc; // 0x1a8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint update movement threshold"
2023-03-23 15:10:10 +00:00
float m_flUpdateThreshold; // 0x1ac
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint control point"
2023-03-23 15:10:10 +00:00
int32_t m_nTintCP; // 0x1b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint blend mode"
2023-03-23 15:10:10 +00:00
ParticleColorBlendMode_t m_nTintBlendMode; // 0x1b8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "light amplification amount"
2023-03-23 15:10:10 +00:00
float m_flLightAmplification; // 0x1bc
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1c0
class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "color1"
2023-03-23 15:10:10 +00:00
Color m_ColorMin; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "color2"
2023-03-23 15:10:10 +00:00
Color m_ColorMax; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint clamp min"
2023-03-23 15:10:10 +00:00
Color m_TintMin; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint clamp max"
2023-03-23 15:10:10 +00:00
Color m_TintMax; // 0x1a4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "light bias"
2023-03-23 15:10:10 +00:00
float m_flTintPerc; // 0x1a8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "tint blend mode"
2023-03-23 15:10:10 +00:00
ParticleColorBlendMode_t m_nTintBlendMode; // 0x1ac
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "light amplification amount"
2023-03-23 15:10:10 +00:00
float m_flLightAmplification; // 0x1b0
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_INIT_RandomTrailLength : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "length min"
2023-03-23 15:10:10 +00:00
float m_flMinLength; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "length max"
2023-03-23 15:10:10 +00:00
float m_flMaxLength; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "length random exponent"
2023-03-23 15:10:10 +00:00
float m_flLengthRandExponent; // 0x188
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_INIT_RandomSequence : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "sequence min"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-03-23 15:10:10 +00:00
int32_t m_nSequenceMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "sequence max"
// MPropertyAttributeEditor "SequencePicker( 1 )"
2023-03-23 15:10:10 +00:00
int32_t m_nSequenceMax; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "shuffle"
2023-03-23 15:10:10 +00:00
bool m_bShuffle; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "linear"
2023-03-23 15:10:10 +00:00
bool m_bLinear; // 0x189
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018a[0x6]; // 0x18a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "weighted list"
2023-03-23 15:10:10 +00:00
CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x190
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_INIT_SequenceFromCP : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "kill unused"
2023-03-23 15:10:10 +00:00
bool m_bKillUnused; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "offset propotional to radius"
2023-03-23 15:10:10 +00:00
bool m_bRadiusScale; // 0x181
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "per particle spatial offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffset; // 0x188
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x290
class C_INIT_RandomModelSequence : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "activity"
2023-03-23 15:10:10 +00:00
char m_ActivityName[256]; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "model"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x280
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x5b0
class C_INIT_ScaleVelocity : public CParticleFunctionInitializer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "velocity scale"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecScale; // 0x180
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0xa00
class C_INIT_PositionWarp : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "warp min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecWarpMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecWarpMax; // 0x5b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp scale control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointNumber; // 0x9e0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x9e4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "radius scale component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nRadiusComponent; // 0x9e8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)"
2023-03-23 15:10:10 +00:00
float m_flWarpTime; // 0x9ec
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp transition start time"
2023-03-23 15:10:10 +00:00
float m_flWarpStartTime; // 0x9f0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "previous position sacale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x9f4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "reverse warp (0/1)"
2023-03-23 15:10:10 +00:00
bool m_bInvertWarp; // 0x9f8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use particle count instead of time"
2023-03-23 15:10:10 +00:00
bool m_bUseCount; // 0x9f9
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x290
class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "warp min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecWarpMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecWarpMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp amount"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputValue; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "previous position scale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x280
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "warp scale control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointNumber; // 0x284
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x288
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1b0
class C_INIT_CreationNoise : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsVal; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsValInv; // 0x185
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0186[0x2]; // 0x186
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-03-23 15:10:10 +00:00
float m_flOffset; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseScale; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseScaleLoc; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetLoc; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "world time noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flWorldTimeScale; // 0x1a8
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1f0
class C_INIT_CreateAlongPath : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_fMaxDistance; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "randomly select sequential CP pairs between start and end points"
2023-03-23 15:10:10 +00:00
bool m_bUseRandomCPs; // 0x1d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "Offset from control point for path end"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vEndOffset; // 0x1d4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "save offset"
2023-03-23 15:10:10 +00:00
bool m_bSaveOffset; // 0x1e0
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x610
class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "minimum speed"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flSpeedMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "maximum speed"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flSpeedMax; // 0x268
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "end spread"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flEndSpread; // 0x350
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "start offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flStartOffset; // 0x438
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "end offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flEndOffset; // 0x520
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "end control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndControlPointNumber; // 0x608
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "bias lifetime by trail length"
2023-03-23 15:10:10 +00:00
bool m_bTrailBias; // 0x60c
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1b0
class C_INIT_RemapScalar : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1a4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x1a8
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0x1b0
class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
int32_t m_nInputMin; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
int32_t m_nInputMax; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPoint; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointField; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "invert input from total particle count"
2023-03-23 15:10:10 +00:00
bool m_bInvert; // 0x1a1
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "wrap input"
2023-03-23 15:10:10 +00:00
bool m_bWrap; // 0x1a2
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x1a4
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1d0
class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output min name"
2023-03-23 15:10:10 +00:00
CUtlString m_outputMinName; // 0x1b8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output max name"
2023-03-23 15:10:10 +00:00
CUtlString m_outputMaxName; // 0x1c0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "model from renderer"
2023-03-23 15:10:10 +00:00
bool m_bModelFromRenderer; // 0x1c8
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_INIT_InheritVelocity : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "velocity scale"
2023-03-23 15:10:10 +00:00
float m_flVelocityScale; // 0x184
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_VelocityFromCP : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "comparison control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointCompare; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "local space control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointLocal; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "velocity scale"
2023-03-23 15:10:10 +00:00
float m_flVelocityScale; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "direction only"
2023-03-23 15:10:10 +00:00
bool m_bDirectionOnly; // 0x190
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1b0
class C_INIT_AgeNoise : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsVal; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsValInv; // 0x181
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0182[0x2]; // 0x182
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-03-23 15:10:10 +00:00
float m_flOffset; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "start age minimum"
2023-03-23 15:10:10 +00:00
float m_flAgeMin; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "start age maximum"
2023-03-23 15:10:10 +00:00
float m_flAgeMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseScale; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "spatial noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseScaleLoc; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetLoc; // 0x198
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "frames per second"
2023-03-23 15:10:10 +00:00
float m_flFramerate; // 0x180
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0x1d0
class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x1a8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x1ac
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x1b4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use local system"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x1b8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01b9[0x3]; // 0x1b9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x1bc
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output offset minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output offset maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x194
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1e0
class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_fMaxDistance; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-03-23 15:10:10 +00:00
float m_flNumToAssign; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-03-23 15:10:10 +00:00
bool m_bLoop; // 0x188
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "use sequential CP pairs between start and end point"
2023-03-23 15:10:10 +00:00
bool m_bCPPairs; // 0x189
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "save offset"
2023-03-23 15:10:10 +00:00
bool m_bSaveOffset; // 0x18a
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x190
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1d0
class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_fMaxDistance; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-03-23 15:10:10 +00:00
float m_flNumToAssign; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-03-23 15:10:10 +00:00
bool m_bLoop; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use sequential CP pairs between start and end point"
2023-03-23 15:10:10 +00:00
bool m_bCPPairs; // 0x189
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "save offset"
2023-03-23 15:10:10 +00:00
bool m_bSaveOffset; // 0x18a
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018b[0x5]; // 0x18b
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x240
class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x200
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "minimum velocity"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x204
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "maximum velocity"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x210
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x21c
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "per particle world collision tests"
2023-03-23 15:10:10 +00:00
bool m_bPerParticle; // 0x220
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "offset instead of accelerate"
2023-03-23 15:10:10 +00:00
bool m_bTranslate; // 0x221
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "offset proportional to radius 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x222
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "trace length"
2023-03-23 15:10:10 +00:00
float m_flTraceLength; // 0x224
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "use radius for per particle trace length"
2023-03-23 15:10:10 +00:00
bool m_bPerParticleTR; // 0x228
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "inherit from parent"
2023-03-23 15:10:10 +00:00
bool m_bInherit; // 0x229
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad022a[0x2]; // 0x22a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control points to broadcast to children (n + 1)"
2023-03-23 15:10:10 +00:00
int32_t m_nChildCP; // 0x22c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "child group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x230
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_INIT_RandomYawFlip : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "flip percentage"
2023-03-23 15:10:10 +00:00
float m_flPercent; // 0x180
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "sequence min"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-03-23 15:10:10 +00:00
int32_t m_nSequenceMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "sequence max"
// MPropertyAttributeEditor "SequencePicker( 2 )"
2023-03-23 15:10:10 +00:00
int32_t m_nSequenceMax; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1b0
class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x1e0
class C_INIT_RemapCPtoVector : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vInputMax; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vOutputMin; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vOutputMax; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x1bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset position"
2023-03-23 15:10:10 +00:00
bool m_bOffset; // 0x1c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "accelerate position"
2023-03-23 15:10:10 +00:00
bool m_bAccelerate; // 0x1c5
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01c6[0x2]; // 0x1c6
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space CP"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalSpaceCP; // 0x1c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x1cc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x1b0
class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "pickover A parameter"
2023-03-23 15:10:10 +00:00
float m_flAParm; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pickover B parameter"
2023-03-23 15:10:10 +00:00
float m_flBParm; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pickover C parameter"
2023-03-23 15:10:10 +00:00
float m_flCParm; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pickover D parameter"
2023-03-23 15:10:10 +00:00
float m_flDParm; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed min"
2023-03-23 15:10:10 +00:00
float m_flSpeedMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed max"
2023-03-23 15:10:10 +00:00
float m_flSpeedMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "relative control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nBaseCP; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "uniform speed"
2023-03-23 15:10:10 +00:00
bool m_bUniformSpeed; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "inherited velocity scale"
2023-03-23 15:10:10 +00:00
float m_flVelocityScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
float m_flIncrement; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-03-23 15:10:10 +00:00
bool m_bRandomDistribution; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sub frame interpolation"
2023-03-23 15:10:10 +00:00
bool m_bSubFrame; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-03-23 15:10:10 +00:00
bool m_bRandomDistribution; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x280
class C_INIT_CreateFromCPs : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nMinCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
// MParticleMinVersion
2023-03-23 15:10:10 +00:00
int32_t m_nMaxCP; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "dynamic control point count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nDynamicCPCount; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x6c0
class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMax; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMin; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMax; // 0x440
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x528
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-03-23 15:10:10 +00:00
bool m_bLOS; // 0x52c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x52d
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x5b0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Maximum Trace Length"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flMaxTraceLength; // 0x5b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-03-23 15:10:10 +00:00
float m_flLOSScale; // 0x6a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x6a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x6a8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance component scale"
2023-03-23 15:10:10 +00:00
Vector m_vecDistanceScale; // 0x6ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap bias"
2023-03-23 15:10:10 +00:00
float m_flRemapBias; // 0x6b8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x240
class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "bias distance"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecComponentScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace offset"
2023-03-23 15:10:10 +00:00
float m_flTraceOffset; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace recycle tolerance"
2023-03-23 15:10:10 +00:00
float m_flTraceTolerance; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum points to cache"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxPlanes; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x1a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x220
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collide with water"
2023-03-23 15:10:10 +00:00
bool m_bIncludeWater; // 0x230
2023-03-15 18:34:46 +00:00
};
2023-03-15 18:56:19 +00:00
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer
2023-03-15 18:56:19 +00:00
{
public:
// MPropertyFriendlyName "local offset min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetMin; // 0x180
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "local offset max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetMax; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0198[0x1]; // 0x198
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bUseNormal; // 0x199
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x210
class C_INIT_ModelCull : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use only bounding box"
2023-03-23 15:10:10 +00:00
bool m_bBoundBox; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "cull outside instead of inside"
2023-03-23 15:10:10 +00:00
bool m_bCullOutside; // 0x185
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x186
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x187
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x280
class C_INIT_DistanceCull : public CParticleFunctionInitializer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "cull distance"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDistance; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "cull inside instead of outside"
2023-03-23 15:10:10 +00:00
bool m_bCullInside; // 0x270
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x280
class C_INIT_PlaneCull : public CParticleFunctionInitializer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "control point of plane"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "cull offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDistance; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "flip cull normal"
2023-03-23 15:10:10 +00:00
bool m_bCullInside; // 0x270
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x230
class C_INIT_RtEnvCull : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "test direction"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTestDir; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull normal"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTestNormal; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use velocity for test direction"
2023-03-23 15:10:10 +00:00
bool m_bUseVelocity; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull on miss"
2023-03-23 15:10:10 +00:00
bool m_bCullOnMiss; // 0x199
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "velocity test adjust lifespan"
2023-03-23 15:10:10 +00:00
bool m_bLifeAdjust; // 0x19a
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ray trace environment name"
2023-03-23 15:10:10 +00:00
char m_RtEnvName[128]; // 0x19b
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad021b[0x1]; // 0x21b
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "ray trace environment cp"
2023-03-23 15:10:10 +00:00
int32_t m_nRTEnvCP; // 0x21c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "rt env control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x220
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "control point axis"
2023-03-23 15:10:10 +00:00
ParticleControlPointAxis_t m_nControlPointAxis; // 0x184
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_NormalOffset : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "offset min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_OffsetMin; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "offset max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_OffsetMax; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "offset in local space 0/1"
2023-03-23 15:10:10 +00:00
bool m_bLocalCoords; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "normalize output 0/1"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x19d
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1b0
class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number (ignored if per particle)"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "per particle"
2023-03-23 15:10:10 +00:00
bool m_bPerParticle; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToRead; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "field to write"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalSpaceCP; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random order"
2023-03-23 15:10:10 +00:00
bool m_bRandom; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reverse order"
2023-03-23 15:10:10 +00:00
bool m_bReverse; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space angles"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpaceAngles; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 17
// Size: 0x1c0
class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random order"
2023-03-23 15:10:10 +00:00
bool m_bRandom; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "prepare for rigid lock"
2023-03-23 15:10:10 +00:00
bool m_bRigid; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x191
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normal velocity ignore delta time"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDt; // 0x192
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normal velocity min"
2023-03-23 15:10:10 +00:00
float m_flMinNormalVelocity; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normal velocity max"
2023-03-23 15:10:10 +00:00
float m_flMaxNormalVelocity; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
float m_flIncrement; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Full Loop Increment Amount"
2023-03-23 15:10:10 +00:00
int32_t m_nFullLoopIncrement; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapShotStartPoint; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherited bone velocity"
2023-03-23 15:10:10 +00:00
float m_flBoneVelocity; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max inherited bone velocity"
2023-03-23 15:10:10 +00:00
float m_flBoneVelocityMax; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Set Color"
2023-03-23 15:10:10 +00:00
bool m_bCopyColor; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Set Alpha"
2023-03-23 15:10:10 +00:00
bool m_bCopyAlpha; // 0x1b1
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Set Radius"
2023-03-23 15:10:10 +00:00
bool m_bCopyRadius; // 0x1b2
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x210
class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "field to init"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToCopy; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_INIT_RemapInitialDirectionToCPToVector : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset rotation"
2023-03-23 15:10:10 +00:00
float m_flOffsetRot; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetAxis; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_INIT_RemapInitialCPDirectionToRotation : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset rotation"
2023-03-23 15:10:10 +00:00
float m_flOffsetRot; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point axis"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_INIT_RemapCPOrientationToRotations : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset pitch/yaw/roll"
2023-03-23 15:10:10 +00:00
Vector m_vecRotation; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use Quaternians Internally"
2023-03-23 15:10:10 +00:00
bool m_bUseQuat; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Write normal instead of rotation"
2023-03-23 15:10:10 +00:00
bool m_bWriteNormal; // 0x191
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "attribute to read from"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "attribute to cache to"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "current anim time output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x19c
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x190
class C_INIT_GlobalScale : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "scale amount"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "scale control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointNumber; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "scale radius"
2023-03-23 15:10:10 +00:00
bool m_bScaleRadius; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "scale position"
2023-03-23 15:10:10 +00:00
bool m_bScalePosition; // 0x18d
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "scale velocity"
2023-03-23 15:10:10 +00:00
bool m_bScaleVelocity; // 0x18e
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_INIT_PointList : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "point list"
2023-03-23 15:10:10 +00:00
CUtlVector< PointDefinition_t > m_pointList; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "space points along path"
2023-03-23 15:10:10 +00:00
bool m_bPlaceAlongPath; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-03-23 15:10:10 +00:00
bool m_bClosedLoop; // 0x1a1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Numer of points along path"
2023-03-23 15:10:10 +00:00
int32_t m_nNumPointsAlongPath; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1b0
class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_names; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "shuffle"
2023-03-23 15:10:10 +00:00
bool m_bShuffle; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "linear"
2023-03-23 15:10:10 +00:00
bool m_bLinear; // 0x1a1
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model from renderer"
2023-03-23 15:10:10 +00:00
bool m_bModelFromRenderer; // 0x1a2
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a3[0x1]; // 0x1a3
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1a4
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1b0
class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1d0
class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_names; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "remap values for names"
2023-03-23 15:10:10 +00:00
CUtlVector< float32 > m_values; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1bc
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1c0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "model from renderer"
2023-03-23 15:10:10 +00:00
bool m_bModelFromRenderer; // 0x1c4
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar
2023-03-15 19:24:28 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 18
// Size: 0x1e0
class C_INIT_StatusEffect : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "D_DETAIL_2"
2023-03-23 15:10:10 +00:00
Detail2Combo_t m_nDetail2Combo; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$DETAIL2ROTATION"
2023-03-23 15:10:10 +00:00
float m_flDetail2Rotation; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$DETAIL2SCALE"
2023-03-23 15:10:10 +00:00
float m_flDetail2Scale; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$DETAIL2BLENDFACTOR"
2023-03-23 15:10:10 +00:00
float m_flDetail2BlendFactor; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$COLORWARPINTENSITY"
2023-03-23 15:10:10 +00:00
float m_flColorWarpIntensity; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL"
2023-03-23 15:10:10 +00:00
float m_flDiffuseWarpBlendToFull; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$ENVMAPINTENSITY"
2023-03-23 15:10:10 +00:00
float m_flEnvMapIntensity; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$AMBIENTSCALE"
2023-03-23 15:10:10 +00:00
float m_flAmbientScale; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SPECULARCOLOR"
2023-03-23 15:10:10 +00:00
Color m_specularColor; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SPECULARSCALE"
2023-03-23 15:10:10 +00:00
float m_flSpecularScale; // 0x1a4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SPECULAREXPONENT"
2023-03-23 15:10:10 +00:00
float m_flSpecularExponent; // 0x1a8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL"
2023-03-23 15:10:10 +00:00
float m_flSpecularExponentBlendToFull; // 0x1ac
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SPECULARBLENDTOFULL"
2023-03-23 15:10:10 +00:00
float m_flSpecularBlendToFull; // 0x1b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$RIMLIGHTCOLOR"
2023-03-23 15:10:10 +00:00
Color m_rimLightColor; // 0x1b4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$RIMLIGHTSCALE"
2023-03-23 15:10:10 +00:00
float m_flRimLightScale; // 0x1b8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE"
2023-03-23 15:10:10 +00:00
float m_flReflectionsTintByBaseBlendToNone; // 0x1bc
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$METALNESSBLENDTOFULL"
2023-03-23 15:10:10 +00:00
float m_flMetalnessBlendToFull; // 0x1c0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "$SELFILLUMBLENDTOFULL"
2023-03-23 15:10:10 +00:00
float m_flSelfIllumBlendToFull; // 0x1c4
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 18
// Size: 0x1d0
class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "$SFXColorWarpAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXColorWarpAmount; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXNormalAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXNormalAmount; // 0x184
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXMetalnessAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXMetalnessAmount; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXRoughnessAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXRoughnessAmount; // 0x18c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXSelfIllumAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXSelfIllumAmount; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureScale"
2023-03-23 15:10:10 +00:00
float m_flSFXSScale; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureScrollX"
2023-03-23 15:10:10 +00:00
float m_flSFXSScrollX; // 0x198
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureScrollY"
2023-03-23 15:10:10 +00:00
float m_flSFXSScrollY; // 0x19c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureScrollZ"
2023-03-23 15:10:10 +00:00
float m_flSFXSScrollZ; // 0x1a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetX"
2023-03-23 15:10:10 +00:00
float m_flSFXSOffsetX; // 0x1a4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetY"
2023-03-23 15:10:10 +00:00
float m_flSFXSOffsetY; // 0x1a8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXTextureOffsetZ"
2023-03-23 15:10:10 +00:00
float m_flSFXSOffsetZ; // 0x1ac
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "D_DETAIL"
2023-03-23 15:10:10 +00:00
DetailCombo_t m_nDetailCombo; // 0x1b0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXDetailAmount"
2023-03-23 15:10:10 +00:00
float m_flSFXSDetailAmount; // 0x1b4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScale"
2023-03-23 15:10:10 +00:00
float m_flSFXSDetailScale; // 0x1b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollX"
2023-03-23 15:10:10 +00:00
float m_flSFXSDetailScrollX; // 0x1bc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollY"
2023-03-23 15:10:10 +00:00
float m_flSFXSDetailScrollY; // 0x1c0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "$SFXDetailTextureScrollZ"
2023-03-23 15:10:10 +00:00
float m_flSFXSDetailScrollZ; // 0x1c4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x450
class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "radius"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputRadius; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "magnitude"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputMagnitude; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force falloff function"
2023-03-23 15:10:10 +00:00
ParticleFalloffFunction_t m_nFalloffFunction; // 0x350
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0354[0x4]; // 0x354
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "exponential falloff exponent"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputFalloffExp; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "impulse type"
2023-03-23 15:10:10 +00:00
ParticleImpulseType_t m_nImpulseType; // 0x440
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x270
class C_INIT_QuantizeFloat : public CParticleFunctionInitializer
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "interval to snap to"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputValue; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x270
class C_INIT_InitFloatCollection : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x270
class C_INIT_InitFloat : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputValue; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x26c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x5c0
class C_INIT_InitVecCollection : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x5b0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x5c0
class C_INIT_InitVec : public CParticleFunctionInitializer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_InputValue; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "output field"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x5b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x5b4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x360
class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "num to emit"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeRange "1 1000"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nParticlesToEmit; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission start time"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flStartTime; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emission scale from killed parent particles"
2023-03-23 15:10:10 +00:00
float m_flInitFromKilledParentParticles; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum emission per frame"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxEmittedPerFrame; // 0x354
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point with snapshot data"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPoint; // 0x358
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x450
class C_OP_ContinuousEmitter : public CParticleFunctionEmitter
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission duration"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flEmissionDuration; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission start time"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flStartTime; // 0x268
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flEmitRate; // 0x350
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale emission to used control points"
// MParticleMaxVersion
2023-03-23 15:10:10 +00:00
float m_flEmissionScale; // 0x438
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale emission by parent particle count"
2023-03-23 15:10:10 +00:00
float m_flScalePerParentParticle; // 0x43c
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "emit particles for killed parent particles"
2023-03-23 15:10:10 +00:00
bool m_bInitFromKilledParentParticles; // 0x440
2023-03-15 19:24:28 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x1c0
class C_OP_NoiseEmitter : public CParticleFunctionEmitter
2023-03-15 19:24:28 +00:00
{
public:
// MPropertyFriendlyName "emission duration"
2023-03-23 15:10:10 +00:00
float m_flEmissionDuration; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x184
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "scale emission to used control points"
// MParticleMaxVersion
2023-03-23 15:10:10 +00:00
float m_flEmissionScale; // 0x188
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission count scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPoint; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission count scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointField; // 0x190
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "world noise scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nWorldNoisePoint; // 0x194
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsVal; // 0x198
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "invert absolute value"
2023-03-23 15:10:10 +00:00
bool m_bAbsValInv; // 0x199
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019a[0x2]; // 0x19a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time coordinate offset"
2023-03-23 15:10:10 +00:00
float m_flOffset; // 0x19c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a4
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "time noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseScale; // 0x1a8
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "world spatial noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flWorldNoiseScale; // 0x1ac
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "spatial coordinate offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetLoc; // 0x1b0
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "world time noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_flWorldTimeScale; // 0x1bc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_OP_MaintainEmitter : public CParticleFunctionEmitter
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "count to maintain"
2023-03-23 15:10:10 +00:00
int32_t m_nParticlesToMaintain; // 0x180
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maintain count scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPoint; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maintain count scale control point field"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointField; // 0x18c
2023-03-15 19:24:28 +00:00
// MPropertyFriendlyName "emission rate"
2023-03-23 15:10:10 +00:00
float m_flEmissionRate; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point with snapshot data"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPoint; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "group emission times for new particles"
2023-03-23 15:10:10 +00:00
bool m_bEmitInstantaneously; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1a0
class C_OP_RandomForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "min force"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_MinForce; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max force"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_MaxForce; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x270
class C_OP_CPVelocityForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "velocity scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flScale; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_ParentVortices : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "amount of force"
2023-03-23 15:10:10 +00:00
float m_flForceScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "twist axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTwistAxis; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "flip twist axis with yaw"
2023-03-23 15:10:10 +00:00
bool m_bFlipBasedOnYaw; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_TwistAroundAxis : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "amount of force"
2023-03-23 15:10:10 +00:00
float m_fForceAmount; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "twist axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_TwistAxis; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "object local space axis 0/1"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x380
class C_OP_AttractToControlPoint : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "component scale"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecComponentScale; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of force (or Max Force)"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fForceAmount; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "falloff power"
2023-03-23 15:10:10 +00:00
float m_fFalloffPower; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x27c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale in local space"
2023-03-23 15:10:10 +00:00
bool m_bScaleLocal; // 0x280
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0281[0x7]; // 0x281
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Min Pullforce"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_fForceAmountMin; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Apply Min Pullforce"
2023-03-23 15:10:10 +00:00
bool m_bApplyMinForce; // 0x370
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1c0
class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "min distance from plane"
2023-03-23 15:10:10 +00:00
float m_flMinDist; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force at min distance"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecForceAtMinDist; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max distance from plane"
2023-03-23 15:10:10 +00:00
float m_flMaxDist; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force at max distance"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecForceAtMaxDist; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "plane normal"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecPlaneNormal; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "exponent"
2023-03-23 15:10:10 +00:00
float m_flExponent; // 0x1b0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_TimeVaryingForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "time to start transition"
2023-03-23 15:10:10 +00:00
float m_flStartLerpTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting force"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_StartingForce; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "time to end transition"
2023-03-23 15:10:10 +00:00
float m_flEndLerpTime; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending force"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_EndingForce; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1c0
class C_OP_TurbulenceForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "noise scale 0"
2023-03-23 15:10:10 +00:00
float m_flNoiseCoordScale0; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise scale 1"
2023-03-23 15:10:10 +00:00
float m_flNoiseCoordScale1; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise scale 2"
2023-03-23 15:10:10 +00:00
float m_flNoiseCoordScale2; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise scale 3"
2023-03-23 15:10:10 +00:00
float m_flNoiseCoordScale3; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise amount 0"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecNoiseAmount0; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise amount 1"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecNoiseAmount1; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise amount 2"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecNoiseAmount2; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise amount 3"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecNoiseAmount3; // 0x1b4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0xff0
class C_OP_CurlNoiseForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "noise type"
2023-03-23 15:10:10 +00:00
ParticleDirectionNoiseType_t m_nNoiseType; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise frequency"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecNoiseFreq; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise amplitude"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecNoiseScale; // 0x5b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset rate"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecOffsetRate; // 0x9e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "worley seed"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flWorleySeed; // 0xe18
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "worley jitter"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flWorleyJitter; // 0xf00
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x6a0
class C_OP_PerParticleForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "force scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flForceScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force to apply"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vForce; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x698
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_WindForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "force to apply"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vForce; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_ExternalWindForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point to sample wind"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
Vector m_vecScale; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x270
class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "force scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flForceScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rope shake"
2023-03-23 15:10:10 +00:00
bool m_bRopes; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "limit rope impulses to Z"
2023-03-23 15:10:10 +00:00
bool m_bRopesZOnly; // 0x269
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "explosions"
2023-03-23 15:10:10 +00:00
bool m_bExplosions; // 0x26a
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle systems"
2023-03-23 15:10:10 +00:00
bool m_bParticles; // 0x26b
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x5c0
class C_OP_LocalAccelerationForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "local space control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space acceleration"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecAccel; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Acceleration"
2023-03-23 15:10:10 +00:00
float m_flAccel; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_OP_ExternalGenericForce : public CParticleFunctionForce
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "strength"
2023-03-23 15:10:10 +00:00
float m_flStrength; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "curl strength"
2023-03-23 15:10:10 +00:00
float m_flCurlStrength; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "linear strength"
2023-03-23 15:10:10 +00:00
float m_flLinearStrength; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radial strength"
2023-03-23 15:10:10 +00:00
float m_flRadialStrength; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation strength"
2023-03-23 15:10:10 +00:00
float m_flRotationStrength; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_BasicMovement : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "gravity"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_Gravity; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "drag"
// MPropertyAttributeRange "-1 1"
2023-03-23 15:10:10 +00:00
float m_fDrag; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max constraint passes"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxConstraintPasses; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_OP_FadeAndKill : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start fade in time"
2023-03-23 15:10:10 +00:00
float m_flStartFadeInTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade in time"
2023-03-23 15:10:10 +00:00
float m_flEndFadeInTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fade out time"
2023-03-23 15:10:10 +00:00
float m_flStartFadeOutTime; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade out time"
2023-03-23 15:10:10 +00:00
float m_flEndFadeOutTime; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start alpha"
2023-03-23 15:10:10 +00:00
float m_flStartAlpha; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end alpha"
2023-03-23 15:10:10 +00:00
float m_flEndAlpha; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "force preserving particle order"
2023-03-23 15:10:10 +00:00
bool m_bForcePreserveParticleOrder; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start fade in time"
2023-03-23 15:10:10 +00:00
float m_flStartFadeInTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade in time"
2023-03-23 15:10:10 +00:00
float m_flEndFadeInTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fade out time"
2023-03-23 15:10:10 +00:00
float m_flStartFadeOutTime; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade out time"
2023-03-23 15:10:10 +00:00
float m_flEndFadeOutTime; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start alpha"
2023-03-23 15:10:10 +00:00
float m_flStartAlpha; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end alpha"
2023-03-23 15:10:10 +00:00
float m_flEndAlpha; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_FadeIn : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "fade in time min"
2023-03-23 15:10:10 +00:00
float m_flFadeInTimeMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade in time max"
2023-03-23 15:10:10 +00:00
float m_flFadeInTimeMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade in time exponent"
2023-03-23 15:10:10 +00:00
float m_flFadeInTimeExp; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1d0
class C_OP_FadeOut : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "fade out time min"
2023-03-23 15:10:10 +00:00
float m_flFadeOutTimeMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade out time max"
2023-03-23 15:10:10 +00:00
float m_flFadeOutTimeMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade out time exponent"
2023-03-23 15:10:10 +00:00
float m_flFadeOutTimeExp; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade bias"
2023-03-23 15:10:10 +00:00
float m_flFadeBias; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0190[0x30]; // 0x190
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease in and out"
2023-03-23 15:10:10 +00:00
bool m_bEaseInAndOut; // 0x1c1
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_FadeInSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "proportional fade in time"
2023-03-23 15:10:10 +00:00
float m_flFadeInTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_FadeOutSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "proportional fade out time"
2023-03-23 15:10:10 +00:00
float m_flFadeOutTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "alpha field"
// MPropertyAttributeChoiceName "particlefield_alpha"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_ClampScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_ClampVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x1b0
class C_OP_OscillateScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "oscillation rate min"
2023-03-23 15:10:10 +00:00
float m_RateMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation rate max"
2023-03-23 15:10:10 +00:00
float m_RateMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency min"
2023-03-23 15:10:10 +00:00
float m_FrequencyMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency max"
2023-03-23 15:10:10 +00:00
float m_FrequencyMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportionalOp; // 0x195
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0196[0x2]; // 0x196
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time min"
2023-03-23 15:10:10 +00:00
float m_flStartTime_min; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time max"
2023-03-23 15:10:10 +00:00
float m_flStartTime_max; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time min"
2023-03-23 15:10:10 +00:00
float m_flEndTime_min; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time max"
2023-03-23 15:10:10 +00:00
float m_flEndTime_max; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-03-23 15:10:10 +00:00
float m_flOscMult; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-03-23 15:10:10 +00:00
float m_flOscAdd; // 0x1ac
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1c0
class C_OP_OscillateScalarSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "oscillation rate"
2023-03-23 15:10:10 +00:00
float m_Rate; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency"
2023-03-23 15:10:10 +00:00
float m_Frequency; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-03-23 15:10:10 +00:00
float m_flOscMult; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-03-23 15:10:10 +00:00
float m_flOscAdd; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 14
// Size: 0x1d0
class C_OP_OscillateVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "oscillation rate min"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_RateMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation rate max"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_RateMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency min"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_FrequencyMin; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency max"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_FrequencyMax; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "proportional 0/1"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x1b4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportionalOp; // 0x1b5
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-03-23 15:10:10 +00:00
bool m_bOffset; // 0x1b6
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01b7[0x1]; // 0x1b7
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time min"
2023-03-23 15:10:10 +00:00
float m_flStartTime_min; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time max"
2023-03-23 15:10:10 +00:00
float m_flStartTime_max; // 0x1bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time min"
2023-03-23 15:10:10 +00:00
float m_flEndTime_min; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time max"
2023-03-23 15:10:10 +00:00
float m_flEndTime_max; // 0x1c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-03-23 15:10:10 +00:00
float m_flOscMult; // 0x1c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-03-23 15:10:10 +00:00
float m_flOscAdd; // 0x1cc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1b0
class C_OP_OscillateVectorSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "oscillation rate"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_Rate; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation frequency"
2023-03-23 15:10:10 +00:00
Vector m_Frequency; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation multiplier"
2023-03-23 15:10:10 +00:00
float m_flOscMult; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "oscillation start phase"
2023-03-23 15:10:10 +00:00
float m_flOscAdd; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-03-23 15:10:10 +00:00
bool m_bOffset; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x1a0
class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "difference minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "difference maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within specified difference"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "also set ouput to previous particle"
2023-03-23 15:10:10 +00:00
bool m_bSetPreviousParticle; // 0x19d
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x270
class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_RemapScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_RemapScalarEndCap : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "remap time proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap time"
2023-03-23 15:10:10 +00:00
float m_flRemapTime; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
int32_t m_nInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
int32_t m_nInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "count back from last particle"
2023-03-23 15:10:10 +00:00
bool m_bBackwards; // 0x194
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x530
class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nInputMax; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMin; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMax; // 0x440
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x528
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x52c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-23 15:10:10 +00:00
float m_flRadiusScale; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_OP_RemapCPVisibilityToScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP visibility minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP visibility maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility radius"
2023-03-23 15:10:10 +00:00
float m_flRadius; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1b0
class C_OP_RemapCPVisibilityToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP visibility minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP visibility maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "visibility radius"
2023-03-23 15:10:10 +00:00
float m_flRadius; // 0x1ac
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x280
class C_OP_LerpScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "value to lerp to"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x274
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_LerpEndCapScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "value to lerp to"
2023-03-23 15:10:10 +00:00
float m_flOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lerp time"
2023-03-23 15:10:10 +00:00
float m_flLerpTime; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_LerpEndCapVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "value to lerp to"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lerp time"
2023-03-23 15:10:10 +00:00
float m_flLerpTime; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_OP_LerpVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "value to lerp to"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2a0
class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "input attribute from"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInputFrom; // 0x268
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "input attribute to"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x26c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output attribute"
2023-03-15 18:34:46 +00:00
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x270
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1a0
class C_OP_RemapSpeed : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore delta time"
// MParticleAdvancedField
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDelta; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_RemapVectortoCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle number to read"
2023-03-23 15:10:10 +00:00
int32_t m_nParticleNumber; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1d0
class C_OP_RampScalarLinear : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "ramp rate min"
2023-03-23 15:10:10 +00:00
float m_RateMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-03-23 15:10:10 +00:00
float m_RateMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time min"
2023-03-23 15:10:10 +00:00
float m_flStartTime_min; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time max"
2023-03-23 15:10:10 +00:00
float m_flStartTime_max; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time min"
2023-03-23 15:10:10 +00:00
float m_flEndTime_min; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time max"
2023-03-23 15:10:10 +00:00
float m_flEndTime_max; // 0x194
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0198[0x28]; // 0x198
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportionalOp; // 0x1c4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1d0
class C_OP_RampScalarSpline : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "ramp rate min"
2023-03-23 15:10:10 +00:00
float m_RateMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-03-23 15:10:10 +00:00
float m_RateMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time min"
2023-03-23 15:10:10 +00:00
float m_flStartTime_min; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time max"
2023-03-23 15:10:10 +00:00
float m_flStartTime_max; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time min"
2023-03-23 15:10:10 +00:00
float m_flEndTime_min; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time max"
2023-03-23 15:10:10 +00:00
float m_flEndTime_max; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "bias"
2023-03-23 15:10:10 +00:00
float m_flBias; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x24]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start/end proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportionalOp; // 0x1c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease out"
2023-03-23 15:10:10 +00:00
bool m_bEaseOut; // 0x1c5
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1c0
class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "ramp rate"
2023-03-23 15:10:10 +00:00
float m_Rate; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x1b0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1c0
class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "ramp rate"
2023-03-23 15:10:10 +00:00
float m_Rate; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x24]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease out"
2023-03-23 15:10:10 +00:00
bool m_bEaseOut; // 0x1b4
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0xda0
class C_OP_ChladniWave : public CParticleFunctionOperator
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "wave minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMin; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "wave maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMax; // 0x270
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMin; // 0x358
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMax; // 0x440
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "wave length"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecWaveLength; // 0x528
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "harmonics"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecHarmonics; // 0x958
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0xd88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "local space control point"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalSpaceControlPoint; // 0xd8c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "3D"
2023-03-23 15:10:10 +00:00
bool m_b3D; // 0xd90
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_Noise : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_fl4NoiseScale; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "additive"
2023-03-23 15:10:10 +00:00
bool m_bAdditive; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Noise animation time scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseAnimationTimeScale; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1b0
class C_OP_VectorNoise : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "noise coordinate scale"
2023-03-23 15:10:10 +00:00
float m_fl4NoiseScale; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "additive"
2023-03-23 15:10:10 +00:00
bool m_bAdditive; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset instead of accelerate position"
2023-03-23 15:10:10 +00:00
bool m_bOffset; // 0x1a1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Noise animation time scale"
2023-03-23 15:10:10 +00:00
float m_flNoiseAnimationTimeScale; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_Decay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Reduce rope popping on decay"
2023-03-23 15:10:10 +00:00
bool m_bRopeDecay; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x270
class C_OP_DecayOffscreen : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Offscreen Time Before Decay"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOffscreenTime; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x270
class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "freeze time"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFreezeTime; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_EndCapTimedDecay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "decay time"
2023-03-23 15:10:10 +00:00
float m_flDecayTime; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
class C_OP_EndCapDecay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_VelocityDecay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum velocity"
2023-03-23 15:10:10 +00:00
float m_flMinVelocity; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_AlphaDecay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum alpha"
2023-03-23 15:10:10 +00:00
float m_flMinAlpha; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_RadiusDecay : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum radius"
2023-03-23 15:10:10 +00:00
float m_flMinRadius; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_DecayMaintainCount : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "count to maintain"
2023-03-23 15:10:10 +00:00
int32_t m_nParticlesToMaintain; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maintain count scale control point"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maintain count scale control point field"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPointField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "decay delay"
2023-03-23 15:10:10 +00:00
float m_flDecayDelay; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x270
class C_OP_DecayClampCount : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Maximum Count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nCount; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_Cull : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "cull percentage"
2023-03-23 15:10:10 +00:00
float m_flCullPerc; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull start time"
2023-03-23 15:10:10 +00:00
float m_flCullStart; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull end time"
2023-03-23 15:10:10 +00:00
float m_flCullEnd; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull time exponent"
2023-03-23 15:10:10 +00:00
float m_flCullExp; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class CGeneralSpin : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "spin rate degrees"
2023-03-23 15:10:10 +00:00
int32_t m_nSpinRateDegrees; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spin rate min"
2023-03-23 15:10:10 +00:00
int32_t m_nSpinRateMinDegrees; // 0x184
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0188[0x4]; // 0x188
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spin stop time"
2023-03-23 15:10:10 +00:00
float m_fSpinRateStopTime; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
class CSpinUpdateBase : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1a0
class C_OP_Spin : public CGeneralSpin
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x180
class C_OP_SpinUpdate : public CSpinUpdateBase
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1a0
class C_OP_SpinYaw : public CGeneralSpin
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1d0
class C_OP_InterpolateRadius : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start time"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end time"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius start scale"
2023-03-23 15:10:10 +00:00
float m_flStartScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius end scale"
2023-03-23 15:10:10 +00:00
float m_flEndScale; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease in and out"
2023-03-23 15:10:10 +00:00
bool m_bEaseInAndOut; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale bias"
2023-03-23 15:10:10 +00:00
float m_flBias; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_OP_ColorInterpolate : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "color fade"
2023-03-23 15:10:10 +00:00
Color m_ColorFade; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0xc]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade start time"
2023-03-23 15:10:10 +00:00
float m_flFadeStartTime; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade end time"
2023-03-23 15:10:10 +00:00
float m_flFadeEndTime; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease in and out"
2023-03-23 15:10:10 +00:00
bool m_bEaseInOut; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1c0
class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "color fade min"
2023-03-23 15:10:10 +00:00
Color m_ColorFadeMin; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x18]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color fade max"
2023-03-23 15:10:10 +00:00
Color m_ColorFadeMax; // 0x19c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a0[0xc]; // 0x1a0
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade start time"
2023-03-23 15:10:10 +00:00
float m_flFadeStartTime; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fade end time"
2023-03-23 15:10:10 +00:00
float m_flFadeEndTime; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1b4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ease in and out"
2023-03-23 15:10:10 +00:00
bool m_bEaseInOut; // 0x1b8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x6d0
class C_OP_PositionLock : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fadeout min"
2023-03-23 15:10:10 +00:00
float m_flStartTime_min; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fadeout max"
2023-03-23 15:10:10 +00:00
float m_flStartTime_max; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start fadeout exponent"
2023-03-23 15:10:10 +00:00
float m_flStartTime_exp; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fadeout min"
2023-03-23 15:10:10 +00:00
float m_flEndTime_min; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fadeout max"
2023-03-23 15:10:10 +00:00
float m_flEndTime_max; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fadeout exponent"
2023-03-23 15:10:10 +00:00
float m_flEndTime_exp; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance fade range"
2023-03-23 15:10:10 +00:00
float m_flRange; // 0x19c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "distance fade bias"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRangeBias; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-03-23 15:10:10 +00:00
float m_flJumpThreshold; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "previous position scale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x28c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lock rotation"
2023-03-23 15:10:10 +00:00
bool m_bLockRot; // 0x290
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0291[0x7]; // 0x291
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "component scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecScale; // 0x298
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x6c8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output field prev"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x6cc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 33
// Size: 0x690
class C_OP_ControlpointLight : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "initial color bias"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x480]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint1; // 0x604
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint2; // 0x608
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint3; // 0x60c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint4; // 0x610
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 control point offset"
2023-03-23 15:10:10 +00:00
Vector m_vecCPOffset1; // 0x614
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 control point offset"
2023-03-23 15:10:10 +00:00
Vector m_vecCPOffset2; // 0x620
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 control point offset"
2023-03-23 15:10:10 +00:00
Vector m_vecCPOffset3; // 0x62c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 control point offset"
2023-03-23 15:10:10 +00:00
Vector m_vecCPOffset4; // 0x638
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 50% distance"
2023-03-23 15:10:10 +00:00
float m_LightFiftyDist1; // 0x644
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 0% distance"
2023-03-23 15:10:10 +00:00
float m_LightZeroDist1; // 0x648
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 50% distance"
2023-03-23 15:10:10 +00:00
float m_LightFiftyDist2; // 0x64c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 0% distance"
2023-03-23 15:10:10 +00:00
float m_LightZeroDist2; // 0x650
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 50% distance"
2023-03-23 15:10:10 +00:00
float m_LightFiftyDist3; // 0x654
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 0% distance"
2023-03-23 15:10:10 +00:00
float m_LightZeroDist3; // 0x658
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 50% distance"
2023-03-23 15:10:10 +00:00
float m_LightFiftyDist4; // 0x65c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 0% distance"
2023-03-23 15:10:10 +00:00
float m_LightZeroDist4; // 0x660
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 color"
2023-03-23 15:10:10 +00:00
Color m_LightColor1; // 0x664
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 color"
2023-03-23 15:10:10 +00:00
Color m_LightColor2; // 0x668
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 color"
2023-03-23 15:10:10 +00:00
Color m_LightColor3; // 0x66c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 color"
2023-03-23 15:10:10 +00:00
Color m_LightColor4; // 0x670
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 type 0=point 1=spot"
2023-03-23 15:10:10 +00:00
bool m_bLightType1; // 0x674
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 type 0=point 1=spot"
2023-03-23 15:10:10 +00:00
bool m_bLightType2; // 0x675
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 type 0=point 1=spot"
2023-03-23 15:10:10 +00:00
bool m_bLightType3; // 0x676
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 type 0=point 1=spot"
2023-03-23 15:10:10 +00:00
bool m_bLightType4; // 0x677
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 1 dynamic light"
2023-03-23 15:10:10 +00:00
bool m_bLightDynamic1; // 0x678
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 2 dynamic light"
2023-03-23 15:10:10 +00:00
bool m_bLightDynamic2; // 0x679
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 3 dynamic light"
2023-03-23 15:10:10 +00:00
bool m_bLightDynamic3; // 0x67a
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light 4 dynamic light"
2023-03-23 15:10:10 +00:00
bool m_bLightDynamic4; // 0x67b
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "compute normals from control points"
2023-03-23 15:10:10 +00:00
bool m_bUseNormal; // 0x67c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "half-lambert normals"
2023-03-23 15:10:10 +00:00
bool m_bUseHLambert; // 0x67d
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad067e[0x4]; // 0x67e
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "clamp minimum light value to initial color"
2023-03-23 15:10:10 +00:00
bool m_bClampLowerRange; // 0x682
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "clamp maximum light value to initial color"
2023-03-23 15:10:10 +00:00
bool m_bClampUpperRange; // 0x683
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_GlobalLight : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "initial color bias"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "clamp minimum light value to initial color"
2023-03-23 15:10:10 +00:00
bool m_bClampLowerRange; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "clamp maximum light value to initial color"
2023-03-23 15:10:10 +00:00
bool m_bClampUpperRange; // 0x185
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x280
class C_OP_SetChildControlPoints : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set orientation"
2023-03-23 15:10:10 +00:00
bool m_bSetOrientation; // 0x278
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstSourcePoint; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set orientation"
2023-03-23 15:10:10 +00:00
bool m_bSetOrientation; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "orientation style"
2023-03-23 15:10:10 +00:00
ParticleOrientationSetMode_t m_nOrientationMode; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x290
class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "attachment to follow"
2023-03-23 15:10:10 +00:00
char m_AttachmentName[128]; // 0x200
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "First control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x280
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of control points to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x284
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstSourcePoint; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use skinning instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bSkin; // 0x28c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "follow attachment"
2023-03-23 15:10:10 +00:00
bool m_bAttachment; // 0x28d
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x370
class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of children to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nParticleIncrement; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x278
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set orientation from velocity"
2023-03-23 15:10:10 +00:00
bool m_bSetOrientation; // 0x360
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0361[0x3]; // 0x361
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "orientation vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOrientationField; // 0x364
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set number of children based on particle count"
2023-03-23 15:10:10 +00:00
bool m_bNumBasedOnParticleCount; // 0x368
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of children to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nParticleIncrement; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first particle to copy"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstSourcePoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set number of children based on particle count"
2023-03-23 15:10:10 +00:00
bool m_bNumBasedOnParticleCount; // 0x194
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0195[0x3]; // 0x195
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToRead; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point field for scalars"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPField; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_RemapCPOrientationToYaw : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation offset"
2023-03-23 15:10:10 +00:00
float m_flRotOffset; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spin strength"
2023-03-23 15:10:10 +00:00
float m_flSpinStrength; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_DampenToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "falloff range"
2023-03-23 15:10:10 +00:00
float m_flRange; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "dampen scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_SetToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset"
2023-03-23 15:10:10 +00:00
Vector m_vecOffset; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset in local space"
2023-03-23 15:10:10 +00:00
bool m_bOffsetLocal; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0xa60
class C_OP_PinParticleToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecOffset; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset in local space"
2023-03-23 15:10:10 +00:00
bool m_bOffsetLocal; // 0x5b8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle to use"
2023-03-23 15:10:10 +00:00
ParticleSelection_t m_nParticleSelection; // 0x5bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle number"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nParticleNumber; // 0x5c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pin break type"
2023-03-23 15:10:10 +00:00
ParticlePinDistance_t m_nPinBreakType; // 0x6a8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "break length %"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flBreakDistance; // 0x6b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "break speed"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flBreakSpeed; // 0x798
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "break age"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flAge; // 0x880
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "break comparison control point 1"
2023-03-23 15:10:10 +00:00
int32_t m_nBreakControlPointNumber; // 0x968
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "break comparison control point 2"
2023-03-23 15:10:10 +00:00
int32_t m_nBreakControlPointNumber2; // 0x96c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x970
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCPField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cache attribute to read from"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "attribute to write to"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space"
2023-03-23 15:10:10 +00:00
bool m_bOffsetLocal; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x360
class C_OP_LerpToInitialPosition : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "position cache attribute"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nCacheField; // 0x270
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0274[0x4]; // 0x274
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flScale; // 0x278
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x5d0
class C_OP_DistanceBetweenCPs : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMin; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMax; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMin; // 0x360
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMax; // 0x448
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x530
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-03-23 15:10:10 +00:00
float m_flLOSScale; // 0x534
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x538
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x5b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-03-23 15:10:10 +00:00
bool m_bLOS; // 0x5bc
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x5c0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1b0
class C_OP_PercentageBetweenCPs : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-03-23 15:10:10 +00:00
bool m_bRadialCheck; // 0x1a1
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1c0
class C_OP_PercentageBetweenCPsVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-03-23 15:10:10 +00:00
bool m_bRadialCheck; // 0x1b1
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0x1b0
class C_OP_PercentageBetweenCPLerpCPs : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output starting control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputStartCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputStartField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output ending control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputEndCP; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputEndField; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-03-23 15:10:10 +00:00
bool m_bRadialCheck; // 0x1a9
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0xd90
class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "first vector"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecPoint1; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "second vector"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecPoint2; // 0x5b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "distance minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMin; // 0x9e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMax; // 0xad0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMin; // 0xbb8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMax; // 0xca0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0xd88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)"
2023-03-23 15:10:10 +00:00
bool m_bDeltaTime; // 0xd8c
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x9f0
class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "first vector"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecPoint1; // 0x188
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "second vector"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecPoint2; // 0x5b8
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0x660
class C_OP_DistanceToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-03-23 15:10:10 +00:00
bool m_bLOS; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x199
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x21c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x220
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS Failure Scalar"
2023-03-23 15:10:10 +00:00
float m_flLOSScale; // 0x224
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x228
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x22c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output is additive"
2023-03-23 15:10:10 +00:00
bool m_bAdditive; // 0x22d
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "component scale"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecComponentScale; // 0x230
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x540
class C_OP_CylindricalDistanceToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder inner radius"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMin; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder outer radius"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInputMax; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder inner output"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMin; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder outer output"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOutputMax; // 0x440
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder top control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x528
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cylinder bottom control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x52c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x530
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within specified distance"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x534
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output is additive"
2023-03-23 15:10:10 +00:00
bool m_bAdditive; // 0x535
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "apply radius to ends (capsule)"
2023-03-23 15:10:10 +00:00
bool m_bCapsule; // 0x536
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x230
class C_OP_RtEnvCull : public CParticleFunctionOperator
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "test direction"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTestDir; // 0x180
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "cull normal"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTestNormal; // 0x18c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "cull on miss"
2023-03-23 15:10:10 +00:00
bool m_bCullOnMiss; // 0x198
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "stick instead of cull"
2023-03-23 15:10:10 +00:00
bool m_bStickInsteadOfCull; // 0x199
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "ray trace environment name"
2023-03-23 15:10:10 +00:00
char m_RtEnvName[128]; // 0x19a
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad021a[0x2]; // 0x21a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "ray trace environment cp"
2023-03-23 15:10:10 +00:00
int32_t m_nRTEnvCP; // 0x21c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "rt env control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x220
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6b0
class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDistance; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "component scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecScale; // 0x270
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "distance squared output attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nDistSqrAttr; // 0x6a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x310
class C_OP_MoveToHitbox : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime lerp start"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeLerpStart; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime lerp end"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeLerpEnd; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "previous position scale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x214
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lerp type"
2023-03-23 15:10:10 +00:00
HitboxLerpType_t m_nLerpType; // 0x218
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Constant Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x220
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 14
// Size: 0x740
class C_OP_LockToBone : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control_point_number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime fade start"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeFadeStart; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime fade end"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeFadeEnd; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-03-23 15:10:10 +00:00
float m_flJumpThreshold; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "previous position scale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rigid lock"
2023-03-23 15:10:10 +00:00
bool m_bRigid; // 0x214
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x215
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0216[0x2]; // 0x216
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x218
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output field prev"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x21c
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Set Rotations to Bones"
// MPropertyFriendlyName "lock rotations to bone orientation"
2023-03-23 15:10:10 +00:00
ParticleRotationLockType_t m_nRotationSetType; // 0x220
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "rigid set rotation from bones"
2023-03-23 15:10:10 +00:00
bool m_bRigidRotationLock; // 0x224
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecRotation; // 0x228
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "rigid rotation interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRotLerp; // 0x658
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotate normals"
2023-03-23 15:10:10 +00:00
bool m_bTransformNormals; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotate normals"
2023-03-23 15:10:10 +00:00
bool m_bTransformNormals; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0181[0x3]; // 0x181
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime fade start"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeFadeStart; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lifetime fade end"
2023-03-23 15:10:10 +00:00
float m_flLifeTimeFadeEnd; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "instant jump threshold"
2023-03-23 15:10:10 +00:00
float m_flJumpThreshold; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "previous position scale"
2023-03-23 15:10:10 +00:00
float m_flPrevPosScale; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1b0
class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "percentage minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "percentage bias"
2023-03-23 15:10:10 +00:00
float m_flInputBias; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOffsetCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOuputCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat distance between points as radius"
2023-03-23 15:10:10 +00:00
bool m_bRadialCheck; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat offset as scale of total distance"
2023-03-23 15:10:10 +00:00
bool m_bScaleOffset; // 0x1a1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset amount"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffset; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_PlaneCull : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point for point on plane"
2023-03-23 15:10:10 +00:00
int32_t m_nPlaneControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "plane normal"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecPlaneDirection; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x3]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull plane offset"
2023-03-23 15:10:10 +00:00
float m_flPlaneOffset; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_DistanceCull : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecPointOffset; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull distance"
2023-03-23 15:10:10 +00:00
float m_flDistance; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull inside instead of outside"
2023-03-23 15:10:10 +00:00
bool m_bCullInside; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x210
class C_OP_ModelCull : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use only bounding box"
2023-03-23 15:10:10 +00:00
bool m_bBoundBox; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cull outside instead of inside"
2023-03-23 15:10:10 +00:00
bool m_bCullOutside; // 0x185
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use bones instead of hitboxes"
2023-03-23 15:10:10 +00:00
bool m_bUseBones; // 0x186
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x187
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1a0
class C_OP_SequenceFromModel : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "current anim time output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_VelocityMatchingForce : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "direction matching strength"
2023-03-23 15:10:10 +00:00
float m_flDirScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "speed matching strength"
2023-03-23 15:10:10 +00:00
float m_flSpdScale; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to broadcast speed and direction to"
2023-03-23 15:10:10 +00:00
int32_t m_nCPBroadcast; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_MovementMaintainOffset : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "desired offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffset; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space CP"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale by radius"
2023-03-23 15:10:10 +00:00
bool m_bRadiusScale; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 16
// Size: 0x330
class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "offset"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flOffset; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP movement tolerance"
2023-03-23 15:10:10 +00:00
float m_flTolerance; // 0x26c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace offset"
2023-03-23 15:10:10 +00:00
float m_flTraceOffset; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation rate"
2023-03-23 15:10:10 +00:00
float m_flLerpRate; // 0x274
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x278
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x2f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reference CP 1"
2023-03-23 15:10:10 +00:00
int32_t m_nRefCP1; // 0x2fc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reference CP 2"
2023-03-23 15:10:10 +00:00
int32_t m_nRefCP2; // 0x300
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interploation distance tolerance cp"
2023-03-23 15:10:10 +00:00
int32_t m_nLerpCP; // 0x304
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0308[0x8]; // 0x308
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "No Collision Behavior"
2023-03-23 15:10:10 +00:00
ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x310
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "include water"
2023-03-23 15:10:10 +00:00
bool m_bIncludeWater; // 0x314
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0315[0x2]; // 0x315
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x317
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "treat offset as scalar of particle radius"
2023-03-23 15:10:10 +00:00
bool m_bScaleOffset; // 0x318
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0319[0x3]; // 0x319
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "preserve initial Z-offset relative to cp"
2023-03-23 15:10:10 +00:00
int32_t m_nPreserveOffsetCP; // 0x31c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP Entity to Ignore for Collisions"
2023-03-23 15:10:10 +00:00
int32_t m_nIgnoreCP; // 0x320
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_InheritFromParentParticles : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-03-23 15:10:10 +00:00
bool m_bRandomDistribution; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "scale"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherited field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random parent particle distribution"
2023-03-23 15:10:10 +00:00
bool m_bRandomDistribution; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "behavior if parent particle dies"
2023-03-23 15:10:10 +00:00
MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x360
class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "read field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "written field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_DistanceCheck; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x278
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "read field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "written field"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle neighbor increment amount"
2023-03-23 15:10:10 +00:00
int32_t m_nIncrement; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "group id"
2023-03-23 15:10:10 +00:00
int32_t m_nGroupID; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Input Vector"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Output Scalar"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Vector Component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_OrientTo2dDirection : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotation offset"
2023-03-23 15:10:10 +00:00
float m_flRotOffset; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spin strength"
2023-03-23 15:10:10 +00:00
float m_flSpinStrength; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_RestartAfterDuration : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "minimum restart time"
2023-03-23 15:10:10 +00:00
float m_flDurationMin; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum restart time"
2023-03-23 15:10:10 +00:00
float m_flDurationMax; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to scale duration"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point field X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPField; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "child group ID"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only restart children"
2023-03-23 15:10:10 +00:00
bool m_bOnlyChildren; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_Orient2DRelToCP : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotation offset"
2023-03-23 15:10:10 +00:00
float m_flRotOffset; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spin strength"
2023-03-23 15:10:10 +00:00
float m_flSpinStrength; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6a0
class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotation axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecRotAxis; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRotRate; // 0x5b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x698
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use local space"
2023-03-23 15:10:10 +00:00
bool m_bLocalSpace; // 0x69c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x290
class C_OP_RotateVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation axis min"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecRotAxisMin; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation axis max"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecRotAxisMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation rate min"
2023-03-23 15:10:10 +00:00
float m_flRotRateMin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation rate max"
2023-03-23 15:10:10 +00:00
float m_flRotRateMax; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize output"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x1a4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a5[0x3]; // 0x1a5
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "per particle scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flScale; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_MaxVelocity : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "maximum velocity"
2023-03-23 15:10:10 +00:00
float m_flMaxVelocity; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "override max velocity from this CP"
2023-03-23 15:10:10 +00:00
int32_t m_nOverrideCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "override CP field"
2023-03-23 15:10:10 +00:00
int32_t m_nOverrideCPField; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_LagCompensation : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "desired velocity CP"
2023-03-23 15:10:10 +00:00
int32_t m_nDesiredVelocityCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "latency CP"
2023-03-23 15:10:10 +00:00
int32_t m_nLatencyCP; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "latency CP field"
2023-03-23 15:10:10 +00:00
int32_t m_nLatencyCPField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "desired velocity CP field override(for speed only)"
2023-03-23 15:10:10 +00:00
int32_t m_nDesiredVelocityCPField; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1e0
class C_OP_MaintainSequentialPath : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "maximum distance"
2023-03-23 15:10:10 +00:00
float m_fMaxDistance; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particles to map from start to end"
2023-03-23 15:10:10 +00:00
float m_flNumToAssign; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cohesion strength"
2023-03-23 15:10:10 +00:00
float m_flCohesionStrength; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point movement tolerance"
2023-03-23 15:10:10 +00:00
float m_flTolerance; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )"
2023-03-23 15:10:10 +00:00
bool m_bLoop; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use existing particle count"
2023-03-23 15:10:10 +00:00
bool m_bUseParticleCount; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0xe]; // 0x192
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1d0
class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start fade time"
2023-03-23 15:10:10 +00:00
float m_flFadeStart; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade time"
2023-03-23 15:10:10 +00:00
float m_flFadeEnd; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use sequential CP pairs between start and end point"
2023-03-23 15:10:10 +00:00
bool m_bCPPairs; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1d0
class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start fade time"
2023-03-23 15:10:10 +00:00
float m_flFadeStart; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end fade time"
2023-03-23 15:10:10 +00:00
float m_flFadeEnd; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use sequential CP pairs between start and end point"
2023-03-23 15:10:10 +00:00
bool m_bCPPairs; // 0x18c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad018d[0x3]; // 0x18d
2023-03-23 15:10:10 +00:00
public:
CPathParameters m_PathParams; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1b0
class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "first input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP1; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "second input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP2; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum (-1 to 1)"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum (-1 to 1)"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use particle velocity for first input"
2023-03-23 15:10:10 +00:00
bool m_bUseParticleVelocity; // 0x19c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only active within specified input range"
2023-03-23 15:10:10 +00:00
bool m_bActiveRange; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use particle normal for first input"
2023-03-23 15:10:10 +00:00
bool m_bUseParticleNormal; // 0x1a5
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1b0
class C_OP_RemapCPtoScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nField; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation scale"
2023-03-23 15:10:10 +00:00
float m_flInterpRate; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_NormalLock : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 13
// Size: 0x1d0
class C_OP_RemapCPtoVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space CP"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalSpaceCP; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vInputMin; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vInputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vOutputMin; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vOutputMax; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime start time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flStartTime; // 0x1bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "emitter lifetime end time (seconds)"
2023-03-23 15:10:10 +00:00
float m_flEndTime; // 0x1c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation scale"
2023-03-23 15:10:10 +00:00
float m_flInterpRate; // 0x1c4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset position"
2023-03-23 15:10:10 +00:00
bool m_bOffset; // 0x1cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "accelerate position"
2023-03-23 15:10:10 +00:00
bool m_bAccelerate; // 0x1cd
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_SetCPtoVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x190
class C_OP_RemapCPtoVelocity : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x180
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_RemapVelocityToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1b0
class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset rotation"
2023-03-23 15:10:10 +00:00
float m_flOffsetRot; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecOffsetAxis; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x19c
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "strength field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldStrength; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x9f0
class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input vector 1"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_InputVec1; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input vector 2"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_InputVec2; // 0x5b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x9e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "normalize output"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x9e4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_NormalizeVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x190
class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor"
2023-03-23 15:10:10 +00:00
float m_flScale; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x188
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x230
class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "interpolation rate"
2023-03-23 15:10:10 +00:00
float m_flInterpRate; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP movement tolerance"
2023-03-23 15:10:10 +00:00
float m_flTolerance; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace offset"
2023-03-23 15:10:10 +00:00
float m_flTraceOffset; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x210
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP to trace from"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP; // 0x214
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP to set"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x218
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad021c[0xc]; // 0x21c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "include water"
2023-03-23 15:10:10 +00:00
bool m_bIncludeWater; // 0x228
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1a0
class C_OP_RemapCPOrientationToRotations : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset pitch/yaw/roll"
2023-03-23 15:10:10 +00:00
Vector m_vecRotation; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use Quaternians Internally"
2023-03-23 15:10:10 +00:00
bool m_bUseQuat; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Write normal instead of rotation"
2023-03-23 15:10:10 +00:00
bool m_bWriteNormal; // 0x191
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x190
class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation field"
// MPropertyAttributeChoiceName "particlefield_rotation"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset rotation"
2023-03-23 15:10:10 +00:00
float m_flOffsetRot; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point axis"
// MPropertyAttributeChoiceName "vector_component"
// MVectorIsSometimesCoordinate
2023-03-23 15:10:10 +00:00
int32_t m_nComponent; // 0x18c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_LockToPointList : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "point list"
2023-03-23 15:10:10 +00:00
CUtlVector< PointDefinition_t > m_pointList; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "space points along path"
2023-03-23 15:10:10 +00:00
bool m_bPlaceAlongPath; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Treat path as a loop"
2023-03-23 15:10:10 +00:00
bool m_bClosedLoop; // 0x1a1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a2[0x2]; // 0x1a2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Numer of points along path"
2023-03-23 15:10:10 +00:00
int32_t m_nNumPointsAlongPath; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x1e0
class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_inNames; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_outNames; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fallback names when the input doesn't match"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_fallbackNames; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model from renderer"
2023-03-23 15:10:10 +00:00
bool m_bModelFromRenderer; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap time proportional"
2023-03-23 15:10:10 +00:00
bool m_bProportional; // 0x1d1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "remap time"
2023-03-23 15:10:10 +00:00
float m_flRemapTime; // 0x1dc
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1e0
class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "model"
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_inNames; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output names"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_outNames; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fallback names when the input doesn't match"
2023-03-23 15:10:10 +00:00
CUtlVector< CUtlString > m_fallbackNames; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model from renderer"
2023-03-23 15:10:10 +00:00
bool m_bModelFromRenderer; // 0x1d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d1[0x3]; // 0x1d1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1d8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1e0
class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x370
class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "field to read"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToRead; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "field to write"
// MPropertyAttributeChoiceName "particlefield"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAttributeToWrite; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalSpaceCP; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random order"
2023-03-23 15:10:10 +00:00
bool m_bRandom; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reverse order"
2023-03-23 15:10:10 +00:00
bool m_bReverse; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x280
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Sub-Sample Between Input Points"
2023-03-23 15:10:10 +00:00
bool m_bSubSample; // 0x368
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x380
class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "expression"
2023-03-23 15:10:10 +00:00
ScalarExpressionType_t m_nExpression; // 0x180
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 1"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInput1; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 2"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInput2; // 0x270
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x358
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x35c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x540
class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random order"
2023-03-23 15:10:10 +00:00
bool m_bRandom; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "random seed"
2023-03-23 15:10:10 +00:00
int32_t m_nRandomSeed; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x7]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "particle increment amount"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flIncrement; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Full Loop Increment Amount"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x280
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Snapshot start point"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x368
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x450
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x360
class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nSnapshotControlPointNumber; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set normal"
2023-03-23 15:10:10 +00:00
bool m_bSetNormal; // 0x188
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0189[0x7]; // 0x189
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flInterpolation; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Snapshot Index T Value"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flTValue; // 0x278
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x290
class C_OP_QuantizeFloat : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x380
class C_OP_SetFloatCollection : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x26c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_Lerp; // 0x270
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x380
class C_OP_SetFloat : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x26c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_Lerp; // 0x270
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6a0
class C_OP_SetVec : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "value"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_InputValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nOutputField; // 0x5b0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x5b4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_Lerp; // 0x5b8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_LockPoints : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "min column/particle index to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nMinCol; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max column/particle index to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxCol; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min row/particle index to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nMinRow; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max row/particle index to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxRow; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to lock to"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of current position to preserve"
2023-03-23 15:10:10 +00:00
float m_flBlendValue; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1a0
class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point 0"
2023-03-23 15:10:10 +00:00
int32_t m_nCP0; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point 1"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min distance value"
2023-03-23 15:10:10 +00:00
float m_flMinInputValue; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max distance value"
2023-03-23 15:10:10 +00:00
float m_flMaxInputValue; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment"
2023-03-23 15:10:10 +00:00
bool m_bInfiniteLine; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1b0
class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output value at min distance"
2023-03-23 15:10:10 +00:00
float m_flMinOutputValue; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output value at max distance"
2023-03-23 15:10:10 +00:00
float m_flMaxOutputValue; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1c0
class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output value at min distance"
2023-03-23 15:10:10 +00:00
Vector m_vMinOutputValue; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output value at max distance"
2023-03-23 15:10:10 +00:00
Vector m_vMaxOutputValue; // 0x1b0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1c0
class C_OP_TeleportBeam : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Position Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPPosition; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Velocity Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPVelocity; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Misc Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPMisc; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Color Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPColor; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Invalid Color Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInvalidColor; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Extra Arc Data Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPExtraArcData; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Gravity"
2023-03-23 15:10:10 +00:00
Vector m_vGravity; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Arc Duration Maximum"
2023-03-23 15:10:10 +00:00
float m_flArcMaxDuration; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Segment Break"
2023-03-23 15:10:10 +00:00
float m_flSegmentBreak; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Arc Speed"
2023-03-23 15:10:10 +00:00
float m_flArcSpeed; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Alpha"
2023-03-23 15:10:10 +00:00
float m_flAlpha; // 0x1b0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1b0
class C_OP_CycleScalar : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "destination scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nDestField; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Value at start of cycle"
2023-03-23 15:10:10 +00:00
float m_flStartValue; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Value at end of cycle"
2023-03-23 15:10:10 +00:00
float m_flEndValue; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Cycle time"
2023-03-23 15:10:10 +00:00
float m_flCycleTime; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Do not repeat cycle"
2023-03-23 15:10:10 +00:00
bool m_bDoNotRepeatCycle; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Synchronize particles"
2023-03-23 15:10:10 +00:00
bool m_bSynchronizeParticles; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Scale Start/End Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPScale; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "start scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPFieldMin; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "end scale control point field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPFieldMax; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set value method"
2023-03-23 15:10:10 +00:00
ParticleSetMethod_t m_nSetMethod; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x1e0
class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "start value"
2023-03-23 15:10:10 +00:00
Vector m_vStartValue; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field 1"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput1; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input scale 1"
2023-03-23 15:10:10 +00:00
float m_flInputScale1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field 2"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldInput2; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input scale 2"
2023-03-23 15:10:10 +00:00
float m_flInputScale2; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point input 1"
2023-03-23 15:10:10 +00:00
ControlPointReference_t m_nControlPointInput1; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point scale 1"
2023-03-23 15:10:10 +00:00
float m_flControlPointScale1; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point input 2"
2023-03-23 15:10:10 +00:00
ControlPointReference_t m_nControlPointInput2; // 0x1b4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point scale 2"
2023-03-23 15:10:10 +00:00
float m_flControlPointScale2; // 0x1c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFieldOutput; // 0x1cc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "final per component scale"
2023-03-23 15:10:10 +00:00
Vector m_vFinalOutputScale; // 0x1d0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x440
class C_OP_ColorAdjustHSL : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "hue adjust"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flHueAdjust; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "saturation adjust"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flSaturationAdjust; // 0x268
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "lightness adjust"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flLightnessAdjust; // 0x350
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x190
class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstControlPoint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Second Control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nSecondControlPoint; // 0x184
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x1a0
class C_OP_UpdateLightSource : public CParticleFunctionOperator
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "color tint"
2023-03-23 15:10:10 +00:00
Color m_vColorTint; // 0x180
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount to multiply light brightness by"
2023-03-23 15:10:10 +00:00
float m_flBrightnessScale; // 0x184
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount to multiply particle system radius by to get light radius"
2023-03-23 15:10:10 +00:00
float m_flRadiusScale; // 0x188
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum radius for created lights"
2023-03-23 15:10:10 +00:00
float m_flMinimumLightingRadius; // 0x18c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum radius for created lights"
2023-03-23 15:10:10 +00:00
float m_flMaximumLightingRadius; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of damping of changes"
2023-03-23 15:10:10 +00:00
float m_flPositionDampingConstant; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x1b0
class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Output field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use delta of velocity instead of constant speed"
2023-03-23 15:10:10 +00:00
bool m_bUseDeltaV; // 0x1ac
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x5d0
class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInControlPointNumber; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Output component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nField; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInputMin; // 0x1a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInputMax; // 0x288
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMin; // 0x370
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMax; // 0x458
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "intersection height CP"
2023-03-23 15:10:10 +00:00
int32_t m_nHeightControlPointNumber; // 0x540
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "hitbox set"
2023-03-23 15:10:10 +00:00
char m_HitboxSetName[128]; // 0x544
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x540
class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "first input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "second input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP2; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutVectorField; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum (-1 to 1)"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInputMin; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum (-1 to 1)"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInputMax; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMin; // 0x370
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOutputMax; // 0x458
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x370
class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "expression"
2023-03-23 15:10:10 +00:00
ScalarExpressionType_t m_nExpression; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutVectorField; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 1"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInput1; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 2"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInput2; // 0x288
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0xa00
class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "expression"
2023-03-23 15:10:10 +00:00
VectorExpressionType_t m_nExpression; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 1"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vInput1; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input 2"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vInput2; // 0x5c8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1b0
class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point"
2023-03-23 15:10:10 +00:00
int32_t m_nInControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output CP component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume minimum in cubic units"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume maximum in cubic units"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume minimum in cubic units"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume maximum in cubic units"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x1b0
class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutVectorField; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input volume maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1b0
class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp rate min"
2023-03-23 15:10:10 +00:00
Vector m_vecRateMin; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ramp rate max"
2023-03-23 15:10:10 +00:00
Vector m_vecRateMax; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nChildControlPoint; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of children to set"
2023-03-23 15:10:10 +00:00
int32_t m_nNumControlPoints; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first parent control point to set from"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstSourcePoint; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set orientation"
2023-03-23 15:10:10 +00:00
bool m_bSetOrientation; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0x1e0
class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set positions in world space"
2023-03-23 15:10:10 +00:00
bool m_bUseWorldLocation; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherit CP orientation"
2023-03-23 15:10:10 +00:00
bool m_bOrient; // 0x191
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only set position once"
2023-03-23 15:10:10 +00:00
bool m_bSetOnce; // 0x192
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0193[0x1]; // 0x193
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "second control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP2; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "third control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP3; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fourth control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP4; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first control point location"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "second control point location"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP2Pos; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "third control point location"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP3Pos; // 0x1bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fourth control point location"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP4Pos; // 0x1c8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to offset positions from"
2023-03-23 15:10:10 +00:00
int32_t m_nHeadLocation; // 0x1d4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x5d0
class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set positions in world space"
2023-03-23 15:10:10 +00:00
bool m_bUseWorldLocation; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only set position once"
2023-03-23 15:10:10 +00:00
bool m_bSetOnce; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point location"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecCP1Pos; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to offset positions from"
2023-03-23 15:10:10 +00:00
int32_t m_nHeadLocation; // 0x5c8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x390
class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set positions in world space"
2023-03-23 15:10:10 +00:00
bool m_bUseWorldLocation; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inherit CP orientation"
2023-03-23 15:10:10 +00:00
bool m_bOrient; // 0x191
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to offset positions from"
2023-03-23 15:10:10 +00:00
int32_t m_nHeadLocation; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "re-randomize rate (-1 for once only)"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flReRandomRate; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point min"
2023-03-23 15:10:10 +00:00
Vector m_vecCPMinPos; // 0x288
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point max"
2023-03-23 15:10:10 +00:00
Vector m_vecCPMaxPos; // 0x294
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInterpolation; // 0x2a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x2a0
class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "set orientation in world space"
2023-03-23 15:10:10 +00:00
bool m_bUseWorldLocation; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0191[0x1]; // 0x191
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "randomize"
2023-03-23 15:10:10 +00:00
bool m_bRandomize; // 0x192
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "only set orientation once"
2023-03-23 15:10:10 +00:00
bool m_bSetOnce; // 0x193
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to offset orientation from"
2023-03-23 15:10:10 +00:00
int32_t m_nHeadLocation; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pitch yaw roll"
2023-03-23 15:10:10 +00:00
QAngle m_vecRotation; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pitch yaw roll max"
2023-03-23 15:10:10 +00:00
QAngle m_vecRotationB; // 0x1a8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInterpolation; // 0x1b8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1a0
class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutput; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 14
// Size: 0x250
class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "starting control point"
2023-03-23 15:10:10 +00:00
int32_t m_nStartCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ending control point"
2023-03-23 15:10:10 +00:00
int32_t m_nEndCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point field"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCPField; // 0x19c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "only set distance once"
2023-03-23 15:10:10 +00:00
bool m_bSetOnce; // 0x1a0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01a1[0x3]; // 0x1a1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "distance maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum trace length"
2023-03-23 15:10:10 +00:00
float m_flMaxTraceLength; // 0x1b4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS Failure Scale"
2023-03-23 15:10:10 +00:00
float m_flLOSScale; // 0x1b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ensure line of sight"
2023-03-23 15:10:10 +00:00
bool m_bLOS; // 0x1bc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "LOS collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x1bd
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad023d[0x3]; // 0x23d
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x240
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1b0
class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use eye orientation"
2023-03-23 15:10:10 +00:00
bool m_bOrientToEyes; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1b0
class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hand"
2023-03-23 15:10:10 +00:00
int32_t m_nHand; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use hand orientation"
2023-03-23 15:10:10 +00:00
bool m_bOrientToHand; // 0x1a4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1b0
class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use hmd orientation"
2023-03-23 15:10:10 +00:00
bool m_bOrientToHMD; // 0x1a0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x230
class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointNumber; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "time-of-day parameter"
2023-03-23 15:10:10 +00:00
char m_pszTimeOfDayParameter[128]; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "default value"
2023-03-23 15:10:10 +00:00
Vector m_vecDefaultValue; // 0x214
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1a0
class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point number to set"
2023-03-23 15:10:10 +00:00
int32_t m_nCP1; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "center offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x194
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "control point input"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "control point number to set velocity"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutputVel; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "normalize output"
2023-03-23 15:10:10 +00:00
bool m_bNormalize; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0199[0x3]; // 0x199
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "control point number to set magnitude"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutputMag; // 0x19c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "control point field for magnitude"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPField; // 0x1a0
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1a0
class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "control point input for velocity"
2023-03-23 15:10:10 +00:00
int32_t m_nCPInput; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "control point output for orientation"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutput; // 0x194
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x280
class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "duration at which to stop"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDuration; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "destroy all particles immediately"
2023-03-23 15:10:10 +00:00
bool m_bDestroyImmediately; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "play end cap effect"
2023-03-23 15:10:10 +00:00
bool m_bPlayEndCap; // 0x279
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x6b0
class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotation axis"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecRotAxis; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "rotation rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRotRate; // 0x5c0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x6a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "local space control point"
2023-03-23 15:10:10 +00:00
int32_t m_nLocalCP; // 0x6ac
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x1c0
class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "input control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nInputControlPoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputControlPoint; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nInputField; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputField; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1ac
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use the derivative"
2023-03-23 15:10:10 +00:00
bool m_bDerivative; // 0x1b0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01b1[0x3]; // 0x1b1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "interpolation"
2023-03-23 15:10:10 +00:00
float m_flInterpRate; // 0x1b4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1b0
class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "Target color control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nColorCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Color Gem Enable control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nColorGemEnableCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Default HSV Color"
2023-03-23 15:10:10 +00:00
Color m_DefaultHSVColor; // 0x19c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x240
class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point to set"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOut; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point to trace from"
2023-03-23 15:10:10 +00:00
int32_t m_nCPIn; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace update rate"
2023-03-23 15:10:10 +00:00
float m_flUpdateRate; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max trace length"
2023-03-23 15:10:10 +00:00
float m_flTraceLength; // 0x19c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "offset start point amount"
2023-03-23 15:10:10 +00:00
float m_flStartOffset; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "offset end point amount"
2023-03-23 15:10:10 +00:00
float m_flOffset; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace direction override"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecTraceDir; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "trace collision group"
2023-03-23 15:10:10 +00:00
char m_CollisionGroupName[128]; // 0x1b4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Trace Set"
2023-03-23 15:10:10 +00:00
ParticleTraceSet_t m_nTraceSet; // 0x234
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set to trace endpoint if no collision"
2023-03-23 15:10:10 +00:00
bool m_bSetToEndpoint; // 0x238
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "trace to closest surface along all cardinal directions"
2023-03-23 15:10:10 +00:00
bool m_bTraceToClosestSurface; // 0x239
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x290
class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "CP to point towards"
2023-03-23 15:10:10 +00:00
int32_t m_nInputCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "CP to set"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputCP; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Interpolation"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInterpolation; // 0x198
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "2D Orient"
2023-03-23 15:10:10 +00:00
bool m_b2DOrientation; // 0x280
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Avoid Vertical Axis Singularity"
2023-03-23 15:10:10 +00:00
bool m_bAvoidSingularity; // 0x281
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Point Away"
2023-03-23 15:10:10 +00:00
bool m_bPointAway; // 0x282
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x280
class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first child to enable"
2023-03-23 15:10:10 +00:00
int32_t m_nFirstChild; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max # of children to enable (-1 for max particle count)"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x450
class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nChildGroupID; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "first child to enable"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nFirstChild; // 0x278
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "# of children to enable"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x360
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "play endcap when children are removed"
2023-03-23 15:10:10 +00:00
bool m_bPlayEndcapOnStop; // 0x448
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "destroy particles immediately when child is removed"
2023-03-23 15:10:10 +00:00
bool m_bDestroyImmediately; // 0x449
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1a0
class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "play when emission ends"
2023-03-23 15:10:10 +00:00
bool m_bFireOnEmissionEnd; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "wait for children to finish"
2023-03-23 15:10:10 +00:00
bool m_bIncludeChildren; // 0x191
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x1a0
class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "control point"
2023-03-23 15:10:10 +00:00
int32_t m_ControlPoint; // 0x190
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x1d0
class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputControlPoint; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputField; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input minimum"
2023-03-23 15:10:10 +00:00
float m_flInputMin; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "input maximum"
2023-03-23 15:10:10 +00:00
float m_flInputMax; // 0x19c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output minimum"
2023-03-23 15:10:10 +00:00
float m_flOutputMin; // 0x1a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "output maximum"
2023-03-23 15:10:10 +00:00
float m_flOutputMax; // 0x1a4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound stack name"
2023-03-23 15:10:10 +00:00
CUtlString m_StackName; // 0x1a8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound operator name"
2023-03-23 15:10:10 +00:00
CUtlString m_OperatorName; // 0x1b0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound field name"
2023-03-23 15:10:10 +00:00
CUtlString m_FieldName; // 0x1b8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1a0
class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "source CP"
2023-03-23 15:10:10 +00:00
int32_t m_nSourceCP; // 0x190
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "dest CP"
2023-03-23 15:10:10 +00:00
int32_t m_nDestCP; // 0x194
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "dest control point component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPField; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x460
class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Within-Cluster Refire Time"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flClusterRefireTime; // 0x198
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flClusterSize; // 0x280
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Cluster Cooldown Time"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flClusterCooldown; // 0x368
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "limit active children to parent particle count"
2023-03-23 15:10:10 +00:00
bool m_bLimitChildCount; // 0x450
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x280
class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "group ID to affect"
2023-03-23 15:10:10 +00:00
int32_t m_nChildGroupID; // 0x190
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Number of Children to Use"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flNumberOfChildren; // 0x198
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x280
class C_OP_SetSimulationRate : public CParticleFunctionPreEmission
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "simulation timescale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSimulationScale; // 0x190
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x1b0
class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "source Control Point in World"
2023-03-23 15:10:10 +00:00
int32_t m_nCPIn; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Source Control Point offset"
// MVectorIsCoordinate
2023-03-23 15:10:10 +00:00
Vector m_vecCP1Pos; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Set control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOut; // 0x1a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Output field 0-2 X/Y/Z"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutField; // 0x1a4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Ss Pos and Dot OUT CP"
2023-03-23 15:10:10 +00:00
int32_t m_nCPSSPosOut; // 0x1a8
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 15
// Size: 0xba0
class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "snapshot control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPSnapshot; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "start control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPStartPnt; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "end control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPEndPnt; // 0x198
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad019c[0x4]; // 0x19c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Recursion Depth"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSegments; // 0x1a0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOffset; // 0x288
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Offset Decay"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flOffsetDecay; // 0x370
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Recalculation Rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRecalcRate; // 0x458
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "UV Scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flUVScale; // 0x540
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "UV Offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flUVOffset; // 0x628
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Branch Split Rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flSplitRate; // 0x710
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Branch Twist"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flBranchTwist; // 0x7f8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Branch Behavior"
2023-03-23 15:10:10 +00:00
ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0x8e0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad08e4[0x4]; // 0x8e4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Start Radius"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRadiusStart; // 0x8e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "End Radius"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRadiusEnd; // 0x9d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Dedicated Particle Pool Count"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flDedicatedPool; // 0xab8
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x5d0
class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "control point to sample wind"
2023-03-23 15:10:10 +00:00
int32_t m_nCP; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutput; // 0x194
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "wind scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecScale; // 0x198
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "set magnitude instead of vector"
2023-03-23 15:10:10 +00:00
bool m_bSetMagnitude; // 0x5c8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "magnitude output component"
// MPropertyAttributeChoiceName "vector_component"
// MPropertySuppressExpr "!m_bSetMagnitude"
2023-03-23 15:10:10 +00:00
int32_t m_nOutVectorField; // 0x5cc
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x370
class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "input"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flInputValue; // 0x190
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output control point"
2023-03-23 15:10:10 +00:00
int32_t m_nCPOutput; // 0x278
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "output component"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutVectorField; // 0x27c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "interval to snap to"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flQuantizeValue; // 0x280
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x1e0
class C_OP_RenderPoints : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "material"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1d0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x18e0
class CBaseTrailRenderer : public CBaseRendererSource2
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Orientation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "orientation type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
ParticleOrientationChoiceList_t m_nOrientationType; // 0x16f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "orientation control point"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-03-23 15:10:10 +00:00
int32_t m_nOrientationControlPoint; // 0x16f4
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Screenspace Fading and culling"
// MPropertyFriendlyName "minimum visual screen-size"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
float m_flMinSize; // 0x16f8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "maximum visual screen-size"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
float m_flMaxSize; // 0x16fc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "start fade screen-size"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flStartFadeSize; // 0x1700
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "end fade and cull screen-size"
// MPropertySortPriority "900"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flEndFadeSize; // 0x17e8
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Trail UV Controls"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Clamp Non-Sheet texture V coords"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
bool m_bClampV; // 0x18d0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 18
// Size: 0x2510
class C_OP_RenderTrails : public CBaseTrailRenderer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Screenspace Fading and culling"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "enable fading and clamping"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
bool m_bEnableFadingAndClamping; // 0x18e0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad18e1[0x3]; // 0x18e1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Trail Length"
// MPropertyFriendlyName "Anchor point source"
// MPropertyAttributeChoiceName "particlefield_vector"
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nPrevPntSource; // 0x18e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max length"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
float m_flMaxLength; // 0x18e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min length"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
float m_flMinLength; // 0x18ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore delta time"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDT; // 0x18f0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad18f1[0x3]; // 0x18f1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "constrain radius to no more than this times the length"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
float m_flConstrainRadiusToLengthRatio; // 0x18f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount to scale trail length by"
2023-03-23 15:10:10 +00:00
float m_flLengthScale; // 0x18f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "how long before a trail grows to its full length"
2023-03-23 15:10:10 +00:00
float m_flLengthFadeInTime; // 0x18fc
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Trail Head & Tail"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "head taper scale"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusHeadTaper; // 0x1900
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "head color scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecHeadColorScale; // 0x19e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "head alpha scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flHeadAlphaScale; // 0x1e18
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tail taper scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flRadiusTaper; // 0x1f00
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tail color scale"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecTailColorScale; // 0x1fe8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tail alpha scale"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flTailAlphaScale; // 0x2418
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Trail UV Controls"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "texture UV horizontal Scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nHorizCropField; // 0x2500
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "texture UV vertical Scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nVertCropField; // 0x2504
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Trail forward shift (fraction)"
2023-03-23 15:10:10 +00:00
float m_flForwardShift; // 0x2508
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI"
2023-03-23 15:10:10 +00:00
bool m_bFlipUVBasedOnPitchYaw; // 0x250c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 28
// Size: 0x1a10
class C_OP_RenderRopes : public CBaseRendererSource2
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Screenspace Fading and culling"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "enable fading and clamping"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "1000"
2023-03-23 15:10:10 +00:00
bool m_bEnableFadingAndClamping; // 0x16f0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad16f1[0x3]; // 0x16f1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "minimum visual screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-03-23 15:10:10 +00:00
float m_flMinSize; // 0x16f4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "maximum visual screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-03-23 15:10:10 +00:00
float m_flMaxSize; // 0x16f8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "start fade screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-03-23 15:10:10 +00:00
float m_flStartFadeSize; // 0x16fc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "end fade and cull screen-size"
// MPropertySuppressExpr "!m_bEnableFadingAndClamping"
2023-03-23 15:10:10 +00:00
float m_flEndFadeSize; // 0x1700
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Rope Tesselation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount to taper the width of the trail end by"
2023-03-23 15:10:10 +00:00
float m_flRadiusTaper; // 0x1704
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minium number of quads per render segment"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "850"
2023-03-23 15:10:10 +00:00
int32_t m_nMinTesselation; // 0x1708
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum number of quads per render segment"
2023-03-23 15:10:10 +00:00
int32_t m_nMaxTesselation; // 0x170c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tesselation resolution scale factor"
2023-03-23 15:10:10 +00:00
float m_flTessScale; // 0x1710
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad1714[0x4]; // 0x1714
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Rope Global UV Controls"
// MPropertyFriendlyName "global texture V World Size"
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x1718
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "global texture V Scroll Rate"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x1800
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "global texture V Offset"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flTextureVOffset; // 0x18e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "global texture V Params CP"
2023-03-23 15:10:10 +00:00
int32_t m_nTextureVParamsCP; // 0x19d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Clamp Non-Sheet texture V coords"
2023-03-23 15:10:10 +00:00
bool m_bClampV; // 0x19d4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19d5[0x3]; // 0x19d5
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Rope Global UV Controls/CP Scaling"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale CP start"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCP1; // 0x19d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale CP end"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCP2; // 0x19dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale V world size by CP distance"
2023-03-23 15:10:10 +00:00
float m_flScaleVSizeByControlPointDistance; // 0x19e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale V scroll rate by CP distance"
2023-03-23 15:10:10 +00:00
float m_flScaleVScrollByControlPointDistance; // 0x19e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale V offset by CP distance"
2023-03-23 15:10:10 +00:00
float m_flScaleVOffsetByControlPointDistance; // 0x19e8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19ec[0x1]; // 0x19ec
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Rope Global UV Controls"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Use scalar attribute for texture coordinate"
2023-03-23 15:10:10 +00:00
bool m_bUseScalarForTextureCoordinate; // 0x19ed
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19ee[0x2]; // 0x19ee
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scalar to use for texture coordinate"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x19f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale value to map attribute to texture coordinate"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate"
2023-03-23 15:10:10 +00:00
float m_flScalarAttributeTextureCoordScale; // 0x19f4
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Rope Order Controls"
// MPropertyFriendlyName "reverse point order"
// MPropertySortPriority "800"
2023-03-23 15:10:10 +00:00
bool m_bReverseOrder; // 0x19f8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Closed loop"
2023-03-23 15:10:10 +00:00
bool m_bClosedLoop; // 0x19f9
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad19fa[0x2]; // 0x19fa
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Orientation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "orientation_type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
ParticleOrientationChoiceList_t m_nOrientationType; // 0x19fc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "attribute to use for normal"
// MPropertyAttributeChoiceName "particlefield_vector"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x1a00
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Material"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "draw as opaque"
2023-03-23 15:10:10 +00:00
bool m_bDrawAsOpaque; // 0x1a04
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Orientation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "generate normals for cylinder"
2023-03-23 15:10:10 +00:00
bool m_bGenerateNormals; // 0x1a05
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x210
class C_OP_RenderAsModels : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "models"
2023-03-15 21:40:38 +00:00
// MParticleRequireDefaultArrayEntry
2023-03-23 15:10:10 +00:00
CUtlVector< ModelReference_t > m_ModelList; // 0x1d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01e8[0x4]; // 0x1e8
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale factor for radius"
2023-03-23 15:10:10 +00:00
float m_flModelScale; // 0x1ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale model to match particle size"
2023-03-23 15:10:10 +00:00
bool m_bFitToModelSize; // 0x1f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "non-uniform scaling"
2023-03-23 15:10:10 +00:00
bool m_bNonUniformScaling; // 0x1f1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "X axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x1f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Y axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x1f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Z axis scaling scalar field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x1fc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model size cull bloat"
// MPropertyAttributeChoiceName "particlefield_size_cull_bloat"
2023-03-23 15:10:10 +00:00
int32_t m_nSizeCullBloat; // 0x200
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x200
class C_OP_RenderLights : public C_OP_RenderPoints
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "animation rate"
2023-03-23 15:10:10 +00:00
float m_flAnimationRate; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "animation type"
2023-03-23 15:10:10 +00:00
AnimationType_t m_nAnimationType; // 0x1e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set animation value in FPS"
2023-03-23 15:10:10 +00:00
bool m_bAnimateInFPS; // 0x1e8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01e9[0x3]; // 0x1e9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "minimum visual size"
2023-03-23 15:10:10 +00:00
float m_flMinSize; // 0x1ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "maximum visual size"
2023-03-23 15:10:10 +00:00
float m_flMaxSize; // 0x1f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "size at which to start fading"
2023-03-23 15:10:10 +00:00
float m_flStartFadeSize; // 0x1f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "size at which to fade away"
2023-03-23 15:10:10 +00:00
float m_flEndFadeSize; // 0x1f8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 5
// Size: 0x4a0
class C_OP_RenderBlobs : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "cube width"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_cubeWidth; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cutoff radius"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_cutoffRadius; // 0x2b8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "render radius"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_renderRadius; // 0x3a0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)"
2023-03-23 15:10:10 +00:00
int32_t m_nScaleCP; // 0x488
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad048c[0x4]; // 0x48c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "material"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x490
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1e0
class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "rotate rate(dps)"
2023-03-23 15:10:10 +00:00
float m_flRotateRateDegrees; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "forward angle"
2023-03-23 15:10:10 +00:00
float m_flForwardDegrees; // 0x1d4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 42
// Size: 0x1840
class C_OP_RenderModels : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Only Render in effects bloom pass"
// MPropertySortPriority "1100"
2023-03-23 15:10:10 +00:00
bool m_bOnlyRenderInEffectsBloomPass; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Use Mixed Resolution Rendering"
// MPropertySortPriority "1200"
2023-03-23 15:10:10 +00:00
bool m_bUseMixedResolutionRendering; // 0x1d1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d2[0x6]; // 0x1d2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "models"
2023-03-15 21:40:38 +00:00
// MParticleRequireDefaultArrayEntry
// MPropertyAutoExpandSelf
// MPropertySortPriority "775"
2023-03-23 15:10:10 +00:00
CUtlVector< ModelReference_t > m_ModelList; // 0x1d8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "bodygroup field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nBodyGroupField; // 0x1f4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "submodel field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nSubModelField; // 0x1f8
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Orientation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "ignore normal"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreNormal; // 0x1fc
2023-03-15 18:56:19 +00:00
// MPropertyFriendlyName "orient model z to normal"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "750"
// MPropertySuppressExpr "m_bIgnoreNormal"
2023-03-23 15:10:10 +00:00
bool m_bOrientZ; // 0x1fd
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01fe[0x2]; // 0x1fe
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model local offset"
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecLocalOffset; // 0x200
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model local rotation (pitch/yaw/roll)"
// MPropertySortPriority "750"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecLocalRotation; // 0x630
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Model Scale"
// MPropertyFriendlyName "ignore radius"
// MPropertySortPriority "450"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreRadius; // 0xa60
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0a61[0x3]; // 0xa61
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model scale CP"
// MPropertySortPriority "450"
2023-03-23 15:10:10 +00:00
int32_t m_nModelScaleCP; // 0xa64
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model component scale"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CPerParticleVecInput m_vecComponentScale; // 0xa68
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Animation"
// MPropertyFriendlyName "animated"
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
bool m_bAnimated; // 0xe98
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0e99[0x3]; // 0xe99
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "animation rate"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
float m_flAnimationRate; // 0xe9c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "scale animation rate"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
bool m_bScaleAnimationRate; // 0xea0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "force looping animations"
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
bool m_bForceLoopingAnimation; // 0xea1
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "reset animation frame on stop"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
bool m_bResetAnimOnStop; // 0xea2
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "set animation frame manually"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
bool m_bManualAnimFrame; // 0xea3
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "animation rate scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
// MPropertySuppressExpr "!m_bAnimated"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAnimationScaleField; // 0xea4
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Animation"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "animation sequence field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAnimationField; // 0xea8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "manual animation frame field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "500"
// MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nManualFrameField; // 0xeac
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "activity override"
// MPropertySortPriority "500"
2023-03-23 15:10:10 +00:00
char m_ActivityName[256]; // 0xeb0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Enable Cloth Simulation"
2023-03-23 15:10:10 +00:00
bool m_bEnableClothSimulation; // 0xfb0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0fb1[0x7]; // 0xfb1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Material"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "material override"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0xfb8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "override translucent materials"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
bool m_bOverrideTranslucentMaterials; // 0xfc0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0fc1[0x3]; // 0xfc1
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "skin number"
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
int32_t m_nSkin; // 0xfc4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "skin override CP"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
int32_t m_nSkinCP; // 0xfc8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0fcc[0x4]; // 0xfcc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
// MPropertySortPriority "600"
2023-03-23 15:10:10 +00:00
CUtlVector< MaterialVariable_t > m_MaterialVars; // 0xfd0
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Model Overrides"
// MPropertyFriendlyName "model LOD"
2023-03-23 15:10:10 +00:00
int32_t m_nLOD; // 0xfe8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model override CP"
2023-03-23 15:10:10 +00:00
int32_t m_nModelCP; // 0xfec
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model override economy loadout slot type"
2023-03-23 15:10:10 +00:00
char m_EconSlotName[256]; // 0xff0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)"
2023-03-23 15:10:10 +00:00
bool m_bOriginalModel; // 0x10f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "suppress tinting of the model"
2023-03-23 15:10:10 +00:00
bool m_bSuppressTint; // 0x10f1
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)"
2023-03-23 15:10:10 +00:00
bool m_bUseRawMeshGroup; // 0x10f2
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "disable shadows"
2023-03-23 15:10:10 +00:00
bool m_bDisableShadows; // 0x10f3
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "forcedrawinterlevedwithsiblings"
2023-03-23 15:10:10 +00:00
bool m_bForceDrawInterlevedWithSiblings; // 0x10f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "render attribute"
2023-03-23 15:10:10 +00:00
char m_szRenderAttribute[260]; // 0x10f5
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Radius Scale"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRadiusScale; // 0x1200
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "alpha scale"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flAlphaScale; // 0x12e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlpha2Field; // 0x13d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad13d4[0x4]; // 0x13d4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color blend"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecColorScale; // 0x13d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color blend type"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleColorBlendType_t m_nColorBlendType; // 0x1808
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 8
// Size: 0x820
class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "Control Point for Model"
2023-03-23 15:10:10 +00:00
int32_t m_nMaterialControlPoint; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "proxy type"
2023-03-23 15:10:10 +00:00
MaterialProxyType_t m_nProxyType; // 0x1d4
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "material variables"
// MPropertyAutoExpandSelf
2023-03-23 15:10:10 +00:00
CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1d8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "material override"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1f0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "material override enable"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x1f8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model tint"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecColorScale; // 0x2e0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model alpha"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flAlpha; // 0x710
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "model tint blend type"
2023-03-23 15:10:10 +00:00
ParticleColorBlendType_t m_nColorBlendType; // 0x7f8
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 11
// Size: 0x220
class C_OP_RenderProjected : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "project on characters"
2023-03-23 15:10:10 +00:00
bool m_bProjectCharacter; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "project on world"
2023-03-23 15:10:10 +00:00
bool m_bProjectWorld; // 0x1d1
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "project on water"
2023-03-23 15:10:10 +00:00
bool m_bProjectWater; // 0x1d2
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "flip horizontal"
2023-03-23 15:10:10 +00:00
bool m_bFlipHorizontal; // 0x1d3
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "enable projected depth controls"
2023-03-23 15:10:10 +00:00
bool m_bEnableProjectedDepthControls; // 0x1d4
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d5[0x3]; // 0x1d5
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "min projection depth"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bEnableProjectedDepthControls"
2023-03-23 15:10:10 +00:00
float m_flMinProjectionDepth; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "max projection depth"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bEnableProjectedDepthControls"
2023-03-23 15:10:10 +00:00
float m_flMaxProjectionDepth; // 0x1dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "material"
// MPropertyAttributeEditor "AssetBrowse( vmat )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sheet animation time scale"
2023-03-23 15:10:10 +00:00
float m_flAnimationTimeScale; // 0x1e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "orient to normal"
2023-03-23 15:10:10 +00:00
bool m_bOrientToNormal; // 0x1ec
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01ed[0x3]; // 0x1ed
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "material variables"
2023-03-15 21:40:38 +00:00
// MPropertyAutoExpandSelf
2023-03-23 15:10:10 +00:00
CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1f0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 16
// Size: 0x640
class C_OP_RenderDeferredLight : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "projected texture use alpha test window"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseTexture"
2023-03-23 15:10:10 +00:00
bool m_bUseAlphaTestWindow; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "projected texture light"
2023-03-23 15:10:10 +00:00
bool m_bUseTexture; // 0x1d1
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d2[0x2]; // 0x1d2
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "+Renderer Modifiers"
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
float m_flRadiusScale; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "alpha scale"
2023-03-15 21:40:38 +00:00
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
float m_flAlphaScale; // 0x1d8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "per-particle alpha scale attribute"
// MPropertyAttributeChoiceName "particlefield_scalar"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlpha2Field; // 0x1dc
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "color blend"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecColorScale; // 0x1e0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "color blend type"
// MPropertySortPriority "700"
2023-03-23 15:10:10 +00:00
ParticleColorBlendType_t m_nColorBlendType; // 0x610
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spotlight distance"
2023-03-23 15:10:10 +00:00
float m_flLightDistance; // 0x614
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light start falloff"
2023-03-23 15:10:10 +00:00
float m_flStartFalloff; // 0x618
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spotlight distance falloff"
2023-03-23 15:10:10 +00:00
float m_flDistanceFalloff; // 0x61c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "spotlight FoV"
2023-03-23 15:10:10 +00:00
float m_flSpotFoV; // 0x620
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "projected texture alpha test point scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseTexture"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x624
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "projected texture alpha test range scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseTexture"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x628
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "projected texture alpha test sharpness scale field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseTexture"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x62c
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "texture"
// MPropertyAttributeEditor "AssetBrowse( vtex )"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "!m_bUseTexture"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x630
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "HSV Shift Control Point"
2023-03-23 15:10:10 +00:00
int32_t m_nHSVShiftControlPoint; // 0x638
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 29
// Size: 0xdb0
class C_OP_RenderStandardLight : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "light type"
2023-03-23 15:10:10 +00:00
ParticleLightTypeChoiceList_t m_nLightType; // 0x1d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color blend"
2023-03-23 15:10:10 +00:00
CParticleCollectionVecInput m_vecColorScale; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "color blend type"
2023-03-23 15:10:10 +00:00
ParticleColorBlendType_t m_nColorBlendType; // 0x608
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad060c[0x4]; // 0x60c
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "intensity"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flIntensity; // 0x610
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cast shadows"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-03-23 15:10:10 +00:00
bool m_bCastShadows; // 0x6f8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad06f9[0x7]; // 0x6f9
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "inner cone angle"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flTheta; // 0x700
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "outer cone angle"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flPhi; // 0x7e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light radius multiplier"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flRadiusMultiplier; // 0x8d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "attenuation type"
2023-03-23 15:10:10 +00:00
StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0x9b8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad09bc[0x4]; // 0x9bc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "falloff linearity"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFalloffLinearity; // 0x9c0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "falloff fifty percent"
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xaa8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "falloff zero percent"
// MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xb90
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "render diffuse"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-03-23 15:10:10 +00:00
bool m_bRenderDiffuse; // 0xc78
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "render specular"
2023-03-15 21:40:38 +00:00
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-03-23 15:10:10 +00:00
bool m_bRenderSpecular; // 0xc79
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0c7a[0x6]; // 0xc7a
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light cookie string"
2023-03-23 15:10:10 +00:00
CUtlString m_lightCookie; // 0xc80
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "light priority"
2023-03-23 15:10:10 +00:00
int32_t m_nPriority; // 0xc88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "fog lighting mode"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-03-23 15:10:10 +00:00
ParticleLightFogLightingMode_t m_nFogLightingMode; // 0xc8c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "fog contribution"
// MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX"
2023-03-23 15:10:10 +00:00
CParticleCollectionFloatInput m_flFogContribution; // 0xc90
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "capsule behavior"
2023-03-23 15:10:10 +00:00
ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0xd78
2023-03-15 21:40:38 +00:00
// MPropertyStartGroup "Capsule Light Controls"
// MPropertyFriendlyName "capsule length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-03-23 15:10:10 +00:00
float m_flCapsuleLength; // 0xd7c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "reverse point order"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-03-23 15:10:10 +00:00
bool m_bReverseOrder; // 0xd80
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Closed loop"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS"
2023-03-23 15:10:10 +00:00
bool m_bClosedLoop; // 0xd81
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0d82[0x2]; // 0xd82
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Anchor point source"
// MPropertyAttributeChoiceName "particlefield_vector"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nPrevPntSource; // 0xd84
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "max length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-03-23 15:10:10 +00:00
float m_flMaxLength; // 0xd88
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "min length"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-03-23 15:10:10 +00:00
float m_flMinLength; // 0xd8c
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "ignore delta time"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-03-23 15:10:10 +00:00
bool m_bIgnoreDT; // 0xd90
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad0d91[0x3]; // 0xd91
2023-03-23 15:10:10 +00:00
public:
2023-03-15 21:40:38 +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-03-23 15:10:10 +00:00
float m_flConstrainRadiusToLengthRatio; // 0xd94
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "amount to scale trail length by"
// MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE"
2023-03-23 15:10:10 +00:00
float m_flLengthScale; // 0xd98
2023-03-15 21:40:38 +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-03-23 15:10:10 +00:00
float m_flLengthFadeInTime; // 0xd9c
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_OP_RenderClothForce : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 0
// Size: 0x1d0
class C_OP_Callback : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
2023-03-24 22:02:34 +00:00
// No members available
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 9
// Size: 0x200
class C_OP_RenderScreenShake : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "duration scale"
2023-03-23 15:10:10 +00:00
float m_flDurationScale; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-23 15:10:10 +00:00
float m_flRadiusScale; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "frequence scale"
2023-03-23 15:10:10 +00:00
float m_flFrequencyScale; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amplitude scale"
2023-03-23 15:10:10 +00:00
float m_flAmplitudeScale; // 0x1dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nRadiusField; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "duration field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nDurationField; // 0x1e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "frequency field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nFrequencyField; // 0x1e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amplitude field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nAmplitudeField; // 0x1ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "control point of shake recipient (-1 = global)"
2023-03-23 15:10:10 +00:00
int32_t m_nFilterCP; // 0x1f0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x1e0
class C_OP_RenderTonemapController : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "tonemap level scale"
2023-03-23 15:10:10 +00:00
float m_flTonemapLevel; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tonemap weight scale"
2023-03-23 15:10:10 +00:00
float m_flTonemapWeight; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tonemap level"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nTonemapLevelField; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "tonemap weight"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nTonemapWeightField; // 0x1dc
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x2d0
class C_OP_RenderPostProcessing : public CParticleFunctionRenderer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "Post Processing Strength"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flPostProcessStrength; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Post Processing File"
// MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x2b8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "Post Processing Priority Group"
2023-03-23 15:10:10 +00:00
ParticlePostProcessPriorityGroup_t m_nPriority; // 0x2c0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 12
// Size: 0x300
class C_OP_RenderSound : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "duration scale"
2023-03-23 15:10:10 +00:00
float m_flDurationScale; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "decibel level scale"
2023-03-23 15:10:10 +00:00
float m_flSndLvlScale; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pitch scale"
2023-03-23 15:10:10 +00:00
float m_flPitchScale; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "volume scale"
2023-03-23 15:10:10 +00:00
float m_flVolumeScale; // 0x1dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "decibel level field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nSndLvlField; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "duration field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nDurationField; // 0x1e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "pitch field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nPitchField; // 0x1e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "volume field"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nVolumeField; // 0x1ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound channel"
// MPropertyAttributeChoiceName "sound_channel"
2023-03-23 15:10:10 +00:00
int32_t m_nChannel; // 0x1f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nCPReference; // 0x1f4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "sound"
// MPropertyAttributeEditor "SoundPicker()"
2023-03-23 15:10:10 +00:00
char m_pszSoundName[256]; // 0x1f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "suppress stop event"
2023-03-23 15:10:10 +00:00
bool m_bSuppressStopSoundEvent; // 0x2f8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 7
// Size: 0x210
class C_OP_RenderStatusEffect : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "detail 2 texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "diffuse warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fresnel color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x1e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "fresnel warp texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x1f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "specular warp texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x1f8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "environment map texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x200
2023-03-15 21:40:38 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 6
// Size: 0x200
class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer
2023-03-15 21:40:38 +00:00
{
public:
// MPropertyFriendlyName "color warp texture (3d)"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x1d0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "normal texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x1d8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "metalness texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x1e0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "roughness texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x1e8
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "self illum texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x1f0
2023-03-15 21:40:38 +00:00
// MPropertyFriendlyName "detail texture"
// MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x1f8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 3
// Size: 0x1e0
class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "flattening strength"
2023-03-23 15:10:10 +00:00
float m_flFlattenStrength; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius scale"
2023-03-23 15:10:10 +00:00
float m_flRadiusScale; // 0x1d8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 10
// Size: 0x200
class C_OP_RenderTreeShake : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "peak strength"
2023-03-23 15:10:10 +00:00
float m_flPeakStrength; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "peak strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "radius"
2023-03-23 15:10:10 +00:00
float m_flRadius; // 0x1d8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "strength field override"
// MPropertyAttributeChoiceName "particlefield_scalar"
2023-03-23 15:10:10 +00:00
ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x1dc
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "shake duration after end"
2023-03-23 15:10:10 +00:00
float m_flShakeDuration; // 0x1e0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amount of time taken to smooth between different shake parameters"
2023-03-23 15:10:10 +00:00
float m_flTransitionTime; // 0x1e4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Twist amount (-1..1)"
2023-03-23 15:10:10 +00:00
float m_flTwistAmount; // 0x1e8
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Radial Amount (-1..1)"
2023-03-23 15:10:10 +00:00
float m_flRadialAmount; // 0x1ec
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Control Point Orientation Amount (-1..1)"
2023-03-23 15:10:10 +00:00
float m_flControlPointOrientationAmount; // 0x1f0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "Control Point for Orientation Amount"
2023-03-23 15:10:10 +00:00
int32_t m_nControlPointForLinearDirection; // 0x1f4
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 2
// Size: 0x1e0
class C_OP_RenderText : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "outline color"
2023-03-23 15:10:10 +00:00
Color m_OutlineColor; // 0x1d0
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "default text"
2023-03-23 15:10:10 +00:00
CUtlString m_DefaultText; // 0x1d8
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 4
// Size: 0x2d0
class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "haptic hand"
2023-03-23 15:10:10 +00:00
ParticleVRHandChoiceList_t m_nHand; // 0x1d0
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "hand control point number"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputHandCP; // 0x1d4
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "cp field"
// MPropertyAttributeChoiceName "vector_component"
2023-03-23 15:10:10 +00:00
int32_t m_nOutputField; // 0x1d8
private:
2023-03-24 22:02:34 +00:00
[[maybe_unused]] uint8_t __pad01dc[0x4]; // 0x1dc
2023-03-23 15:10:10 +00:00
public:
2023-03-15 18:34:46 +00:00
// MPropertyFriendlyName "amplitude"
2023-03-23 15:10:10 +00:00
CPerParticleFloatInput m_flAmplitude; // 0x1e0
2023-03-15 18:34:46 +00:00
};
2023-03-23 15:10:10 +00:00
// Alignment: 1
// Size: 0x1a10
class C_OP_RenderFogSprites : public C_OP_RenderSprites
2023-03-15 18:34:46 +00:00
{
public:
// MPropertyFriendlyName "material"
2023-03-23 15:10:10 +00:00
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x1a00
2023-03-15 15:20:35 +00:00
};