aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/destructible_legacy/include
diff options
context:
space:
mode:
authorgit perforce import user <a@b>2016-10-25 12:29:14 -0600
committerSheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees>2016-10-25 18:56:37 -0500
commit3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch)
treefa6485c169e50d7415a651bf838f5bcd0fd3bfbd /APEX_1.4/module/destructible_legacy/include
downloadphysx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz
physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip
Initial commit:
PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167]
Diffstat (limited to 'APEX_1.4/module/destructible_legacy/include')
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h98
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h95
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h83
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h70
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h79
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h85
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h81
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h83
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h85
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h84
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h74
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h76
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h80
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h245
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h245
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h253
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h428
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h429
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h524
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h525
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h526
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h534
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h535
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h553
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h556
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h563
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h564
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h562
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h430
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h563
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h594
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h595
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h596
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h597
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h607
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h608
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h611
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h613
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h614
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h428
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h614
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h605
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h606
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h520
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h519
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h519
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h521
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h523
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h523
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h404
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h405
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h454
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h444
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h445
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h250
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h465
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h474
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h500
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h501
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h499
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h500
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h519
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h522
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h529
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h530
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h531
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h558
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h476
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h589
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h590
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h600
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h601
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h603
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h580
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h675
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h474
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h475
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h474
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h581
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h579
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h579
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h499
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h238
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h249
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h251
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h255
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h237
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h244
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h238
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h238
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h1614
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h248
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h238
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h239
-rw-r--r--APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h239
150 files changed, 45754 insertions, 0 deletions
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h
new file mode 100644
index 00000000..dde59185
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONCACHEDOVERLAPS_0P0_0P1H_H
+#define MODULE_CONVERSIONCACHEDOVERLAPS_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "CachedOverlaps_0p0.h"
+#include "CachedOverlaps_0p1.h"
+
+#include "ApexSharedUtils.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::CachedOverlaps_0p0,
+ nvidia::parameterized::CachedOverlaps_0p1,
+ nvidia::parameterized::CachedOverlaps_0p0::ClassVersion,
+ nvidia::parameterized::CachedOverlaps_0p1::ClassVersion>
+ ConversionCachedOverlaps_0p0_0p1Parent;
+
+class ConversionCachedOverlaps_0p0_0p1: public ConversionCachedOverlaps_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionCachedOverlaps_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionCachedOverlaps_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionCachedOverlaps_0p0_0p1(NvParameterized::Traits* t) : ConversionCachedOverlaps_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ parameterized::CachedOverlaps_0p0NS::IntPair_Type* pairs = mLegacyData->overlaps.buf;
+ uint32_t numPairs = (uint32_t)mLegacyData->overlaps.arraySizes[0];
+
+ NvParameterized::Handle overlapsHandle(*mNewData, "overlaps");
+ mNewData->resizeArray(overlapsHandle, 2*(int32_t)numPairs);
+ for (uint32_t i = 0; i < numPairs; ++i)
+ {
+ mNewData->overlaps.buf[2*i].i0 = pairs[i].i0;
+ mNewData->overlaps.buf[2*i].i1 = pairs[i].i1;
+
+ mNewData->overlaps.buf[2*i+1].i0 = pairs[i].i1;
+ mNewData->overlaps.buf[2*i+1].i1 = pairs[i].i0;
+ }
+
+ qsort(mNewData->overlaps.buf, 2*numPairs, sizeof(IntPair), IntPair::compare);
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h
new file mode 100644
index 00000000..aaee57ee
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P0_0P1H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p0.h"
+#include "DestructibleActorParam_0p1.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p0,
+ nvidia::parameterized::DestructibleActorParam_0p1,
+ nvidia::parameterized::DestructibleActorParam_0p0::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p1::ClassVersion>
+ ConversionDestructibleActorParam_0p0_0p1Parent;
+
+class ConversionDestructibleActorParam_0p0_0p1: public ConversionDestructibleActorParam_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h
new file mode 100644
index 00000000..b5a81f23
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P10_0P11H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P10_0P11H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p10.h"
+#include "DestructibleActorParam_0p11.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p10,
+ nvidia::parameterized::DestructibleActorParam_0p11,
+ nvidia::parameterized::DestructibleActorParam_0p10::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p11::ClassVersion>
+ ConversionDestructibleActorParam_0p10_0p11Parent;
+
+class ConversionDestructibleActorParam_0p10_0p11: public ConversionDestructibleActorParam_0p10_0p11Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p10_0p11));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p10_0p11)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p10_0p11(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p10_0p11Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h
new file mode 100644
index 00000000..f8fb1fe3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P11_0P12H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P11_0P12H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p11.h"
+#include "DestructibleActorParam_0p12.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p11,
+ nvidia::parameterized::DestructibleActorParam_0p12,
+ nvidia::parameterized::DestructibleActorParam_0p11::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p12::ClassVersion>
+ ConversionDestructibleActorParam_0p11_0p12Parent;
+
+class ConversionDestructibleActorParam_0p11_0p12: public ConversionDestructibleActorParam_0p11_0p12Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p11_0p12));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p11_0p12)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p11_0p12(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p11_0p12Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ // Convert sleepVelocitySmoothingFactor to sleepVelocityFrameDecayConstant
+ if (mLegacyData->sleepVelocitySmoothingFactor <= 0.0f)
+ {
+ mNewData->sleepVelocityFrameDecayConstant = 1.0f;
+ }
+ else
+ if (mLegacyData->sleepVelocitySmoothingFactor > 1.0f - PX_EPS_F32)
+ {
+ mNewData->sleepVelocityFrameDecayConstant = 1.0f/PX_EPS_F32;
+ }
+ else
+ {
+ mNewData->sleepVelocityFrameDecayConstant = 1.0f/(1.0f - mLegacyData->sleepVelocitySmoothingFactor);
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h
new file mode 100644
index 00000000..92e9cb9d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P12_0P13H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P12_0P13H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p12.h"
+#include "DestructibleActorParam_0p13.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p12,
+ nvidia::parameterized::DestructibleActorParam_0p13,
+ nvidia::parameterized::DestructibleActorParam_0p12::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p13::ClassVersion>
+ ConversionDestructibleActorParam_0p12_0p13Parent;
+
+class ConversionDestructibleActorParam_0p12_0p13: public ConversionDestructibleActorParam_0p12_0p13Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p12_0p13));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p12_0p13)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p12_0p13(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p12_0p13Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h
new file mode 100644
index 00000000..2fd5b8ca
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P13_0P14H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P13_0P14H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p13.h"
+#include "DestructibleActorParam_0p14.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p13,
+ nvidia::parameterized::DestructibleActorParam_0p14,
+ nvidia::parameterized::DestructibleActorParam_0p13::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p14::ClassVersion>
+ ConversionDestructibleActorParam_0p13_0p14Parent;
+
+class ConversionDestructibleActorParam_0p13_0p14: public ConversionDestructibleActorParam_0p13_0p14Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p13_0p14));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p13_0p14)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p13_0p14(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p13_0p14Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h
new file mode 100644
index 00000000..9f4b6871
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P14_0P15H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P14_0P15H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p14.h"
+#include "DestructibleActorParam_0p15.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p14,
+ nvidia::parameterized::DestructibleActorParam_0p15,
+ nvidia::parameterized::DestructibleActorParam_0p14::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p15::ClassVersion>
+ ConversionDestructibleActorParam_0p14_0p15Parent;
+
+class ConversionDestructibleActorParam_0p14_0p15: public ConversionDestructibleActorParam_0p14_0p15Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p14_0p15));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p14_0p15)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p14_0p15(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p14_0p15Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h
new file mode 100644
index 00000000..9ee647a1
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P15_0P16H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P15_0P16H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p15.h"
+#include "DestructibleActorParam_0p16.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p15,
+ nvidia::parameterized::DestructibleActorParam_0p16,
+ nvidia::parameterized::DestructibleActorParam_0p15::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p16::ClassVersion>
+ ConversionDestructibleActorParam_0p15_0p16Parent;
+
+class ConversionDestructibleActorParam_0p15_0p16: public ConversionDestructibleActorParam_0p15_0p16Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p15_0p16));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p15_0p16)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p15_0p16(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p15_0p16Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h
new file mode 100644
index 00000000..73514066
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P16_0P17H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P16_0P17H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p16.h"
+#include "DestructibleActorParam_0p17.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p16,
+ nvidia::parameterized::DestructibleActorParam_0p17,
+ nvidia::parameterized::DestructibleActorParam_0p16::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p17::ClassVersion>
+ ConversionDestructibleActorParam_0p16_0p17Parent;
+
+class ConversionDestructibleActorParam_0p16_0p17: public ConversionDestructibleActorParam_0p16_0p17Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p16_0p17));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p16_0p17)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p16_0p17(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p16_0p17Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ // Convert default behavior group's damage spread function parameters
+ mNewData->defaultBehaviorGroup.damageSpread.minimumRadius = mLegacyData->defaultBehaviorGroup.minimumDamageRadius;
+ mNewData->defaultBehaviorGroup.damageSpread.radiusMultiplier = mLegacyData->defaultBehaviorGroup.damageRadiusMultiplier;
+ mNewData->defaultBehaviorGroup.damageSpread.falloffExponent = mLegacyData->defaultBehaviorGroup.damageFalloffExponent;
+
+ // Convert user-defined behavior group's damage spread function parameters
+ const int32_t behaviorGroupCount = mLegacyData->behaviorGroups.arraySizes[0];
+ PX_ASSERT(mNewData->behaviorGroups.arraySizes[0] == behaviorGroupCount);
+ for (int32_t i = 0; i < physx::PxMin(behaviorGroupCount, mNewData->behaviorGroups.arraySizes[0]); ++i)
+ {
+ mNewData->behaviorGroups.buf[i].damageSpread.minimumRadius = mLegacyData->behaviorGroups.buf[i].minimumDamageRadius;
+ mNewData->behaviorGroups.buf[i].damageSpread.radiusMultiplier = mLegacyData->behaviorGroups.buf[i].damageRadiusMultiplier;
+ mNewData->behaviorGroups.buf[i].damageSpread.falloffExponent = mLegacyData->behaviorGroups.buf[i].damageFalloffExponent;
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h
new file mode 100644
index 00000000..239095d3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P17_0P18H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P17_0P18H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p17.h"
+#include "DestructibleActorParam_0p18.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p17,
+ nvidia::parameterized::DestructibleActorParam_0p18,
+ nvidia::parameterized::DestructibleActorParam_0p17::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p18::ClassVersion>
+ ConversionDestructibleActorParam_0p17_0p18Parent;
+
+class ConversionDestructibleActorParam_0p17_0p18: public ConversionDestructibleActorParam_0p17_0p18Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p17_0p18));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p17_0p18)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p17_0p18(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p17_0p18Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h
new file mode 100644
index 00000000..011e5130
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P18_0P19H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P18_0P19H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p18.h"
+#include "DestructibleActorParam_0p19.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p18,
+ nvidia::parameterized::DestructibleActorParam_0p19,
+ nvidia::parameterized::DestructibleActorParam_0p18::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p19::ClassVersion>
+ ConversionDestructibleActorParam_0p18_0p19Parent;
+
+class ConversionDestructibleActorParam_0p18_0p19: public ConversionDestructibleActorParam_0p18_0p19Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p18_0p19));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p18_0p19)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p18_0p19(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p18_0p19Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ mNewData->p3BodyDescTemplate.flags.eENABLE_CCD = mLegacyData->p3ShapeDescTemplate.flags.eUSE_SWEPT_BOUNDS;
+ mNewData->p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR = mLegacyData->p3ActorDescTemplate.contactReportFlags.eSWEPT_INTEGRATION_LINEAR;
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h
new file mode 100644
index 00000000..8fe665c2
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P19_0P20H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P19_0P20H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p19.h"
+#include "DestructibleActorParam_0p20.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p19,
+ nvidia::parameterized::DestructibleActorParam_0p20,
+ nvidia::parameterized::DestructibleActorParam_0p19::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p20::ClassVersion>
+ ConversionDestructibleActorParam_0p19_0p20Parent;
+
+class ConversionDestructibleActorParam_0p19_0p20: public ConversionDestructibleActorParam_0p19_0p20Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p19_0p20));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p19_0p20)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p19_0p20(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p19_0p20Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h
new file mode 100644
index 00000000..8b2cce03
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P1_0P2H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P1_0P2H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p1.h"
+#include "DestructibleActorParam_0p2.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p1,
+ nvidia::parameterized::DestructibleActorParam_0p2,
+ nvidia::parameterized::DestructibleActorParam_0p1::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p2::ClassVersion>
+ ConversionDestructibleActorParam_0p1_0p2Parent;
+
+class ConversionDestructibleActorParam_0p1_0p2: public ConversionDestructibleActorParam_0p1_0p2Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p1_0p2));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p1_0p2)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p1_0p2Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h
new file mode 100644
index 00000000..ef47954b
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P20_0P21H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P20_0P21H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p20.h"
+#include "DestructibleActorParam_0p21.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p20,
+ nvidia::parameterized::DestructibleActorParam_0p21,
+ nvidia::parameterized::DestructibleActorParam_0p20::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p21::ClassVersion>
+ ConversionDestructibleActorParam_0p20_0p21Parent;
+
+class ConversionDestructibleActorParam_0p20_0p21: public ConversionDestructibleActorParam_0p20_0p21Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p20_0p21));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p20_0p21)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p20_0p21(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p20_0p21Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h
new file mode 100644
index 00000000..60e0d8c4
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P21_0P22H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P21_0P22H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p21.h"
+#include "DestructibleActorParam_0p22.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p21,
+ nvidia::parameterized::DestructibleActorParam_0p22,
+ nvidia::parameterized::DestructibleActorParam_0p21::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p22::ClassVersion>
+ ConversionDestructibleActorParam_0p21_0p22Parent;
+
+class ConversionDestructibleActorParam_0p21_0p22: public ConversionDestructibleActorParam_0p21_0p22Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p21_0p22));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p21_0p22)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p21_0p22(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p21_0p22Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h
new file mode 100644
index 00000000..5203ca30
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P22_0P23H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P22_0P23H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p22.h"
+#include "DestructibleActorParam_0p23.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p22,
+ nvidia::parameterized::DestructibleActorParam_0p23,
+ nvidia::parameterized::DestructibleActorParam_0p22::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p23::ClassVersion>
+ ConversionDestructibleActorParam_0p22_0p23Parent;
+
+class ConversionDestructibleActorParam_0p22_0p23: public ConversionDestructibleActorParam_0p22_0p23Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p22_0p23));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p22_0p23)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p22_0p23(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p22_0p23Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h
new file mode 100644
index 00000000..6000fd6f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P23_0P24H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P23_0P24H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p23.h"
+#include "DestructibleActorParam_0p24.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p23,
+ nvidia::parameterized::DestructibleActorParam_0p24,
+ nvidia::parameterized::DestructibleActorParam_0p23::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p24::ClassVersion>
+ ConversionDestructibleActorParam_0p23_0p24Parent;
+
+class ConversionDestructibleActorParam_0p23_0p24: public ConversionDestructibleActorParam_0p23_0p24Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p23_0p24));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p23_0p24)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p23_0p24(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p23_0p24Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h
new file mode 100644
index 00000000..d984a214
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P24_0P25H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P24_0P25H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p24.h"
+#include "DestructibleActorParam_0p25.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p24,
+ nvidia::parameterized::DestructibleActorParam_0p25,
+ nvidia::parameterized::DestructibleActorParam_0p24::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p25::ClassVersion>
+ ConversionDestructibleActorParam_0p24_0p25Parent;
+
+class ConversionDestructibleActorParam_0p24_0p25: public ConversionDestructibleActorParam_0p24_0p25Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p24_0p25));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p24_0p25)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p24_0p25(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p24_0p25Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h
new file mode 100644
index 00000000..1cf45b45
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P25_0P26H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P25_0P26H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p25.h"
+#include "DestructibleActorParam_0p26.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p25,
+ nvidia::parameterized::DestructibleActorParam_0p26,
+ nvidia::parameterized::DestructibleActorParam_0p25::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p26::ClassVersion>
+ ConversionDestructibleActorParam_0p25_0p26Parent;
+
+class ConversionDestructibleActorParam_0p25_0p26: public ConversionDestructibleActorParam_0p25_0p26Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p25_0p26));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p25_0p26)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p25_0p26(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p25_0p26Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h
new file mode 100644
index 00000000..3d4d5181
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P26_0P27H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P26_0P27H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p26.h"
+#include "DestructibleActorParam_0p27.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p26,
+ nvidia::parameterized::DestructibleActorParam_0p27,
+ nvidia::parameterized::DestructibleActorParam_0p26::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p27::ClassVersion>
+ ConversionDestructibleActorParam_0p26_0p27Parent;
+
+class ConversionDestructibleActorParam_0p26_0p27: public ConversionDestructibleActorParam_0p26_0p27Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p26_0p27));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p26_0p27)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p26_0p27(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p26_0p27Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h
new file mode 100644
index 00000000..c4f5a156
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P27_0P28H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P27_0P28H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p27.h"
+#include "DestructibleActorParam_0p28.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p27,
+ nvidia::parameterized::DestructibleActorParam_0p28,
+ nvidia::parameterized::DestructibleActorParam_0p27::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p28::ClassVersion>
+ ConversionDestructibleActorParam_0p27_0p28Parent;
+
+class ConversionDestructibleActorParam_0p27_0p28: public ConversionDestructibleActorParam_0p27_0p28Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p27_0p28));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p27_0p28)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p27_0p28(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p27_0p28Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h
new file mode 100644
index 00000000..49e518fb
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P28_0P29H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P28_0P29H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p28.h"
+#include "DestructibleActorParam_0p29.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p28,
+ nvidia::parameterized::DestructibleActorParam_0p29,
+ nvidia::parameterized::DestructibleActorParam_0p28::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p29::ClassVersion>
+ ConversionDestructibleActorParam_0p28_0p29Parent;
+
+class ConversionDestructibleActorParam_0p28_0p29: public ConversionDestructibleActorParam_0p28_0p29Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p28_0p29));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p28_0p29)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p28_0p29(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p28_0p29Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h
new file mode 100644
index 00000000..24e81f6b
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P29_0P30H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P29_0P30H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p29.h"
+#include "DestructibleActorParam_0p30.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p29,
+ nvidia::parameterized::DestructibleActorParam_0p30,
+ nvidia::parameterized::DestructibleActorParam_0p29::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p30::ClassVersion>
+ ConversionDestructibleActorParam_0p29_0p30Parent;
+
+class ConversionDestructibleActorParam_0p29_0p30: public ConversionDestructibleActorParam_0p29_0p30Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p29_0p30));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p29_0p30)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p29_0p30(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p29_0p30Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ if (mLegacyData->p3ActorDescTemplate.contactReportFlags.eRESOLVE_CONTACTS)
+ {
+ mNewData->p3ActorDescTemplate.contactReportFlags.eCONTACT_DEFAULT = true;
+ }
+
+ if (mLegacyData->p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR)
+ {
+ mNewData->p3ActorDescTemplate.contactReportFlags.eSOLVE_CONTACT = true;
+ mNewData->p3ActorDescTemplate.contactReportFlags.eDETECT_CCD_CONTACT = true;
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h
new file mode 100644
index 00000000..ea15a14a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P2_0P3H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P2_0P3H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p2.h"
+#include "DestructibleActorParam_0p3.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p2,
+ nvidia::parameterized::DestructibleActorParam_0p3,
+ nvidia::parameterized::DestructibleActorParam_0p2::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p3::ClassVersion>
+ ConversionDestructibleActorParam_0p2_0p3Parent;
+
+class ConversionDestructibleActorParam_0p2_0p3: public ConversionDestructibleActorParam_0p2_0p3Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p2_0p3));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p2_0p3)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p2_0p3Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h
new file mode 100644
index 00000000..c199b942
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P30_0P31H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P30_0P31H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p30.h"
+#include "DestructibleActorParam_0p31.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p30,
+ nvidia::parameterized::DestructibleActorParam_0p31,
+ nvidia::parameterized::DestructibleActorParam_0p30::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p31::ClassVersion>
+ ConversionDestructibleActorParam_0p30_0p31Parent;
+
+class ConversionDestructibleActorParam_0p30_0p31: public ConversionDestructibleActorParam_0p30_0p31Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p30_0p31));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p30_0p31)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p30_0p31(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p30_0p31Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+ physx::PxMat33 tm(PxVec3(mLegacyData->globalPose[0], mLegacyData->globalPose[1], mLegacyData->globalPose[2]),
+ PxVec3(mLegacyData->globalPose[3], mLegacyData->globalPose[4], mLegacyData->globalPose[5]),
+ PxVec3(mLegacyData->globalPose[6], mLegacyData->globalPose[7], mLegacyData->globalPose[8]));
+
+ mNewData->globalPose.q = physx::PxQuat(tm);
+ mNewData->globalPose.p = physx::PxVec3(mLegacyData->globalPose[9], mLegacyData->globalPose[10], mLegacyData->globalPose[11]);
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h
new file mode 100644
index 00000000..d31b4994
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P31_0P32H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P31_0P32H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p31.h"
+#include "DestructibleActorParam_0p32.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p31,
+ nvidia::parameterized::DestructibleActorParam_0p32,
+ nvidia::parameterized::DestructibleActorParam_0p31::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p32::ClassVersion>
+ ConversionDestructibleActorParam_0p31_0p32Parent;
+
+class ConversionDestructibleActorParam_0p31_0p32: public ConversionDestructibleActorParam_0p31_0p32Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p31_0p32));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p31_0p32)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p31_0p32(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p31_0p32Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h
new file mode 100644
index 00000000..d049c797
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P3_0P4H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P3_0P4H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p3.h"
+#include "DestructibleActorParam_0p4.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p3,
+ nvidia::parameterized::DestructibleActorParam_0p4,
+ nvidia::parameterized::DestructibleActorParam_0p3::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p4::ClassVersion>
+ ConversionDestructibleActorParam_0p3_0p4Parent;
+
+class ConversionDestructibleActorParam_0p3_0p4: public ConversionDestructibleActorParam_0p3_0p4Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p3_0p4));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p3_0p4)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p3_0p4Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h
new file mode 100644
index 00000000..8ac73980
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P4_0P5H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P4_0P5H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p4.h"
+#include "DestructibleActorParam_0p5.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p4,
+ nvidia::parameterized::DestructibleActorParam_0p5,
+ nvidia::parameterized::DestructibleActorParam_0p4::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p5::ClassVersion>
+ ConversionDestructibleActorParam_0p4_0p5Parent;
+
+class ConversionDestructibleActorParam_0p4_0p5: public ConversionDestructibleActorParam_0p4_0p5Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p4_0p5));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p4_0p5)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p4_0p5(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p4_0p5Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h
new file mode 100644
index 00000000..0ae536cc
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P5_0P6H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P5_0P6H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p5.h"
+#include "DestructibleActorParam_0p6.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p5,
+ nvidia::parameterized::DestructibleActorParam_0p6,
+ nvidia::parameterized::DestructibleActorParam_0p5::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p6::ClassVersion>
+ ConversionDestructibleActorParam_0p5_0p6Parent;
+
+class ConversionDestructibleActorParam_0p5_0p6: public ConversionDestructibleActorParam_0p5_0p6Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p5_0p6));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p5_0p6)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p5_0p6(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p5_0p6Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h
new file mode 100644
index 00000000..8af093df
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P6_0P7H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P6_0P7H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p6.h"
+#include "DestructibleActorParam_0p7.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p6,
+ nvidia::parameterized::DestructibleActorParam_0p7,
+ nvidia::parameterized::DestructibleActorParam_0p6::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p7::ClassVersion>
+ ConversionDestructibleActorParam_0p6_0p7Parent;
+
+class ConversionDestructibleActorParam_0p6_0p7: public ConversionDestructibleActorParam_0p6_0p7Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p6_0p7));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p6_0p7)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p6_0p7(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p6_0p7Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h
new file mode 100644
index 00000000..fa083658
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P7_0P8H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P7_0P8H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p7.h"
+#include "DestructibleActorParam_0p8.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p7,
+ nvidia::parameterized::DestructibleActorParam_0p8,
+ nvidia::parameterized::DestructibleActorParam_0p7::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p8::ClassVersion>
+ ConversionDestructibleActorParam_0p7_0p8Parent;
+
+class ConversionDestructibleActorParam_0p7_0p8: public ConversionDestructibleActorParam_0p7_0p8Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p7_0p8));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p7_0p8)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p7_0p8(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p7_0p8Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h
new file mode 100644
index 00000000..60b5a3a6
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P8_0P9H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P8_0P9H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p8.h"
+#include "DestructibleActorParam_0p9.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p8,
+ nvidia::parameterized::DestructibleActorParam_0p9,
+ nvidia::parameterized::DestructibleActorParam_0p8::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p9::ClassVersion>
+ ConversionDestructibleActorParam_0p8_0p9Parent;
+
+class ConversionDestructibleActorParam_0p8_0p9: public ConversionDestructibleActorParam_0p8_0p9Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p8_0p9));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p8_0p9)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p8_0p9(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p8_0p9Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h
new file mode 100644
index 00000000..6b2f15e0
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P9_0P10H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P9_0P10H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorParam_0p9.h"
+#include "DestructibleActorParam_0p10.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p9,
+ nvidia::parameterized::DestructibleActorParam_0p10,
+ nvidia::parameterized::DestructibleActorParam_0p9::ClassVersion,
+ nvidia::parameterized::DestructibleActorParam_0p10::ClassVersion>
+ ConversionDestructibleActorParam_0p9_0p10Parent;
+
+class ConversionDestructibleActorParam_0p9_0p10: public ConversionDestructibleActorParam_0p9_0p10Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p9_0p10));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p9_0p10)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorParam_0p9_0p10(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p9_0p10Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h
new file mode 100644
index 00000000..311543c0
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P0_0P1H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorState_0p0.h"
+#include "DestructibleActorState_0p1.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p0,
+ nvidia::parameterized::DestructibleActorState_0p1,
+ nvidia::parameterized::DestructibleActorState_0p0::ClassVersion,
+ nvidia::parameterized::DestructibleActorState_0p1::ClassVersion>
+ ConversionDestructibleActorState_0p0_0p1Parent;
+
+class ConversionDestructibleActorState_0p0_0p1: public ConversionDestructibleActorState_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorState_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h
new file mode 100644
index 00000000..0ff2e85d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P1_0P2H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P1_0P2H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorState_0p1.h"
+#include "DestructibleActorState_0p2.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p1,
+ nvidia::parameterized::DestructibleActorState_0p2,
+ nvidia::parameterized::DestructibleActorState_0p1::ClassVersion,
+ nvidia::parameterized::DestructibleActorState_0p2::ClassVersion>
+ ConversionDestructibleActorState_0p1_0p2Parent;
+
+class ConversionDestructibleActorState_0p1_0p2: public ConversionDestructibleActorState_0p1_0p2Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p1_0p2));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p1_0p2)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorState_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p1_0p2Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h
new file mode 100644
index 00000000..34b667e4
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P2_0P3H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P2_0P3H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorState_0p2.h"
+#include "DestructibleActorState_0p3.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p2,
+ nvidia::parameterized::DestructibleActorState_0p3,
+ nvidia::parameterized::DestructibleActorState_0p2::ClassVersion,
+ nvidia::parameterized::DestructibleActorState_0p3::ClassVersion>
+ ConversionDestructibleActorState_0p2_0p3Parent;
+
+class ConversionDestructibleActorState_0p2_0p3: public ConversionDestructibleActorState_0p2_0p3Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p2_0p3));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p2_0p3)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorState_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p2_0p3Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h
new file mode 100644
index 00000000..58fd6948
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P3_0P4H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P3_0P4H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleActorState_0p3.h"
+#include "DestructibleActorState_0p4.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p3,
+ nvidia::parameterized::DestructibleActorState_0p4,
+ nvidia::parameterized::DestructibleActorState_0p3::ClassVersion,
+ nvidia::parameterized::DestructibleActorState_0p4::ClassVersion>
+ ConversionDestructibleActorState_0p3_0p4Parent;
+
+class ConversionDestructibleActorState_0p3_0p4: public ConversionDestructibleActorState_0p3_0p4Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p3_0p4));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p3_0p4)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleActorState_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p3_0p4Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h
new file mode 100644
index 00000000..e5786f59
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P0_0P1H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p0.h"
+#include "DestructibleAssetParameters_0p1.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p0,
+ nvidia::parameterized::DestructibleAssetParameters_0p1,
+ nvidia::parameterized::DestructibleAssetParameters_0p0::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p1::ClassVersion>
+ ConversionDestructibleAssetParameters_0p0_0p1Parent;
+
+class ConversionDestructibleAssetParameters_0p0_0p1: public ConversionDestructibleAssetParameters_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h
new file mode 100644
index 00000000..5dc1d75f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P10_0P11H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P10_0P11H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p10.h"
+#include "DestructibleAssetParameters_0p11.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p10,
+ nvidia::parameterized::DestructibleAssetParameters_0p11,
+ nvidia::parameterized::DestructibleAssetParameters_0p10::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p11::ClassVersion>
+ ConversionDestructibleAssetParameters_0p10_0p11Parent;
+
+class ConversionDestructibleAssetParameters_0p10_0p11: public ConversionDestructibleAssetParameters_0p10_0p11Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p10_0p11));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p10_0p11)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p10_0p11(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p10_0p11Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h
new file mode 100644
index 00000000..99e8dedb
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P11_0P12H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P11_0P12H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p11.h"
+#include "DestructibleAssetParameters_0p12.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p11,
+ nvidia::parameterized::DestructibleAssetParameters_0p12,
+ nvidia::parameterized::DestructibleAssetParameters_0p11::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p12::ClassVersion>
+ ConversionDestructibleAssetParameters_0p11_0p12Parent;
+
+class ConversionDestructibleAssetParameters_0p11_0p12: public ConversionDestructibleAssetParameters_0p11_0p12Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p11_0p12));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p11_0p12)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p11_0p12(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p11_0p12Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h
new file mode 100644
index 00000000..d1b3fac916
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P12_0P13H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P12_0P13H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p12.h"
+#include "DestructibleAssetParameters_0p13.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p12,
+ nvidia::parameterized::DestructibleAssetParameters_0p13,
+ nvidia::parameterized::DestructibleAssetParameters_0p12::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p13::ClassVersion>
+ ConversionDestructibleAssetParameters_0p12_0p13Parent;
+
+class ConversionDestructibleAssetParameters_0p12_0p13: public ConversionDestructibleAssetParameters_0p12_0p13Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p12_0p13));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p12_0p13)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p12_0p13(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p12_0p13Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h
new file mode 100644
index 00000000..e8a894fd
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P13_0P14H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P13_0P14H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p13.h"
+#include "DestructibleAssetParameters_0p14.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p13,
+ nvidia::parameterized::DestructibleAssetParameters_0p14,
+ nvidia::parameterized::DestructibleAssetParameters_0p13::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p14::ClassVersion>
+ ConversionDestructibleAssetParameters_0p13_0p14Parent;
+
+class ConversionDestructibleAssetParameters_0p13_0p14: public ConversionDestructibleAssetParameters_0p13_0p14Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p13_0p14));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p13_0p14)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p13_0p14(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p13_0p14Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ const int8_t DEFAULT_GROUP = -1;
+ mNewData->RTFractureBehaviorGroup = DEFAULT_GROUP;
+ mNewData->defaultBehaviorGroup.damageThreshold = mLegacyData->destructibleParameters.damageThreshold;
+ mNewData->defaultBehaviorGroup.damageToRadius = mLegacyData->destructibleParameters.damageToRadius;
+ mNewData->defaultBehaviorGroup.materialStrength = mLegacyData->destructibleParameters.materialStrength;
+
+ PX_ASSERT(mLegacyData->chunks.arraySizes[0] == mNewData->chunks.arraySizes[0]);
+ for (int32_t chunkIndex = 0; chunkIndex < mLegacyData->chunks.arraySizes[0]; ++chunkIndex)
+ {
+ parameterized::DestructibleAssetParameters_0p14NS::Chunk_Type& newChunk = mNewData->chunks.buf[chunkIndex];
+ newChunk.behaviorGroupIndex = DEFAULT_GROUP;
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h
new file mode 100644
index 00000000..b68513a1
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P14_0P15H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P14_0P15H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p14.h"
+#include "DestructibleAssetParameters_0p15.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p14,
+ nvidia::parameterized::DestructibleAssetParameters_0p15,
+ nvidia::parameterized::DestructibleAssetParameters_0p14::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p15::ClassVersion>
+ ConversionDestructibleAssetParameters_0p14_0p15Parent;
+
+class ConversionDestructibleAssetParameters_0p14_0p15: public ConversionDestructibleAssetParameters_0p14_0p15Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p14_0p15));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p14_0p15)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p14_0p15(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p14_0p15Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h
new file mode 100644
index 00000000..0bb61080
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P15_0P16H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P15_0P16H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p15.h"
+#include "DestructibleAssetParameters_0p16.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p15,
+ nvidia::parameterized::DestructibleAssetParameters_0p16,
+ nvidia::parameterized::DestructibleAssetParameters_0p15::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p16::ClassVersion>
+ ConversionDestructibleAssetParameters_0p15_0p16Parent;
+
+class ConversionDestructibleAssetParameters_0p15_0p16: public ConversionDestructibleAssetParameters_0p15_0p16Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p15_0p16));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p15_0p16)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p15_0p16(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p15_0p16Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ // Convert default behavior group's damage spread function parameters
+ mNewData->defaultBehaviorGroup.damageSpread.minimumRadius = mLegacyData->defaultBehaviorGroup.minimumDamageRadius;
+ mNewData->defaultBehaviorGroup.damageSpread.radiusMultiplier = mLegacyData->defaultBehaviorGroup.damageRadiusMultiplier;
+ mNewData->defaultBehaviorGroup.damageSpread.falloffExponent = mLegacyData->defaultBehaviorGroup.damageFalloffExponent;
+
+ // Convert user-defined behavior group's damage spread function parameters
+ const int32_t behaviorGroupCount = mLegacyData->behaviorGroups.arraySizes[0];
+ PX_ASSERT(mNewData->behaviorGroups.arraySizes[0] == behaviorGroupCount);
+ for (int32_t i = 0; i < physx::PxMin(behaviorGroupCount, mNewData->behaviorGroups.arraySizes[0]); ++i)
+ {
+ mNewData->behaviorGroups.buf[i].damageSpread.minimumRadius = mLegacyData->behaviorGroups.buf[i].minimumDamageRadius;
+ mNewData->behaviorGroups.buf[i].damageSpread.radiusMultiplier = mLegacyData->behaviorGroups.buf[i].damageRadiusMultiplier;
+ mNewData->behaviorGroups.buf[i].damageSpread.falloffExponent = mLegacyData->behaviorGroups.buf[i].damageFalloffExponent;
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h
new file mode 100644
index 00000000..11e56a0d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P16_0P17H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P16_0P17H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p16.h"
+#include "DestructibleAssetParameters_0p17.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p16,
+ nvidia::parameterized::DestructibleAssetParameters_0p17,
+ nvidia::parameterized::DestructibleAssetParameters_0p16::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p17::ClassVersion>
+ ConversionDestructibleAssetParameters_0p16_0p17Parent;
+
+class ConversionDestructibleAssetParameters_0p16_0p17: public ConversionDestructibleAssetParameters_0p16_0p17Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p16_0p17));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p16_0p17)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p16_0p17(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p16_0p17Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h
new file mode 100644
index 00000000..51ac8203
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P17_0P18H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P17_0P18H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p17.h"
+#include "DestructibleAssetParameters_0p18.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p17,
+ nvidia::parameterized::DestructibleAssetParameters_0p18,
+ nvidia::parameterized::DestructibleAssetParameters_0p17::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p18::ClassVersion>
+ ConversionDestructibleAssetParameters_0p17_0p18Parent;
+
+class ConversionDestructibleAssetParameters_0p17_0p18: public ConversionDestructibleAssetParameters_0p17_0p18Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p17_0p18));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p17_0p18)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p17_0p18(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p17_0p18Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h
new file mode 100644
index 00000000..823e58ac
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P18_0P19H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P18_0P19H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p18.h"
+#include "DestructibleAssetParameters_0p19.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p18,
+ nvidia::parameterized::DestructibleAssetParameters_0p19,
+ nvidia::parameterized::DestructibleAssetParameters_0p18::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p19::ClassVersion>
+ ConversionDestructibleAssetParameters_0p18_0p19Parent;
+
+class ConversionDestructibleAssetParameters_0p18_0p19: public ConversionDestructibleAssetParameters_0p18_0p19Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p18_0p19));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p18_0p19)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p18_0p19(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p18_0p19Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h
new file mode 100644
index 00000000..34d54558
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P19_0P20H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P19_0P20H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p19.h"
+#include "DestructibleAssetParameters_0p20.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p19,
+ nvidia::parameterized::DestructibleAssetParameters_0p20,
+ nvidia::parameterized::DestructibleAssetParameters_0p19::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p20::ClassVersion>
+ ConversionDestructibleAssetParameters_0p19_0p20Parent;
+
+class ConversionDestructibleAssetParameters_0p19_0p20: public ConversionDestructibleAssetParameters_0p19_0p20Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p19_0p20));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p19_0p20)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p19_0p20(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p19_0p20Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ // Convert to new behaviorGroup index convention
+
+ const int32_t chunkCount = mNewData->chunks.arraySizes[0];
+ for (int32_t chunkIndex = 0; chunkIndex < chunkCount; ++chunkIndex)
+ {
+ parameterized::DestructibleAssetParameters_0p20NS::Chunk_Type& chunk = mNewData->chunks.buf[chunkIndex];
+ if (chunk.parentIndex < chunkCount && chunk.behaviorGroupIndex < 0)
+ {
+ chunk.behaviorGroupIndex = mNewData->chunks.buf[chunk.parentIndex].behaviorGroupIndex;
+ }
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h
new file mode 100644
index 00000000..a6771a24
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P1_0P2H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P1_0P2H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p1.h"
+#include "DestructibleAssetParameters_0p2.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p1,
+ nvidia::parameterized::DestructibleAssetParameters_0p2,
+ nvidia::parameterized::DestructibleAssetParameters_0p1::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p2::ClassVersion>
+ ConversionDestructibleAssetParameters_0p1_0p2Parent;
+
+class ConversionDestructibleAssetParameters_0p1_0p2: public ConversionDestructibleAssetParameters_0p1_0p2Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p1_0p2));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p1_0p2)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p1_0p2Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h
new file mode 100644
index 00000000..1e64424a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P20_0P21H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P20_0P21H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p20.h"
+#include "DestructibleAssetParameters_0p21.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p20,
+ nvidia::parameterized::DestructibleAssetParameters_0p21,
+ nvidia::parameterized::DestructibleAssetParameters_0p20::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p21::ClassVersion>
+ ConversionDestructibleAssetParameters_0p20_0p21Parent;
+
+class ConversionDestructibleAssetParameters_0p20_0p21: public ConversionDestructibleAssetParameters_0p20_0p21Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p20_0p21));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p20_0p21)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p20_0p21(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p20_0p21Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h
new file mode 100644
index 00000000..00e8c6f3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P21_0P22H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P21_0P22H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p21.h"
+#include "DestructibleAssetParameters_0p22.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p21,
+ nvidia::parameterized::DestructibleAssetParameters_0p22,
+ nvidia::parameterized::DestructibleAssetParameters_0p21::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p22::ClassVersion>
+ ConversionDestructibleAssetParameters_0p21_0p22Parent;
+
+class ConversionDestructibleAssetParameters_0p21_0p22: public ConversionDestructibleAssetParameters_0p21_0p22Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p21_0p22));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p21_0p22)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p21_0p22(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p21_0p22Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h
new file mode 100644
index 00000000..1108d6c2
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P22_0P23H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P22_0P23H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p22.h"
+#include "DestructibleAssetParameters_0p23.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p22,
+ nvidia::parameterized::DestructibleAssetParameters_0p23,
+ nvidia::parameterized::DestructibleAssetParameters_0p22::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p23::ClassVersion>
+ ConversionDestructibleAssetParameters_0p22_0p23Parent;
+
+class ConversionDestructibleAssetParameters_0p22_0p23: public ConversionDestructibleAssetParameters_0p22_0p23Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p22_0p23));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p22_0p23)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p22_0p23(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p22_0p23Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ // dynamic array needs explicit initialization of it's members to default
+ for (int32_t i = 0; i < mNewData->behaviorGroups.arraySizes[0]; ++i)
+ {
+ mNewData->behaviorGroups.buf[i].maxDepenetrationVelocity = PX_MAX_F32;
+ }
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h
new file mode 100644
index 00000000..682e7d78
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P23_0P24H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P23_0P24H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p23.h"
+#include "DestructibleAssetParameters_0p24.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p23,
+ nvidia::parameterized::DestructibleAssetParameters_0p24,
+ nvidia::parameterized::DestructibleAssetParameters_0p23::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p24::ClassVersion>
+ ConversionDestructibleAssetParameters_0p23_0p24Parent;
+
+class ConversionDestructibleAssetParameters_0p23_0p24: public ConversionDestructibleAssetParameters_0p23_0p24Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p23_0p24));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p23_0p24)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p23_0p24(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p23_0p24Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h
new file mode 100644
index 00000000..7128fd55
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P24_0P25H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P24_0P25H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p24.h"
+#include "DestructibleAssetParameters_0p25.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p24,
+ nvidia::parameterized::DestructibleAssetParameters_0p25,
+ nvidia::parameterized::DestructibleAssetParameters_0p24::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p25::ClassVersion>
+ ConversionDestructibleAssetParameters_0p24_0p25Parent;
+
+class ConversionDestructibleAssetParameters_0p24_0p25: public ConversionDestructibleAssetParameters_0p24_0p25Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p24_0p25));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p24_0p25)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p24_0p25(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p24_0p25Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (PxU32)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+ for (int i = 0; i < mLegacyData->scatterMeshTransforms.arraySizes[0]; ++i)
+ {
+ mNewData->scatterMeshTransforms.buf[i] = physx::PxMat44(mLegacyData->scatterMeshTransforms.buf[i].matrix,
+ mLegacyData->scatterMeshTransforms.buf[i].vector);
+ }
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h
new file mode 100644
index 00000000..029a878e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P25_0P26H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P25_0P26H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p25.h"
+#include "DestructibleAssetParameters_0p26.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p25,
+ nvidia::parameterized::DestructibleAssetParameters_0p26,
+ nvidia::parameterized::DestructibleAssetParameters_0p25::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p26::ClassVersion>
+ ConversionDestructibleAssetParameters_0p25_0p26Parent;
+
+class ConversionDestructibleAssetParameters_0p25_0p26: public ConversionDestructibleAssetParameters_0p25_0p26Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p25_0p26));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p25_0p26)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p25_0p26(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p25_0p26Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h
new file mode 100644
index 00000000..6a184a64
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P2_0P3H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P2_0P3H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p2.h"
+#include "DestructibleAssetParameters_0p3.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p2,
+ nvidia::parameterized::DestructibleAssetParameters_0p3,
+ nvidia::parameterized::DestructibleAssetParameters_0p2::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p3::ClassVersion>
+ ConversionDestructibleAssetParameters_0p2_0p3Parent;
+
+class ConversionDestructibleAssetParameters_0p2_0p3: public ConversionDestructibleAssetParameters_0p2_0p3Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p2_0p3));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p2_0p3)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p2_0p3Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ mNewData->massScaleExponent = mLegacyData->destructibleParameters.massScaleExponent;
+ mNewData->supportDepth = mLegacyData->destructibleParameters.supportDepth;
+ mNewData->formExtendedStructures = mLegacyData->destructibleParameters.formExtendedStructures != 0;
+ mNewData->useAssetDefinedSupport = mLegacyData->destructibleParameters.flags.ASSET_DEFINED_SUPPORT;
+ mNewData->useWorldSupport = mLegacyData->destructibleParameters.flags.WORLD_SUPPORT;
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h
new file mode 100644
index 00000000..48de199e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P3_0P4H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P3_0P4H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p3.h"
+#include "DestructibleAssetParameters_0p4.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p3,
+ nvidia::parameterized::DestructibleAssetParameters_0p4,
+ nvidia::parameterized::DestructibleAssetParameters_0p3::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p4::ClassVersion>
+ ConversionDestructibleAssetParameters_0p3_0p4Parent;
+
+class ConversionDestructibleAssetParameters_0p3_0p4: public ConversionDestructibleAssetParameters_0p3_0p4Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p3_0p4));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p3_0p4)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p3_0p4Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ NvParameterized::Handle handle(*mNewData);
+ mNewData->getParameterHandle("chunkConvexHullStartIndices", handle);
+ mNewData->resizeArray(handle, mNewData->chunks.arraySizes[0] + 1);
+ for (int32_t i = 0; i <= mNewData->chunks.arraySizes[0]; ++i)
+ {
+ mNewData->chunkConvexHullStartIndices.buf[i] = (uint32_t)i;
+ }
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h
new file mode 100644
index 00000000..4a5a7bf6
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P4_0P5H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P4_0P5H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p4.h"
+#include "DestructibleAssetParameters_0p5.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p4,
+ nvidia::parameterized::DestructibleAssetParameters_0p5,
+ nvidia::parameterized::DestructibleAssetParameters_0p4::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p5::ClassVersion>
+ ConversionDestructibleAssetParameters_0p4_0p5Parent;
+
+class ConversionDestructibleAssetParameters_0p4_0p5: public ConversionDestructibleAssetParameters_0p4_0p5Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p4_0p5));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p4_0p5)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p4_0p5(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p4_0p5Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h
new file mode 100644
index 00000000..d8508531
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P5_0P6H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P5_0P6H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p5.h"
+#include "DestructibleAssetParameters_0p6.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p5,
+ nvidia::parameterized::DestructibleAssetParameters_0p6,
+ nvidia::parameterized::DestructibleAssetParameters_0p5::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p6::ClassVersion>
+ ConversionDestructibleAssetParameters_0p5_0p6Parent;
+
+class ConversionDestructibleAssetParameters_0p5_0p6: public ConversionDestructibleAssetParameters_0p5_0p6Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p5_0p6));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p5_0p6)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p5_0p6(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p5_0p6Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h
new file mode 100644
index 00000000..7ad83d16
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P6_0P7H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P6_0P7H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p6.h"
+#include "DestructibleAssetParameters_0p7.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p6,
+ nvidia::parameterized::DestructibleAssetParameters_0p7,
+ nvidia::parameterized::DestructibleAssetParameters_0p6::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p7::ClassVersion>
+ ConversionDestructibleAssetParameters_0p6_0p7Parent;
+
+class ConversionDestructibleAssetParameters_0p6_0p7: public ConversionDestructibleAssetParameters_0p6_0p7Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p6_0p7));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p6_0p7)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p6_0p7(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p6_0p7Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h
new file mode 100644
index 00000000..a7bd326e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P7_0P8H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P7_0P8H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p7.h"
+#include "DestructibleAssetParameters_0p8.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p7,
+ nvidia::parameterized::DestructibleAssetParameters_0p8,
+ nvidia::parameterized::DestructibleAssetParameters_0p7::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p8::ClassVersion>
+ ConversionDestructibleAssetParameters_0p7_0p8Parent;
+
+class ConversionDestructibleAssetParameters_0p7_0p8: public ConversionDestructibleAssetParameters_0p7_0p8Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p7_0p8));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p7_0p8)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p7_0p8(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p7_0p8Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h
new file mode 100644
index 00000000..5ff947b0
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P8_0P9H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P8_0P9H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p8.h"
+#include "DestructibleAssetParameters_0p9.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p8,
+ nvidia::parameterized::DestructibleAssetParameters_0p9,
+ nvidia::parameterized::DestructibleAssetParameters_0p8::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p9::ClassVersion>
+ ConversionDestructibleAssetParameters_0p8_0p9Parent;
+
+class ConversionDestructibleAssetParameters_0p8_0p9: public ConversionDestructibleAssetParameters_0p8_0p9Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p8_0p9));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p8_0p9)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p8_0p9(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p8_0p9Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h
new file mode 100644
index 00000000..799304ff
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P9_0P10H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P9_0P10H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleAssetParameters_0p9.h"
+#include "DestructibleAssetParameters_0p10.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p9,
+ nvidia::parameterized::DestructibleAssetParameters_0p10,
+ nvidia::parameterized::DestructibleAssetParameters_0p9::ClassVersion,
+ nvidia::parameterized::DestructibleAssetParameters_0p10::ClassVersion>
+ ConversionDestructibleAssetParameters_0p9_0p10Parent;
+
+class ConversionDestructibleAssetParameters_0p9_0p10: public ConversionDestructibleAssetParameters_0p9_0p10Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p9_0p10));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p9_0p10)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleAssetParameters_0p9_0p10(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p9_0p10Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h
new file mode 100644
index 00000000..5357ee95
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P0_0P1H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleModuleParameters_0p0.h"
+#include "DestructibleModuleParameters_0p1.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p0,
+ nvidia::parameterized::DestructibleModuleParameters_0p1,
+ nvidia::parameterized::DestructibleModuleParameters_0p0::ClassVersion,
+ nvidia::parameterized::DestructibleModuleParameters_0p1::ClassVersion>
+ ConversionDestructibleModuleParameters_0p0_0p1Parent;
+
+class ConversionDestructibleModuleParameters_0p0_0p1: public ConversionDestructibleModuleParameters_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleModuleParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h
new file mode 100644
index 00000000..8c22bade
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P1_0P2H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P1_0P2H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleModuleParameters_0p1.h"
+#include "DestructibleModuleParameters_0p2.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p1,
+ nvidia::parameterized::DestructibleModuleParameters_0p2,
+ nvidia::parameterized::DestructibleModuleParameters_0p1::ClassVersion,
+ nvidia::parameterized::DestructibleModuleParameters_0p2::ClassVersion>
+ ConversionDestructibleModuleParameters_0p1_0p2Parent;
+
+class ConversionDestructibleModuleParameters_0p1_0p2: public ConversionDestructibleModuleParameters_0p1_0p2Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p1_0p2));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p1_0p2)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleModuleParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p1_0p2Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h
new file mode 100644
index 00000000..bc0faee8
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P2_0P3H_H
+#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P2_0P3H_H
+
+#include "NvParamConversionTemplate.h"
+#include "DestructibleModuleParameters_0p2.h"
+#include "DestructibleModuleParameters_0p3.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p2,
+ nvidia::parameterized::DestructibleModuleParameters_0p3,
+ nvidia::parameterized::DestructibleModuleParameters_0p2::ClassVersion,
+ nvidia::parameterized::DestructibleModuleParameters_0p3::ClassVersion>
+ ConversionDestructibleModuleParameters_0p2_0p3Parent;
+
+class ConversionDestructibleModuleParameters_0p2_0p3: public ConversionDestructibleModuleParameters_0p2_0p3Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p2_0p3));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p2_0p3)(t) : 0;
+ }
+
+protected:
+ ConversionDestructibleModuleParameters_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p2_0p3Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h
new file mode 100644
index 00000000..2c11e36f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P0_0P1H_H
+#define MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P0_0P1H_H
+
+#include "NvParamConversionTemplate.h"
+#include "SurfaceTraceSetParameters_0p0.h"
+#include "SurfaceTraceSetParameters_0p1.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::SurfaceTraceSetParameters_0p0,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p1,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p0::ClassVersion,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p1::ClassVersion>
+ ConversionSurfaceTraceSetParameters_0p0_0p1Parent;
+
+class ConversionSurfaceTraceSetParameters_0p0_0p1: public ConversionSurfaceTraceSetParameters_0p0_0p1Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionSurfaceTraceSetParameters_0p0_0p1));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionSurfaceTraceSetParameters_0p0_0p1)(t) : 0;
+ }
+
+protected:
+ ConversionSurfaceTraceSetParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionSurfaceTraceSetParameters_0p0_0p1Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h
new file mode 100644
index 00000000..afebf3bb
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+
+#ifndef MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P1_0P2H_H
+#define MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P1_0P2H_H
+
+#include "NvParamConversionTemplate.h"
+#include "SurfaceTraceSetParameters_0p1.h"
+#include "SurfaceTraceSetParameters_0p2.h"
+
+namespace nvidia {
+namespace apex {
+namespace legacy {
+
+
+typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::SurfaceTraceSetParameters_0p1,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p2,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p1::ClassVersion,
+ nvidia::parameterized::SurfaceTraceSetParameters_0p2::ClassVersion>
+ ConversionSurfaceTraceSetParameters_0p1_0p2Parent;
+
+class ConversionSurfaceTraceSetParameters_0p1_0p2: public ConversionSurfaceTraceSetParameters_0p1_0p2Parent
+{
+public:
+ static NvParameterized::Conversion* Create(NvParameterized::Traits* t)
+ {
+ void* buf = t->alloc(sizeof(ConversionSurfaceTraceSetParameters_0p1_0p2));
+ return buf ? PX_PLACEMENT_NEW(buf, ConversionSurfaceTraceSetParameters_0p1_0p2)(t) : 0;
+ }
+
+protected:
+ ConversionSurfaceTraceSetParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionSurfaceTraceSetParameters_0p1_0p2Parent(t) {}
+
+ const NvParameterized::PrefVer* getPreferredVersions() const
+ {
+ static NvParameterized::PrefVer prefVers[] =
+ {
+ //TODO:
+ // Add your preferred versions for included references here.
+ // Entry format is
+ // { (const char*)longName, (uint32_t)preferredVersion }
+
+ { 0, 0 } // Terminator (do not remove!)
+ };
+
+ return prefVers;
+ }
+
+ bool convert()
+ {
+ //TODO:
+ // Write custom conversion code here using mNewData and mLegacyData members.
+ //
+ // Note that
+ // - mNewData has already been initialized with default values
+ // - same-named/same-typed members have already been copied
+ // from mLegacyData to mNewData
+ // - included references were moved to mNewData
+ // (and updated to preferred versions according to getPreferredVersions)
+ //
+ // For more info see the versioning wiki.
+
+ return true;
+ }
+};
+
+
+}
+}
+} //nvidia::apex::legacy
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h
new file mode 100644
index 00000000..4048ee9e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h
@@ -0,0 +1,245 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_CachedOverlaps_0p0_h
+#define HEADER_CachedOverlaps_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace CachedOverlaps_0p0NS
+{
+
+struct IntPair_Type;
+
+struct IntPair_DynamicArray1D_Type
+{
+ IntPair_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct IntPair_Type
+{
+ int32_t i0;
+ int32_t i1;
+};
+
+struct ParametersStruct
+{
+
+ bool isCached;
+ IntPair_DynamicArray1D_Type overlaps;
+
+};
+
+static const uint32_t checksum[] = { 0x48e6b53c, 0x54c6b8f6, 0xfd6fb9d9, 0xed400045, };
+
+} // namespace CachedOverlaps_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class CachedOverlaps_0p0 : public NvParameterized::NvParameters, public CachedOverlaps_0p0NS::ParametersStruct
+{
+public:
+ CachedOverlaps_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~CachedOverlaps_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("CachedOverlaps");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(CachedOverlaps_0p0NS::checksum);
+ return CachedOverlaps_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const CachedOverlaps_0p0NS::ParametersStruct& parameters(void) const
+ {
+ CachedOverlaps_0p0* tmpThis = const_cast<CachedOverlaps_0p0*>(this);
+ return *(static_cast<CachedOverlaps_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ CachedOverlaps_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<CachedOverlaps_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class CachedOverlaps_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ CachedOverlaps_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(CachedOverlaps_0p0), CachedOverlaps_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, CachedOverlaps_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(CachedOverlaps_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, CachedOverlaps_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, CachedOverlaps_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, CachedOverlaps_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of CachedOverlaps_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (CachedOverlaps_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (CachedOverlaps_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (CachedOverlaps_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (CachedOverlaps_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (CachedOverlaps_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h
new file mode 100644
index 00000000..ca736aa4
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h
@@ -0,0 +1,245 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_CachedOverlaps_0p1_h
+#define HEADER_CachedOverlaps_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace CachedOverlaps_0p1NS
+{
+
+struct IntPair_Type;
+
+struct IntPair_DynamicArray1D_Type
+{
+ IntPair_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct IntPair_Type
+{
+ int32_t i0;
+ int32_t i1;
+};
+
+struct ParametersStruct
+{
+
+ bool isCached;
+ IntPair_DynamicArray1D_Type overlaps;
+
+};
+
+static const uint32_t checksum[] = { 0x42ce64a0, 0x9634fff2, 0x6f308fbe, 0xf3ce7bcd, };
+
+} // namespace CachedOverlaps_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class CachedOverlaps_0p1 : public NvParameterized::NvParameters, public CachedOverlaps_0p1NS::ParametersStruct
+{
+public:
+ CachedOverlaps_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~CachedOverlaps_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("CachedOverlaps");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(CachedOverlaps_0p1NS::checksum);
+ return CachedOverlaps_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const CachedOverlaps_0p1NS::ParametersStruct& parameters(void) const
+ {
+ CachedOverlaps_0p1* tmpThis = const_cast<CachedOverlaps_0p1*>(this);
+ return *(static_cast<CachedOverlaps_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ CachedOverlaps_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<CachedOverlaps_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class CachedOverlaps_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ CachedOverlaps_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(CachedOverlaps_0p1), CachedOverlaps_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, CachedOverlaps_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(CachedOverlaps_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, CachedOverlaps_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, CachedOverlaps_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, CachedOverlaps_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of CachedOverlaps_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (CachedOverlaps_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (CachedOverlaps_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (CachedOverlaps_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (CachedOverlaps_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (CachedOverlaps_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h
new file mode 100644
index 00000000..3adec97a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h
@@ -0,0 +1,253 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorChunks_0p0_h
+#define HEADER_DestructibleActorChunks_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorChunks_0p0NS
+{
+
+struct Chunk_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_Type
+{
+ uint8_t state;
+ uint8_t flags;
+ uint32_t islandID;
+ float damage;
+ physx::PxVec4 localSphere;
+ physx::PxVec3 localOffset;
+ int32_t visibleAncestorIndex;
+ uint32_t shapesCount;
+ physx::PxTransform globalPose;
+ physx::PxVec3 linearVelocity;
+ physx::PxVec3 angularVelocity;
+};
+
+struct ParametersStruct
+{
+
+ Chunk_DynamicArray1D_Type data;
+
+};
+
+static const uint32_t checksum[] = { 0x1f4e04ad, 0x95dc5558, 0x4dae15a1, 0x46caf98e, };
+
+} // namespace DestructibleActorChunks_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorChunks_0p0 : public NvParameterized::NvParameters, public DestructibleActorChunks_0p0NS::ParametersStruct
+{
+public:
+ DestructibleActorChunks_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorChunks_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorChunks");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorChunks_0p0NS::checksum);
+ return DestructibleActorChunks_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorChunks_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorChunks_0p0* tmpThis = const_cast<DestructibleActorChunks_0p0*>(this);
+ return *(static_cast<DestructibleActorChunks_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorChunks_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorChunks_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorChunks_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorChunks_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorChunks_0p0), DestructibleActorChunks_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorChunks_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorChunks_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorChunks_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorChunks_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorChunks_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorChunks_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorChunks_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorChunks_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorChunks_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorChunks_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorChunks_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorChunks_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorChunks_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h
new file mode 100644
index 00000000..612a2695
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h
@@ -0,0 +1,428 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p0_h
+#define HEADER_DestructibleActorParam_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p0NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float bias;
+ float benefitsBias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xd4b08535, 0x3442a17d, 0xa9c52df2, 0x56f139da, };
+
+} // namespace DestructibleActorParam_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p0 : public NvParameterized::NvParameters, public DestructibleActorParam_0p0NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p0NS::checksum);
+ return DestructibleActorParam_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p0* tmpThis = const_cast<DestructibleActorParam_0p0*>(this);
+ return *(static_cast<DestructibleActorParam_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p0), DestructibleActorParam_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h
new file mode 100644
index 00000000..2d11df2a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h
@@ -0,0 +1,429 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p1_h
+#define HEADER_DestructibleActorParam_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p1NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float bias;
+ float benefitsBias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x3ad0af7d, 0xd7719dac, 0xf560b077, 0x017be9bb, };
+
+} // namespace DestructibleActorParam_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p1 : public NvParameterized::NvParameters, public DestructibleActorParam_0p1NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p1NS::checksum);
+ return DestructibleActorParam_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p1NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p1* tmpThis = const_cast<DestructibleActorParam_0p1*>(this);
+ return *(static_cast<DestructibleActorParam_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p1), DestructibleActorParam_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h
new file mode 100644
index 00000000..034aae1c
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h
@@ -0,0 +1,524 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p10_h
+#define HEADER_DestructibleActorParam_0p10_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p10NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xbe978f37, 0x502639bf, 0x1719eb6b, 0xded5e239, };
+
+} // namespace DestructibleActorParam_0p10NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p10 : public NvParameterized::NvParameters, public DestructibleActorParam_0p10NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p10(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p10();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)10;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p10NS::checksum);
+ return DestructibleActorParam_0p10NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p10NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p10* tmpThis = const_cast<DestructibleActorParam_0p10*>(this);
+ return *(static_cast<DestructibleActorParam_0p10NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p10NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p10NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p10Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p10::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p10), DestructibleActorParam_0p10::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p10::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p10");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p10)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p10)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p10::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p10::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p10");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p10 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p10*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p10::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p10::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p10::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p10::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h
new file mode 100644
index 00000000..b928c8d8
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h
@@ -0,0 +1,525 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p11_h
+#define HEADER_DestructibleActorParam_0p11_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p11NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocitySmoothingFactor;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xdd5dd270, 0x74d8996a, 0x63268e74, 0xb3dc6115, };
+
+} // namespace DestructibleActorParam_0p11NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p11 : public NvParameterized::NvParameters, public DestructibleActorParam_0p11NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p11(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p11();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)11;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p11NS::checksum);
+ return DestructibleActorParam_0p11NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p11NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p11* tmpThis = const_cast<DestructibleActorParam_0p11*>(this);
+ return *(static_cast<DestructibleActorParam_0p11NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p11NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p11NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p11Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p11::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p11), DestructibleActorParam_0p11::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p11::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p11");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p11)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p11)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p11::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p11::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p11");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p11 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p11*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p11::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p11::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p11::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p11::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h
new file mode 100644
index 00000000..b0ec0fac
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h
@@ -0,0 +1,526 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p12_h
+#define HEADER_DestructibleActorParam_0p12_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p12NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x0bf61569, 0xbaa5819e, 0x5ef9d546, 0xbe60fed3, };
+
+} // namespace DestructibleActorParam_0p12NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p12 : public NvParameterized::NvParameters, public DestructibleActorParam_0p12NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p12(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p12();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)12;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p12NS::checksum);
+ return DestructibleActorParam_0p12NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p12NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p12* tmpThis = const_cast<DestructibleActorParam_0p12*>(this);
+ return *(static_cast<DestructibleActorParam_0p12NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p12NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p12NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p12Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p12::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p12), DestructibleActorParam_0p12::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p12::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p12");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p12)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p12)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p12::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p12::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p12");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p12 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p12*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p12::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p12::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p12::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p12::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h
new file mode 100644
index 00000000..5a9fb52f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h
@@ -0,0 +1,534 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p13_h
+#define HEADER_DestructibleActorParam_0p13_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p13NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+
+};
+
+static const uint32_t checksum[] = { 0x61491594, 0xc6bbcc7e, 0x465e5e58, 0x1aac70b5, };
+
+} // namespace DestructibleActorParam_0p13NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p13 : public NvParameterized::NvParameters, public DestructibleActorParam_0p13NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p13(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p13();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)13;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p13NS::checksum);
+ return DestructibleActorParam_0p13NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p13NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p13* tmpThis = const_cast<DestructibleActorParam_0p13*>(this);
+ return *(static_cast<DestructibleActorParam_0p13NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p13NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p13NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p13Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p13::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p13), DestructibleActorParam_0p13::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p13::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p13");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p13)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p13)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p13::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p13::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p13");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p13 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p13*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p13::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p13::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p13::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p13::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h
new file mode 100644
index 00000000..a29919a2
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h
@@ -0,0 +1,535 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p14_h
+#define HEADER_DestructibleActorParam_0p14_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p14NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+
+};
+
+static const uint32_t checksum[] = { 0xb1ba7cab, 0x2d216f2b, 0x80fa1a34, 0xd796c0b0, };
+
+} // namespace DestructibleActorParam_0p14NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p14 : public NvParameterized::NvParameters, public DestructibleActorParam_0p14NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p14(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p14();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)14;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p14NS::checksum);
+ return DestructibleActorParam_0p14NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p14NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p14* tmpThis = const_cast<DestructibleActorParam_0p14*>(this);
+ return *(static_cast<DestructibleActorParam_0p14NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p14NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p14NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p14Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p14::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p14), DestructibleActorParam_0p14::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p14::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p14");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p14)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p14)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p14::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p14::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p14");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p14 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p14*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p14::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p14::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p14::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p14::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h
new file mode 100644
index 00000000..75307fd7
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h
@@ -0,0 +1,553 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p15_h
+#define HEADER_DestructibleActorParam_0p15_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p15NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x78c8fde9, 0x751632a2, 0x8b1f93be, 0xace8e25b, };
+
+} // namespace DestructibleActorParam_0p15NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p15 : public NvParameterized::NvParameters, public DestructibleActorParam_0p15NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p15(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p15();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)15;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p15NS::checksum);
+ return DestructibleActorParam_0p15NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p15NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p15* tmpThis = const_cast<DestructibleActorParam_0p15*>(this);
+ return *(static_cast<DestructibleActorParam_0p15NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p15NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p15NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p15Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p15::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p15), DestructibleActorParam_0p15::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p15::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p15");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p15)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p15)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p15::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p15::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p15");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p15 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p15*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p15::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p15::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p15::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p15::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h
new file mode 100644
index 00000000..6ac2013b
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h
@@ -0,0 +1,556 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p16_h
+#define HEADER_DestructibleActorParam_0p16_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p16NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ float minimumDamageRadius;
+ float damageRadiusMultiplier;
+ float damageFalloffExponent;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x200aebdd, 0x2a042ee9, 0x8778a11c, 0xfe43f8e4, };
+
+} // namespace DestructibleActorParam_0p16NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p16 : public NvParameterized::NvParameters, public DestructibleActorParam_0p16NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p16(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p16();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)16;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p16NS::checksum);
+ return DestructibleActorParam_0p16NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p16NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p16* tmpThis = const_cast<DestructibleActorParam_0p16*>(this);
+ return *(static_cast<DestructibleActorParam_0p16NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p16NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p16NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p16Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p16::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p16), DestructibleActorParam_0p16::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p16::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p16");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p16)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p16)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p16::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p16::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p16");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p16 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p16*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p16::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p16::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p16::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p16::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h
new file mode 100644
index 00000000..572e5346
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h
@@ -0,0 +1,563 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p17_h
+#define HEADER_DestructibleActorParam_0p17_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p17NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x0f6b3b48, 0xf9950d84, 0x860f86a3, 0x7373e712, };
+
+} // namespace DestructibleActorParam_0p17NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p17 : public NvParameterized::NvParameters, public DestructibleActorParam_0p17NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p17(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p17();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)17;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p17NS::checksum);
+ return DestructibleActorParam_0p17NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p17NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p17* tmpThis = const_cast<DestructibleActorParam_0p17*>(this);
+ return *(static_cast<DestructibleActorParam_0p17NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p17NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p17NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p17Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p17::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p17), DestructibleActorParam_0p17::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p17::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p17");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p17)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p17)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p17::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p17::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p17");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p17 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p17*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p17::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p17::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p17::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p17::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h
new file mode 100644
index 00000000..5562e381
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h
@@ -0,0 +1,564 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p18_h
+#define HEADER_DestructibleActorParam_0p18_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p18NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0xff622f55, 0x361bdaca, 0x89c51449, 0xed0744fd, };
+
+} // namespace DestructibleActorParam_0p18NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p18 : public NvParameterized::NvParameters, public DestructibleActorParam_0p18NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p18(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p18();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)18;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p18NS::checksum);
+ return DestructibleActorParam_0p18NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p18NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p18* tmpThis = const_cast<DestructibleActorParam_0p18*>(this);
+ return *(static_cast<DestructibleActorParam_0p18NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p18NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p18NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p18Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p18::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p18), DestructibleActorParam_0p18::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p18::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p18");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p18)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p18)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p18::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p18::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p18");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p18 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p18*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p18::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p18::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p18::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p18::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h
new file mode 100644
index 00000000..b6d3a0ed
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h
@@ -0,0 +1,562 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p19_h
+#define HEADER_DestructibleActorParam_0p19_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p19NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x2aa7f5df, 0xf588bdd6, 0xa5ae7f11, 0x8373b357, };
+
+} // namespace DestructibleActorParam_0p19NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p19 : public NvParameterized::NvParameters, public DestructibleActorParam_0p19NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p19(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p19();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)19;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p19NS::checksum);
+ return DestructibleActorParam_0p19NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p19NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p19* tmpThis = const_cast<DestructibleActorParam_0p19*>(this);
+ return *(static_cast<DestructibleActorParam_0p19NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p19NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p19NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p19Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p19::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p19), DestructibleActorParam_0p19::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p19::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p19");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p19)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p19)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p19::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p19::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p19");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p19 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p19*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p19::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p19::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p19::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p19::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h
new file mode 100644
index 00000000..c50fa586
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h
@@ -0,0 +1,430 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p2_h
+#define HEADER_DestructibleActorParam_0p2_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p2NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x6c437fe3, 0x3032d3f2, 0xf24de685, 0x6c9d9517, };
+
+} // namespace DestructibleActorParam_0p2NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p2 : public NvParameterized::NvParameters, public DestructibleActorParam_0p2NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p2();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p2NS::checksum);
+ return DestructibleActorParam_0p2NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p2NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p2* tmpThis = const_cast<DestructibleActorParam_0p2*>(this);
+ return *(static_cast<DestructibleActorParam_0p2NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p2NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p2NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p2Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p2::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p2), DestructibleActorParam_0p2::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p2");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p2)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p2)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p2::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p2");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p2 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p2*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p2::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p2::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p2::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p2::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h
new file mode 100644
index 00000000..9a4afbf0
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h
@@ -0,0 +1,563 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p20_h
+#define HEADER_DestructibleActorParam_0p20_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p20NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x4228a956, 0x3268533a, 0x5de01909, 0x8c2fbe43, };
+
+} // namespace DestructibleActorParam_0p20NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p20 : public NvParameterized::NvParameters, public DestructibleActorParam_0p20NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p20(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p20();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)20;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p20NS::checksum);
+ return DestructibleActorParam_0p20NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p20NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p20* tmpThis = const_cast<DestructibleActorParam_0p20*>(this);
+ return *(static_cast<DestructibleActorParam_0p20NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p20NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p20NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p20Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p20::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p20), DestructibleActorParam_0p20::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p20::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p20");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p20)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p20)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p20::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p20::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p20");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p20 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p20*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p20::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p20::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p20::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p20::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h
new file mode 100644
index 00000000..dd95fc17
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h
@@ -0,0 +1,594 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p21_h
+#define HEADER_DestructibleActorParam_0p21_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p21NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0xb123fb7a, 0xec9ad0ae, 0x50f992cf, 0xb7c21c7e, };
+
+} // namespace DestructibleActorParam_0p21NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p21 : public NvParameterized::NvParameters, public DestructibleActorParam_0p21NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p21(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p21();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)21;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p21NS::checksum);
+ return DestructibleActorParam_0p21NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p21NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p21* tmpThis = const_cast<DestructibleActorParam_0p21*>(this);
+ return *(static_cast<DestructibleActorParam_0p21NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p21NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p21NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p21Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p21::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p21), DestructibleActorParam_0p21::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p21::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p21");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p21)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p21)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p21::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p21::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p21");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p21 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p21*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p21::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p21::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p21::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p21::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h
new file mode 100644
index 00000000..aec8634e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h
@@ -0,0 +1,595 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p22_h
+#define HEADER_DestructibleActorParam_0p22_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p22NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x5d2a8218, 0x162303c2, 0x230965d3, 0x8f4a9ad3, };
+
+} // namespace DestructibleActorParam_0p22NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p22 : public NvParameterized::NvParameters, public DestructibleActorParam_0p22NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p22(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p22();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)22;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p22NS::checksum);
+ return DestructibleActorParam_0p22NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p22NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p22* tmpThis = const_cast<DestructibleActorParam_0p22*>(this);
+ return *(static_cast<DestructibleActorParam_0p22NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p22NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p22NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p22Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p22::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p22), DestructibleActorParam_0p22::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p22::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p22");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p22)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p22)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p22::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p22::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p22");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p22 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p22*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p22::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p22::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p22::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p22::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h
new file mode 100644
index 00000000..118c6445
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h
@@ -0,0 +1,596 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p23_h
+#define HEADER_DestructibleActorParam_0p23_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p23NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x9dac7baf, 0x68d5975c, 0xd197f8d7, 0x1c865fe2, };
+
+} // namespace DestructibleActorParam_0p23NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p23 : public NvParameterized::NvParameters, public DestructibleActorParam_0p23NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p23(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p23();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)23;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p23NS::checksum);
+ return DestructibleActorParam_0p23NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p23NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p23* tmpThis = const_cast<DestructibleActorParam_0p23*>(this);
+ return *(static_cast<DestructibleActorParam_0p23NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p23NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p23NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p23Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p23::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p23), DestructibleActorParam_0p23::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p23::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p23");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p23)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p23)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p23::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p23::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p23");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p23 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p23*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p23::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p23::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p23::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p23::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h
new file mode 100644
index 00000000..1e8915b2
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h
@@ -0,0 +1,597 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p24_h
+#define HEADER_DestructibleActorParam_0p24_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p24NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0x12f03764, 0x6a055959, 0xdb7782c7, 0xd6f432b2, };
+
+} // namespace DestructibleActorParam_0p24NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p24 : public NvParameterized::NvParameters, public DestructibleActorParam_0p24NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p24(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p24();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)24;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p24NS::checksum);
+ return DestructibleActorParam_0p24NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p24NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p24* tmpThis = const_cast<DestructibleActorParam_0p24*>(this);
+ return *(static_cast<DestructibleActorParam_0p24NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p24NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p24NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p24Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p24::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p24), DestructibleActorParam_0p24::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p24::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p24");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p24)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p24)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p24::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p24::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p24");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p24 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p24*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p24::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p24::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p24::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p24::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h
new file mode 100644
index 00000000..91702188
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h
@@ -0,0 +1,607 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p25_h
+#define HEADER_DestructibleActorParam_0p25_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p25NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0xd9bc5e44, 0x46845bcb, 0x9290fe16, 0x5b7dbd03, };
+
+} // namespace DestructibleActorParam_0p25NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p25 : public NvParameterized::NvParameters, public DestructibleActorParam_0p25NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p25(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p25();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)25;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p25NS::checksum);
+ return DestructibleActorParam_0p25NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p25NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p25* tmpThis = const_cast<DestructibleActorParam_0p25*>(this);
+ return *(static_cast<DestructibleActorParam_0p25NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p25NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p25NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p25Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p25::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p25), DestructibleActorParam_0p25::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p25::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p25");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p25)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p25)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p25::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p25::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p25");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p25 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p25*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p25::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p25::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p25::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p25::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h
new file mode 100644
index 00000000..1f109018
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h
@@ -0,0 +1,608 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p26_h
+#define HEADER_DestructibleActorParam_0p26_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p26NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+
+};
+
+static const uint32_t checksum[] = { 0xf37099cc, 0xf6c52cc1, 0x25c08d5f, 0x60700856, };
+
+} // namespace DestructibleActorParam_0p26NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p26 : public NvParameterized::NvParameters, public DestructibleActorParam_0p26NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p26(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p26();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)26;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p26NS::checksum);
+ return DestructibleActorParam_0p26NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p26NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p26* tmpThis = const_cast<DestructibleActorParam_0p26*>(this);
+ return *(static_cast<DestructibleActorParam_0p26NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p26NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p26NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p26Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p26::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p26), DestructibleActorParam_0p26::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p26::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p26");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p26)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p26)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p26::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p26::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p26");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p26 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p26*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p26::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p26::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p26::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p26::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h
new file mode 100644
index 00000000..b77cff2f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h
@@ -0,0 +1,611 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p27_h
+#define HEADER_DestructibleActorParam_0p27_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p27NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0x1401008a, 0x584084b6, 0x4a58beff, 0xbf4018ea, };
+
+} // namespace DestructibleActorParam_0p27NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p27 : public NvParameterized::NvParameters, public DestructibleActorParam_0p27NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p27(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p27();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)27;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p27NS::checksum);
+ return DestructibleActorParam_0p27NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p27NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p27* tmpThis = const_cast<DestructibleActorParam_0p27*>(this);
+ return *(static_cast<DestructibleActorParam_0p27NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p27NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p27NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p27Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p27::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p27), DestructibleActorParam_0p27::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p27::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p27");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p27)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p27)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p27::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p27::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p27");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p27 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p27*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p27::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p27::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p27::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p27::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h
new file mode 100644
index 00000000..efbf2f5c
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h
@@ -0,0 +1,613 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p28_h
+#define HEADER_DestructibleActorParam_0p28_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p28NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0x05dc3ae5, 0x2af4434c, 0xf48d05ee, 0x0a67215b, };
+
+} // namespace DestructibleActorParam_0p28NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p28 : public NvParameterized::NvParameters, public DestructibleActorParam_0p28NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p28(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p28();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)28;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p28NS::checksum);
+ return DestructibleActorParam_0p28NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p28NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p28* tmpThis = const_cast<DestructibleActorParam_0p28*>(this);
+ return *(static_cast<DestructibleActorParam_0p28NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p28NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p28NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p28Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p28::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p28), DestructibleActorParam_0p28::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p28::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p28");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p28)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p28)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p28::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p28::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p28");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p28 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p28*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p28::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p28::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p28::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p28::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h
new file mode 100644
index 00000000..d35564a3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h
@@ -0,0 +1,614 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p29_h
+#define HEADER_DestructibleActorParam_0p29_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p29NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eCCD_LINEAR;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool performDetailedOverlapTestForExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0xe5587c94, 0x690bed50, 0x7ac92918, 0xa6fd441e, };
+
+} // namespace DestructibleActorParam_0p29NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p29 : public NvParameterized::NvParameters, public DestructibleActorParam_0p29NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p29(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p29();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)29;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p29NS::checksum);
+ return DestructibleActorParam_0p29NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p29NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p29* tmpThis = const_cast<DestructibleActorParam_0p29*>(this);
+ return *(static_cast<DestructibleActorParam_0p29NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p29NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p29NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p29Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p29::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p29), DestructibleActorParam_0p29::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p29::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p29");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p29)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p29)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p29::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p29::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p29");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p29 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p29*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p29::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p29::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p29::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p29::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h
new file mode 100644
index 00000000..349fa4a7
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h
@@ -0,0 +1,428 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p3_h
+#define HEADER_DestructibleActorParam_0p3_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p3NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ float massScaleExponent;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xf78aa4ca, 0x62e8ff0b, 0x6b3dcc04, 0xe44d2726, };
+
+} // namespace DestructibleActorParam_0p3NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p3 : public NvParameterized::NvParameters, public DestructibleActorParam_0p3NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p3();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p3NS::checksum);
+ return DestructibleActorParam_0p3NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p3NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p3* tmpThis = const_cast<DestructibleActorParam_0p3*>(this);
+ return *(static_cast<DestructibleActorParam_0p3NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p3NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p3NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p3Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p3::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p3), DestructibleActorParam_0p3::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p3");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p3)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p3)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p3::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p3");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p3 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p3*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p3::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p3::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p3::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p3::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h
new file mode 100644
index 00000000..ccce04d3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h
@@ -0,0 +1,614 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p30_h
+#define HEADER_DestructibleActorParam_0p30_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p30NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct P3PairFlag_Type
+{
+ bool eSOLVE_CONTACT;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eDETECT_CCD_CONTACT;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool performDetailedOverlapTestForExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0x57ae1ad0, 0xccc3c9a4, 0xa3716200, 0xfd2df802, };
+
+} // namespace DestructibleActorParam_0p30NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p30 : public NvParameterized::NvParameters, public DestructibleActorParam_0p30NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p30(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p30();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)30;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p30NS::checksum);
+ return DestructibleActorParam_0p30NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p30NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p30* tmpThis = const_cast<DestructibleActorParam_0p30*>(this);
+ return *(static_cast<DestructibleActorParam_0p30NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p30NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p30NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p30Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p30::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p30), DestructibleActorParam_0p30::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p30::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p30");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p30)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p30)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p30::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p30::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p30");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p30 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p30*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p30::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p30::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p30::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p30::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h
new file mode 100644
index 00000000..2b23b847
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h
@@ -0,0 +1,605 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p31_h
+#define HEADER_DestructibleActorParam_0p31_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p31NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct P3PairFlag_Type
+{
+ bool eSOLVE_CONTACT;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eDETECT_CCD_CONTACT;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ physx::PxTransform globalPose;
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool performDetailedOverlapTestForExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0x9e384538, 0x727aa67c, 0x615607a8, 0xa85c37fb, };
+
+} // namespace DestructibleActorParam_0p31NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p31 : public NvParameterized::NvParameters, public DestructibleActorParam_0p31NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p31(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p31();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)31;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p31NS::checksum);
+ return DestructibleActorParam_0p31NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p31NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p31* tmpThis = const_cast<DestructibleActorParam_0p31*>(this);
+ return *(static_cast<DestructibleActorParam_0p31NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p31NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p31NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p31Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p31::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p31), DestructibleActorParam_0p31::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p31::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p31");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p31)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p31)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p31::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p31::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p31");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p31 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p31*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p31::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p31::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p31::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p31::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h
new file mode 100644
index 00000000..713ff719
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h
@@ -0,0 +1,606 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p32_h
+#define HEADER_DestructibleActorParam_0p32_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p32NS
+{
+
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct StructureSettings_Type;
+struct BehaviorGroup_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+ bool eENABLE_CCD;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct StructureSettings_Type
+{
+ bool useStressSolver;
+ float stressSolverTimeDelay;
+ float stressSolverMassThreshold;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ GroupsMask_Type groupsMask;
+ uint64_t userData;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ uint32_t velocityIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+ bool alwaysDrawScatterMesh;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct P3PairFlag_Type
+{
+ bool eSOLVE_CONTACT;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eDETECT_CCD_CONTACT;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ physx::PxTransform globalPose;
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool performDetailedOverlapTestForExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool doNotCreateRenderable;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool keepVisibleBonesPacked;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ float sleepVelocityFrameDecayConstant;
+ bool useHardSleeping;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+ StructureSettings_Type structureSettings;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ bool deleteChunksLeavingUserDefinedBB;
+ bool deleteChunksEnteringUserDefinedBB;
+
+};
+
+static const uint32_t checksum[] = { 0x2f148a8b, 0x0ef80948, 0x34293f31, 0x363a5ff0, };
+
+} // namespace DestructibleActorParam_0p32NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p32 : public NvParameterized::NvParameters, public DestructibleActorParam_0p32NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p32(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p32();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)32;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p32NS::checksum);
+ return DestructibleActorParam_0p32NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p32NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p32* tmpThis = const_cast<DestructibleActorParam_0p32*>(this);
+ return *(static_cast<DestructibleActorParam_0p32NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p32NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p32NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p32Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p32::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p32), DestructibleActorParam_0p32::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p32::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p32");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p32)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p32)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p32::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p32::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p32");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p32 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p32*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p32::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p32::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p32::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p32::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h
new file mode 100644
index 00000000..a58e01bd
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h
@@ -0,0 +1,520 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p4_h
+#define HEADER_DestructibleActorParam_0p4_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p4NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint16_t materialIndex;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ float massScaleExponent;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x9a70837f, 0xfa71b6aa, 0x939a9985, 0xb53b11ec, };
+
+} // namespace DestructibleActorParam_0p4NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p4 : public NvParameterized::NvParameters, public DestructibleActorParam_0p4NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p4();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)4;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p4NS::checksum);
+ return DestructibleActorParam_0p4NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p4NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p4* tmpThis = const_cast<DestructibleActorParam_0p4*>(this);
+ return *(static_cast<DestructibleActorParam_0p4NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p4NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p4NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p4Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p4::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p4), DestructibleActorParam_0p4::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p4");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p4)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p4)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p4::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p4");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p4 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p4*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p4::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p4::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p4::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p4::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h
new file mode 100644
index 00000000..5ae7e5d6
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h
@@ -0,0 +1,519 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p5_h
+#define HEADER_DestructibleActorParam_0p5_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p5NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint16_t materialIndex;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xea43d0c2, 0x556da192, 0xc5fcf833, 0x9c928995, };
+
+} // namespace DestructibleActorParam_0p5NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p5 : public NvParameterized::NvParameters, public DestructibleActorParam_0p5NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p5(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p5();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)5;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p5NS::checksum);
+ return DestructibleActorParam_0p5NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p5NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p5* tmpThis = const_cast<DestructibleActorParam_0p5*>(this);
+ return *(static_cast<DestructibleActorParam_0p5NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p5NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p5NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p5Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p5::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p5), DestructibleActorParam_0p5::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p5::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p5");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p5)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p5)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p5::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p5::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p5");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p5 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p5*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p5::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p5::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p5::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p5::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h
new file mode 100644
index 00000000..9c5f0551
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h
@@ -0,0 +1,519 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p6_h
+#define HEADER_DestructibleActorParam_0p6_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p6NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x66bd8343, 0xed0adc83, 0x8728cbf8, 0xf6c36870, };
+
+} // namespace DestructibleActorParam_0p6NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p6 : public NvParameterized::NvParameters, public DestructibleActorParam_0p6NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p6(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p6();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)6;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p6NS::checksum);
+ return DestructibleActorParam_0p6NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p6NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p6* tmpThis = const_cast<DestructibleActorParam_0p6*>(this);
+ return *(static_cast<DestructibleActorParam_0p6NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p6NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p6NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p6Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p6::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p6), DestructibleActorParam_0p6::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p6::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p6");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p6)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p6)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p6::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p6::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p6");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p6 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p6*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p6::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p6::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p6::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p6::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h
new file mode 100644
index 00000000..6cb88911
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h
@@ -0,0 +1,521 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p7_h
+#define HEADER_DestructibleActorParam_0p7_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p7NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0x2fe5029f, 0x623d909d, 0x15f47121, 0xae5f8420, };
+
+} // namespace DestructibleActorParam_0p7NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p7 : public NvParameterized::NvParameters, public DestructibleActorParam_0p7NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p7(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p7();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)7;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p7NS::checksum);
+ return DestructibleActorParam_0p7NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p7NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p7* tmpThis = const_cast<DestructibleActorParam_0p7*>(this);
+ return *(static_cast<DestructibleActorParam_0p7NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p7NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p7NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p7Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p7::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p7), DestructibleActorParam_0p7::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p7::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p7");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p7)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p7)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p7::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p7::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p7");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p7 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p7*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p7::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p7::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p7::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p7::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h
new file mode 100644
index 00000000..2ff2e5ce
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h
@@ -0,0 +1,523 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p8_h
+#define HEADER_DestructibleActorParam_0p8_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p8NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xd51fd85d, 0x75255e3b, 0x5caf5452, 0x7cc72a14, };
+
+} // namespace DestructibleActorParam_0p8NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p8 : public NvParameterized::NvParameters, public DestructibleActorParam_0p8NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p8(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p8();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)8;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p8NS::checksum);
+ return DestructibleActorParam_0p8NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p8NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p8* tmpThis = const_cast<DestructibleActorParam_0p8*>(this);
+ return *(static_cast<DestructibleActorParam_0p8NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p8NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p8NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p8Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p8::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p8), DestructibleActorParam_0p8::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p8::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p8");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p8)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p8)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p8::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p8::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p8");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p8 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p8*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p8::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p8::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p8::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p8::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h
new file mode 100644
index 00000000..3c227a53
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h
@@ -0,0 +1,523 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorParam_0p9_h
+#define HEADER_DestructibleActorParam_0p9_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorParam_0p9NS
+{
+
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint64_t material;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ float crumbleParticleSpacing;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ float dustParticleSpacing;
+ float globalPose[12];
+ physx::PxVec3 scale;
+ bool dynamic;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool keepPreviousFrameBoneBuffer;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ bool renderStaticChunksSeparately;
+ bool createChunkEvents;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ ShapeDescTemplate_Type shapeDescTemplate;
+ ActorDescTemplate_Type actorDescTemplate;
+ BodyDescTemplate_Type bodyDescTemplate;
+ P3ShapeDescTemplate_Type p3ShapeDescTemplate;
+ P3ActorDescTemplate_Type p3ActorDescTemplate;
+ P3BodyDescTemplate_Type p3BodyDescTemplate;
+
+};
+
+static const uint32_t checksum[] = { 0xa5173bb5, 0xce9e156c, 0x762125a2, 0x20d5f8a4, };
+
+} // namespace DestructibleActorParam_0p9NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorParam_0p9 : public NvParameterized::NvParameters, public DestructibleActorParam_0p9NS::ParametersStruct
+{
+public:
+ DestructibleActorParam_0p9(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorParam_0p9();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)9;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorParam_0p9NS::checksum);
+ return DestructibleActorParam_0p9NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorParam_0p9NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorParam_0p9* tmpThis = const_cast<DestructibleActorParam_0p9*>(this);
+ return *(static_cast<DestructibleActorParam_0p9NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorParam_0p9NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorParam_0p9NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorParam_0p9Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorParam_0p9::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p9), DestructibleActorParam_0p9::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p9::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p9");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorParam_0p9)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p9)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p9::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p9::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p9");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorParam_0p9 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorParam_0p9*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorParam_0p9::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorParam_0p9::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorParam_0p9::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorParam_0p9::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h
new file mode 100644
index 00000000..11991c44
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h
@@ -0,0 +1,404 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorState_0p0_h
+#define HEADER_DestructibleActorState_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorState_0p0NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ bool enableCrumbleEmitter;
+ bool enableDustEmitter;
+ LODWeights_Type internalLODWeights;
+ uint32_t lod;
+ bool forceLod;
+ DestructibleParameters_Type destructibleParameters;
+ uint64_t userData;
+ NvParameterized::Interface* actorParameters;
+ NvParameterized::Interface* actorChunks;
+
+};
+
+static const uint32_t checksum[] = { 0x531aca30, 0xee1057d7, 0x30a2ad2f, 0xae006f8e, };
+
+} // namespace DestructibleActorState_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorState_0p0 : public NvParameterized::NvParameters, public DestructibleActorState_0p0NS::ParametersStruct
+{
+public:
+ DestructibleActorState_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorState_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorState");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorState_0p0NS::checksum);
+ return DestructibleActorState_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorState_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorState_0p0* tmpThis = const_cast<DestructibleActorState_0p0*>(this);
+ return *(static_cast<DestructibleActorState_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorState_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorState_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorState_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorState_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p0), DestructibleActorState_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorState_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorState_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorState_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorState_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorState_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorState_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorState_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h
new file mode 100644
index 00000000..c54f131e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h
@@ -0,0 +1,405 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorState_0p1_h
+#define HEADER_DestructibleActorState_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorState_0p1NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ bool enableCrumbleEmitter;
+ bool enableDustEmitter;
+ LODWeights_Type internalLODWeights;
+ uint32_t lod;
+ bool forceLod;
+ DestructibleParameters_Type destructibleParameters;
+ uint64_t userData;
+ NvParameterized::Interface* actorParameters;
+ NvParameterized::Interface* actorChunks;
+
+};
+
+static const uint32_t checksum[] = { 0x64de21dd, 0xb73211a9, 0xdd3d2115, 0x95b40a2f, };
+
+} // namespace DestructibleActorState_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorState_0p1 : public NvParameterized::NvParameters, public DestructibleActorState_0p1NS::ParametersStruct
+{
+public:
+ DestructibleActorState_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorState_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorState");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorState_0p1NS::checksum);
+ return DestructibleActorState_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorState_0p1NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorState_0p1* tmpThis = const_cast<DestructibleActorState_0p1*>(this);
+ return *(static_cast<DestructibleActorState_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorState_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorState_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorState_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorState_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p1), DestructibleActorState_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorState_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorState_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorState_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorState_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorState_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorState_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorState_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h
new file mode 100644
index 00000000..50166998
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h
@@ -0,0 +1,454 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorState_0p2_h
+#define HEADER_DestructibleActorState_0p2_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorState_0p2NS
+{
+
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ bool enableCrumbleEmitter;
+ bool enableDustEmitter;
+ LODWeights_Type internalLODWeights;
+ uint32_t lod;
+ bool forceLod;
+ DestructibleParameters_Type destructibleParameters;
+ uint64_t userData;
+ NvParameterized::Interface* actorParameters;
+ NvParameterized::Interface* actorChunks;
+
+};
+
+static const uint32_t checksum[] = { 0x6e71d0c6, 0x94af2f1d, 0x37ac87d3, 0xc9970214, };
+
+} // namespace DestructibleActorState_0p2NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorState_0p2 : public NvParameterized::NvParameters, public DestructibleActorState_0p2NS::ParametersStruct
+{
+public:
+ DestructibleActorState_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorState_0p2();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorState");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorState_0p2NS::checksum);
+ return DestructibleActorState_0p2NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorState_0p2NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorState_0p2* tmpThis = const_cast<DestructibleActorState_0p2*>(this);
+ return *(static_cast<DestructibleActorState_0p2NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorState_0p2NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorState_0p2NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorState_0p2Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorState_0p2::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p2), DestructibleActorState_0p2::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p2");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorState_0p2)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p2)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p2::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p2");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorState_0p2 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorState_0p2*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorState_0p2::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorState_0p2::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorState_0p2::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorState_0p2::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h
new file mode 100644
index 00000000..efb31292
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h
@@ -0,0 +1,444 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorState_0p3_h
+#define HEADER_DestructibleActorState_0p3_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorState_0p3NS
+{
+
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ bool enableCrumbleEmitter;
+ bool enableDustEmitter;
+ uint32_t lod;
+ bool forceLod;
+ DestructibleParameters_Type destructibleParameters;
+ uint64_t userData;
+ NvParameterized::Interface* actorParameters;
+ NvParameterized::Interface* actorChunks;
+
+};
+
+static const uint32_t checksum[] = { 0xfe120409, 0x2396ff11, 0xe58c3cca, 0x0568c142, };
+
+} // namespace DestructibleActorState_0p3NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorState_0p3 : public NvParameterized::NvParameters, public DestructibleActorState_0p3NS::ParametersStruct
+{
+public:
+ DestructibleActorState_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorState_0p3();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorState");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorState_0p3NS::checksum);
+ return DestructibleActorState_0p3NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorState_0p3NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorState_0p3* tmpThis = const_cast<DestructibleActorState_0p3*>(this);
+ return *(static_cast<DestructibleActorState_0p3NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorState_0p3NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorState_0p3NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorState_0p3Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorState_0p3::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p3), DestructibleActorState_0p3::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p3");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorState_0p3)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p3)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p3::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p3");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorState_0p3 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorState_0p3*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorState_0p3::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorState_0p3::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorState_0p3::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorState_0p3::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h
new file mode 100644
index 00000000..04248a0d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h
@@ -0,0 +1,445 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleActorState_0p4_h
+#define HEADER_DestructibleActorState_0p4_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleActorState_0p4NS
+{
+
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+ bool alwaysDrawScatterMesh;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ bool enableCrumbleEmitter;
+ bool enableDustEmitter;
+ uint32_t lod;
+ bool forceLod;
+ DestructibleParameters_Type destructibleParameters;
+ uint64_t userData;
+ NvParameterized::Interface* actorParameters;
+ NvParameterized::Interface* actorChunks;
+
+};
+
+static const uint32_t checksum[] = { 0xc6984ee8, 0x0dae2202, 0x4f638ad1, 0x24536329, };
+
+} // namespace DestructibleActorState_0p4NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleActorState_0p4 : public NvParameterized::NvParameters, public DestructibleActorState_0p4NS::ParametersStruct
+{
+public:
+ DestructibleActorState_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleActorState_0p4();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleActorState");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)4;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleActorState_0p4NS::checksum);
+ return DestructibleActorState_0p4NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleActorState_0p4NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleActorState_0p4* tmpThis = const_cast<DestructibleActorState_0p4*>(this);
+ return *(static_cast<DestructibleActorState_0p4NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleActorState_0p4NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleActorState_0p4NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleActorState_0p4Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleActorState_0p4::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p4), DestructibleActorState_0p4::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p4");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleActorState_0p4)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p4)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p4::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p4");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleActorState_0p4 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleActorState_0p4*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleActorState_0p4::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleActorState_0p4::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleActorState_0p4::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleActorState_0p4::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h
new file mode 100644
index 00000000..0053e5cd
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h
@@ -0,0 +1,250 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetCollisionDataSet_0p0_h
+#define HEADER_DestructibleAssetCollisionDataSet_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetCollisionDataSet_0p0NS
+{
+
+
+struct VEC3_DynamicArray1D_Type
+{
+ physx::PxVec3* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct assetName;
+ uint32_t cookingPlatform;
+ uint32_t cookingVersionNum;
+ VEC3_DynamicArray1D_Type scales;
+ REF_DynamicArray1D_Type meshCookedCollisionStreamsAtScale;
+
+};
+
+static const uint32_t checksum[] = { 0x716db49d, 0xccc81ef4, 0x85f3752e, 0x9cf18dc6, };
+
+} // namespace DestructibleAssetCollisionDataSet_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetCollisionDataSet_0p0 : public NvParameterized::NvParameters, public DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct
+{
+public:
+ DestructibleAssetCollisionDataSet_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetCollisionDataSet_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetCollisionDataSet");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetCollisionDataSet_0p0NS::checksum);
+ return DestructibleAssetCollisionDataSet_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetCollisionDataSet_0p0* tmpThis = const_cast<DestructibleAssetCollisionDataSet_0p0*>(this);
+ return *(static_cast<DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetCollisionDataSet_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetCollisionDataSet_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetCollisionDataSet_0p0), DestructibleAssetCollisionDataSet_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetCollisionDataSet_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetCollisionDataSet_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetCollisionDataSet_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetCollisionDataSet_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetCollisionDataSet_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetCollisionDataSet_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetCollisionDataSet_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetCollisionDataSet_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetCollisionDataSet_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetCollisionDataSet_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetCollisionDataSet_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetCollisionDataSet_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetCollisionDataSet_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h
new file mode 100644
index 00000000..5bfe59b1
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h
@@ -0,0 +1,465 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p0_h
+#define HEADER_DestructibleAssetParameters_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p0NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float bias;
+ float benefitsBias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+
+};
+
+static const uint32_t checksum[] = { 0x8dd3639d, 0xa4f1cfe4, 0xbbf71ce0, 0x6876fafb, };
+
+} // namespace DestructibleAssetParameters_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p0 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p0NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p0NS::checksum);
+ return DestructibleAssetParameters_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p0* tmpThis = const_cast<DestructibleAssetParameters_0p0*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p0), DestructibleAssetParameters_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h
new file mode 100644
index 00000000..387dbd55
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h
@@ -0,0 +1,474 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p1_h
+#define HEADER_DestructibleAssetParameters_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p1NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float bias;
+ float benefitsBias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+
+};
+
+static const uint32_t checksum[] = { 0x2486dde1, 0x2298a3d7, 0x0ce27ce1, 0x2c97bc7d, };
+
+} // namespace DestructibleAssetParameters_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p1 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p1NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p1NS::checksum);
+ return DestructibleAssetParameters_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p1NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p1* tmpThis = const_cast<DestructibleAssetParameters_0p1*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p1), DestructibleAssetParameters_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h
new file mode 100644
index 00000000..06014b59
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h
@@ -0,0 +1,500 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p10_h
+#define HEADER_DestructibleAssetParameters_0p10_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p10NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0xed9b0702, 0x552412c3, 0x3dffc236, 0xde7cd7c8, };
+
+} // namespace DestructibleAssetParameters_0p10NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p10 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p10NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p10(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p10();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)10;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p10NS::checksum);
+ return DestructibleAssetParameters_0p10NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p10NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p10* tmpThis = const_cast<DestructibleAssetParameters_0p10*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p10NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p10NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p10NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p10Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p10::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p10), DestructibleAssetParameters_0p10::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p10::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p10");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p10)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p10)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p10::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p10::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p10");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p10 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p10*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p10::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p10::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p10::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p10::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h
new file mode 100644
index 00000000..cd3d0965
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h
@@ -0,0 +1,501 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p11_h
+#define HEADER_DestructibleAssetParameters_0p11_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p11NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x71b03c11, 0x44ff53cb, 0xe355f2f6, 0xbba1e381, };
+
+} // namespace DestructibleAssetParameters_0p11NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p11 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p11NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p11(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p11();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)11;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p11NS::checksum);
+ return DestructibleAssetParameters_0p11NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p11NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p11* tmpThis = const_cast<DestructibleAssetParameters_0p11*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p11NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p11NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p11NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p11Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p11::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p11), DestructibleAssetParameters_0p11::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p11::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p11");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p11)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p11)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p11::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p11::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p11");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p11 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p11*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p11::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p11::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p11::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p11::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h
new file mode 100644
index 00000000..81b47d73
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h
@@ -0,0 +1,499 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p12_h
+#define HEADER_DestructibleAssetParameters_0p12_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p12NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x36c5ea74, 0xcb9978af, 0x9d359418, 0x408ce916, };
+
+} // namespace DestructibleAssetParameters_0p12NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p12 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p12NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p12(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p12();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)12;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p12NS::checksum);
+ return DestructibleAssetParameters_0p12NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p12NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p12* tmpThis = const_cast<DestructibleAssetParameters_0p12*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p12NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p12NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p12NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p12Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p12::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p12), DestructibleAssetParameters_0p12::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p12::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p12");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p12)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p12)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p12::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p12::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p12");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p12 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p12*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p12::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p12::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p12::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p12::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h
new file mode 100644
index 00000000..31664367
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h
@@ -0,0 +1,500 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p13_h
+#define HEADER_DestructibleAssetParameters_0p13_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p13NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0xf6cfcb55, 0x7ca1003a, 0x9133ce4f, 0x3268033e, };
+
+} // namespace DestructibleAssetParameters_0p13NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p13 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p13NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p13(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p13();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)13;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p13NS::checksum);
+ return DestructibleAssetParameters_0p13NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p13NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p13* tmpThis = const_cast<DestructibleAssetParameters_0p13*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p13NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p13NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p13NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p13Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p13::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p13), DestructibleAssetParameters_0p13::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p13::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p13");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p13)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p13)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p13::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p13::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p13");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p13 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p13*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p13::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p13::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p13::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p13::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h
new file mode 100644
index 00000000..d6ad74da
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h
@@ -0,0 +1,519 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p14_h
+#define HEADER_DestructibleAssetParameters_0p14_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p14NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ float materialStrength;
+ float density;
+ float fadeOut;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x0b98015c, 0x926d82d2, 0x34a14a73, 0x19363b21, };
+
+} // namespace DestructibleAssetParameters_0p14NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p14 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p14NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p14(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p14();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)14;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p14NS::checksum);
+ return DestructibleAssetParameters_0p14NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p14NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p14* tmpThis = const_cast<DestructibleAssetParameters_0p14*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p14NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p14NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p14NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p14Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p14::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p14), DestructibleAssetParameters_0p14::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p14::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p14");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p14)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p14)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p14::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p14::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p14");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p14 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p14*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p14::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p14::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p14::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p14::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h
new file mode 100644
index 00000000..404456f7
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h
@@ -0,0 +1,522 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p15_h
+#define HEADER_DestructibleAssetParameters_0p15_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p15NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ float minimumDamageRadius;
+ float damageRadiusMultiplier;
+ float damageFalloffExponent;
+ float materialStrength;
+ float density;
+ float fadeOut;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x6ed3c943, 0x51e5ef25, 0xb38b4cf4, 0x4f8e506e, };
+
+} // namespace DestructibleAssetParameters_0p15NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p15 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p15NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p15(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p15();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)15;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p15NS::checksum);
+ return DestructibleAssetParameters_0p15NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p15NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p15* tmpThis = const_cast<DestructibleAssetParameters_0p15*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p15NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p15NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p15NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p15Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p15::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p15), DestructibleAssetParameters_0p15::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p15::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p15");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p15)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p15)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p15::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p15::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p15");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p15 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p15*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p15::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p15::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p15::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p15::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h
new file mode 100644
index 00000000..d2340f63
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h
@@ -0,0 +1,529 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p16_h
+#define HEADER_DestructibleAssetParameters_0p16_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p16NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x7d2f4aa0, 0x7e3defee, 0x73740a94, 0xe00adcb3, };
+
+} // namespace DestructibleAssetParameters_0p16NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p16 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p16NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p16(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p16();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)16;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p16NS::checksum);
+ return DestructibleAssetParameters_0p16NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p16NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p16* tmpThis = const_cast<DestructibleAssetParameters_0p16*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p16NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p16NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p16NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p16Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p16::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p16), DestructibleAssetParameters_0p16::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p16::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p16");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p16)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p16)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p16::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p16::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p16");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p16 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p16*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p16::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p16::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p16::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p16::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h
new file mode 100644
index 00000000..a5038119
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h
@@ -0,0 +1,530 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p17_h
+#define HEADER_DestructibleAssetParameters_0p17_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p17NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0xba335223, 0x3f1fce17, 0x52b089db, 0x03236282, };
+
+} // namespace DestructibleAssetParameters_0p17NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p17 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p17NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p17(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p17();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)17;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p17NS::checksum);
+ return DestructibleAssetParameters_0p17NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p17NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p17* tmpThis = const_cast<DestructibleAssetParameters_0p17*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p17NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p17NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p17NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p17Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p17::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p17), DestructibleAssetParameters_0p17::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p17::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p17");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p17)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p17)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p17::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p17::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p17");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p17 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p17*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p17::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p17::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p17::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p17::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h
new file mode 100644
index 00000000..9d24cf67
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h
@@ -0,0 +1,531 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p18_h
+#define HEADER_DestructibleAssetParameters_0p18_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p18NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ uint64_t userData;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x2c057ffa, 0x3ba1f5e5, 0x69c3502a, 0xbf5a75db, };
+
+} // namespace DestructibleAssetParameters_0p18NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p18 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p18NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p18(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p18();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)18;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p18NS::checksum);
+ return DestructibleAssetParameters_0p18NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p18NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p18* tmpThis = const_cast<DestructibleAssetParameters_0p18*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p18NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p18NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p18NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p18Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p18::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p18), DestructibleAssetParameters_0p18::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p18::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p18");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p18)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p18)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p18::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p18::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p18");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p18 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p18*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p18::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p18::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p18::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p18::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h
new file mode 100644
index 00000000..ef0b5f08
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h
@@ -0,0 +1,558 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p19_h
+#define HEADER_DestructibleAssetParameters_0p19_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p19NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ uint64_t userData;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0xc348dadf, 0xef1f6246, 0x97e01551, 0x7f23a68a, };
+
+} // namespace DestructibleAssetParameters_0p19NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p19 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p19NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p19(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p19();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)19;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p19NS::checksum);
+ return DestructibleAssetParameters_0p19NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p19NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p19* tmpThis = const_cast<DestructibleAssetParameters_0p19*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p19NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p19NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p19NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p19Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p19::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p19), DestructibleAssetParameters_0p19::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p19::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p19");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p19)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p19)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p19::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p19::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p19");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p19 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p19*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p19::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p19::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p19::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p19::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h
new file mode 100644
index 00000000..92616c9a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h
@@ -0,0 +1,476 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p2_h
+#define HEADER_DestructibleAssetParameters_0p2_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p2NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool ASSET_DEFINED_SUPPORT;
+ bool WORLD_SUPPORT;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t formExtendedStructures;
+ uint32_t supportDepth;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ float massScaleExponent;
+ DestructibleParametersFlag_Type flags;
+ float grbVolumeLimit;
+ float grbParticleSpacing;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+
+};
+
+static const uint32_t checksum[] = { 0x82d197c5, 0x1d6d15b6, 0x620e886e, 0x3682b492, };
+
+} // namespace DestructibleAssetParameters_0p2NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p2 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p2NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p2();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p2NS::checksum);
+ return DestructibleAssetParameters_0p2NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p2NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p2* tmpThis = const_cast<DestructibleAssetParameters_0p2*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p2NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p2NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p2NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p2Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p2::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p2), DestructibleAssetParameters_0p2::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p2");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p2)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p2)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p2::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p2");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p2 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p2*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p2::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p2::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p2::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p2::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h
new file mode 100644
index 00000000..11f73f6a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h
@@ -0,0 +1,589 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p20_h
+#define HEADER_DestructibleAssetParameters_0p20_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p20NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ uint64_t userData;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x5b26de1a, 0x32420a3c, 0x92dc08b2, 0x4f9aac6c, };
+
+} // namespace DestructibleAssetParameters_0p20NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p20 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p20NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p20(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p20();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)20;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p20NS::checksum);
+ return DestructibleAssetParameters_0p20NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p20NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p20* tmpThis = const_cast<DestructibleAssetParameters_0p20*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p20NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p20NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p20NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p20Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p20::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p20), DestructibleAssetParameters_0p20::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p20::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p20");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p20)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p20)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p20::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p20::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p20");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p20 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p20*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p20::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p20::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p20::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p20::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h
new file mode 100644
index 00000000..0ff24a32
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h
@@ -0,0 +1,590 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p21_h
+#define HEADER_DestructibleAssetParameters_0p21_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p21NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ uint64_t userData;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x77041176, 0x2d446a05, 0xc794c6d6, 0x41b8ccbd, };
+
+} // namespace DestructibleAssetParameters_0p21NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p21 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p21NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p21(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p21();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)21;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p21NS::checksum);
+ return DestructibleAssetParameters_0p21NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p21NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p21* tmpThis = const_cast<DestructibleAssetParameters_0p21*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p21NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p21NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p21NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p21Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p21::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p21), DestructibleAssetParameters_0p21::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p21::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p21");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p21)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p21)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p21::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p21::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p21");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p21 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p21*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p21::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p21::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p21::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p21::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h
new file mode 100644
index 00000000..9f4efee6
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h
@@ -0,0 +1,600 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p22_h
+#define HEADER_DestructibleAssetParameters_0p22_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p22NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x5514344d, 0x31d8840d, 0xd91edd48, 0xaf3cc2c5, };
+
+} // namespace DestructibleAssetParameters_0p22NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p22 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p22NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p22(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p22();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)22;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p22NS::checksum);
+ return DestructibleAssetParameters_0p22NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p22NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p22* tmpThis = const_cast<DestructibleAssetParameters_0p22*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p22NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p22NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p22NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p22Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p22::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p22), DestructibleAssetParameters_0p22::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p22::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p22");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p22)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p22)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p22::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p22::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p22");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p22 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p22*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p22::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p22::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p22::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p22::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h
new file mode 100644
index 00000000..39e08123
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h
@@ -0,0 +1,601 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p23_h
+#define HEADER_DestructibleAssetParameters_0p23_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p23NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x23366b01, 0x536b5be2, 0x10f1c105, 0x9aefafa9, };
+
+} // namespace DestructibleAssetParameters_0p23NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p23 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p23NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p23(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p23();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)23;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p23NS::checksum);
+ return DestructibleAssetParameters_0p23NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p23NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p23* tmpThis = const_cast<DestructibleAssetParameters_0p23*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p23NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p23NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p23NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p23Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p23::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p23), DestructibleAssetParameters_0p23::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p23::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p23");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p23)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p23)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p23::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p23::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p23");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p23 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p23*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p23::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p23::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p23::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p23::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h
new file mode 100644
index 00000000..586a533d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h
@@ -0,0 +1,603 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p24_h
+#define HEADER_DestructibleAssetParameters_0p24_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p24NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct M34_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct M34_DynamicArray1D_Type
+{
+ M34_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct M34_Type
+{
+ physx::PxMat33 matrix;
+ physx::PxVec3 vector;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ M34_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x1850e66c, 0xb88dc447, 0x01dfd5c9, 0x4fccef9c, };
+
+} // namespace DestructibleAssetParameters_0p24NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p24 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p24NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p24(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p24();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)24;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p24NS::checksum);
+ return DestructibleAssetParameters_0p24NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p24NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p24* tmpThis = const_cast<DestructibleAssetParameters_0p24*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p24NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p24NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p24NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p24Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p24::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p24), DestructibleAssetParameters_0p24::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p24::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p24");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p24)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p24)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p24::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p24::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p24");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p24 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p24*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p24::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p24::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p24::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p24::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h
new file mode 100644
index 00000000..06ae759a
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h
@@ -0,0 +1,580 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p25_h
+#define HEADER_DestructibleAssetParameters_0p25_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p25NS
+{
+
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct Plane_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ uint64_t userData;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ MAT44_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x11268689, 0x39ecdbd7, 0xecef1fff, 0x7fbbb26e, };
+
+} // namespace DestructibleAssetParameters_0p25NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p25 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p25NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p25(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p25();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)25;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p25NS::checksum);
+ return DestructibleAssetParameters_0p25NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p25NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p25* tmpThis = const_cast<DestructibleAssetParameters_0p25*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p25NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p25NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p25NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p25Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p25::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p25), DestructibleAssetParameters_0p25::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p25::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p25");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p25)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p25)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p25::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p25::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p25");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p25 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p25*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p25::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p25::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p25::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p25::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h
new file mode 100644
index 00000000..6617c551
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h
@@ -0,0 +1,675 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p26_h
+#define HEADER_DestructibleAssetParameters_0p26_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p26NS
+{
+
+struct GroupsMask_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct FractureGlass_Type;
+struct FractureVoronoi_Type;
+struct FractureAttachment_Type;
+struct RuntimeFracture_Type;
+struct DestructibleParameters_Type;
+struct DamageSpreadFunction_Type;
+struct BufferFormat_Type;
+struct U8x2_Type;
+struct U8x3_Type;
+struct U8x4_Type;
+struct U16x2_Type;
+struct U16x3_Type;
+struct U16x4_Type;
+struct U32x2_Type;
+struct U32x3_Type;
+struct U32x4_Type;
+struct F32x2_Type;
+struct F32x3_Type;
+struct F32x4_Type;
+struct Plane_Type;
+struct BehaviorGroup_Type;
+struct Chunk_Type;
+struct InstanceInfo_Type;
+
+struct BehaviorGroup_DynamicArray1D_Type
+{
+ BehaviorGroup_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct F32x3_Type
+{
+ float x;
+ float y;
+ float z;
+};
+struct U32x2_Type
+{
+ uint32_t x;
+ uint32_t y;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+ bool CRUMBLE_VIA_RUNTIME_FRACTURE;
+};
+struct U32x4_Type
+{
+ uint32_t x;
+ uint32_t y;
+ uint32_t z;
+ uint32_t w;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct F32x2_Type
+{
+ float x;
+ float y;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct U16x2_Type
+{
+ uint16_t x;
+ uint16_t y;
+};
+struct U8x2_Type
+{
+ uint8_t x;
+ uint8_t y;
+};
+struct DamageSpreadFunction_Type
+{
+ float minimumRadius;
+ float radiusMultiplier;
+ float falloffExponent;
+};
+struct FractureVoronoi_Type
+{
+ physx::PxVec3 dimensions;
+ uint32_t numCells;
+ float biasExp;
+ float maxDist;
+};
+struct U8x3_Type
+{
+ uint8_t x;
+ uint8_t y;
+ uint8_t z;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BufferFormat_Type
+{
+ NvParameterized::DummyStringStruct name;
+ int32_t semantic;
+ uint32_t id;
+ uint32_t format;
+ uint32_t access;
+ bool serialize;
+};
+struct FractureAttachment_Type
+{
+ bool posX;
+ bool negX;
+ bool posY;
+ bool negY;
+ bool posZ;
+ bool negZ;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+ int8_t behaviorGroupIndex;
+ uint16_t firstScatterMesh;
+ uint16_t scatterMeshCount;
+};
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct U16x4_Type
+{
+ uint16_t x;
+ uint16_t y;
+ uint16_t z;
+ uint16_t w;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct U32x3_Type
+{
+ uint32_t x;
+ uint32_t y;
+ uint32_t z;
+};
+struct U16x3_Type
+{
+ uint16_t x;
+ uint16_t y;
+ uint16_t z;
+};
+struct F32x4_Type
+{
+ PX_ALIGN(16, float x);
+ float y;
+ float z;
+ float w;
+};
+struct FractureGlass_Type
+{
+ uint32_t numSectors;
+ float sectorRand;
+ float firstSegmentSize;
+ float segmentScale;
+ float segmentRand;
+};
+struct RuntimeFracture_Type
+{
+ const char* RuntimeFractureType;
+ bool sheetFracture;
+ uint32_t depthLimit;
+ bool destroyIfAtDepthLimit;
+ float minConvexSize;
+ float impulseScale;
+ FractureGlass_Type glass;
+ FractureVoronoi_Type voronoi;
+ FractureAttachment_Type attachment;
+};
+struct DestructibleParameters_Type
+{
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ float debrisDestructionProbability;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t damageDepthLimit;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+ RuntimeFracture_Type runtimeFracture;
+ float supportStrength;
+ int8_t legacyChunkBoundsTestSetting;
+ int8_t legacyDamageRadiusSpreadSetting;
+ bool alwaysDrawScatterMesh;
+};
+struct BehaviorGroup_Type
+{
+ NvParameterized::DummyStringStruct name;
+ float damageThreshold;
+ float damageToRadius;
+ DamageSpreadFunction_Type damageSpread;
+ DamageSpreadFunction_Type damageColorSpread;
+ physx::PxVec4 damageColorChange;
+ float materialStrength;
+ float density;
+ float fadeOut;
+ float maxDepenetrationVelocity;
+ uint64_t userData;
+};
+struct U8x4_Type
+{
+ uint8_t x;
+ uint8_t y;
+ uint8_t z;
+ uint8_t w;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct comments;
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ BehaviorGroup_Type defaultBehaviorGroup;
+ BehaviorGroup_DynamicArray1D_Type behaviorGroups;
+ int8_t RTFractureBehaviorGroup;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+ REF_DynamicArray1D_Type scatterMeshAssets;
+ U8_DynamicArray1D_Type scatterMeshIndices;
+ MAT44_DynamicArray1D_Type scatterMeshTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0xb0082230, 0x839469d7, 0xd24a9c81, 0xc8df3469, };
+
+} // namespace DestructibleAssetParameters_0p26NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p26 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p26NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p26(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p26();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)26;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p26NS::checksum);
+ return DestructibleAssetParameters_0p26NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p26NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p26* tmpThis = const_cast<DestructibleAssetParameters_0p26*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p26NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p26NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p26NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p26Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p26::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p26), DestructibleAssetParameters_0p26::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p26::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p26");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p26)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p26)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p26::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p26::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p26");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p26 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p26*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p26::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p26::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p26::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p26::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h
new file mode 100644
index 00000000..7c85e915
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h
@@ -0,0 +1,474 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p3_h
+#define HEADER_DestructibleAssetParameters_0p3_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p3NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ float massScaleExponent;
+
+};
+
+static const uint32_t checksum[] = { 0xa0659145, 0x7c7853ec, 0x5925b84a, 0xe016e03b, };
+
+} // namespace DestructibleAssetParameters_0p3NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p3 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p3NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p3();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p3NS::checksum);
+ return DestructibleAssetParameters_0p3NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p3NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p3* tmpThis = const_cast<DestructibleAssetParameters_0p3*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p3NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p3NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p3NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p3Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p3::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p3), DestructibleAssetParameters_0p3::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p3");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p3)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p3)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p3::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p3");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p3 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p3*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p3::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p3::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p3::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p3::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h
new file mode 100644
index 00000000..0e4eabc2
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h
@@ -0,0 +1,475 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p4_h
+#define HEADER_DestructibleAssetParameters_0p4_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p4NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ float massScaleExponent;
+
+};
+
+static const uint32_t checksum[] = { 0xdbc7d73d, 0x74b66caa, 0x71f94316, 0xf7f9a2be, };
+
+} // namespace DestructibleAssetParameters_0p4NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p4 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p4NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p4();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)4;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p4NS::checksum);
+ return DestructibleAssetParameters_0p4NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p4NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p4* tmpThis = const_cast<DestructibleAssetParameters_0p4*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p4NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p4NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p4NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p4Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p4::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p4), DestructibleAssetParameters_0p4::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p4");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p4)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p4)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p4::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p4::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p4");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p4 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p4*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p4::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p4::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p4::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p4::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h
new file mode 100644
index 00000000..cf9ad443
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h
@@ -0,0 +1,474 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p5_h
+#define HEADER_DestructibleAssetParameters_0p5_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p5NS
+{
+
+struct Chunk_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+
+};
+
+static const uint32_t checksum[] = { 0x0d9c4f37, 0xeb0119b0, 0x12937873, 0x8fffbdc3, };
+
+} // namespace DestructibleAssetParameters_0p5NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p5 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p5NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p5(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p5();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)5;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p5NS::checksum);
+ return DestructibleAssetParameters_0p5NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p5NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p5* tmpThis = const_cast<DestructibleAssetParameters_0p5*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p5NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p5NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p5NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p5Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p5::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p5), DestructibleAssetParameters_0p5::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p5::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p5");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p5)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p5)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p5::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p5::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p5");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p5 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p5*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p5::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p5::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p5::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p5::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h
new file mode 100644
index 00000000..cd70756d
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h
@@ -0,0 +1,581 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p6_h
+#define HEADER_DestructibleAssetParameters_0p6_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p6NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint16_t materialIndex;
+ float contactOffset;
+ float restOffset ;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxBounds3 bounds;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ REF_DynamicArray1D_Type instancedRenderMeshAssets;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+
+};
+
+static const uint32_t checksum[] = { 0x7ff83c4f, 0x927140bd, 0x8bcff4d5, 0x7436bee3, };
+
+} // namespace DestructibleAssetParameters_0p6NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p6 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p6NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p6(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p6();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)6;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p6NS::checksum);
+ return DestructibleAssetParameters_0p6NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p6NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p6* tmpThis = const_cast<DestructibleAssetParameters_0p6*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p6NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p6NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p6NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p6Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p6::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p6), DestructibleAssetParameters_0p6::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p6::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p6");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p6)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p6)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p6::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p6::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p6");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p6 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p6*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p6::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p6::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p6::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p6::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h
new file mode 100644
index 00000000..3590b637
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h
@@ -0,0 +1,579 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p7_h
+#define HEADER_DestructibleAssetParameters_0p7_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p7NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool TAKE_IMPACT_DAMAGE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ float damageToPercentDeformation;
+ float deformationPercentLimit;
+ uint32_t minimumFractureDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint16_t materialIndex;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+
+};
+
+static const uint32_t checksum[] = { 0x413f957f, 0x3e6c42e8, 0xa52b14f8, 0xb0466d5c, };
+
+} // namespace DestructibleAssetParameters_0p7NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p7 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p7NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p7(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p7();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)7;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p7NS::checksum);
+ return DestructibleAssetParameters_0p7NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p7NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p7* tmpThis = const_cast<DestructibleAssetParameters_0p7*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p7NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p7NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p7NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p7Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p7::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p7), DestructibleAssetParameters_0p7::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p7::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p7");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p7)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p7)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p7::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p7::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p7");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p7 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p7*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p7::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p7::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p7::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p7::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h
new file mode 100644
index 00000000..494d5da3
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h
@@ -0,0 +1,579 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p8_h
+#define HEADER_DestructibleAssetParameters_0p8_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p8NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct P3FilterData_Type;
+struct P3ShapeFlags_Type;
+struct P3PairFlag_Type;
+struct P3ShapeDescTemplate_Type;
+struct P3ActorFlags_Type;
+struct P3ActorDescTemplate_Type;
+struct P3BodyDescFlags_Type;
+struct P3BodyDescTemplate_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct P3BodyDescFlags_Type
+{
+ bool eKINEMATIC;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3FilterData_Type
+{
+ uint32_t word0;
+ uint32_t word1;
+ uint32_t word2;
+ uint32_t word3;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct P3ShapeFlags_Type
+{
+ bool eSIMULATION_SHAPE;
+ bool eSCENE_QUERY_SHAPE;
+ bool eTRIGGER_SHAPE;
+ bool eVISUALIZATION;
+ bool ePARTICLE_DRAIN;
+ bool eDEFORMABLE_DRAIN;
+ bool eUSE_SWEPT_BOUNDS;
+};
+struct P3ShapeDescTemplate_Type
+{
+ P3ShapeFlags_Type flags;
+ P3FilterData_Type simulationFilterData;
+ P3FilterData_Type queryFilterData;
+ uint16_t materialIndex;
+ float contactOffset;
+ float restOffset;
+ uint64_t userData;
+ uint64_t name;
+};
+struct P3ActorFlags_Type
+{
+ bool eVISUALIZATION;
+ bool eDISABLE_GRAVITY;
+ bool eSEND_SLEEP_NOTIFIES;
+};
+struct P3BodyDescTemplate_Type
+{
+ float density;
+ P3BodyDescFlags_Type flags;
+ float sleepThreshold;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ uint32_t solverIterationCount;
+ float contactReportThreshold;
+ float sleepLinearVelocity;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+struct P3PairFlag_Type
+{
+ bool eRESOLVE_CONTACTS;
+ bool eMODIFY_CONTACTS;
+ bool eNOTIFY_TOUCH_FOUND;
+ bool eNOTIFY_TOUCH_PERSISTS;
+ bool eNOTIFY_TOUCH_LOST;
+ bool eNOTIFY_THRESHOLD_FORCE_FOUND;
+ bool eNOTIFY_THRESHOLD_FORCE_PERSISTS;
+ bool eNOTIFY_THRESHOLD_FORCE_LOST;
+ bool eNOTIFY_CONTACT_POINTS;
+ bool eNOTIFY_CONTACT_FORCES;
+ bool eNOTIFY_CONTACT_FORCE_PER_POINT;
+ bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
+ bool eSWEPT_CONTACT_GENERATION;
+ bool eSWEPT_INTEGRATION_LINEAR;
+ bool eSWEPT_INTEGRATION_FULL;
+ bool eCONTACT_DEFAULT;
+ bool eTRIGGER_DEFAULT;
+};
+struct P3ActorDescTemplate_Type
+{
+ P3ActorFlags_Type flags;
+ uint8_t dominanceGroup;
+ uint8_t ownerClient;
+ uint32_t clientBehaviorBits;
+ P3PairFlag_Type contactReportFlags;
+ uint64_t userData;
+ uint64_t name;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+
+};
+
+static const uint32_t checksum[] = { 0xe8a2332d, 0xf757b2db, 0x07eb1ca5, 0x80693529, };
+
+} // namespace DestructibleAssetParameters_0p8NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p8 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p8NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p8(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p8();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)8;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p8NS::checksum);
+ return DestructibleAssetParameters_0p8NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p8NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p8* tmpThis = const_cast<DestructibleAssetParameters_0p8*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p8NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p8NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p8NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p8Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p8::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p8), DestructibleAssetParameters_0p8::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p8::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p8");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p8)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p8)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p8::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p8::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p8");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p8 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p8*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p8::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p8::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p8::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p8::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h
new file mode 100644
index 00000000..18c68fac
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h
@@ -0,0 +1,499 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleAssetParameters_0p9_h
+#define HEADER_DestructibleAssetParameters_0p9_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleAssetParameters_0p9NS
+{
+
+struct Chunk_Type;
+struct InstanceInfo_Type;
+struct GroupsMask_Type;
+struct LODWeights_Type;
+struct ShapeDescFlags_Type;
+struct ShapeDescTemplate_Type;
+struct ContactPairFlag_Type;
+struct ActorDescFlags_Type;
+struct ActorDescTemplate_Type;
+struct BodyDescFlags_Type;
+struct BodyDescTemplate_Type;
+struct DestructibleDepthParameters_Type;
+struct DestructibleParametersFlag_Type;
+struct DestructibleParameters_Type;
+struct Plane_Type;
+
+struct Chunk_DynamicArray1D_Type
+{
+ Chunk_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_DynamicArray1D_Type
+{
+ DestructibleDepthParameters_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct InstanceInfo_DynamicArray1D_Type
+{
+ InstanceInfo_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct MAT44_DynamicArray1D_Type
+{
+ physx::PxMat44* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct DestructibleDepthParameters_Type
+{
+ bool OVERRIDE_IMPACT_DAMAGE;
+ bool OVERRIDE_IMPACT_DAMAGE_VALUE;
+ bool IGNORE_POSE_UPDATES;
+ bool IGNORE_RAYCAST_CALLBACKS;
+ bool IGNORE_CONTACT_CALLBACKS;
+ bool USER_FLAG_0;
+ bool USER_FLAG_1;
+ bool USER_FLAG_2;
+ bool USER_FLAG_3;
+};
+struct GroupsMask_Type
+{
+ bool useGroupsMask;
+ uint32_t bits0;
+ uint32_t bits1;
+ uint32_t bits2;
+ uint32_t bits3;
+};
+struct DestructibleParametersFlag_Type
+{
+ bool ACCUMULATE_DAMAGE;
+ bool DEBRIS_TIMEOUT;
+ bool DEBRIS_MAX_SEPARATION;
+ bool CRUMBLE_SMALLEST_CHUNKS;
+ bool ACCURATE_RAYCASTS;
+ bool USE_VALID_BOUNDS;
+};
+struct ShapeDescFlags_Type
+{
+ bool NX_TRIGGER_ON_ENTER;
+ bool NX_TRIGGER_ON_LEAVE;
+ bool NX_TRIGGER_ON_STAY;
+ bool NX_SF_VISUALIZATION;
+ bool NX_SF_DISABLE_COLLISION;
+ bool NX_SF_FEATURE_INDICES;
+ bool NX_SF_DISABLE_RAYCASTING;
+ bool NX_SF_POINT_CONTACT_FORCE;
+ bool NX_SF_FLUID_DRAIN;
+ bool NX_SF_FLUID_DISABLE_COLLISION;
+ bool NX_SF_FLUID_TWOWAY;
+ bool NX_SF_DISABLE_RESPONSE;
+ bool NX_SF_DYNAMIC_DYNAMIC_CCD;
+ bool NX_SF_DISABLE_SCENE_QUERIES;
+ bool NX_SF_CLOTH_DRAIN;
+ bool NX_SF_CLOTH_DISABLE_COLLISION;
+ bool NX_SF_CLOTH_TWOWAY;
+ bool NX_SF_SOFTBODY_DRAIN;
+ bool NX_SF_SOFTBODY_DISABLE_COLLISION;
+ bool NX_SF_SOFTBODY_TWOWAY;
+};
+struct ShapeDescTemplate_Type
+{
+ ShapeDescFlags_Type flags;
+ uint16_t collisionGroup;
+ GroupsMask_Type groupsMask;
+ uint16_t materialIndex;
+ float density;
+ float skinWidth;
+ uint64_t userData;
+ uint64_t name;
+};
+struct InstanceInfo_Type
+{
+ uint16_t partIndex;
+ physx::PxVec3 chunkPositionOffset;
+ physx::PxVec2 chunkUVOffset;
+};
+struct Plane_Type
+{
+ physx::PxVec3 normal;
+ float d;
+};
+struct DestructibleParameters_Type
+{
+ float damageThreshold;
+ float damageToRadius;
+ float damageCap;
+ float forceToDamage;
+ float impactVelocityThreshold;
+ float materialStrength;
+ uint32_t minimumFractureDepth;
+ int32_t impactDamageDefaultDepth;
+ int32_t debrisDepth;
+ uint32_t essentialDepth;
+ float debrisLifetimeMin;
+ float debrisLifetimeMax;
+ float debrisMaxSeparationMin;
+ float debrisMaxSeparationMax;
+ physx::PxBounds3 validBounds;
+ float maxChunkSpeed;
+ DestructibleParametersFlag_Type flags;
+ float fractureImpulseScale;
+ uint16_t dynamicChunkDominanceGroup;
+ GroupsMask_Type dynamicChunksGroupsMask;
+};
+struct ContactPairFlag_Type
+{
+ bool NX_IGNORE_PAIR;
+ bool NX_NOTIFY_ON_START_TOUCH;
+ bool NX_NOTIFY_ON_END_TOUCH;
+ bool NX_NOTIFY_ON_TOUCH;
+ bool NX_NOTIFY_ON_IMPACT;
+ bool NX_NOTIFY_ON_ROLL;
+ bool NX_NOTIFY_ON_SLIDE;
+ bool NX_NOTIFY_FORCES;
+ bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
+ bool NX_NOTIFY_CONTACT_MODIFICATION;
+};
+struct LODWeights_Type
+{
+ float maxDistance;
+ float distanceWeight;
+ float maxAge;
+ float ageWeight;
+ float bias;
+};
+struct BodyDescFlags_Type
+{
+ bool NX_BF_DISABLE_GRAVITY;
+ bool NX_BF_FILTER_SLEEP_VEL;
+ bool NX_BF_ENERGY_SLEEP_TEST;
+ bool NX_BF_VISUALIZATION;
+};
+struct BodyDescTemplate_Type
+{
+ BodyDescFlags_Type flags;
+ float wakeUpCounter;
+ float linearDamping;
+ float angularDamping;
+ float maxAngularVelocity;
+ float CCDMotionThreshold;
+ float sleepLinearVelocity;
+ float sleepAngularVelocity;
+ uint32_t solverIterationCount;
+ float sleepEnergyThreshold;
+ float sleepDamping;
+ float contactReportThreshold;
+};
+struct Chunk_Type
+{
+ uint16_t depth;
+ uint16_t parentIndex;
+ uint16_t firstChildIndex;
+ uint16_t numChildren;
+ uint16_t meshPartIndex;
+ uint16_t flags;
+ physx::PxVec3 surfaceNormal;
+};
+struct ActorDescFlags_Type
+{
+ bool NX_AF_DISABLE_COLLISION;
+ bool NX_AF_DISABLE_RESPONSE;
+ bool NX_AF_LOCK_COM;
+ bool NX_AF_FLUID_DISABLE_COLLISION;
+ bool NX_AF_CONTACT_MODIFICATION;
+ bool NX_AF_FORCE_CONE_FRICTION;
+ bool NX_AF_USER_ACTOR_PAIR_FILTERING;
+};
+struct ActorDescTemplate_Type
+{
+ ActorDescFlags_Type flags;
+ float density;
+ uint16_t actorCollisionGroup;
+ uint16_t dominanceGroup;
+ ContactPairFlag_Type contactReportFlags;
+ uint16_t forceFieldMaterial;
+ uint64_t userData;
+ uint64_t name;
+ uint64_t compartment;
+};
+
+struct ParametersStruct
+{
+
+ uint32_t depthCount;
+ uint32_t originalDepthCount;
+ physx::PxBounds3 bounds;
+ Chunk_DynamicArray1D_Type chunks;
+ REF_DynamicArray1D_Type chunkConvexHulls;
+ U32_DynamicArray1D_Type chunkConvexHullStartIndices;
+ DestructibleParameters_Type destructibleParameters;
+ DestructibleDepthParameters_DynamicArray1D_Type depthParameters;
+ NvParameterized::DummyStringStruct crumbleEmitterName;
+ NvParameterized::DummyStringStruct dustEmitterName;
+ NvParameterized::Interface* collisionData;
+ REF_DynamicArray1D_Type surfaceTraceSets;
+ NvParameterized::Interface* renderMeshAsset;
+ uint32_t initialDestructibleActorAllowanceForInstancing;
+ InstanceInfo_DynamicArray1D_Type chunkInstanceInfo;
+ int32_t interiorSubmeshIndex;
+ STRING_DynamicArray1D_Type staticMaterialNames;
+ float neighborPadding;
+ REF_DynamicArray1D_Type overlapsAtDepth;
+ U32_DynamicArray1D_Type firstChunkAtDepth;
+ uint32_t supportDepth;
+ bool formExtendedStructures;
+ bool useAssetDefinedSupport;
+ bool useWorldSupport;
+ MAT44_DynamicArray1D_Type actorTransforms;
+
+};
+
+static const uint32_t checksum[] = { 0x761730fb, 0xa9400e4a, 0x6e20d755, 0x6bd19c0a, };
+
+} // namespace DestructibleAssetParameters_0p9NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleAssetParameters_0p9 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p9NS::ParametersStruct
+{
+public:
+ DestructibleAssetParameters_0p9(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleAssetParameters_0p9();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleAssetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)9;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleAssetParameters_0p9NS::checksum);
+ return DestructibleAssetParameters_0p9NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleAssetParameters_0p9NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleAssetParameters_0p9* tmpThis = const_cast<DestructibleAssetParameters_0p9*>(this);
+ return *(static_cast<DestructibleAssetParameters_0p9NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleAssetParameters_0p9NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleAssetParameters_0p9NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleAssetParameters_0p9Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleAssetParameters_0p9::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p9), DestructibleAssetParameters_0p9::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p9::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p9");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p9)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p9)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p9::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p9::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p9");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleAssetParameters_0p9 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleAssetParameters_0p9*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleAssetParameters_0p9::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleAssetParameters_0p9::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleAssetParameters_0p9::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleAssetParameters_0p9::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h
new file mode 100644
index 00000000..e56ccae0
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h
@@ -0,0 +1,238 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleDebugRenderParams_0p0_h
+#define HEADER_DestructibleDebugRenderParams_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleDebugRenderParams_0p0NS
+{
+
+
+
+struct ParametersStruct
+{
+
+ bool VISUALIZE_DESTRUCTIBLE_ACTOR;
+ float VISUALIZE_DESTRUCTIBLE_BOUNDS;
+ float VISUALIZE_DESTRUCTIBLE_SUPPORT;
+ bool VISUALIZE_DESTRUCTIBLE_ACTOR_POSE;
+ float THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_POSE;
+ bool VISUALIZE_DESTRUCTIBLE_ACTOR_NAME;
+ float THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_NAME;
+ bool VISUALIZE_DESTRUCTIBLE_FRAGMENT_POSE;
+ float THRESHOLD_DISTANCE_DESTRUCTIBLE_FRAGMENT_POSE;
+
+};
+
+static const uint32_t checksum[] = { 0xf9b70cc9, 0xc8a5ed52, 0x51f40e6a, 0x14b18d85, };
+
+} // namespace DestructibleDebugRenderParams_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleDebugRenderParams_0p0 : public NvParameterized::NvParameters, public DestructibleDebugRenderParams_0p0NS::ParametersStruct
+{
+public:
+ DestructibleDebugRenderParams_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleDebugRenderParams_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleDebugRenderParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleDebugRenderParams_0p0NS::checksum);
+ return DestructibleDebugRenderParams_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleDebugRenderParams_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleDebugRenderParams_0p0* tmpThis = const_cast<DestructibleDebugRenderParams_0p0*>(this);
+ return *(static_cast<DestructibleDebugRenderParams_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleDebugRenderParams_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleDebugRenderParams_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleDebugRenderParams_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleDebugRenderParams_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleDebugRenderParams_0p0), DestructibleDebugRenderParams_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleDebugRenderParams_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleDebugRenderParams_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleDebugRenderParams_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleDebugRenderParams_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleDebugRenderParams_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleDebugRenderParams_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleDebugRenderParams_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleDebugRenderParams_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleDebugRenderParams_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleDebugRenderParams_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleDebugRenderParams_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleDebugRenderParams_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleDebugRenderParams_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h
new file mode 100644
index 00000000..f59b0b39
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h
@@ -0,0 +1,249 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleModuleParameters_0p0_h
+#define HEADER_DestructibleModuleParameters_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleModuleParameters_0p0NS
+{
+
+struct GRBSettings_Type;
+
+struct GRBSettings_Type
+{
+ int32_t gpuDeviceOrdinal;
+ float meshCellSize;
+ float skinWidth;
+ uint32_t nonPenSolverPosIterCount;
+ uint32_t frictionSolverPosIterCount;
+ uint32_t frictionSolverVelIterCount;
+ float maxLinAcceleration;
+ uint32_t gpuMemSceneSize;
+ uint32_t gpuMemTempDataSize;
+};
+
+struct ParametersStruct
+{
+
+ GRBSettings_Type gpuRigidBodySettings;
+ uint32_t maxDynamicChunkIslandCount;
+ bool sortFIFOByBenefit;
+ float validBoundsPadding;
+ float maxChunkSeparationLOD;
+ uint32_t maxActorCreatesPerFrame;
+ uint32_t maxChunkDepthOffset;
+
+};
+
+static const uint32_t checksum[] = { 0x8231bc89, 0x51f7449f, 0xc0e375f2, 0x4eeb99f7, };
+
+} // namespace DestructibleModuleParameters_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleModuleParameters_0p0 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p0NS::ParametersStruct
+{
+public:
+ DestructibleModuleParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleModuleParameters_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleModuleParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleModuleParameters_0p0NS::checksum);
+ return DestructibleModuleParameters_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleModuleParameters_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleModuleParameters_0p0* tmpThis = const_cast<DestructibleModuleParameters_0p0*>(this);
+ return *(static_cast<DestructibleModuleParameters_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleModuleParameters_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleModuleParameters_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleModuleParameters_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleModuleParameters_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p0), DestructibleModuleParameters_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleModuleParameters_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleModuleParameters_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleModuleParameters_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleModuleParameters_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleModuleParameters_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleModuleParameters_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h
new file mode 100644
index 00000000..0382e28e
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h
@@ -0,0 +1,251 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleModuleParameters_0p1_h
+#define HEADER_DestructibleModuleParameters_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleModuleParameters_0p1NS
+{
+
+struct GRBSettings_Type;
+
+struct GRBSettings_Type
+{
+ int32_t gpuDeviceOrdinal;
+ float meshCellSize;
+ float skinWidth;
+ uint32_t nonPenSolverPosIterCount;
+ uint32_t frictionSolverPosIterCount;
+ uint32_t frictionSolverVelIterCount;
+ float maxLinAcceleration;
+ uint32_t gpuMemSceneSize;
+ uint32_t gpuMemTempDataSize;
+};
+
+struct ParametersStruct
+{
+
+ GRBSettings_Type gpuRigidBodySettings;
+ uint32_t maxDynamicChunkIslandCount;
+ bool sortFIFOByBenefit;
+ float validBoundsPadding;
+ float maxChunkSeparationLOD;
+ uint32_t maxActorCreatesPerFrame;
+ uint32_t maxChunkDepthOffset;
+ float massScale;
+ float scaledMassExponent;
+
+};
+
+static const uint32_t checksum[] = { 0xf639b6be, 0x82c664d9, 0x01d230ac, 0xb680b438, };
+
+} // namespace DestructibleModuleParameters_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleModuleParameters_0p1 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p1NS::ParametersStruct
+{
+public:
+ DestructibleModuleParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleModuleParameters_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleModuleParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleModuleParameters_0p1NS::checksum);
+ return DestructibleModuleParameters_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleModuleParameters_0p1NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleModuleParameters_0p1* tmpThis = const_cast<DestructibleModuleParameters_0p1*>(this);
+ return *(static_cast<DestructibleModuleParameters_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleModuleParameters_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleModuleParameters_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleModuleParameters_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleModuleParameters_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p1), DestructibleModuleParameters_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleModuleParameters_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleModuleParameters_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleModuleParameters_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleModuleParameters_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleModuleParameters_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleModuleParameters_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h
new file mode 100644
index 00000000..fecf0794
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h
@@ -0,0 +1,255 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleModuleParameters_0p2_h
+#define HEADER_DestructibleModuleParameters_0p2_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleModuleParameters_0p2NS
+{
+
+struct GRBSettings_Type;
+
+struct GRBSettings_Type
+{
+ int32_t gpuDeviceOrdinal;
+ float meshCellSize;
+ float skinWidth;
+ uint32_t nonPenSolverPosIterCount;
+ uint32_t frictionSolverPosIterCount;
+ uint32_t frictionSolverVelIterCount;
+ float maxLinAcceleration;
+ uint32_t gpuMemSceneSize;
+ uint32_t gpuMemTempDataSize;
+ uint32_t sphereSlices;
+ uint32_t sphereStacks;
+ uint32_t capsuleSlices;
+ uint32_t capsuleStacks;
+};
+
+struct ParametersStruct
+{
+
+ GRBSettings_Type gpuRigidBodySettings;
+ uint32_t maxDynamicChunkIslandCount;
+ bool sortFIFOByBenefit;
+ float validBoundsPadding;
+ float maxChunkSeparationLOD;
+ uint32_t maxActorCreatesPerFrame;
+ uint32_t maxChunkDepthOffset;
+ float massScale;
+ float scaledMassExponent;
+
+};
+
+static const uint32_t checksum[] = { 0xe408d154, 0xd6bb44b6, 0x55e5c6ca, 0x3d5d3020, };
+
+} // namespace DestructibleModuleParameters_0p2NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleModuleParameters_0p2 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p2NS::ParametersStruct
+{
+public:
+ DestructibleModuleParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleModuleParameters_0p2();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleModuleParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleModuleParameters_0p2NS::checksum);
+ return DestructibleModuleParameters_0p2NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleModuleParameters_0p2NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleModuleParameters_0p2* tmpThis = const_cast<DestructibleModuleParameters_0p2*>(this);
+ return *(static_cast<DestructibleModuleParameters_0p2NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleModuleParameters_0p2NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleModuleParameters_0p2NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleModuleParameters_0p2Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleModuleParameters_0p2::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p2), DestructibleModuleParameters_0p2::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p2");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p2)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p2)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p2::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p2");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleModuleParameters_0p2 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleModuleParameters_0p2*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleModuleParameters_0p2::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleModuleParameters_0p2::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleModuleParameters_0p2::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleModuleParameters_0p2::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h
new file mode 100644
index 00000000..9e85ce27
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h
@@ -0,0 +1,237 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructibleModuleParameters_0p3_h
+#define HEADER_DestructibleModuleParameters_0p3_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructibleModuleParameters_0p3NS
+{
+
+
+
+struct ParametersStruct
+{
+
+ uint32_t maxDynamicChunkIslandCount;
+ bool sortFIFOByBenefit;
+ float validBoundsPadding;
+ float maxChunkSeparationLOD;
+ uint32_t maxActorCreatesPerFrame;
+ uint32_t maxChunkDepthOffset;
+ float massScale;
+ float scaledMassExponent;
+
+};
+
+static const uint32_t checksum[] = { 0xea4f5a53, 0x75a1901c, 0xd7138e07, 0xef8c1364, };
+
+} // namespace DestructibleModuleParameters_0p3NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructibleModuleParameters_0p3 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p3NS::ParametersStruct
+{
+public:
+ DestructibleModuleParameters_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructibleModuleParameters_0p3();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructibleModuleParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructibleModuleParameters_0p3NS::checksum);
+ return DestructibleModuleParameters_0p3NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructibleModuleParameters_0p3NS::ParametersStruct& parameters(void) const
+ {
+ DestructibleModuleParameters_0p3* tmpThis = const_cast<DestructibleModuleParameters_0p3*>(this);
+ return *(static_cast<DestructibleModuleParameters_0p3NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructibleModuleParameters_0p3NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructibleModuleParameters_0p3NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructibleModuleParameters_0p3Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructibleModuleParameters_0p3::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p3), DestructibleModuleParameters_0p3::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p3");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p3)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p3)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p3::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p3::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p3");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructibleModuleParameters_0p3 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructibleModuleParameters_0p3*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructibleModuleParameters_0p3::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructibleModuleParameters_0p3::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructibleModuleParameters_0p3::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructibleModuleParameters_0p3::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h
new file mode 100644
index 00000000..36464cea
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h
@@ -0,0 +1,244 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_DestructiblePreviewParam_0p0_h
+#define HEADER_DestructiblePreviewParam_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace DestructiblePreviewParam_0p0NS
+{
+
+
+struct STRING_DynamicArray1D_Type
+{
+ NvParameterized::DummyStringStruct* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ physx::PxMat44 globalPose;
+ uint32_t chunkDepth;
+ float explodeAmount;
+ bool renderUnexplodedChunksStatically;
+ STRING_DynamicArray1D_Type overrideSkinnedMaterialNames;
+ STRING_DynamicArray1D_Type overrideStaticMaterialNames;
+ uint64_t userData;
+
+};
+
+static const uint32_t checksum[] = { 0x3637da2c, 0x7fa3add1, 0xf223f0ff, 0x3a06c4b3, };
+
+} // namespace DestructiblePreviewParam_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class DestructiblePreviewParam_0p0 : public NvParameterized::NvParameters, public DestructiblePreviewParam_0p0NS::ParametersStruct
+{
+public:
+ DestructiblePreviewParam_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~DestructiblePreviewParam_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("DestructiblePreviewParam");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(DestructiblePreviewParam_0p0NS::checksum);
+ return DestructiblePreviewParam_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const DestructiblePreviewParam_0p0NS::ParametersStruct& parameters(void) const
+ {
+ DestructiblePreviewParam_0p0* tmpThis = const_cast<DestructiblePreviewParam_0p0*>(this);
+ return *(static_cast<DestructiblePreviewParam_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ DestructiblePreviewParam_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<DestructiblePreviewParam_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class DestructiblePreviewParam_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ DestructiblePreviewParam_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(DestructiblePreviewParam_0p0), DestructiblePreviewParam_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, DestructiblePreviewParam_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructiblePreviewParam_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(DestructiblePreviewParam_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, DestructiblePreviewParam_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, DestructiblePreviewParam_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, DestructiblePreviewParam_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructiblePreviewParam_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of DestructiblePreviewParam_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (DestructiblePreviewParam_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (DestructiblePreviewParam_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (DestructiblePreviewParam_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (DestructiblePreviewParam_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (DestructiblePreviewParam_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h
new file mode 100644
index 00000000..5db60b53
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h
@@ -0,0 +1,238 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_MeshCookedCollisionStream_0p0_h
+#define HEADER_MeshCookedCollisionStream_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace MeshCookedCollisionStream_0p0NS
+{
+
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ U8_DynamicArray1D_Type bytes;
+
+};
+
+static const uint32_t checksum[] = { 0x10ac85d4, 0x690961af, 0x1dfeb2cb, 0x4494e6fa, };
+
+} // namespace MeshCookedCollisionStream_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class MeshCookedCollisionStream_0p0 : public NvParameterized::NvParameters, public MeshCookedCollisionStream_0p0NS::ParametersStruct
+{
+public:
+ MeshCookedCollisionStream_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~MeshCookedCollisionStream_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("MeshCookedCollisionStream");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(MeshCookedCollisionStream_0p0NS::checksum);
+ return MeshCookedCollisionStream_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const MeshCookedCollisionStream_0p0NS::ParametersStruct& parameters(void) const
+ {
+ MeshCookedCollisionStream_0p0* tmpThis = const_cast<MeshCookedCollisionStream_0p0*>(this);
+ return *(static_cast<MeshCookedCollisionStream_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ MeshCookedCollisionStream_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<MeshCookedCollisionStream_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class MeshCookedCollisionStream_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ MeshCookedCollisionStream_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(MeshCookedCollisionStream_0p0), MeshCookedCollisionStream_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, MeshCookedCollisionStream_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStream_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(MeshCookedCollisionStream_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, MeshCookedCollisionStream_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, MeshCookedCollisionStream_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, MeshCookedCollisionStream_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStream_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of MeshCookedCollisionStream_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (MeshCookedCollisionStream_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (MeshCookedCollisionStream_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (MeshCookedCollisionStream_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (MeshCookedCollisionStream_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (MeshCookedCollisionStream_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h
new file mode 100644
index 00000000..739bacd7
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h
@@ -0,0 +1,238 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_MeshCookedCollisionStreamsAtScale_0p0_h
+#define HEADER_MeshCookedCollisionStreamsAtScale_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace MeshCookedCollisionStreamsAtScale_0p0NS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type meshCookedCollisionStreams;
+
+};
+
+static const uint32_t checksum[] = { 0xf356e0c1, 0xf4812209, 0x4cf28347, 0xc18b1923, };
+
+} // namespace MeshCookedCollisionStreamsAtScale_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class MeshCookedCollisionStreamsAtScale_0p0 : public NvParameterized::NvParameters, public MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct
+{
+public:
+ MeshCookedCollisionStreamsAtScale_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~MeshCookedCollisionStreamsAtScale_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("MeshCookedCollisionStreamsAtScale");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(MeshCookedCollisionStreamsAtScale_0p0NS::checksum);
+ return MeshCookedCollisionStreamsAtScale_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct& parameters(void) const
+ {
+ MeshCookedCollisionStreamsAtScale_0p0* tmpThis = const_cast<MeshCookedCollisionStreamsAtScale_0p0*>(this);
+ return *(static_cast<MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class MeshCookedCollisionStreamsAtScale_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ MeshCookedCollisionStreamsAtScale_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(MeshCookedCollisionStreamsAtScale_0p0), MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStreamsAtScale_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(MeshCookedCollisionStreamsAtScale_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, MeshCookedCollisionStreamsAtScale_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStreamsAtScale_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of MeshCookedCollisionStreamsAtScale_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (MeshCookedCollisionStreamsAtScale_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (MeshCookedCollisionStreamsAtScale_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (MeshCookedCollisionStreamsAtScale_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (MeshCookedCollisionStreamsAtScale_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h b/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h
new file mode 100644
index 00000000..092337e4
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h
@@ -0,0 +1,1614 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+#ifndef MODULE_MODULEDESTRUCTIBLELEGACYREGISTRATIONH_H
+#define MODULE_MODULEDESTRUCTIBLELEGACYREGISTRATIONH_H
+
+#include "PsAllocator.h"
+#include "NvRegistrationsForTraitsBase.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "PxAssert.h"
+#include <stdint.h>
+
+// INCLUDE GENERATED FACTORIES
+#include "CachedOverlaps_0p0.h"
+#include "DestructibleActorParam_0p0.h"
+#include "DestructibleActorParam_0p1.h"
+#include "DestructibleActorParam_0p10.h"
+#include "DestructibleActorParam_0p11.h"
+#include "DestructibleActorParam_0p12.h"
+#include "DestructibleActorParam_0p13.h"
+#include "DestructibleActorParam_0p14.h"
+#include "DestructibleActorParam_0p15.h"
+#include "DestructibleActorParam_0p16.h"
+#include "DestructibleActorParam_0p17.h"
+#include "DestructibleActorParam_0p18.h"
+#include "DestructibleActorParam_0p19.h"
+#include "DestructibleActorParam_0p2.h"
+#include "DestructibleActorParam_0p20.h"
+#include "DestructibleActorParam_0p21.h"
+#include "DestructibleActorParam_0p22.h"
+#include "DestructibleActorParam_0p23.h"
+#include "DestructibleActorParam_0p24.h"
+#include "DestructibleActorParam_0p25.h"
+#include "DestructibleActorParam_0p26.h"
+#include "DestructibleActorParam_0p27.h"
+#include "DestructibleActorParam_0p28.h"
+#include "DestructibleActorParam_0p29.h"
+#include "DestructibleActorParam_0p3.h"
+#include "DestructibleActorParam_0p30.h"
+#include "DestructibleActorParam_0p31.h"
+#include "DestructibleActorParam_0p4.h"
+#include "DestructibleActorParam_0p5.h"
+#include "DestructibleActorParam_0p6.h"
+#include "DestructibleActorParam_0p7.h"
+#include "DestructibleActorParam_0p8.h"
+#include "DestructibleActorParam_0p9.h"
+#include "DestructibleActorState_0p0.h"
+#include "DestructibleActorState_0p1.h"
+#include "DestructibleActorState_0p2.h"
+#include "DestructibleActorState_0p3.h"
+#include "DestructibleAssetParameters_0p0.h"
+#include "DestructibleAssetParameters_0p1.h"
+#include "DestructibleAssetParameters_0p10.h"
+#include "DestructibleAssetParameters_0p11.h"
+#include "DestructibleAssetParameters_0p12.h"
+#include "DestructibleAssetParameters_0p13.h"
+#include "DestructibleAssetParameters_0p14.h"
+#include "DestructibleAssetParameters_0p15.h"
+#include "DestructibleAssetParameters_0p16.h"
+#include "DestructibleAssetParameters_0p17.h"
+#include "DestructibleAssetParameters_0p18.h"
+#include "DestructibleAssetParameters_0p19.h"
+#include "DestructibleAssetParameters_0p2.h"
+#include "DestructibleAssetParameters_0p20.h"
+#include "DestructibleAssetParameters_0p21.h"
+#include "DestructibleAssetParameters_0p22.h"
+#include "DestructibleAssetParameters_0p23.h"
+#include "DestructibleAssetParameters_0p24.h"
+#include "DestructibleAssetParameters_0p25.h"
+#include "DestructibleAssetParameters_0p3.h"
+#include "DestructibleAssetParameters_0p4.h"
+#include "DestructibleAssetParameters_0p5.h"
+#include "DestructibleAssetParameters_0p6.h"
+#include "DestructibleAssetParameters_0p7.h"
+#include "DestructibleAssetParameters_0p8.h"
+#include "DestructibleAssetParameters_0p9.h"
+#include "DestructibleModuleParameters_0p0.h"
+#include "DestructibleModuleParameters_0p1.h"
+#include "DestructibleModuleParameters_0p2.h"
+#include "SurfaceTraceSetParameters_0p0.h"
+#include "SurfaceTraceSetParameters_0p1.h"
+#include "DestructibleActorParam_0p32.h"
+#include "DestructibleActorChunks_0p0.h"
+#include "DestructibleActorState_0p4.h"
+#include "SurfaceTraceParameters_0p0.h"
+#include "SurfaceTraceSetParameters_0p2.h"
+#include "CachedOverlaps_0p1.h"
+#include "MeshCookedCollisionStream_0p0.h"
+#include "MeshCookedCollisionStreamsAtScale_0p0.h"
+#include "DestructibleAssetCollisionDataSet_0p0.h"
+#include "DestructibleAssetParameters_0p26.h"
+#include "DestructiblePreviewParam_0p0.h"
+#include "DestructibleDebugRenderParams_0p0.h"
+#include "DestructibleModuleParameters_0p3.h"
+
+
+// INCLUDE GENERATED CONVERSION
+#include "ConversionCachedOverlaps_0p0_0p1.h"
+#include "ConversionDestructibleActorParam_0p0_0p1.h"
+#include "ConversionDestructibleActorParam_0p10_0p11.h"
+#include "ConversionDestructibleActorParam_0p11_0p12.h"
+#include "ConversionDestructibleActorParam_0p12_0p13.h"
+#include "ConversionDestructibleActorParam_0p13_0p14.h"
+#include "ConversionDestructibleActorParam_0p14_0p15.h"
+#include "ConversionDestructibleActorParam_0p15_0p16.h"
+#include "ConversionDestructibleActorParam_0p16_0p17.h"
+#include "ConversionDestructibleActorParam_0p17_0p18.h"
+#include "ConversionDestructibleActorParam_0p18_0p19.h"
+#include "ConversionDestructibleActorParam_0p19_0p20.h"
+#include "ConversionDestructibleActorParam_0p1_0p2.h"
+#include "ConversionDestructibleActorParam_0p20_0p21.h"
+#include "ConversionDestructibleActorParam_0p21_0p22.h"
+#include "ConversionDestructibleActorParam_0p22_0p23.h"
+#include "ConversionDestructibleActorParam_0p23_0p24.h"
+#include "ConversionDestructibleActorParam_0p24_0p25.h"
+#include "ConversionDestructibleActorParam_0p25_0p26.h"
+#include "ConversionDestructibleActorParam_0p26_0p27.h"
+#include "ConversionDestructibleActorParam_0p27_0p28.h"
+#include "ConversionDestructibleActorParam_0p28_0p29.h"
+#include "ConversionDestructibleActorParam_0p29_0p30.h"
+#include "ConversionDestructibleActorParam_0p2_0p3.h"
+#include "ConversionDestructibleActorParam_0p30_0p31.h"
+#include "ConversionDestructibleActorParam_0p31_0p32.h"
+#include "ConversionDestructibleActorParam_0p3_0p4.h"
+#include "ConversionDestructibleActorParam_0p4_0p5.h"
+#include "ConversionDestructibleActorParam_0p5_0p6.h"
+#include "ConversionDestructibleActorParam_0p6_0p7.h"
+#include "ConversionDestructibleActorParam_0p7_0p8.h"
+#include "ConversionDestructibleActorParam_0p8_0p9.h"
+#include "ConversionDestructibleActorParam_0p9_0p10.h"
+#include "ConversionDestructibleActorState_0p0_0p1.h"
+#include "ConversionDestructibleActorState_0p1_0p2.h"
+#include "ConversionDestructibleActorState_0p2_0p3.h"
+#include "ConversionDestructibleActorState_0p3_0p4.h"
+#include "ConversionDestructibleAssetParameters_0p0_0p1.h"
+#include "ConversionDestructibleAssetParameters_0p10_0p11.h"
+#include "ConversionDestructibleAssetParameters_0p11_0p12.h"
+#include "ConversionDestructibleAssetParameters_0p12_0p13.h"
+#include "ConversionDestructibleAssetParameters_0p13_0p14.h"
+#include "ConversionDestructibleAssetParameters_0p14_0p15.h"
+#include "ConversionDestructibleAssetParameters_0p15_0p16.h"
+#include "ConversionDestructibleAssetParameters_0p16_0p17.h"
+#include "ConversionDestructibleAssetParameters_0p17_0p18.h"
+#include "ConversionDestructibleAssetParameters_0p18_0p19.h"
+#include "ConversionDestructibleAssetParameters_0p19_0p20.h"
+#include "ConversionDestructibleAssetParameters_0p1_0p2.h"
+#include "ConversionDestructibleAssetParameters_0p20_0p21.h"
+#include "ConversionDestructibleAssetParameters_0p21_0p22.h"
+#include "ConversionDestructibleAssetParameters_0p22_0p23.h"
+#include "ConversionDestructibleAssetParameters_0p23_0p24.h"
+#include "ConversionDestructibleAssetParameters_0p24_0p25.h"
+#include "ConversionDestructibleAssetParameters_0p25_0p26.h"
+#include "ConversionDestructibleAssetParameters_0p2_0p3.h"
+#include "ConversionDestructibleAssetParameters_0p3_0p4.h"
+#include "ConversionDestructibleAssetParameters_0p4_0p5.h"
+#include "ConversionDestructibleAssetParameters_0p5_0p6.h"
+#include "ConversionDestructibleAssetParameters_0p6_0p7.h"
+#include "ConversionDestructibleAssetParameters_0p7_0p8.h"
+#include "ConversionDestructibleAssetParameters_0p8_0p9.h"
+#include "ConversionDestructibleAssetParameters_0p9_0p10.h"
+#include "ConversionDestructibleModuleParameters_0p0_0p1.h"
+#include "ConversionDestructibleModuleParameters_0p1_0p2.h"
+#include "ConversionDestructibleModuleParameters_0p2_0p3.h"
+#include "ConversionSurfaceTraceSetParameters_0p0_0p1.h"
+#include "ConversionSurfaceTraceSetParameters_0p1_0p2.h"
+
+
+// global namespace
+
+class ModuleDestructibleLegacyRegistration : public NvParameterized::RegistrationsForTraitsBase
+{
+public:
+ static void invokeRegistration(NvParameterized::Traits* parameterizedTraits)
+ {
+ if (parameterizedTraits)
+ {
+ ModuleDestructibleLegacyRegistration().registerAll(*parameterizedTraits);
+ }
+ }
+
+ static void invokeUnregistration(NvParameterized::Traits* parameterizedTraits)
+ {
+ if (parameterizedTraits)
+ {
+ ModuleDestructibleLegacyRegistration().unregisterAll(*parameterizedTraits);
+ }
+ }
+
+ void registerAvailableFactories(NvParameterized::Traits& parameterizedTraits)
+ {
+ ::NvParameterized::Factory* factoriesToRegister[] = {
+// REGISTER GENERATED FACTORIES
+ new nvidia::parameterized::CachedOverlaps_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p1Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p10Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p11Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p12Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p13Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p14Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p15Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p16Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p17Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p18Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p19Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p2Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p20Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p21Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p22Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p23Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p24Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p25Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p26Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p27Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p28Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p29Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p3Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p30Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p31Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p4Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p5Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p6Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p7Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p8Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p9Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p1Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p2Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p3Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p0Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p1Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p10Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p11Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p12Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p13Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p14Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p15Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p16Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p17Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p18Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p19Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p2Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p20Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p21Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p22Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p23Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p24Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p25Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p3Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p4Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p5Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p6Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p7Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p8Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p9Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p0Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p1Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p2Factory(),
+ new nvidia::parameterized::SurfaceTraceSetParameters_0p0Factory(),
+ new nvidia::parameterized::SurfaceTraceSetParameters_0p1Factory(),
+
+ };
+
+ for (size_t i = 0; i < sizeof(factoriesToRegister)/sizeof(factoriesToRegister[0]); ++i)
+ {
+ parameterizedTraits.registerFactory(*factoriesToRegister[i]);
+ }
+ }
+
+ virtual void registerAvailableConverters(NvParameterized::Traits& parameterizedTraits)
+ {
+// REGISTER GENERATED CONVERSION
+ {
+ typedef nvidia::apex::legacy::ConversionCachedOverlaps_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p10_0p11 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p11_0p12 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p12_0p13 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p13_0p14 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p14_0p15 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p15_0p16 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p16_0p17 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p17_0p18 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p18_0p19 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p19_0p20 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p1_0p2 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p20_0p21 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p21_0p22 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p22_0p23 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p23_0p24 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p24_0p25 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p25_0p26 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p26_0p27 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p27_0p28 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p28_0p29 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p29_0p30 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p2_0p3 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p30_0p31 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p31_0p32 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p3_0p4 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p4_0p5 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p5_0p6 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p6_0p7 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p7_0p8 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p8_0p9 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p9_0p10 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p1_0p2 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p2_0p3 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p3_0p4 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p10_0p11 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p11_0p12 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p12_0p13 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p13_0p14 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p14_0p15 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p15_0p16 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p16_0p17 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p17_0p18 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p18_0p19 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p19_0p20 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p1_0p2 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p20_0p21 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p21_0p22 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p22_0p23 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p23_0p24 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p24_0p25 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p25_0p26 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p2_0p3 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p3_0p4 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p4_0p5 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p5_0p6 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p6_0p7 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p7_0p8 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p8_0p9 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p9_0p10 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p1_0p2 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p2_0p3 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p0_0p1 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p1_0p2 ConverterToRegister;
+ parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(),
+ ConverterToRegister::TOldClass::ClassVersion,
+ ConverterToRegister::TNewClass::ClassVersion,
+ *(ConverterToRegister::Create(&parameterizedTraits)));
+ }
+
+ }
+
+ void unregisterAvailableFactories(NvParameterized::Traits& parameterizedTraits)
+ {
+ struct FactoryDesc
+ {
+ const char* name;
+ uint32_t version;
+ };
+
+ ::NvParameterized::Factory* factoriesToUnregister[] = {
+// UNREGISTER GENERATED FACTORIES
+ new nvidia::parameterized::CachedOverlaps_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p1Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p10Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p11Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p12Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p13Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p14Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p15Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p16Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p17Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p18Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p19Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p2Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p20Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p21Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p22Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p23Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p24Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p25Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p26Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p27Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p28Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p29Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p3Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p30Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p31Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p4Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p5Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p6Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p7Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p8Factory(),
+ new nvidia::parameterized::DestructibleActorParam_0p9Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p0Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p1Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p2Factory(),
+ new nvidia::parameterized::DestructibleActorState_0p3Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p0Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p1Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p10Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p11Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p12Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p13Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p14Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p15Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p16Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p17Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p18Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p19Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p2Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p20Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p21Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p22Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p23Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p24Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p25Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p3Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p4Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p5Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p6Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p7Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p8Factory(),
+ new nvidia::parameterized::DestructibleAssetParameters_0p9Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p0Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p1Factory(),
+ new nvidia::parameterized::DestructibleModuleParameters_0p2Factory(),
+ new nvidia::parameterized::SurfaceTraceSetParameters_0p0Factory(),
+ new nvidia::parameterized::SurfaceTraceSetParameters_0p1Factory(),
+
+ };
+
+ for (size_t i = 0; i < sizeof(factoriesToUnregister)/sizeof(factoriesToUnregister[0]); ++i)
+ {
+ ::NvParameterized::Factory* removedFactory = parameterizedTraits.removeFactory(factoriesToUnregister[i]->getClassName(), factoriesToUnregister[i]->getVersion());
+ if (!removedFactory)
+ {
+ PX_ASSERT_WITH_MESSAGE(0, "Factory can not be removed!");
+ }
+ else
+ {
+ removedFactory->freeParameterDefinitionTable(&parameterizedTraits);
+ delete removedFactory;
+ delete factoriesToUnregister[i];
+ }
+ }
+ }
+
+ virtual void unregisterAvailableConverters(NvParameterized::Traits& parameterizedTraits)
+ {
+// UNREGISTER GENERATED CONVERSION
+ {
+ typedef nvidia::apex::legacy::ConversionCachedOverlaps_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p10_0p11 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p11_0p12 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p12_0p13 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p13_0p14 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p14_0p15 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p15_0p16 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p16_0p17 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p17_0p18 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p18_0p19 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p19_0p20 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p1_0p2 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p20_0p21 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p21_0p22 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p22_0p23 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p23_0p24 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p24_0p25 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p25_0p26 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p26_0p27 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p27_0p28 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p28_0p29 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p29_0p30 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p2_0p3 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p30_0p31 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p31_0p32 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p3_0p4 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p4_0p5 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p5_0p6 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p6_0p7 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p7_0p8 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p8_0p9 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p9_0p10 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p1_0p2 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p2_0p3 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p3_0p4 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p10_0p11 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p11_0p12 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p12_0p13 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p13_0p14 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p14_0p15 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p15_0p16 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p16_0p17 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p17_0p18 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p18_0p19 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p19_0p20 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p1_0p2 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p20_0p21 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p21_0p22 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p22_0p23 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p23_0p24 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p24_0p25 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p25_0p26 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p2_0p3 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p3_0p4 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p4_0p5 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p5_0p6 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p6_0p7 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p7_0p8 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p8_0p9 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p9_0p10 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p1_0p2 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p2_0p3 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p0_0p1 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+ {
+ typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p1_0p2 ConverterToUnregister;
+ ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(),
+ ConverterToUnregister::TOldClass::ClassVersion,
+ ConverterToUnregister::TNewClass::ClassVersion);
+ if (removedConv) {
+ removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE
+ } else {
+ // assert("Conversion was not found");
+ }
+ }
+
+ }
+
+};
+
+// global namespace
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h
new file mode 100644
index 00000000..2b688526
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h
@@ -0,0 +1,248 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_SurfaceTraceParameters_0p0_h
+#define HEADER_SurfaceTraceParameters_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SurfaceTraceParameters_0p0NS
+{
+
+
+struct U8_DynamicArray1D_Type
+{
+ uint8_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct U32_DynamicArray1D_Type
+{
+ uint32_t* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ U8_DynamicArray1D_Type submeshIndices;
+ U32_DynamicArray1D_Type vertexIndices;
+ physx::PxVec3 defaultNormal;
+
+};
+
+static const uint32_t checksum[] = { 0x97a690a9, 0x7c950c3a, 0x7e771c34, 0x41bed788, };
+
+} // namespace SurfaceTraceParameters_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SurfaceTraceParameters_0p0 : public NvParameterized::NvParameters, public SurfaceTraceParameters_0p0NS::ParametersStruct
+{
+public:
+ SurfaceTraceParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SurfaceTraceParameters_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SurfaceTraceParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SurfaceTraceParameters_0p0NS::checksum);
+ return SurfaceTraceParameters_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SurfaceTraceParameters_0p0NS::ParametersStruct& parameters(void) const
+ {
+ SurfaceTraceParameters_0p0* tmpThis = const_cast<SurfaceTraceParameters_0p0*>(this);
+ return *(static_cast<SurfaceTraceParameters_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ SurfaceTraceParameters_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SurfaceTraceParameters_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SurfaceTraceParameters_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SurfaceTraceParameters_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceParameters_0p0), SurfaceTraceParameters_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SurfaceTraceParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceParameters_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SurfaceTraceParameters_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceParameters_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SurfaceTraceParameters_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SurfaceTraceParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceParameters_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SurfaceTraceParameters_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SurfaceTraceParameters_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SurfaceTraceParameters_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SurfaceTraceParameters_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SurfaceTraceParameters_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SurfaceTraceParameters_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h
new file mode 100644
index 00000000..0e4c4485
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h
@@ -0,0 +1,238 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_SurfaceTraceSetParameters_0p0_h
+#define HEADER_SurfaceTraceSetParameters_0p0_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SurfaceTraceSetParameters_0p0NS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type traces;
+
+};
+
+static const uint32_t checksum[] = { 0x670003c1, 0x423421b5, 0x28339fb2, 0x38efed3a, };
+
+} // namespace SurfaceTraceSetParameters_0p0NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SurfaceTraceSetParameters_0p0 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p0NS::ParametersStruct
+{
+public:
+ SurfaceTraceSetParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SurfaceTraceSetParameters_0p0();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SurfaceTraceSetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SurfaceTraceSetParameters_0p0NS::checksum);
+ return SurfaceTraceSetParameters_0p0NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SurfaceTraceSetParameters_0p0NS::ParametersStruct& parameters(void) const
+ {
+ SurfaceTraceSetParameters_0p0* tmpThis = const_cast<SurfaceTraceSetParameters_0p0*>(this);
+ return *(static_cast<SurfaceTraceSetParameters_0p0NS::ParametersStruct*>(tmpThis));
+ }
+
+ SurfaceTraceSetParameters_0p0NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SurfaceTraceSetParameters_0p0NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SurfaceTraceSetParameters_0p0Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SurfaceTraceSetParameters_0p0::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p0), SurfaceTraceSetParameters_0p0::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p0");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p0)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p0)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p0::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p0::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p0");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SurfaceTraceSetParameters_0p0 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SurfaceTraceSetParameters_0p0*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SurfaceTraceSetParameters_0p0::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SurfaceTraceSetParameters_0p0::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SurfaceTraceSetParameters_0p0::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SurfaceTraceSetParameters_0p0::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h
new file mode 100644
index 00000000..872c9afd
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h
@@ -0,0 +1,239 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_SurfaceTraceSetParameters_0p1_h
+#define HEADER_SurfaceTraceSetParameters_0p1_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SurfaceTraceSetParameters_0p1NS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type traces;
+ physx::PxVec3 positionOffset;
+
+};
+
+static const uint32_t checksum[] = { 0x26c923b4, 0x640dec9c, 0x14b6de5c, 0x6ae751c8, };
+
+} // namespace SurfaceTraceSetParameters_0p1NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SurfaceTraceSetParameters_0p1 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p1NS::ParametersStruct
+{
+public:
+ SurfaceTraceSetParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SurfaceTraceSetParameters_0p1();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SurfaceTraceSetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SurfaceTraceSetParameters_0p1NS::checksum);
+ return SurfaceTraceSetParameters_0p1NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SurfaceTraceSetParameters_0p1NS::ParametersStruct& parameters(void) const
+ {
+ SurfaceTraceSetParameters_0p1* tmpThis = const_cast<SurfaceTraceSetParameters_0p1*>(this);
+ return *(static_cast<SurfaceTraceSetParameters_0p1NS::ParametersStruct*>(tmpThis));
+ }
+
+ SurfaceTraceSetParameters_0p1NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SurfaceTraceSetParameters_0p1NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SurfaceTraceSetParameters_0p1Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SurfaceTraceSetParameters_0p1::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p1), SurfaceTraceSetParameters_0p1::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p1");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p1)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p1)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p1::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p1::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p1");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SurfaceTraceSetParameters_0p1 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SurfaceTraceSetParameters_0p1*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SurfaceTraceSetParameters_0p1::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SurfaceTraceSetParameters_0p1::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SurfaceTraceSetParameters_0p1::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SurfaceTraceSetParameters_0p1::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h
new file mode 100644
index 00000000..50f46e6f
--- /dev/null
+++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h
@@ -0,0 +1,239 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and related documentation and
+// any modifications thereto. Any use, reproduction, disclosure, or
+// distribution of this software and related documentation without an express
+// license agreement from NVIDIA Corporation is strictly prohibited.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#ifndef HEADER_SurfaceTraceSetParameters_0p2_h
+#define HEADER_SurfaceTraceSetParameters_0p2_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SurfaceTraceSetParameters_0p2NS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type traces;
+ physx::PxVec3 positionOffset;
+
+};
+
+static const uint32_t checksum[] = { 0x7825b62c, 0x9ed33f77, 0x7851a472, 0xb4319f34, };
+
+} // namespace SurfaceTraceSetParameters_0p2NS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SurfaceTraceSetParameters_0p2 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p2NS::ParametersStruct
+{
+public:
+ SurfaceTraceSetParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SurfaceTraceSetParameters_0p2();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SurfaceTraceSetParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SurfaceTraceSetParameters_0p2NS::checksum);
+ return SurfaceTraceSetParameters_0p2NS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SurfaceTraceSetParameters_0p2NS::ParametersStruct& parameters(void) const
+ {
+ SurfaceTraceSetParameters_0p2* tmpThis = const_cast<SurfaceTraceSetParameters_0p2*>(this);
+ return *(static_cast<SurfaceTraceSetParameters_0p2NS::ParametersStruct*>(tmpThis));
+ }
+
+ SurfaceTraceSetParameters_0p2NS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SurfaceTraceSetParameters_0p2NS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SurfaceTraceSetParameters_0p2Factory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SurfaceTraceSetParameters_0p2::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p2), SurfaceTraceSetParameters_0p2::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p2");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p2)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p2)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p2::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p2::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p2");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SurfaceTraceSetParameters_0p2 here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SurfaceTraceSetParameters_0p2*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SurfaceTraceSetParameters_0p2::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SurfaceTraceSetParameters_0p2::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SurfaceTraceSetParameters_0p2::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SurfaceTraceSetParameters_0p2::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace parameterized
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif