1use super::class_requires::*;
2use super::*;
3#[allow(non_upper_case_globals, non_snake_case)]
10#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12#[derive(educe::Educe)]
13#[educe(Debug, Clone, Default, PartialEq)]
14pub struct hkpWorld {
15 #[cfg_attr(
22 feature = "serde",
23 serde(skip_serializing_if = "Option::is_none", default)
24 )]
25 pub __ptr: Option<Pointer>,
26 #[cfg_attr(feature = "json_schema", schemars(flatten))]
28 #[cfg_attr(feature = "serde", serde(flatten))]
29 pub parent: hkReferencedObject,
30 #[cfg_attr(feature = "json_schema", schemars(rename = "simulation"))]
35 #[cfg_attr(feature = "serde", serde(rename = "simulation"))]
36 pub m_simulation: Pointer,
37 #[cfg_attr(feature = "json_schema", schemars(rename = "gravity"))]
42 #[cfg_attr(feature = "serde", serde(rename = "gravity"))]
43 pub m_gravity: Vector4,
44 #[cfg_attr(feature = "json_schema", schemars(rename = "fixedIsland"))]
50 #[cfg_attr(feature = "serde", serde(rename = "fixedIsland"))]
51 pub m_fixedIsland: Pointer,
52 #[cfg_attr(feature = "json_schema", schemars(rename = "fixedRigidBody"))]
57 #[cfg_attr(feature = "serde", serde(rename = "fixedRigidBody"))]
58 pub m_fixedRigidBody: Pointer,
59 #[cfg_attr(feature = "json_schema", schemars(rename = "activeSimulationIslands"))]
65 #[cfg_attr(feature = "serde", serde(rename = "activeSimulationIslands"))]
66 pub m_activeSimulationIslands: Vec<Pointer>,
67 #[cfg_attr(feature = "json_schema", schemars(rename = "inactiveSimulationIslands"))]
73 #[cfg_attr(feature = "serde", serde(rename = "inactiveSimulationIslands"))]
74 pub m_inactiveSimulationIslands: Vec<Pointer>,
75 #[cfg_attr(feature = "json_schema", schemars(rename = "dirtySimulationIslands"))]
81 #[cfg_attr(feature = "serde", serde(rename = "dirtySimulationIslands"))]
82 pub m_dirtySimulationIslands: Vec<Pointer>,
83 #[cfg_attr(feature = "json_schema", schemars(rename = "maintenanceMgr"))]
89 #[cfg_attr(feature = "serde", serde(rename = "maintenanceMgr"))]
90 pub m_maintenanceMgr: Pointer,
91 #[cfg_attr(feature = "json_schema", schemars(rename = "memoryWatchDog"))]
97 #[cfg_attr(feature = "serde", serde(rename = "memoryWatchDog"))]
98 pub m_memoryWatchDog: Pointer,
99 #[cfg_attr(
105 feature = "json_schema",
106 schemars(rename = "assertOnRunningOutOfSolverMemory")
107 )]
108 #[cfg_attr(feature = "serde", serde(rename = "assertOnRunningOutOfSolverMemory"))]
109 pub m_assertOnRunningOutOfSolverMemory: bool,
110 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhase"))]
116 #[cfg_attr(feature = "serde", serde(rename = "broadPhase"))]
117 pub m_broadPhase: Pointer,
118 #[cfg_attr(feature = "json_schema", schemars(rename = "kdTreeManager"))]
124 #[cfg_attr(feature = "serde", serde(rename = "kdTreeManager"))]
125 pub m_kdTreeManager: Pointer,
126 #[cfg_attr(feature = "json_schema", schemars(rename = "autoUpdateTree"))]
131 #[cfg_attr(feature = "serde", serde(rename = "autoUpdateTree"))]
132 pub m_autoUpdateTree: bool,
133 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseDispatcher"))]
139 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseDispatcher"))]
140 pub m_broadPhaseDispatcher: Pointer,
141 #[cfg_attr(feature = "json_schema", schemars(rename = "phantomBroadPhaseListener"))]
147 #[cfg_attr(feature = "serde", serde(rename = "phantomBroadPhaseListener"))]
148 pub m_phantomBroadPhaseListener: Pointer,
149 #[cfg_attr(
155 feature = "json_schema",
156 schemars(rename = "entityEntityBroadPhaseListener")
157 )]
158 #[cfg_attr(feature = "serde", serde(rename = "entityEntityBroadPhaseListener"))]
159 pub m_entityEntityBroadPhaseListener: Pointer,
160 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseBorderListener"))]
166 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseBorderListener"))]
167 pub m_broadPhaseBorderListener: Pointer,
168 #[cfg_attr(
174 feature = "json_schema",
175 schemars(rename = "multithreadedSimulationJobData")
176 )]
177 #[cfg_attr(feature = "serde", serde(rename = "multithreadedSimulationJobData"))]
178 pub m_multithreadedSimulationJobData: Pointer,
179 #[cfg_attr(feature = "json_schema", schemars(rename = "collisionInput"))]
185 #[cfg_attr(feature = "serde", serde(rename = "collisionInput"))]
186 pub m_collisionInput: Pointer,
187 #[cfg_attr(feature = "json_schema", schemars(rename = "collisionFilter"))]
193 #[cfg_attr(feature = "serde", serde(rename = "collisionFilter"))]
194 pub m_collisionFilter: Pointer,
195 #[cfg_attr(feature = "json_schema", schemars(rename = "collisionDispatcher"))]
201 #[cfg_attr(feature = "serde", serde(rename = "collisionDispatcher"))]
202 pub m_collisionDispatcher: Pointer,
203 #[cfg_attr(feature = "json_schema", schemars(rename = "convexListFilter"))]
209 #[cfg_attr(feature = "serde", serde(rename = "convexListFilter"))]
210 pub m_convexListFilter: Pointer,
211 #[cfg_attr(feature = "json_schema", schemars(rename = "pendingOperations"))]
217 #[cfg_attr(feature = "serde", serde(rename = "pendingOperations"))]
218 pub m_pendingOperations: Pointer,
219 #[cfg_attr(feature = "json_schema", schemars(rename = "pendingOperationsCount"))]
224 #[cfg_attr(feature = "serde", serde(rename = "pendingOperationsCount"))]
225 pub m_pendingOperationsCount: i32,
226 #[cfg_attr(feature = "json_schema", schemars(rename = "pendingBodyOperationsCount"))]
232 #[cfg_attr(feature = "serde", serde(rename = "pendingBodyOperationsCount"))]
233 pub m_pendingBodyOperationsCount: i32,
234 #[cfg_attr(
239 feature = "json_schema",
240 schemars(rename = "criticalOperationsLockCount")
241 )]
242 #[cfg_attr(feature = "serde", serde(rename = "criticalOperationsLockCount"))]
243 pub m_criticalOperationsLockCount: i32,
244 #[cfg_attr(
249 feature = "json_schema",
250 schemars(rename = "criticalOperationsLockCountForPhantoms")
251 )]
252 #[cfg_attr(
253 feature = "serde",
254 serde(rename = "criticalOperationsLockCountForPhantoms")
255 )]
256 pub m_criticalOperationsLockCountForPhantoms: i32,
257 #[cfg_attr(
262 feature = "json_schema",
263 schemars(rename = "blockExecutingPendingOperations")
264 )]
265 #[cfg_attr(feature = "serde", serde(rename = "blockExecutingPendingOperations"))]
266 pub m_blockExecutingPendingOperations: bool,
267 #[cfg_attr(feature = "json_schema", schemars(rename = "criticalOperationsAllowed"))]
272 #[cfg_attr(feature = "serde", serde(rename = "criticalOperationsAllowed"))]
273 pub m_criticalOperationsAllowed: bool,
274 #[cfg_attr(feature = "json_schema", schemars(rename = "pendingOperationQueues"))]
280 #[cfg_attr(feature = "serde", serde(rename = "pendingOperationQueues"))]
281 pub m_pendingOperationQueues: Pointer,
282 #[cfg_attr(feature = "json_schema", schemars(rename = "pendingOperationQueueCount"))]
287 #[cfg_attr(feature = "serde", serde(rename = "pendingOperationQueueCount"))]
288 pub m_pendingOperationQueueCount: i32,
289 #[cfg_attr(feature = "json_schema", schemars(rename = "multiThreadCheck"))]
295 #[cfg_attr(feature = "serde", serde(rename = "multiThreadCheck"))]
296 pub m_multiThreadCheck: hkMultiThreadCheck,
297 #[cfg_attr(
302 feature = "json_schema",
303 schemars(rename = "processActionsInSingleThread")
304 )]
305 #[cfg_attr(feature = "serde", serde(rename = "processActionsInSingleThread"))]
306 pub m_processActionsInSingleThread: bool,
307 #[cfg_attr(
312 feature = "json_schema",
313 schemars(rename = "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob")
314 )]
315 #[cfg_attr(
316 feature = "serde",
317 serde(rename = "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob")
318 )]
319 pub m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob: bool,
320 #[cfg_attr(feature = "json_schema", schemars(rename = "minDesiredIslandSize"))]
325 #[cfg_attr(feature = "serde", serde(rename = "minDesiredIslandSize"))]
326 pub m_minDesiredIslandSize: u32,
327 #[cfg_attr(
333 feature = "json_schema",
334 schemars(rename = "modifyConstraintCriticalSection")
335 )]
336 #[cfg_attr(feature = "serde", serde(rename = "modifyConstraintCriticalSection"))]
337 pub m_modifyConstraintCriticalSection: Pointer,
338 #[cfg_attr(feature = "json_schema", schemars(rename = "isLocked"))]
343 #[cfg_attr(feature = "serde", serde(rename = "isLocked"))]
344 pub m_isLocked: i32,
345 #[cfg_attr(
351 feature = "json_schema",
352 schemars(rename = "islandDirtyListCriticalSection")
353 )]
354 #[cfg_attr(feature = "serde", serde(rename = "islandDirtyListCriticalSection"))]
355 pub m_islandDirtyListCriticalSection: Pointer,
356 #[cfg_attr(feature = "json_schema", schemars(rename = "propertyMasterLock"))]
362 #[cfg_attr(feature = "serde", serde(rename = "propertyMasterLock"))]
363 pub m_propertyMasterLock: Pointer,
364 #[cfg_attr(feature = "json_schema", schemars(rename = "wantSimulationIslands"))]
369 #[cfg_attr(feature = "serde", serde(rename = "wantSimulationIslands"))]
370 pub m_wantSimulationIslands: bool,
371 #[cfg_attr(feature = "json_schema", schemars(rename = "useHybridBroadphase"))]
377 #[cfg_attr(feature = "serde", serde(rename = "useHybridBroadphase"))]
378 pub m_useHybridBroadphase: bool,
379 #[cfg_attr(
384 feature = "json_schema",
385 schemars(rename = "snapCollisionToConvexEdgeThreshold")
386 )]
387 #[cfg_attr(feature = "serde", serde(rename = "snapCollisionToConvexEdgeThreshold"))]
388 pub m_snapCollisionToConvexEdgeThreshold: f32,
389 #[cfg_attr(
394 feature = "json_schema",
395 schemars(rename = "snapCollisionToConcaveEdgeThreshold")
396 )]
397 #[cfg_attr(feature = "serde", serde(rename = "snapCollisionToConcaveEdgeThreshold"))]
398 pub m_snapCollisionToConcaveEdgeThreshold: f32,
399 #[cfg_attr(feature = "json_schema", schemars(rename = "enableToiWeldRejection"))]
404 #[cfg_attr(feature = "serde", serde(rename = "enableToiWeldRejection"))]
405 pub m_enableToiWeldRejection: bool,
406 #[cfg_attr(feature = "json_schema", schemars(rename = "wantDeactivation"))]
411 #[cfg_attr(feature = "serde", serde(rename = "wantDeactivation"))]
412 pub m_wantDeactivation: bool,
413 #[cfg_attr(
418 feature = "json_schema",
419 schemars(rename = "shouldActivateOnRigidBodyTransformChange")
420 )]
421 #[cfg_attr(
422 feature = "serde",
423 serde(rename = "shouldActivateOnRigidBodyTransformChange")
424 )]
425 pub m_shouldActivateOnRigidBodyTransformChange: bool,
426 #[cfg_attr(
431 feature = "json_schema",
432 schemars(rename = "deactivationReferenceDistance")
433 )]
434 #[cfg_attr(feature = "serde", serde(rename = "deactivationReferenceDistance"))]
435 pub m_deactivationReferenceDistance: f32,
436 #[cfg_attr(
441 feature = "json_schema",
442 schemars(rename = "toiCollisionResponseRotateNormal")
443 )]
444 #[cfg_attr(feature = "serde", serde(rename = "toiCollisionResponseRotateNormal"))]
445 pub m_toiCollisionResponseRotateNormal: f32,
446 #[cfg_attr(
451 feature = "json_schema",
452 schemars(rename = "maxSectorsPerMidphaseCollideTask")
453 )]
454 #[cfg_attr(feature = "serde", serde(rename = "maxSectorsPerMidphaseCollideTask"))]
455 pub m_maxSectorsPerMidphaseCollideTask: i32,
456 #[cfg_attr(
461 feature = "json_schema",
462 schemars(rename = "maxSectorsPerNarrowphaseCollideTask")
463 )]
464 #[cfg_attr(feature = "serde", serde(rename = "maxSectorsPerNarrowphaseCollideTask"))]
465 pub m_maxSectorsPerNarrowphaseCollideTask: i32,
466 #[cfg_attr(feature = "json_schema", schemars(rename = "processToisMultithreaded"))]
471 #[cfg_attr(feature = "serde", serde(rename = "processToisMultithreaded"))]
472 pub m_processToisMultithreaded: bool,
473 #[cfg_attr(
478 feature = "json_schema",
479 schemars(rename = "maxEntriesPerToiMidphaseCollideTask")
480 )]
481 #[cfg_attr(feature = "serde", serde(rename = "maxEntriesPerToiMidphaseCollideTask"))]
482 pub m_maxEntriesPerToiMidphaseCollideTask: i32,
483 #[cfg_attr(
488 feature = "json_schema",
489 schemars(rename = "maxEntriesPerToiNarrowphaseCollideTask")
490 )]
491 #[cfg_attr(
492 feature = "serde",
493 serde(rename = "maxEntriesPerToiNarrowphaseCollideTask")
494 )]
495 pub m_maxEntriesPerToiNarrowphaseCollideTask: i32,
496 #[cfg_attr(
501 feature = "json_schema",
502 schemars(rename = "maxNumToiCollisionPairsSinglethreaded")
503 )]
504 #[cfg_attr(
505 feature = "serde",
506 serde(rename = "maxNumToiCollisionPairsSinglethreaded")
507 )]
508 pub m_maxNumToiCollisionPairsSinglethreaded: i32,
509 #[cfg_attr(feature = "json_schema", schemars(rename = "simulationType"))]
515 #[cfg_attr(feature = "serde", serde(rename = "simulationType"))]
516 pub m_simulationType: i32,
517 #[cfg_attr(
522 feature = "json_schema",
523 schemars(rename = "numToisTillAllowedPenetrationSimplifiedToi")
524 )]
525 #[cfg_attr(
526 feature = "serde",
527 serde(rename = "numToisTillAllowedPenetrationSimplifiedToi")
528 )]
529 pub m_numToisTillAllowedPenetrationSimplifiedToi: f32,
530 #[cfg_attr(
535 feature = "json_schema",
536 schemars(rename = "numToisTillAllowedPenetrationToi")
537 )]
538 #[cfg_attr(feature = "serde", serde(rename = "numToisTillAllowedPenetrationToi"))]
539 pub m_numToisTillAllowedPenetrationToi: f32,
540 #[cfg_attr(
545 feature = "json_schema",
546 schemars(rename = "numToisTillAllowedPenetrationToiHigher")
547 )]
548 #[cfg_attr(
549 feature = "serde",
550 serde(rename = "numToisTillAllowedPenetrationToiHigher")
551 )]
552 pub m_numToisTillAllowedPenetrationToiHigher: f32,
553 #[cfg_attr(
558 feature = "json_schema",
559 schemars(rename = "numToisTillAllowedPenetrationToiForced")
560 )]
561 #[cfg_attr(
562 feature = "serde",
563 serde(rename = "numToisTillAllowedPenetrationToiForced")
564 )]
565 pub m_numToisTillAllowedPenetrationToiForced: f32,
566 #[cfg_attr(feature = "json_schema", schemars(rename = "lastEntityUid"))]
571 #[cfg_attr(feature = "serde", serde(rename = "lastEntityUid"))]
572 pub m_lastEntityUid: u32,
573 #[cfg_attr(feature = "json_schema", schemars(rename = "lastIslandUid"))]
578 #[cfg_attr(feature = "serde", serde(rename = "lastIslandUid"))]
579 pub m_lastIslandUid: u32,
580 #[cfg_attr(feature = "json_schema", schemars(rename = "lastConstraintUid"))]
585 #[cfg_attr(feature = "serde", serde(rename = "lastConstraintUid"))]
586 pub m_lastConstraintUid: u32,
587 #[cfg_attr(feature = "json_schema", schemars(rename = "phantoms"))]
592 #[cfg_attr(feature = "serde", serde(rename = "phantoms"))]
593 pub m_phantoms: Vec<Pointer>,
594 #[cfg_attr(feature = "json_schema", schemars(rename = "actionListeners"))]
600 #[cfg_attr(feature = "serde", serde(rename = "actionListeners"))]
601 pub m_actionListeners: Vec<Pointer>,
602 #[cfg_attr(feature = "json_schema", schemars(rename = "entityListeners"))]
608 #[cfg_attr(feature = "serde", serde(rename = "entityListeners"))]
609 pub m_entityListeners: Vec<Pointer>,
610 #[cfg_attr(feature = "json_schema", schemars(rename = "phantomListeners"))]
616 #[cfg_attr(feature = "serde", serde(rename = "phantomListeners"))]
617 pub m_phantomListeners: Vec<Pointer>,
618 #[cfg_attr(feature = "json_schema", schemars(rename = "constraintListeners"))]
624 #[cfg_attr(feature = "serde", serde(rename = "constraintListeners"))]
625 pub m_constraintListeners: Vec<Pointer>,
626 #[cfg_attr(feature = "json_schema", schemars(rename = "worldDeletionListeners"))]
632 #[cfg_attr(feature = "serde", serde(rename = "worldDeletionListeners"))]
633 pub m_worldDeletionListeners: Vec<Pointer>,
634 #[cfg_attr(feature = "json_schema", schemars(rename = "islandActivationListeners"))]
640 #[cfg_attr(feature = "serde", serde(rename = "islandActivationListeners"))]
641 pub m_islandActivationListeners: Vec<Pointer>,
642 #[cfg_attr(
648 feature = "json_schema",
649 schemars(rename = "worldPostSimulationListeners")
650 )]
651 #[cfg_attr(feature = "serde", serde(rename = "worldPostSimulationListeners"))]
652 pub m_worldPostSimulationListeners: Vec<Pointer>,
653 #[cfg_attr(
659 feature = "json_schema",
660 schemars(rename = "worldPostIntegrateListeners")
661 )]
662 #[cfg_attr(feature = "serde", serde(rename = "worldPostIntegrateListeners"))]
663 pub m_worldPostIntegrateListeners: Vec<Pointer>,
664 #[cfg_attr(feature = "json_schema", schemars(rename = "worldPostCollideListeners"))]
670 #[cfg_attr(feature = "serde", serde(rename = "worldPostCollideListeners"))]
671 pub m_worldPostCollideListeners: Vec<Pointer>,
672 #[cfg_attr(
678 feature = "json_schema",
679 schemars(rename = "islandPostIntegrateListeners")
680 )]
681 #[cfg_attr(feature = "serde", serde(rename = "islandPostIntegrateListeners"))]
682 pub m_islandPostIntegrateListeners: Vec<Pointer>,
683 #[cfg_attr(feature = "json_schema", schemars(rename = "islandPostCollideListeners"))]
689 #[cfg_attr(feature = "serde", serde(rename = "islandPostCollideListeners"))]
690 pub m_islandPostCollideListeners: Vec<Pointer>,
691 #[cfg_attr(feature = "json_schema", schemars(rename = "contactListeners"))]
697 #[cfg_attr(feature = "serde", serde(rename = "contactListeners"))]
698 pub m_contactListeners: Vec<Pointer>,
699 #[cfg_attr(
705 feature = "json_schema",
706 schemars(rename = "contactImpulseLimitBreachedListeners")
707 )]
708 #[cfg_attr(
709 feature = "serde",
710 serde(rename = "contactImpulseLimitBreachedListeners")
711 )]
712 pub m_contactImpulseLimitBreachedListeners: Vec<Pointer>,
713 #[cfg_attr(feature = "json_schema", schemars(rename = "worldExtensions"))]
719 #[cfg_attr(feature = "serde", serde(rename = "worldExtensions"))]
720 pub m_worldExtensions: Vec<Pointer>,
721 #[cfg_attr(feature = "json_schema", schemars(rename = "violatedConstraintArray"))]
727 #[cfg_attr(feature = "serde", serde(rename = "violatedConstraintArray"))]
728 pub m_violatedConstraintArray: Pointer,
729 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseBorder"))]
735 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseBorder"))]
736 pub m_broadPhaseBorder: Pointer,
737 #[cfg_attr(feature = "json_schema", schemars(rename = "destructionWorld"))]
743 #[cfg_attr(feature = "serde", serde(rename = "destructionWorld"))]
744 pub m_destructionWorld: Pointer,
745 #[cfg_attr(feature = "json_schema", schemars(rename = "npWorld"))]
751 #[cfg_attr(feature = "serde", serde(rename = "npWorld"))]
752 pub m_npWorld: Pointer,
753 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseExtents"))]
758 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseExtents"))]
759 pub m_broadPhaseExtents: [Vector4; 2usize],
760 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseNumMarkers"))]
765 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseNumMarkers"))]
766 pub m_broadPhaseNumMarkers: i32,
767 #[cfg_attr(feature = "json_schema", schemars(rename = "sizeOfToiEventQueue"))]
772 #[cfg_attr(feature = "serde", serde(rename = "sizeOfToiEventQueue"))]
773 pub m_sizeOfToiEventQueue: i32,
774 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseQuerySize"))]
779 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseQuerySize"))]
780 pub m_broadPhaseQuerySize: i32,
781 #[cfg_attr(feature = "json_schema", schemars(rename = "broadPhaseUpdateSize"))]
786 #[cfg_attr(feature = "serde", serde(rename = "broadPhaseUpdateSize"))]
787 pub m_broadPhaseUpdateSize: i32,
788 #[cfg_attr(feature = "json_schema", schemars(rename = "contactPointGeneration"))]
794 #[cfg_attr(feature = "serde", serde(rename = "contactPointGeneration"))]
795 pub m_contactPointGeneration: i8,
796}
797const _: () = {
798 use havok_serde as _serde;
799 impl _serde::HavokClass for hkpWorld {
800 #[inline]
801 fn name(&self) -> &'static str {
802 "hkpWorld"
803 }
804 #[inline]
805 fn signature(&self) -> _serde::__private::Signature {
806 _serde::__private::Signature::new(0xaadcec37)
807 }
808 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
809 fn deps_indexes(&self) -> Vec<usize> {
810 let mut v = Vec::new();
811 v.push(self.m_simulation.get());
812 v.push(self.m_fixedIsland.get());
813 v.push(self.m_fixedRigidBody.get());
814 v.extend(self.m_activeSimulationIslands.iter().map(|ptr| ptr.get()));
815 v.extend(self.m_inactiveSimulationIslands.iter().map(|ptr| ptr.get()));
816 v.extend(self.m_dirtySimulationIslands.iter().map(|ptr| ptr.get()));
817 v.push(self.m_maintenanceMgr.get());
818 v.push(self.m_memoryWatchDog.get());
819 v.push(self.m_broadPhase.get());
820 v.push(self.m_kdTreeManager.get());
821 v.push(self.m_broadPhaseDispatcher.get());
822 v.push(self.m_phantomBroadPhaseListener.get());
823 v.push(self.m_entityEntityBroadPhaseListener.get());
824 v.push(self.m_broadPhaseBorderListener.get());
825 v.push(self.m_multithreadedSimulationJobData.get());
826 v.push(self.m_collisionInput.get());
827 v.push(self.m_collisionFilter.get());
828 v.push(self.m_collisionDispatcher.get());
829 v.push(self.m_convexListFilter.get());
830 v.push(self.m_pendingOperations.get());
831 v.push(self.m_pendingOperationQueues.get());
832 v.extend(self.m_multiThreadCheck.deps_indexes());
833 v.push(self.m_modifyConstraintCriticalSection.get());
834 v.push(self.m_islandDirtyListCriticalSection.get());
835 v.push(self.m_propertyMasterLock.get());
836 v.extend(self.m_phantoms.iter().map(|ptr| ptr.get()));
837 v.extend(self.m_actionListeners.iter().map(|ptr| ptr.get()));
838 v.extend(self.m_entityListeners.iter().map(|ptr| ptr.get()));
839 v.extend(self.m_phantomListeners.iter().map(|ptr| ptr.get()));
840 v.extend(self.m_constraintListeners.iter().map(|ptr| ptr.get()));
841 v.extend(self.m_worldDeletionListeners.iter().map(|ptr| ptr.get()));
842 v.extend(self.m_islandActivationListeners.iter().map(|ptr| ptr.get()));
843 v.extend(self.m_worldPostSimulationListeners.iter().map(|ptr| ptr.get()));
844 v.extend(self.m_worldPostIntegrateListeners.iter().map(|ptr| ptr.get()));
845 v.extend(self.m_worldPostCollideListeners.iter().map(|ptr| ptr.get()));
846 v.extend(self.m_islandPostIntegrateListeners.iter().map(|ptr| ptr.get()));
847 v.extend(self.m_islandPostCollideListeners.iter().map(|ptr| ptr.get()));
848 v.extend(self.m_contactListeners.iter().map(|ptr| ptr.get()));
849 v.extend(
850 self.m_contactImpulseLimitBreachedListeners.iter().map(|ptr| ptr.get()),
851 );
852 v.extend(self.m_worldExtensions.iter().map(|ptr| ptr.get()));
853 v.push(self.m_violatedConstraintArray.get());
854 v.push(self.m_broadPhaseBorder.get());
855 v.push(self.m_destructionWorld.get());
856 v.push(self.m_npWorld.get());
857 v
858 }
859 }
860 impl _serde::Serialize for hkpWorld {
861 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
862 where
863 S: _serde::ser::Serializer,
864 {
865 let class_meta = self
866 .__ptr
867 .map(|name| (name, _serde::__private::Signature::new(0xaadcec37)));
868 let mut serializer = __serializer
869 .serialize_struct("hkpWorld", class_meta, (864u64, 1072u64))?;
870 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
871 serializer.skip_field("memSizeAndFlags", &self.parent.m_memSizeAndFlags)?;
872 serializer.skip_field("referenceCount", &self.parent.m_referenceCount)?;
873 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
874 serializer.serialize_field("simulation", &self.m_simulation)?;
875 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
876 serializer.serialize_field("gravity", &self.m_gravity)?;
877 serializer.skip_field("fixedIsland", &self.m_fixedIsland)?;
878 serializer.serialize_field("fixedRigidBody", &self.m_fixedRigidBody)?;
879 serializer
880 .skip_array_field(
881 "activeSimulationIslands",
882 &self.m_activeSimulationIslands,
883 TypeSize::NonPtr,
884 )?;
885 serializer
886 .skip_array_field(
887 "inactiveSimulationIslands",
888 &self.m_inactiveSimulationIslands,
889 TypeSize::NonPtr,
890 )?;
891 serializer
892 .skip_array_field(
893 "dirtySimulationIslands",
894 &self.m_dirtySimulationIslands,
895 TypeSize::NonPtr,
896 )?;
897 serializer.skip_field("maintenanceMgr", &self.m_maintenanceMgr)?;
898 serializer.skip_field("memoryWatchDog", &self.m_memoryWatchDog)?;
899 serializer
900 .skip_field(
901 "assertOnRunningOutOfSolverMemory",
902 &self.m_assertOnRunningOutOfSolverMemory,
903 )?;
904 serializer.pad_field([0u8; 3usize].as_slice(), [0u8; 7usize].as_slice())?;
905 serializer.skip_field("broadPhase", &self.m_broadPhase)?;
906 serializer.skip_field("kdTreeManager", &self.m_kdTreeManager)?;
907 serializer.serialize_field("autoUpdateTree", &self.m_autoUpdateTree)?;
908 serializer.pad_field([0u8; 3usize].as_slice(), [0u8; 7usize].as_slice())?;
909 serializer.skip_field("broadPhaseDispatcher", &self.m_broadPhaseDispatcher)?;
910 serializer
911 .skip_field(
912 "phantomBroadPhaseListener",
913 &self.m_phantomBroadPhaseListener,
914 )?;
915 serializer
916 .skip_field(
917 "entityEntityBroadPhaseListener",
918 &self.m_entityEntityBroadPhaseListener,
919 )?;
920 serializer
921 .skip_field(
922 "broadPhaseBorderListener",
923 &self.m_broadPhaseBorderListener,
924 )?;
925 serializer
926 .skip_field(
927 "multithreadedSimulationJobData",
928 &self.m_multithreadedSimulationJobData,
929 )?;
930 serializer.skip_field("collisionInput", &self.m_collisionInput)?;
931 serializer.skip_field("collisionFilter", &self.m_collisionFilter)?;
932 serializer.skip_field("collisionDispatcher", &self.m_collisionDispatcher)?;
933 serializer.skip_field("convexListFilter", &self.m_convexListFilter)?;
934 serializer.skip_field("pendingOperations", &self.m_pendingOperations)?;
935 serializer
936 .serialize_field(
937 "pendingOperationsCount",
938 &self.m_pendingOperationsCount,
939 )?;
940 serializer
941 .skip_field(
942 "pendingBodyOperationsCount",
943 &self.m_pendingBodyOperationsCount,
944 )?;
945 serializer
946 .serialize_field(
947 "criticalOperationsLockCount",
948 &self.m_criticalOperationsLockCount,
949 )?;
950 serializer
951 .serialize_field(
952 "criticalOperationsLockCountForPhantoms",
953 &self.m_criticalOperationsLockCountForPhantoms,
954 )?;
955 serializer
956 .serialize_field(
957 "blockExecutingPendingOperations",
958 &self.m_blockExecutingPendingOperations,
959 )?;
960 serializer
961 .serialize_field(
962 "criticalOperationsAllowed",
963 &self.m_criticalOperationsAllowed,
964 )?;
965 serializer.pad_field([0u8; 2usize].as_slice(), [0u8; 6usize].as_slice())?;
966 serializer
967 .skip_field("pendingOperationQueues", &self.m_pendingOperationQueues)?;
968 serializer
969 .serialize_field(
970 "pendingOperationQueueCount",
971 &self.m_pendingOperationQueueCount,
972 )?;
973 serializer.skip_field("multiThreadCheck", &self.m_multiThreadCheck)?;
974 serializer
975 .serialize_field(
976 "processActionsInSingleThread",
977 &self.m_processActionsInSingleThread,
978 )?;
979 serializer
980 .serialize_field(
981 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
982 &self.m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
983 )?;
984 serializer.pad_field([0u8; 2usize].as_slice(), [0u8; 2usize].as_slice())?;
985 serializer
986 .serialize_field("minDesiredIslandSize", &self.m_minDesiredIslandSize)?;
987 serializer
988 .skip_field(
989 "modifyConstraintCriticalSection",
990 &self.m_modifyConstraintCriticalSection,
991 )?;
992 serializer.serialize_field("isLocked", &self.m_isLocked)?;
993 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
994 serializer
995 .skip_field(
996 "islandDirtyListCriticalSection",
997 &self.m_islandDirtyListCriticalSection,
998 )?;
999 serializer.skip_field("propertyMasterLock", &self.m_propertyMasterLock)?;
1000 serializer
1001 .serialize_field(
1002 "wantSimulationIslands",
1003 &self.m_wantSimulationIslands,
1004 )?;
1005 serializer.skip_field("useHybridBroadphase", &self.m_useHybridBroadphase)?;
1006 serializer.pad_field([0u8; 2usize].as_slice(), [0u8; 2usize].as_slice())?;
1007 serializer
1008 .serialize_field(
1009 "snapCollisionToConvexEdgeThreshold",
1010 &self.m_snapCollisionToConvexEdgeThreshold,
1011 )?;
1012 serializer
1013 .serialize_field(
1014 "snapCollisionToConcaveEdgeThreshold",
1015 &self.m_snapCollisionToConcaveEdgeThreshold,
1016 )?;
1017 serializer
1018 .serialize_field(
1019 "enableToiWeldRejection",
1020 &self.m_enableToiWeldRejection,
1021 )?;
1022 serializer.serialize_field("wantDeactivation", &self.m_wantDeactivation)?;
1023 serializer
1024 .serialize_field(
1025 "shouldActivateOnRigidBodyTransformChange",
1026 &self.m_shouldActivateOnRigidBodyTransformChange,
1027 )?;
1028 serializer.pad_field([0u8; 1usize].as_slice(), [0u8; 1usize].as_slice())?;
1029 serializer
1030 .serialize_field(
1031 "deactivationReferenceDistance",
1032 &self.m_deactivationReferenceDistance,
1033 )?;
1034 serializer
1035 .serialize_field(
1036 "toiCollisionResponseRotateNormal",
1037 &self.m_toiCollisionResponseRotateNormal,
1038 )?;
1039 serializer
1040 .serialize_field(
1041 "maxSectorsPerMidphaseCollideTask",
1042 &self.m_maxSectorsPerMidphaseCollideTask,
1043 )?;
1044 serializer
1045 .serialize_field(
1046 "maxSectorsPerNarrowphaseCollideTask",
1047 &self.m_maxSectorsPerNarrowphaseCollideTask,
1048 )?;
1049 serializer
1050 .serialize_field(
1051 "processToisMultithreaded",
1052 &self.m_processToisMultithreaded,
1053 )?;
1054 serializer.pad_field([0u8; 3usize].as_slice(), [0u8; 3usize].as_slice())?;
1055 serializer
1056 .serialize_field(
1057 "maxEntriesPerToiMidphaseCollideTask",
1058 &self.m_maxEntriesPerToiMidphaseCollideTask,
1059 )?;
1060 serializer
1061 .serialize_field(
1062 "maxEntriesPerToiNarrowphaseCollideTask",
1063 &self.m_maxEntriesPerToiNarrowphaseCollideTask,
1064 )?;
1065 serializer
1066 .serialize_field(
1067 "maxNumToiCollisionPairsSinglethreaded",
1068 &self.m_maxNumToiCollisionPairsSinglethreaded,
1069 )?;
1070 serializer.skip_field("simulationType", &self.m_simulationType)?;
1071 serializer
1072 .serialize_field(
1073 "numToisTillAllowedPenetrationSimplifiedToi",
1074 &self.m_numToisTillAllowedPenetrationSimplifiedToi,
1075 )?;
1076 serializer
1077 .serialize_field(
1078 "numToisTillAllowedPenetrationToi",
1079 &self.m_numToisTillAllowedPenetrationToi,
1080 )?;
1081 serializer
1082 .serialize_field(
1083 "numToisTillAllowedPenetrationToiHigher",
1084 &self.m_numToisTillAllowedPenetrationToiHigher,
1085 )?;
1086 serializer
1087 .serialize_field(
1088 "numToisTillAllowedPenetrationToiForced",
1089 &self.m_numToisTillAllowedPenetrationToiForced,
1090 )?;
1091 serializer.serialize_field("lastEntityUid", &self.m_lastEntityUid)?;
1092 serializer.serialize_field("lastIslandUid", &self.m_lastIslandUid)?;
1093 serializer.serialize_field("lastConstraintUid", &self.m_lastConstraintUid)?;
1094 serializer
1095 .serialize_array_field("phantoms", &self.m_phantoms, TypeSize::NonPtr)?;
1096 serializer
1097 .skip_array_field(
1098 "actionListeners",
1099 &self.m_actionListeners,
1100 TypeSize::NonPtr,
1101 )?;
1102 serializer
1103 .skip_array_field(
1104 "entityListeners",
1105 &self.m_entityListeners,
1106 TypeSize::NonPtr,
1107 )?;
1108 serializer
1109 .skip_array_field(
1110 "phantomListeners",
1111 &self.m_phantomListeners,
1112 TypeSize::NonPtr,
1113 )?;
1114 serializer
1115 .skip_array_field(
1116 "constraintListeners",
1117 &self.m_constraintListeners,
1118 TypeSize::NonPtr,
1119 )?;
1120 serializer
1121 .skip_array_field(
1122 "worldDeletionListeners",
1123 &self.m_worldDeletionListeners,
1124 TypeSize::NonPtr,
1125 )?;
1126 serializer
1127 .skip_array_field(
1128 "islandActivationListeners",
1129 &self.m_islandActivationListeners,
1130 TypeSize::NonPtr,
1131 )?;
1132 serializer
1133 .skip_array_field(
1134 "worldPostSimulationListeners",
1135 &self.m_worldPostSimulationListeners,
1136 TypeSize::NonPtr,
1137 )?;
1138 serializer
1139 .skip_array_field(
1140 "worldPostIntegrateListeners",
1141 &self.m_worldPostIntegrateListeners,
1142 TypeSize::NonPtr,
1143 )?;
1144 serializer
1145 .skip_array_field(
1146 "worldPostCollideListeners",
1147 &self.m_worldPostCollideListeners,
1148 TypeSize::NonPtr,
1149 )?;
1150 serializer
1151 .skip_array_field(
1152 "islandPostIntegrateListeners",
1153 &self.m_islandPostIntegrateListeners,
1154 TypeSize::NonPtr,
1155 )?;
1156 serializer
1157 .skip_array_field(
1158 "islandPostCollideListeners",
1159 &self.m_islandPostCollideListeners,
1160 TypeSize::NonPtr,
1161 )?;
1162 serializer
1163 .skip_array_field(
1164 "contactListeners",
1165 &self.m_contactListeners,
1166 TypeSize::NonPtr,
1167 )?;
1168 serializer
1169 .skip_array_field(
1170 "contactImpulseLimitBreachedListeners",
1171 &self.m_contactImpulseLimitBreachedListeners,
1172 TypeSize::NonPtr,
1173 )?;
1174 serializer
1175 .skip_array_field(
1176 "worldExtensions",
1177 &self.m_worldExtensions,
1178 TypeSize::NonPtr,
1179 )?;
1180 serializer
1181 .skip_field("violatedConstraintArray", &self.m_violatedConstraintArray)?;
1182 serializer.skip_field("broadPhaseBorder", &self.m_broadPhaseBorder)?;
1183 serializer.skip_field("destructionWorld", &self.m_destructionWorld)?;
1184 serializer.skip_field("npWorld", &self.m_npWorld)?;
1185 serializer
1186 .pad_field([0u8; 320usize].as_slice(), [0u8; 328usize].as_slice())?;
1187 serializer
1188 .serialize_fixed_array_field(
1189 "broadPhaseExtents",
1190 self.m_broadPhaseExtents.as_slice(),
1191 TypeSize::NonPtr,
1192 )?;
1193 serializer
1194 .serialize_field("broadPhaseNumMarkers", &self.m_broadPhaseNumMarkers)?;
1195 serializer
1196 .serialize_field("sizeOfToiEventQueue", &self.m_sizeOfToiEventQueue)?;
1197 serializer
1198 .serialize_field("broadPhaseQuerySize", &self.m_broadPhaseQuerySize)?;
1199 serializer
1200 .serialize_field("broadPhaseUpdateSize", &self.m_broadPhaseUpdateSize)?;
1201 serializer
1202 .skip_field("contactPointGeneration", &self.m_contactPointGeneration)?;
1203 serializer.pad_field([0u8; 15usize].as_slice(), [0u8; 15usize].as_slice())?;
1204 serializer.end()
1205 }
1206 }
1207};
1208#[doc(hidden)]
1209#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
1210const _: () = {
1211 use havok_serde as _serde;
1212 #[automatically_derived]
1213 impl<'de> _serde::Deserialize<'de> for hkpWorld {
1214 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
1215 where
1216 __D: _serde::Deserializer<'de>,
1217 {
1218 #[allow(non_camel_case_types)]
1219 enum __Field {
1220 m_simulation,
1221 m_gravity,
1222 m_fixedRigidBody,
1223 m_autoUpdateTree,
1224 m_pendingOperationsCount,
1225 m_criticalOperationsLockCount,
1226 m_criticalOperationsLockCountForPhantoms,
1227 m_blockExecutingPendingOperations,
1228 m_criticalOperationsAllowed,
1229 m_pendingOperationQueueCount,
1230 m_processActionsInSingleThread,
1231 m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
1232 m_minDesiredIslandSize,
1233 m_isLocked,
1234 m_wantSimulationIslands,
1235 m_snapCollisionToConvexEdgeThreshold,
1236 m_snapCollisionToConcaveEdgeThreshold,
1237 m_enableToiWeldRejection,
1238 m_wantDeactivation,
1239 m_shouldActivateOnRigidBodyTransformChange,
1240 m_deactivationReferenceDistance,
1241 m_toiCollisionResponseRotateNormal,
1242 m_maxSectorsPerMidphaseCollideTask,
1243 m_maxSectorsPerNarrowphaseCollideTask,
1244 m_processToisMultithreaded,
1245 m_maxEntriesPerToiMidphaseCollideTask,
1246 m_maxEntriesPerToiNarrowphaseCollideTask,
1247 m_maxNumToiCollisionPairsSinglethreaded,
1248 m_numToisTillAllowedPenetrationSimplifiedToi,
1249 m_numToisTillAllowedPenetrationToi,
1250 m_numToisTillAllowedPenetrationToiHigher,
1251 m_numToisTillAllowedPenetrationToiForced,
1252 m_lastEntityUid,
1253 m_lastIslandUid,
1254 m_lastConstraintUid,
1255 m_phantoms,
1256 m_broadPhaseExtents,
1257 m_broadPhaseNumMarkers,
1258 m_sizeOfToiEventQueue,
1259 m_broadPhaseQuerySize,
1260 m_broadPhaseUpdateSize,
1261 __ignore,
1262 }
1263 struct __FieldVisitor;
1264 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
1265 type Value = __Field;
1266 fn expecting(
1267 &self,
1268 __formatter: &mut core::fmt::Formatter,
1269 ) -> core::fmt::Result {
1270 core::fmt::Formatter::write_str(__formatter, "field identifier")
1271 }
1272 #[allow(clippy::match_single_binding)]
1274 #[allow(clippy::reversed_empty_ranges)]
1275 #[allow(clippy::single_match)]
1276 fn visit_key<__E>(
1277 self,
1278 __value: &str,
1279 ) -> core::result::Result<Self::Value, __E>
1280 where
1281 __E: _serde::de::Error,
1282 {
1283 match __value {
1284 "simulation" => Ok(__Field::m_simulation),
1285 "gravity" => Ok(__Field::m_gravity),
1286 "fixedRigidBody" => Ok(__Field::m_fixedRigidBody),
1287 "autoUpdateTree" => Ok(__Field::m_autoUpdateTree),
1288 "pendingOperationsCount" => Ok(__Field::m_pendingOperationsCount),
1289 "criticalOperationsLockCount" => {
1290 Ok(__Field::m_criticalOperationsLockCount)
1291 }
1292 "criticalOperationsLockCountForPhantoms" => {
1293 Ok(__Field::m_criticalOperationsLockCountForPhantoms)
1294 }
1295 "blockExecutingPendingOperations" => {
1296 Ok(__Field::m_blockExecutingPendingOperations)
1297 }
1298 "criticalOperationsAllowed" => {
1299 Ok(__Field::m_criticalOperationsAllowed)
1300 }
1301 "pendingOperationQueueCount" => {
1302 Ok(__Field::m_pendingOperationQueueCount)
1303 }
1304 "processActionsInSingleThread" => {
1305 Ok(__Field::m_processActionsInSingleThread)
1306 }
1307 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob" => {
1308 Ok(
1309 __Field::m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
1310 )
1311 }
1312 "minDesiredIslandSize" => Ok(__Field::m_minDesiredIslandSize),
1313 "isLocked" => Ok(__Field::m_isLocked),
1314 "wantSimulationIslands" => Ok(__Field::m_wantSimulationIslands),
1315 "snapCollisionToConvexEdgeThreshold" => {
1316 Ok(__Field::m_snapCollisionToConvexEdgeThreshold)
1317 }
1318 "snapCollisionToConcaveEdgeThreshold" => {
1319 Ok(__Field::m_snapCollisionToConcaveEdgeThreshold)
1320 }
1321 "enableToiWeldRejection" => Ok(__Field::m_enableToiWeldRejection),
1322 "wantDeactivation" => Ok(__Field::m_wantDeactivation),
1323 "shouldActivateOnRigidBodyTransformChange" => {
1324 Ok(__Field::m_shouldActivateOnRigidBodyTransformChange)
1325 }
1326 "deactivationReferenceDistance" => {
1327 Ok(__Field::m_deactivationReferenceDistance)
1328 }
1329 "toiCollisionResponseRotateNormal" => {
1330 Ok(__Field::m_toiCollisionResponseRotateNormal)
1331 }
1332 "maxSectorsPerMidphaseCollideTask" => {
1333 Ok(__Field::m_maxSectorsPerMidphaseCollideTask)
1334 }
1335 "maxSectorsPerNarrowphaseCollideTask" => {
1336 Ok(__Field::m_maxSectorsPerNarrowphaseCollideTask)
1337 }
1338 "processToisMultithreaded" => {
1339 Ok(__Field::m_processToisMultithreaded)
1340 }
1341 "maxEntriesPerToiMidphaseCollideTask" => {
1342 Ok(__Field::m_maxEntriesPerToiMidphaseCollideTask)
1343 }
1344 "maxEntriesPerToiNarrowphaseCollideTask" => {
1345 Ok(__Field::m_maxEntriesPerToiNarrowphaseCollideTask)
1346 }
1347 "maxNumToiCollisionPairsSinglethreaded" => {
1348 Ok(__Field::m_maxNumToiCollisionPairsSinglethreaded)
1349 }
1350 "numToisTillAllowedPenetrationSimplifiedToi" => {
1351 Ok(__Field::m_numToisTillAllowedPenetrationSimplifiedToi)
1352 }
1353 "numToisTillAllowedPenetrationToi" => {
1354 Ok(__Field::m_numToisTillAllowedPenetrationToi)
1355 }
1356 "numToisTillAllowedPenetrationToiHigher" => {
1357 Ok(__Field::m_numToisTillAllowedPenetrationToiHigher)
1358 }
1359 "numToisTillAllowedPenetrationToiForced" => {
1360 Ok(__Field::m_numToisTillAllowedPenetrationToiForced)
1361 }
1362 "lastEntityUid" => Ok(__Field::m_lastEntityUid),
1363 "lastIslandUid" => Ok(__Field::m_lastIslandUid),
1364 "lastConstraintUid" => Ok(__Field::m_lastConstraintUid),
1365 "phantoms" => Ok(__Field::m_phantoms),
1366 "broadPhaseExtents" => Ok(__Field::m_broadPhaseExtents),
1367 "broadPhaseNumMarkers" => Ok(__Field::m_broadPhaseNumMarkers),
1368 "sizeOfToiEventQueue" => Ok(__Field::m_sizeOfToiEventQueue),
1369 "broadPhaseQuerySize" => Ok(__Field::m_broadPhaseQuerySize),
1370 "broadPhaseUpdateSize" => Ok(__Field::m_broadPhaseUpdateSize),
1371 _ => Ok(__Field::__ignore),
1372 }
1373 }
1374 }
1375 impl<'de> _serde::Deserialize<'de> for __Field {
1376 #[inline]
1377 fn deserialize<__D>(
1378 __deserializer: __D,
1379 ) -> core::result::Result<Self, __D::Error>
1380 where
1381 __D: _serde::Deserializer<'de>,
1382 {
1383 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
1384 }
1385 }
1386 struct __hkpWorldVisitor<'de> {
1387 marker: _serde::__private::PhantomData<hkpWorld>,
1388 lifetime: _serde::__private::PhantomData<&'de ()>,
1389 }
1390 #[allow(clippy::match_single_binding)]
1391 #[allow(clippy::reversed_empty_ranges)]
1392 #[allow(clippy::single_match)]
1393 impl<'de> _serde::de::Visitor<'de> for __hkpWorldVisitor<'de> {
1394 type Value = hkpWorld;
1395 fn expecting(
1396 &self,
1397 __formatter: &mut core::fmt::Formatter,
1398 ) -> core::fmt::Result {
1399 core::fmt::Formatter::write_str(__formatter, "struct hkpWorld")
1400 }
1401 fn visit_struct_for_bytes<__A>(
1402 self,
1403 mut __map: __A,
1404 ) -> _serde::__private::Result<Self::Value, __A::Error>
1405 where
1406 __A: _serde::de::MapAccess<'de>,
1407 {
1408 let __ptr = __A::class_ptr(&mut __map);
1409 let parent = __A::parent_value(&mut __map)?;
1410 let mut m_simulation: _serde::__private::Option<Pointer> = _serde::__private::None;
1411 let mut m_gravity: _serde::__private::Option<Vector4> = _serde::__private::None;
1412 let mut m_fixedIsland: _serde::__private::Option<Pointer> = _serde::__private::None;
1413 let mut m_fixedRigidBody: _serde::__private::Option<Pointer> = _serde::__private::None;
1414 let mut m_activeSimulationIslands: _serde::__private::Option<
1415 Vec<Pointer>,
1416 > = _serde::__private::None;
1417 let mut m_inactiveSimulationIslands: _serde::__private::Option<
1418 Vec<Pointer>,
1419 > = _serde::__private::None;
1420 let mut m_dirtySimulationIslands: _serde::__private::Option<
1421 Vec<Pointer>,
1422 > = _serde::__private::None;
1423 let mut m_maintenanceMgr: _serde::__private::Option<Pointer> = _serde::__private::None;
1424 let mut m_memoryWatchDog: _serde::__private::Option<Pointer> = _serde::__private::None;
1425 let mut m_assertOnRunningOutOfSolverMemory: _serde::__private::Option<
1426 bool,
1427 > = _serde::__private::None;
1428 let mut m_broadPhase: _serde::__private::Option<Pointer> = _serde::__private::None;
1429 let mut m_kdTreeManager: _serde::__private::Option<Pointer> = _serde::__private::None;
1430 let mut m_autoUpdateTree: _serde::__private::Option<bool> = _serde::__private::None;
1431 let mut m_broadPhaseDispatcher: _serde::__private::Option<Pointer> = _serde::__private::None;
1432 let mut m_phantomBroadPhaseListener: _serde::__private::Option<
1433 Pointer,
1434 > = _serde::__private::None;
1435 let mut m_entityEntityBroadPhaseListener: _serde::__private::Option<
1436 Pointer,
1437 > = _serde::__private::None;
1438 let mut m_broadPhaseBorderListener: _serde::__private::Option<
1439 Pointer,
1440 > = _serde::__private::None;
1441 let mut m_multithreadedSimulationJobData: _serde::__private::Option<
1442 Pointer,
1443 > = _serde::__private::None;
1444 let mut m_collisionInput: _serde::__private::Option<Pointer> = _serde::__private::None;
1445 let mut m_collisionFilter: _serde::__private::Option<Pointer> = _serde::__private::None;
1446 let mut m_collisionDispatcher: _serde::__private::Option<Pointer> = _serde::__private::None;
1447 let mut m_convexListFilter: _serde::__private::Option<Pointer> = _serde::__private::None;
1448 let mut m_pendingOperations: _serde::__private::Option<Pointer> = _serde::__private::None;
1449 let mut m_pendingOperationsCount: _serde::__private::Option<i32> = _serde::__private::None;
1450 let mut m_pendingBodyOperationsCount: _serde::__private::Option<
1451 i32,
1452 > = _serde::__private::None;
1453 let mut m_criticalOperationsLockCount: _serde::__private::Option<
1454 i32,
1455 > = _serde::__private::None;
1456 let mut m_criticalOperationsLockCountForPhantoms: _serde::__private::Option<
1457 i32,
1458 > = _serde::__private::None;
1459 let mut m_blockExecutingPendingOperations: _serde::__private::Option<
1460 bool,
1461 > = _serde::__private::None;
1462 let mut m_criticalOperationsAllowed: _serde::__private::Option<
1463 bool,
1464 > = _serde::__private::None;
1465 let mut m_pendingOperationQueues: _serde::__private::Option<
1466 Pointer,
1467 > = _serde::__private::None;
1468 let mut m_pendingOperationQueueCount: _serde::__private::Option<
1469 i32,
1470 > = _serde::__private::None;
1471 let mut m_multiThreadCheck: _serde::__private::Option<
1472 hkMultiThreadCheck,
1473 > = _serde::__private::None;
1474 let mut m_processActionsInSingleThread: _serde::__private::Option<
1475 bool,
1476 > = _serde::__private::None;
1477 let mut m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob: _serde::__private::Option<
1478 bool,
1479 > = _serde::__private::None;
1480 let mut m_minDesiredIslandSize: _serde::__private::Option<u32> = _serde::__private::None;
1481 let mut m_modifyConstraintCriticalSection: _serde::__private::Option<
1482 Pointer,
1483 > = _serde::__private::None;
1484 let mut m_isLocked: _serde::__private::Option<i32> = _serde::__private::None;
1485 let mut m_islandDirtyListCriticalSection: _serde::__private::Option<
1486 Pointer,
1487 > = _serde::__private::None;
1488 let mut m_propertyMasterLock: _serde::__private::Option<Pointer> = _serde::__private::None;
1489 let mut m_wantSimulationIslands: _serde::__private::Option<bool> = _serde::__private::None;
1490 let mut m_useHybridBroadphase: _serde::__private::Option<bool> = _serde::__private::None;
1491 let mut m_snapCollisionToConvexEdgeThreshold: _serde::__private::Option<
1492 f32,
1493 > = _serde::__private::None;
1494 let mut m_snapCollisionToConcaveEdgeThreshold: _serde::__private::Option<
1495 f32,
1496 > = _serde::__private::None;
1497 let mut m_enableToiWeldRejection: _serde::__private::Option<bool> = _serde::__private::None;
1498 let mut m_wantDeactivation: _serde::__private::Option<bool> = _serde::__private::None;
1499 let mut m_shouldActivateOnRigidBodyTransformChange: _serde::__private::Option<
1500 bool,
1501 > = _serde::__private::None;
1502 let mut m_deactivationReferenceDistance: _serde::__private::Option<
1503 f32,
1504 > = _serde::__private::None;
1505 let mut m_toiCollisionResponseRotateNormal: _serde::__private::Option<
1506 f32,
1507 > = _serde::__private::None;
1508 let mut m_maxSectorsPerMidphaseCollideTask: _serde::__private::Option<
1509 i32,
1510 > = _serde::__private::None;
1511 let mut m_maxSectorsPerNarrowphaseCollideTask: _serde::__private::Option<
1512 i32,
1513 > = _serde::__private::None;
1514 let mut m_processToisMultithreaded: _serde::__private::Option<
1515 bool,
1516 > = _serde::__private::None;
1517 let mut m_maxEntriesPerToiMidphaseCollideTask: _serde::__private::Option<
1518 i32,
1519 > = _serde::__private::None;
1520 let mut m_maxEntriesPerToiNarrowphaseCollideTask: _serde::__private::Option<
1521 i32,
1522 > = _serde::__private::None;
1523 let mut m_maxNumToiCollisionPairsSinglethreaded: _serde::__private::Option<
1524 i32,
1525 > = _serde::__private::None;
1526 let mut m_simulationType: _serde::__private::Option<i32> = _serde::__private::None;
1527 let mut m_numToisTillAllowedPenetrationSimplifiedToi: _serde::__private::Option<
1528 f32,
1529 > = _serde::__private::None;
1530 let mut m_numToisTillAllowedPenetrationToi: _serde::__private::Option<
1531 f32,
1532 > = _serde::__private::None;
1533 let mut m_numToisTillAllowedPenetrationToiHigher: _serde::__private::Option<
1534 f32,
1535 > = _serde::__private::None;
1536 let mut m_numToisTillAllowedPenetrationToiForced: _serde::__private::Option<
1537 f32,
1538 > = _serde::__private::None;
1539 let mut m_lastEntityUid: _serde::__private::Option<u32> = _serde::__private::None;
1540 let mut m_lastIslandUid: _serde::__private::Option<u32> = _serde::__private::None;
1541 let mut m_lastConstraintUid: _serde::__private::Option<u32> = _serde::__private::None;
1542 let mut m_phantoms: _serde::__private::Option<Vec<Pointer>> = _serde::__private::None;
1543 let mut m_actionListeners: _serde::__private::Option<Vec<Pointer>> = _serde::__private::None;
1544 let mut m_entityListeners: _serde::__private::Option<Vec<Pointer>> = _serde::__private::None;
1545 let mut m_phantomListeners: _serde::__private::Option<
1546 Vec<Pointer>,
1547 > = _serde::__private::None;
1548 let mut m_constraintListeners: _serde::__private::Option<
1549 Vec<Pointer>,
1550 > = _serde::__private::None;
1551 let mut m_worldDeletionListeners: _serde::__private::Option<
1552 Vec<Pointer>,
1553 > = _serde::__private::None;
1554 let mut m_islandActivationListeners: _serde::__private::Option<
1555 Vec<Pointer>,
1556 > = _serde::__private::None;
1557 let mut m_worldPostSimulationListeners: _serde::__private::Option<
1558 Vec<Pointer>,
1559 > = _serde::__private::None;
1560 let mut m_worldPostIntegrateListeners: _serde::__private::Option<
1561 Vec<Pointer>,
1562 > = _serde::__private::None;
1563 let mut m_worldPostCollideListeners: _serde::__private::Option<
1564 Vec<Pointer>,
1565 > = _serde::__private::None;
1566 let mut m_islandPostIntegrateListeners: _serde::__private::Option<
1567 Vec<Pointer>,
1568 > = _serde::__private::None;
1569 let mut m_islandPostCollideListeners: _serde::__private::Option<
1570 Vec<Pointer>,
1571 > = _serde::__private::None;
1572 let mut m_contactListeners: _serde::__private::Option<
1573 Vec<Pointer>,
1574 > = _serde::__private::None;
1575 let mut m_contactImpulseLimitBreachedListeners: _serde::__private::Option<
1576 Vec<Pointer>,
1577 > = _serde::__private::None;
1578 let mut m_worldExtensions: _serde::__private::Option<Vec<Pointer>> = _serde::__private::None;
1579 let mut m_violatedConstraintArray: _serde::__private::Option<
1580 Pointer,
1581 > = _serde::__private::None;
1582 let mut m_broadPhaseBorder: _serde::__private::Option<Pointer> = _serde::__private::None;
1583 let mut m_destructionWorld: _serde::__private::Option<Pointer> = _serde::__private::None;
1584 let mut m_npWorld: _serde::__private::Option<Pointer> = _serde::__private::None;
1585 let mut m_broadPhaseExtents: _serde::__private::Option<
1586 [Vector4; 2usize],
1587 > = _serde::__private::None;
1588 let mut m_broadPhaseNumMarkers: _serde::__private::Option<i32> = _serde::__private::None;
1589 let mut m_sizeOfToiEventQueue: _serde::__private::Option<i32> = _serde::__private::None;
1590 let mut m_broadPhaseQuerySize: _serde::__private::Option<i32> = _serde::__private::None;
1591 let mut m_broadPhaseUpdateSize: _serde::__private::Option<i32> = _serde::__private::None;
1592 let mut m_contactPointGeneration: _serde::__private::Option<i8> = _serde::__private::None;
1593 for i in 0..87usize {
1594 match i {
1595 0usize => {
1596 if _serde::__private::Option::is_some(&m_simulation) {
1597 return _serde::__private::Err(
1598 <__A::Error as _serde::de::Error>::duplicate_field(
1599 "simulation",
1600 ),
1601 );
1602 }
1603 m_simulation = _serde::__private::Some(
1604 match __A::next_value::<Pointer>(&mut __map) {
1605 _serde::__private::Ok(__val) => __val,
1606 _serde::__private::Err(__err) => {
1607 return _serde::__private::Err(__err);
1608 }
1609 },
1610 );
1611 }
1612 1usize => {
1613 if _serde::__private::Option::is_some(&m_gravity) {
1614 return _serde::__private::Err(
1615 <__A::Error as _serde::de::Error>::duplicate_field(
1616 "gravity",
1617 ),
1618 );
1619 }
1620 __A::pad(&mut __map, 4usize, 8usize)?;
1621 m_gravity = _serde::__private::Some(
1622 match __A::next_value::<Vector4>(&mut __map) {
1623 _serde::__private::Ok(__val) => __val,
1624 _serde::__private::Err(__err) => {
1625 return _serde::__private::Err(__err);
1626 }
1627 },
1628 );
1629 }
1630 2usize => {
1631 if _serde::__private::Option::is_some(&m_fixedIsland) {
1632 return _serde::__private::Err(
1633 <__A::Error as _serde::de::Error>::duplicate_field(
1634 "fixedIsland",
1635 ),
1636 );
1637 }
1638 m_fixedIsland = _serde::__private::Some(
1639 match __A::next_value::<Pointer>(&mut __map) {
1640 _serde::__private::Ok(__val) => __val,
1641 _serde::__private::Err(__err) => {
1642 return _serde::__private::Err(__err);
1643 }
1644 },
1645 );
1646 }
1647 3usize => {
1648 if _serde::__private::Option::is_some(&m_fixedRigidBody) {
1649 return _serde::__private::Err(
1650 <__A::Error as _serde::de::Error>::duplicate_field(
1651 "fixedRigidBody",
1652 ),
1653 );
1654 }
1655 m_fixedRigidBody = _serde::__private::Some(
1656 match __A::next_value::<Pointer>(&mut __map) {
1657 _serde::__private::Ok(__val) => __val,
1658 _serde::__private::Err(__err) => {
1659 return _serde::__private::Err(__err);
1660 }
1661 },
1662 );
1663 }
1664 4usize => {
1665 if _serde::__private::Option::is_some(
1666 &m_activeSimulationIslands,
1667 ) {
1668 return _serde::__private::Err(
1669 <__A::Error as _serde::de::Error>::duplicate_field(
1670 "activeSimulationIslands",
1671 ),
1672 );
1673 }
1674 m_activeSimulationIslands = _serde::__private::Some(
1675 match __A::next_value::<Vec<Pointer>>(&mut __map) {
1676 _serde::__private::Ok(__val) => __val,
1677 _serde::__private::Err(__err) => {
1678 return _serde::__private::Err(__err);
1679 }
1680 },
1681 );
1682 }
1683 5usize => {
1684 if _serde::__private::Option::is_some(
1685 &m_inactiveSimulationIslands,
1686 ) {
1687 return _serde::__private::Err(
1688 <__A::Error as _serde::de::Error>::duplicate_field(
1689 "inactiveSimulationIslands",
1690 ),
1691 );
1692 }
1693 m_inactiveSimulationIslands = _serde::__private::Some(
1694 match __A::next_value::<Vec<Pointer>>(&mut __map) {
1695 _serde::__private::Ok(__val) => __val,
1696 _serde::__private::Err(__err) => {
1697 return _serde::__private::Err(__err);
1698 }
1699 },
1700 );
1701 }
1702 6usize => {
1703 if _serde::__private::Option::is_some(
1704 &m_dirtySimulationIslands,
1705 ) {
1706 return _serde::__private::Err(
1707 <__A::Error as _serde::de::Error>::duplicate_field(
1708 "dirtySimulationIslands",
1709 ),
1710 );
1711 }
1712 m_dirtySimulationIslands = _serde::__private::Some(
1713 match __A::next_value::<Vec<Pointer>>(&mut __map) {
1714 _serde::__private::Ok(__val) => __val,
1715 _serde::__private::Err(__err) => {
1716 return _serde::__private::Err(__err);
1717 }
1718 },
1719 );
1720 }
1721 7usize => {
1722 if _serde::__private::Option::is_some(&m_maintenanceMgr) {
1723 return _serde::__private::Err(
1724 <__A::Error as _serde::de::Error>::duplicate_field(
1725 "maintenanceMgr",
1726 ),
1727 );
1728 }
1729 m_maintenanceMgr = _serde::__private::Some(
1730 match __A::next_value::<Pointer>(&mut __map) {
1731 _serde::__private::Ok(__val) => __val,
1732 _serde::__private::Err(__err) => {
1733 return _serde::__private::Err(__err);
1734 }
1735 },
1736 );
1737 }
1738 8usize => {
1739 if _serde::__private::Option::is_some(&m_memoryWatchDog) {
1740 return _serde::__private::Err(
1741 <__A::Error as _serde::de::Error>::duplicate_field(
1742 "memoryWatchDog",
1743 ),
1744 );
1745 }
1746 m_memoryWatchDog = _serde::__private::Some(
1747 match __A::next_value::<Pointer>(&mut __map) {
1748 _serde::__private::Ok(__val) => __val,
1749 _serde::__private::Err(__err) => {
1750 return _serde::__private::Err(__err);
1751 }
1752 },
1753 );
1754 }
1755 9usize => {
1756 if _serde::__private::Option::is_some(
1757 &m_assertOnRunningOutOfSolverMemory,
1758 ) {
1759 return _serde::__private::Err(
1760 <__A::Error as _serde::de::Error>::duplicate_field(
1761 "assertOnRunningOutOfSolverMemory",
1762 ),
1763 );
1764 }
1765 m_assertOnRunningOutOfSolverMemory = _serde::__private::Some(
1766 match __A::next_value::<bool>(&mut __map) {
1767 _serde::__private::Ok(__val) => __val,
1768 _serde::__private::Err(__err) => {
1769 return _serde::__private::Err(__err);
1770 }
1771 },
1772 );
1773 }
1774 10usize => {
1775 if _serde::__private::Option::is_some(&m_broadPhase) {
1776 return _serde::__private::Err(
1777 <__A::Error as _serde::de::Error>::duplicate_field(
1778 "broadPhase",
1779 ),
1780 );
1781 }
1782 __A::pad(&mut __map, 3usize, 7usize)?;
1783 m_broadPhase = _serde::__private::Some(
1784 match __A::next_value::<Pointer>(&mut __map) {
1785 _serde::__private::Ok(__val) => __val,
1786 _serde::__private::Err(__err) => {
1787 return _serde::__private::Err(__err);
1788 }
1789 },
1790 );
1791 }
1792 11usize => {
1793 if _serde::__private::Option::is_some(&m_kdTreeManager) {
1794 return _serde::__private::Err(
1795 <__A::Error as _serde::de::Error>::duplicate_field(
1796 "kdTreeManager",
1797 ),
1798 );
1799 }
1800 m_kdTreeManager = _serde::__private::Some(
1801 match __A::next_value::<Pointer>(&mut __map) {
1802 _serde::__private::Ok(__val) => __val,
1803 _serde::__private::Err(__err) => {
1804 return _serde::__private::Err(__err);
1805 }
1806 },
1807 );
1808 }
1809 12usize => {
1810 if _serde::__private::Option::is_some(&m_autoUpdateTree) {
1811 return _serde::__private::Err(
1812 <__A::Error as _serde::de::Error>::duplicate_field(
1813 "autoUpdateTree",
1814 ),
1815 );
1816 }
1817 m_autoUpdateTree = _serde::__private::Some(
1818 match __A::next_value::<bool>(&mut __map) {
1819 _serde::__private::Ok(__val) => __val,
1820 _serde::__private::Err(__err) => {
1821 return _serde::__private::Err(__err);
1822 }
1823 },
1824 );
1825 }
1826 13usize => {
1827 if _serde::__private::Option::is_some(
1828 &m_broadPhaseDispatcher,
1829 ) {
1830 return _serde::__private::Err(
1831 <__A::Error as _serde::de::Error>::duplicate_field(
1832 "broadPhaseDispatcher",
1833 ),
1834 );
1835 }
1836 __A::pad(&mut __map, 3usize, 7usize)?;
1837 m_broadPhaseDispatcher = _serde::__private::Some(
1838 match __A::next_value::<Pointer>(&mut __map) {
1839 _serde::__private::Ok(__val) => __val,
1840 _serde::__private::Err(__err) => {
1841 return _serde::__private::Err(__err);
1842 }
1843 },
1844 );
1845 }
1846 14usize => {
1847 if _serde::__private::Option::is_some(
1848 &m_phantomBroadPhaseListener,
1849 ) {
1850 return _serde::__private::Err(
1851 <__A::Error as _serde::de::Error>::duplicate_field(
1852 "phantomBroadPhaseListener",
1853 ),
1854 );
1855 }
1856 m_phantomBroadPhaseListener = _serde::__private::Some(
1857 match __A::next_value::<Pointer>(&mut __map) {
1858 _serde::__private::Ok(__val) => __val,
1859 _serde::__private::Err(__err) => {
1860 return _serde::__private::Err(__err);
1861 }
1862 },
1863 );
1864 }
1865 15usize => {
1866 if _serde::__private::Option::is_some(
1867 &m_entityEntityBroadPhaseListener,
1868 ) {
1869 return _serde::__private::Err(
1870 <__A::Error as _serde::de::Error>::duplicate_field(
1871 "entityEntityBroadPhaseListener",
1872 ),
1873 );
1874 }
1875 m_entityEntityBroadPhaseListener = _serde::__private::Some(
1876 match __A::next_value::<Pointer>(&mut __map) {
1877 _serde::__private::Ok(__val) => __val,
1878 _serde::__private::Err(__err) => {
1879 return _serde::__private::Err(__err);
1880 }
1881 },
1882 );
1883 }
1884 16usize => {
1885 if _serde::__private::Option::is_some(
1886 &m_broadPhaseBorderListener,
1887 ) {
1888 return _serde::__private::Err(
1889 <__A::Error as _serde::de::Error>::duplicate_field(
1890 "broadPhaseBorderListener",
1891 ),
1892 );
1893 }
1894 m_broadPhaseBorderListener = _serde::__private::Some(
1895 match __A::next_value::<Pointer>(&mut __map) {
1896 _serde::__private::Ok(__val) => __val,
1897 _serde::__private::Err(__err) => {
1898 return _serde::__private::Err(__err);
1899 }
1900 },
1901 );
1902 }
1903 17usize => {
1904 if _serde::__private::Option::is_some(
1905 &m_multithreadedSimulationJobData,
1906 ) {
1907 return _serde::__private::Err(
1908 <__A::Error as _serde::de::Error>::duplicate_field(
1909 "multithreadedSimulationJobData",
1910 ),
1911 );
1912 }
1913 m_multithreadedSimulationJobData = _serde::__private::Some(
1914 match __A::next_value::<Pointer>(&mut __map) {
1915 _serde::__private::Ok(__val) => __val,
1916 _serde::__private::Err(__err) => {
1917 return _serde::__private::Err(__err);
1918 }
1919 },
1920 );
1921 }
1922 18usize => {
1923 if _serde::__private::Option::is_some(&m_collisionInput) {
1924 return _serde::__private::Err(
1925 <__A::Error as _serde::de::Error>::duplicate_field(
1926 "collisionInput",
1927 ),
1928 );
1929 }
1930 m_collisionInput = _serde::__private::Some(
1931 match __A::next_value::<Pointer>(&mut __map) {
1932 _serde::__private::Ok(__val) => __val,
1933 _serde::__private::Err(__err) => {
1934 return _serde::__private::Err(__err);
1935 }
1936 },
1937 );
1938 }
1939 19usize => {
1940 if _serde::__private::Option::is_some(&m_collisionFilter) {
1941 return _serde::__private::Err(
1942 <__A::Error as _serde::de::Error>::duplicate_field(
1943 "collisionFilter",
1944 ),
1945 );
1946 }
1947 m_collisionFilter = _serde::__private::Some(
1948 match __A::next_value::<Pointer>(&mut __map) {
1949 _serde::__private::Ok(__val) => __val,
1950 _serde::__private::Err(__err) => {
1951 return _serde::__private::Err(__err);
1952 }
1953 },
1954 );
1955 }
1956 20usize => {
1957 if _serde::__private::Option::is_some(
1958 &m_collisionDispatcher,
1959 ) {
1960 return _serde::__private::Err(
1961 <__A::Error as _serde::de::Error>::duplicate_field(
1962 "collisionDispatcher",
1963 ),
1964 );
1965 }
1966 m_collisionDispatcher = _serde::__private::Some(
1967 match __A::next_value::<Pointer>(&mut __map) {
1968 _serde::__private::Ok(__val) => __val,
1969 _serde::__private::Err(__err) => {
1970 return _serde::__private::Err(__err);
1971 }
1972 },
1973 );
1974 }
1975 21usize => {
1976 if _serde::__private::Option::is_some(&m_convexListFilter) {
1977 return _serde::__private::Err(
1978 <__A::Error as _serde::de::Error>::duplicate_field(
1979 "convexListFilter",
1980 ),
1981 );
1982 }
1983 m_convexListFilter = _serde::__private::Some(
1984 match __A::next_value::<Pointer>(&mut __map) {
1985 _serde::__private::Ok(__val) => __val,
1986 _serde::__private::Err(__err) => {
1987 return _serde::__private::Err(__err);
1988 }
1989 },
1990 );
1991 }
1992 22usize => {
1993 if _serde::__private::Option::is_some(
1994 &m_pendingOperations,
1995 ) {
1996 return _serde::__private::Err(
1997 <__A::Error as _serde::de::Error>::duplicate_field(
1998 "pendingOperations",
1999 ),
2000 );
2001 }
2002 m_pendingOperations = _serde::__private::Some(
2003 match __A::next_value::<Pointer>(&mut __map) {
2004 _serde::__private::Ok(__val) => __val,
2005 _serde::__private::Err(__err) => {
2006 return _serde::__private::Err(__err);
2007 }
2008 },
2009 );
2010 }
2011 23usize => {
2012 if _serde::__private::Option::is_some(
2013 &m_pendingOperationsCount,
2014 ) {
2015 return _serde::__private::Err(
2016 <__A::Error as _serde::de::Error>::duplicate_field(
2017 "pendingOperationsCount",
2018 ),
2019 );
2020 }
2021 m_pendingOperationsCount = _serde::__private::Some(
2022 match __A::next_value::<i32>(&mut __map) {
2023 _serde::__private::Ok(__val) => __val,
2024 _serde::__private::Err(__err) => {
2025 return _serde::__private::Err(__err);
2026 }
2027 },
2028 );
2029 }
2030 24usize => {
2031 if _serde::__private::Option::is_some(
2032 &m_pendingBodyOperationsCount,
2033 ) {
2034 return _serde::__private::Err(
2035 <__A::Error as _serde::de::Error>::duplicate_field(
2036 "pendingBodyOperationsCount",
2037 ),
2038 );
2039 }
2040 m_pendingBodyOperationsCount = _serde::__private::Some(
2041 match __A::next_value::<i32>(&mut __map) {
2042 _serde::__private::Ok(__val) => __val,
2043 _serde::__private::Err(__err) => {
2044 return _serde::__private::Err(__err);
2045 }
2046 },
2047 );
2048 }
2049 25usize => {
2050 if _serde::__private::Option::is_some(
2051 &m_criticalOperationsLockCount,
2052 ) {
2053 return _serde::__private::Err(
2054 <__A::Error as _serde::de::Error>::duplicate_field(
2055 "criticalOperationsLockCount",
2056 ),
2057 );
2058 }
2059 m_criticalOperationsLockCount = _serde::__private::Some(
2060 match __A::next_value::<i32>(&mut __map) {
2061 _serde::__private::Ok(__val) => __val,
2062 _serde::__private::Err(__err) => {
2063 return _serde::__private::Err(__err);
2064 }
2065 },
2066 );
2067 }
2068 26usize => {
2069 if _serde::__private::Option::is_some(
2070 &m_criticalOperationsLockCountForPhantoms,
2071 ) {
2072 return _serde::__private::Err(
2073 <__A::Error as _serde::de::Error>::duplicate_field(
2074 "criticalOperationsLockCountForPhantoms",
2075 ),
2076 );
2077 }
2078 m_criticalOperationsLockCountForPhantoms = _serde::__private::Some(
2079 match __A::next_value::<i32>(&mut __map) {
2080 _serde::__private::Ok(__val) => __val,
2081 _serde::__private::Err(__err) => {
2082 return _serde::__private::Err(__err);
2083 }
2084 },
2085 );
2086 }
2087 27usize => {
2088 if _serde::__private::Option::is_some(
2089 &m_blockExecutingPendingOperations,
2090 ) {
2091 return _serde::__private::Err(
2092 <__A::Error as _serde::de::Error>::duplicate_field(
2093 "blockExecutingPendingOperations",
2094 ),
2095 );
2096 }
2097 m_blockExecutingPendingOperations = _serde::__private::Some(
2098 match __A::next_value::<bool>(&mut __map) {
2099 _serde::__private::Ok(__val) => __val,
2100 _serde::__private::Err(__err) => {
2101 return _serde::__private::Err(__err);
2102 }
2103 },
2104 );
2105 }
2106 28usize => {
2107 if _serde::__private::Option::is_some(
2108 &m_criticalOperationsAllowed,
2109 ) {
2110 return _serde::__private::Err(
2111 <__A::Error as _serde::de::Error>::duplicate_field(
2112 "criticalOperationsAllowed",
2113 ),
2114 );
2115 }
2116 m_criticalOperationsAllowed = _serde::__private::Some(
2117 match __A::next_value::<bool>(&mut __map) {
2118 _serde::__private::Ok(__val) => __val,
2119 _serde::__private::Err(__err) => {
2120 return _serde::__private::Err(__err);
2121 }
2122 },
2123 );
2124 }
2125 29usize => {
2126 if _serde::__private::Option::is_some(
2127 &m_pendingOperationQueues,
2128 ) {
2129 return _serde::__private::Err(
2130 <__A::Error as _serde::de::Error>::duplicate_field(
2131 "pendingOperationQueues",
2132 ),
2133 );
2134 }
2135 __A::pad(&mut __map, 2usize, 6usize)?;
2136 m_pendingOperationQueues = _serde::__private::Some(
2137 match __A::next_value::<Pointer>(&mut __map) {
2138 _serde::__private::Ok(__val) => __val,
2139 _serde::__private::Err(__err) => {
2140 return _serde::__private::Err(__err);
2141 }
2142 },
2143 );
2144 }
2145 30usize => {
2146 if _serde::__private::Option::is_some(
2147 &m_pendingOperationQueueCount,
2148 ) {
2149 return _serde::__private::Err(
2150 <__A::Error as _serde::de::Error>::duplicate_field(
2151 "pendingOperationQueueCount",
2152 ),
2153 );
2154 }
2155 m_pendingOperationQueueCount = _serde::__private::Some(
2156 match __A::next_value::<i32>(&mut __map) {
2157 _serde::__private::Ok(__val) => __val,
2158 _serde::__private::Err(__err) => {
2159 return _serde::__private::Err(__err);
2160 }
2161 },
2162 );
2163 }
2164 31usize => {
2165 if _serde::__private::Option::is_some(&m_multiThreadCheck) {
2166 return _serde::__private::Err(
2167 <__A::Error as _serde::de::Error>::duplicate_field(
2168 "multiThreadCheck",
2169 ),
2170 );
2171 }
2172 m_multiThreadCheck = _serde::__private::Some(
2173 match __A::next_value::<hkMultiThreadCheck>(&mut __map) {
2174 _serde::__private::Ok(__val) => __val,
2175 _serde::__private::Err(__err) => {
2176 return _serde::__private::Err(__err);
2177 }
2178 },
2179 );
2180 }
2181 32usize => {
2182 if _serde::__private::Option::is_some(
2183 &m_processActionsInSingleThread,
2184 ) {
2185 return _serde::__private::Err(
2186 <__A::Error as _serde::de::Error>::duplicate_field(
2187 "processActionsInSingleThread",
2188 ),
2189 );
2190 }
2191 m_processActionsInSingleThread = _serde::__private::Some(
2192 match __A::next_value::<bool>(&mut __map) {
2193 _serde::__private::Ok(__val) => __val,
2194 _serde::__private::Err(__err) => {
2195 return _serde::__private::Err(__err);
2196 }
2197 },
2198 );
2199 }
2200 33usize => {
2201 if _serde::__private::Option::is_some(
2202 &m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
2203 ) {
2204 return _serde::__private::Err(
2205 <__A::Error as _serde::de::Error>::duplicate_field(
2206 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
2207 ),
2208 );
2209 }
2210 m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob = _serde::__private::Some(
2211 match __A::next_value::<bool>(&mut __map) {
2212 _serde::__private::Ok(__val) => __val,
2213 _serde::__private::Err(__err) => {
2214 return _serde::__private::Err(__err);
2215 }
2216 },
2217 );
2218 }
2219 34usize => {
2220 if _serde::__private::Option::is_some(
2221 &m_minDesiredIslandSize,
2222 ) {
2223 return _serde::__private::Err(
2224 <__A::Error as _serde::de::Error>::duplicate_field(
2225 "minDesiredIslandSize",
2226 ),
2227 );
2228 }
2229 __A::pad(&mut __map, 2usize, 2usize)?;
2230 m_minDesiredIslandSize = _serde::__private::Some(
2231 match __A::next_value::<u32>(&mut __map) {
2232 _serde::__private::Ok(__val) => __val,
2233 _serde::__private::Err(__err) => {
2234 return _serde::__private::Err(__err);
2235 }
2236 },
2237 );
2238 }
2239 35usize => {
2240 if _serde::__private::Option::is_some(
2241 &m_modifyConstraintCriticalSection,
2242 ) {
2243 return _serde::__private::Err(
2244 <__A::Error as _serde::de::Error>::duplicate_field(
2245 "modifyConstraintCriticalSection",
2246 ),
2247 );
2248 }
2249 m_modifyConstraintCriticalSection = _serde::__private::Some(
2250 match __A::next_value::<Pointer>(&mut __map) {
2251 _serde::__private::Ok(__val) => __val,
2252 _serde::__private::Err(__err) => {
2253 return _serde::__private::Err(__err);
2254 }
2255 },
2256 );
2257 }
2258 36usize => {
2259 if _serde::__private::Option::is_some(&m_isLocked) {
2260 return _serde::__private::Err(
2261 <__A::Error as _serde::de::Error>::duplicate_field(
2262 "isLocked",
2263 ),
2264 );
2265 }
2266 m_isLocked = _serde::__private::Some(
2267 match __A::next_value::<i32>(&mut __map) {
2268 _serde::__private::Ok(__val) => __val,
2269 _serde::__private::Err(__err) => {
2270 return _serde::__private::Err(__err);
2271 }
2272 },
2273 );
2274 }
2275 37usize => {
2276 if _serde::__private::Option::is_some(
2277 &m_islandDirtyListCriticalSection,
2278 ) {
2279 return _serde::__private::Err(
2280 <__A::Error as _serde::de::Error>::duplicate_field(
2281 "islandDirtyListCriticalSection",
2282 ),
2283 );
2284 }
2285 __A::pad(&mut __map, 0usize, 4usize)?;
2286 m_islandDirtyListCriticalSection = _serde::__private::Some(
2287 match __A::next_value::<Pointer>(&mut __map) {
2288 _serde::__private::Ok(__val) => __val,
2289 _serde::__private::Err(__err) => {
2290 return _serde::__private::Err(__err);
2291 }
2292 },
2293 );
2294 }
2295 38usize => {
2296 if _serde::__private::Option::is_some(
2297 &m_propertyMasterLock,
2298 ) {
2299 return _serde::__private::Err(
2300 <__A::Error as _serde::de::Error>::duplicate_field(
2301 "propertyMasterLock",
2302 ),
2303 );
2304 }
2305 m_propertyMasterLock = _serde::__private::Some(
2306 match __A::next_value::<Pointer>(&mut __map) {
2307 _serde::__private::Ok(__val) => __val,
2308 _serde::__private::Err(__err) => {
2309 return _serde::__private::Err(__err);
2310 }
2311 },
2312 );
2313 }
2314 39usize => {
2315 if _serde::__private::Option::is_some(
2316 &m_wantSimulationIslands,
2317 ) {
2318 return _serde::__private::Err(
2319 <__A::Error as _serde::de::Error>::duplicate_field(
2320 "wantSimulationIslands",
2321 ),
2322 );
2323 }
2324 m_wantSimulationIslands = _serde::__private::Some(
2325 match __A::next_value::<bool>(&mut __map) {
2326 _serde::__private::Ok(__val) => __val,
2327 _serde::__private::Err(__err) => {
2328 return _serde::__private::Err(__err);
2329 }
2330 },
2331 );
2332 }
2333 40usize => {
2334 if _serde::__private::Option::is_some(
2335 &m_useHybridBroadphase,
2336 ) {
2337 return _serde::__private::Err(
2338 <__A::Error as _serde::de::Error>::duplicate_field(
2339 "useHybridBroadphase",
2340 ),
2341 );
2342 }
2343 m_useHybridBroadphase = _serde::__private::Some(
2344 match __A::next_value::<bool>(&mut __map) {
2345 _serde::__private::Ok(__val) => __val,
2346 _serde::__private::Err(__err) => {
2347 return _serde::__private::Err(__err);
2348 }
2349 },
2350 );
2351 }
2352 41usize => {
2353 if _serde::__private::Option::is_some(
2354 &m_snapCollisionToConvexEdgeThreshold,
2355 ) {
2356 return _serde::__private::Err(
2357 <__A::Error as _serde::de::Error>::duplicate_field(
2358 "snapCollisionToConvexEdgeThreshold",
2359 ),
2360 );
2361 }
2362 __A::pad(&mut __map, 2usize, 2usize)?;
2363 m_snapCollisionToConvexEdgeThreshold = _serde::__private::Some(
2364 match __A::next_value::<f32>(&mut __map) {
2365 _serde::__private::Ok(__val) => __val,
2366 _serde::__private::Err(__err) => {
2367 return _serde::__private::Err(__err);
2368 }
2369 },
2370 );
2371 }
2372 42usize => {
2373 if _serde::__private::Option::is_some(
2374 &m_snapCollisionToConcaveEdgeThreshold,
2375 ) {
2376 return _serde::__private::Err(
2377 <__A::Error as _serde::de::Error>::duplicate_field(
2378 "snapCollisionToConcaveEdgeThreshold",
2379 ),
2380 );
2381 }
2382 m_snapCollisionToConcaveEdgeThreshold = _serde::__private::Some(
2383 match __A::next_value::<f32>(&mut __map) {
2384 _serde::__private::Ok(__val) => __val,
2385 _serde::__private::Err(__err) => {
2386 return _serde::__private::Err(__err);
2387 }
2388 },
2389 );
2390 }
2391 43usize => {
2392 if _serde::__private::Option::is_some(
2393 &m_enableToiWeldRejection,
2394 ) {
2395 return _serde::__private::Err(
2396 <__A::Error as _serde::de::Error>::duplicate_field(
2397 "enableToiWeldRejection",
2398 ),
2399 );
2400 }
2401 m_enableToiWeldRejection = _serde::__private::Some(
2402 match __A::next_value::<bool>(&mut __map) {
2403 _serde::__private::Ok(__val) => __val,
2404 _serde::__private::Err(__err) => {
2405 return _serde::__private::Err(__err);
2406 }
2407 },
2408 );
2409 }
2410 44usize => {
2411 if _serde::__private::Option::is_some(&m_wantDeactivation) {
2412 return _serde::__private::Err(
2413 <__A::Error as _serde::de::Error>::duplicate_field(
2414 "wantDeactivation",
2415 ),
2416 );
2417 }
2418 m_wantDeactivation = _serde::__private::Some(
2419 match __A::next_value::<bool>(&mut __map) {
2420 _serde::__private::Ok(__val) => __val,
2421 _serde::__private::Err(__err) => {
2422 return _serde::__private::Err(__err);
2423 }
2424 },
2425 );
2426 }
2427 45usize => {
2428 if _serde::__private::Option::is_some(
2429 &m_shouldActivateOnRigidBodyTransformChange,
2430 ) {
2431 return _serde::__private::Err(
2432 <__A::Error as _serde::de::Error>::duplicate_field(
2433 "shouldActivateOnRigidBodyTransformChange",
2434 ),
2435 );
2436 }
2437 m_shouldActivateOnRigidBodyTransformChange = _serde::__private::Some(
2438 match __A::next_value::<bool>(&mut __map) {
2439 _serde::__private::Ok(__val) => __val,
2440 _serde::__private::Err(__err) => {
2441 return _serde::__private::Err(__err);
2442 }
2443 },
2444 );
2445 }
2446 46usize => {
2447 if _serde::__private::Option::is_some(
2448 &m_deactivationReferenceDistance,
2449 ) {
2450 return _serde::__private::Err(
2451 <__A::Error as _serde::de::Error>::duplicate_field(
2452 "deactivationReferenceDistance",
2453 ),
2454 );
2455 }
2456 __A::pad(&mut __map, 1usize, 1usize)?;
2457 m_deactivationReferenceDistance = _serde::__private::Some(
2458 match __A::next_value::<f32>(&mut __map) {
2459 _serde::__private::Ok(__val) => __val,
2460 _serde::__private::Err(__err) => {
2461 return _serde::__private::Err(__err);
2462 }
2463 },
2464 );
2465 }
2466 47usize => {
2467 if _serde::__private::Option::is_some(
2468 &m_toiCollisionResponseRotateNormal,
2469 ) {
2470 return _serde::__private::Err(
2471 <__A::Error as _serde::de::Error>::duplicate_field(
2472 "toiCollisionResponseRotateNormal",
2473 ),
2474 );
2475 }
2476 m_toiCollisionResponseRotateNormal = _serde::__private::Some(
2477 match __A::next_value::<f32>(&mut __map) {
2478 _serde::__private::Ok(__val) => __val,
2479 _serde::__private::Err(__err) => {
2480 return _serde::__private::Err(__err);
2481 }
2482 },
2483 );
2484 }
2485 48usize => {
2486 if _serde::__private::Option::is_some(
2487 &m_maxSectorsPerMidphaseCollideTask,
2488 ) {
2489 return _serde::__private::Err(
2490 <__A::Error as _serde::de::Error>::duplicate_field(
2491 "maxSectorsPerMidphaseCollideTask",
2492 ),
2493 );
2494 }
2495 m_maxSectorsPerMidphaseCollideTask = _serde::__private::Some(
2496 match __A::next_value::<i32>(&mut __map) {
2497 _serde::__private::Ok(__val) => __val,
2498 _serde::__private::Err(__err) => {
2499 return _serde::__private::Err(__err);
2500 }
2501 },
2502 );
2503 }
2504 49usize => {
2505 if _serde::__private::Option::is_some(
2506 &m_maxSectorsPerNarrowphaseCollideTask,
2507 ) {
2508 return _serde::__private::Err(
2509 <__A::Error as _serde::de::Error>::duplicate_field(
2510 "maxSectorsPerNarrowphaseCollideTask",
2511 ),
2512 );
2513 }
2514 m_maxSectorsPerNarrowphaseCollideTask = _serde::__private::Some(
2515 match __A::next_value::<i32>(&mut __map) {
2516 _serde::__private::Ok(__val) => __val,
2517 _serde::__private::Err(__err) => {
2518 return _serde::__private::Err(__err);
2519 }
2520 },
2521 );
2522 }
2523 50usize => {
2524 if _serde::__private::Option::is_some(
2525 &m_processToisMultithreaded,
2526 ) {
2527 return _serde::__private::Err(
2528 <__A::Error as _serde::de::Error>::duplicate_field(
2529 "processToisMultithreaded",
2530 ),
2531 );
2532 }
2533 m_processToisMultithreaded = _serde::__private::Some(
2534 match __A::next_value::<bool>(&mut __map) {
2535 _serde::__private::Ok(__val) => __val,
2536 _serde::__private::Err(__err) => {
2537 return _serde::__private::Err(__err);
2538 }
2539 },
2540 );
2541 }
2542 51usize => {
2543 if _serde::__private::Option::is_some(
2544 &m_maxEntriesPerToiMidphaseCollideTask,
2545 ) {
2546 return _serde::__private::Err(
2547 <__A::Error as _serde::de::Error>::duplicate_field(
2548 "maxEntriesPerToiMidphaseCollideTask",
2549 ),
2550 );
2551 }
2552 __A::pad(&mut __map, 3usize, 3usize)?;
2553 m_maxEntriesPerToiMidphaseCollideTask = _serde::__private::Some(
2554 match __A::next_value::<i32>(&mut __map) {
2555 _serde::__private::Ok(__val) => __val,
2556 _serde::__private::Err(__err) => {
2557 return _serde::__private::Err(__err);
2558 }
2559 },
2560 );
2561 }
2562 52usize => {
2563 if _serde::__private::Option::is_some(
2564 &m_maxEntriesPerToiNarrowphaseCollideTask,
2565 ) {
2566 return _serde::__private::Err(
2567 <__A::Error as _serde::de::Error>::duplicate_field(
2568 "maxEntriesPerToiNarrowphaseCollideTask",
2569 ),
2570 );
2571 }
2572 m_maxEntriesPerToiNarrowphaseCollideTask = _serde::__private::Some(
2573 match __A::next_value::<i32>(&mut __map) {
2574 _serde::__private::Ok(__val) => __val,
2575 _serde::__private::Err(__err) => {
2576 return _serde::__private::Err(__err);
2577 }
2578 },
2579 );
2580 }
2581 53usize => {
2582 if _serde::__private::Option::is_some(
2583 &m_maxNumToiCollisionPairsSinglethreaded,
2584 ) {
2585 return _serde::__private::Err(
2586 <__A::Error as _serde::de::Error>::duplicate_field(
2587 "maxNumToiCollisionPairsSinglethreaded",
2588 ),
2589 );
2590 }
2591 m_maxNumToiCollisionPairsSinglethreaded = _serde::__private::Some(
2592 match __A::next_value::<i32>(&mut __map) {
2593 _serde::__private::Ok(__val) => __val,
2594 _serde::__private::Err(__err) => {
2595 return _serde::__private::Err(__err);
2596 }
2597 },
2598 );
2599 }
2600 54usize => {
2601 if _serde::__private::Option::is_some(&m_simulationType) {
2602 return _serde::__private::Err(
2603 <__A::Error as _serde::de::Error>::duplicate_field(
2604 "simulationType",
2605 ),
2606 );
2607 }
2608 m_simulationType = _serde::__private::Some(
2609 match __A::next_value::<i32>(&mut __map) {
2610 _serde::__private::Ok(__val) => __val,
2611 _serde::__private::Err(__err) => {
2612 return _serde::__private::Err(__err);
2613 }
2614 },
2615 );
2616 }
2617 55usize => {
2618 if _serde::__private::Option::is_some(
2619 &m_numToisTillAllowedPenetrationSimplifiedToi,
2620 ) {
2621 return _serde::__private::Err(
2622 <__A::Error as _serde::de::Error>::duplicate_field(
2623 "numToisTillAllowedPenetrationSimplifiedToi",
2624 ),
2625 );
2626 }
2627 m_numToisTillAllowedPenetrationSimplifiedToi = _serde::__private::Some(
2628 match __A::next_value::<f32>(&mut __map) {
2629 _serde::__private::Ok(__val) => __val,
2630 _serde::__private::Err(__err) => {
2631 return _serde::__private::Err(__err);
2632 }
2633 },
2634 );
2635 }
2636 56usize => {
2637 if _serde::__private::Option::is_some(
2638 &m_numToisTillAllowedPenetrationToi,
2639 ) {
2640 return _serde::__private::Err(
2641 <__A::Error as _serde::de::Error>::duplicate_field(
2642 "numToisTillAllowedPenetrationToi",
2643 ),
2644 );
2645 }
2646 m_numToisTillAllowedPenetrationToi = _serde::__private::Some(
2647 match __A::next_value::<f32>(&mut __map) {
2648 _serde::__private::Ok(__val) => __val,
2649 _serde::__private::Err(__err) => {
2650 return _serde::__private::Err(__err);
2651 }
2652 },
2653 );
2654 }
2655 57usize => {
2656 if _serde::__private::Option::is_some(
2657 &m_numToisTillAllowedPenetrationToiHigher,
2658 ) {
2659 return _serde::__private::Err(
2660 <__A::Error as _serde::de::Error>::duplicate_field(
2661 "numToisTillAllowedPenetrationToiHigher",
2662 ),
2663 );
2664 }
2665 m_numToisTillAllowedPenetrationToiHigher = _serde::__private::Some(
2666 match __A::next_value::<f32>(&mut __map) {
2667 _serde::__private::Ok(__val) => __val,
2668 _serde::__private::Err(__err) => {
2669 return _serde::__private::Err(__err);
2670 }
2671 },
2672 );
2673 }
2674 58usize => {
2675 if _serde::__private::Option::is_some(
2676 &m_numToisTillAllowedPenetrationToiForced,
2677 ) {
2678 return _serde::__private::Err(
2679 <__A::Error as _serde::de::Error>::duplicate_field(
2680 "numToisTillAllowedPenetrationToiForced",
2681 ),
2682 );
2683 }
2684 m_numToisTillAllowedPenetrationToiForced = _serde::__private::Some(
2685 match __A::next_value::<f32>(&mut __map) {
2686 _serde::__private::Ok(__val) => __val,
2687 _serde::__private::Err(__err) => {
2688 return _serde::__private::Err(__err);
2689 }
2690 },
2691 );
2692 }
2693 59usize => {
2694 if _serde::__private::Option::is_some(&m_lastEntityUid) {
2695 return _serde::__private::Err(
2696 <__A::Error as _serde::de::Error>::duplicate_field(
2697 "lastEntityUid",
2698 ),
2699 );
2700 }
2701 m_lastEntityUid = _serde::__private::Some(
2702 match __A::next_value::<u32>(&mut __map) {
2703 _serde::__private::Ok(__val) => __val,
2704 _serde::__private::Err(__err) => {
2705 return _serde::__private::Err(__err);
2706 }
2707 },
2708 );
2709 }
2710 60usize => {
2711 if _serde::__private::Option::is_some(&m_lastIslandUid) {
2712 return _serde::__private::Err(
2713 <__A::Error as _serde::de::Error>::duplicate_field(
2714 "lastIslandUid",
2715 ),
2716 );
2717 }
2718 m_lastIslandUid = _serde::__private::Some(
2719 match __A::next_value::<u32>(&mut __map) {
2720 _serde::__private::Ok(__val) => __val,
2721 _serde::__private::Err(__err) => {
2722 return _serde::__private::Err(__err);
2723 }
2724 },
2725 );
2726 }
2727 61usize => {
2728 if _serde::__private::Option::is_some(
2729 &m_lastConstraintUid,
2730 ) {
2731 return _serde::__private::Err(
2732 <__A::Error as _serde::de::Error>::duplicate_field(
2733 "lastConstraintUid",
2734 ),
2735 );
2736 }
2737 m_lastConstraintUid = _serde::__private::Some(
2738 match __A::next_value::<u32>(&mut __map) {
2739 _serde::__private::Ok(__val) => __val,
2740 _serde::__private::Err(__err) => {
2741 return _serde::__private::Err(__err);
2742 }
2743 },
2744 );
2745 }
2746 62usize => {
2747 if _serde::__private::Option::is_some(&m_phantoms) {
2748 return _serde::__private::Err(
2749 <__A::Error as _serde::de::Error>::duplicate_field(
2750 "phantoms",
2751 ),
2752 );
2753 }
2754 m_phantoms = _serde::__private::Some(
2755 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2756 _serde::__private::Ok(__val) => __val,
2757 _serde::__private::Err(__err) => {
2758 return _serde::__private::Err(__err);
2759 }
2760 },
2761 );
2762 }
2763 63usize => {
2764 if _serde::__private::Option::is_some(&m_actionListeners) {
2765 return _serde::__private::Err(
2766 <__A::Error as _serde::de::Error>::duplicate_field(
2767 "actionListeners",
2768 ),
2769 );
2770 }
2771 m_actionListeners = _serde::__private::Some(
2772 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2773 _serde::__private::Ok(__val) => __val,
2774 _serde::__private::Err(__err) => {
2775 return _serde::__private::Err(__err);
2776 }
2777 },
2778 );
2779 }
2780 64usize => {
2781 if _serde::__private::Option::is_some(&m_entityListeners) {
2782 return _serde::__private::Err(
2783 <__A::Error as _serde::de::Error>::duplicate_field(
2784 "entityListeners",
2785 ),
2786 );
2787 }
2788 m_entityListeners = _serde::__private::Some(
2789 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2790 _serde::__private::Ok(__val) => __val,
2791 _serde::__private::Err(__err) => {
2792 return _serde::__private::Err(__err);
2793 }
2794 },
2795 );
2796 }
2797 65usize => {
2798 if _serde::__private::Option::is_some(&m_phantomListeners) {
2799 return _serde::__private::Err(
2800 <__A::Error as _serde::de::Error>::duplicate_field(
2801 "phantomListeners",
2802 ),
2803 );
2804 }
2805 m_phantomListeners = _serde::__private::Some(
2806 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2807 _serde::__private::Ok(__val) => __val,
2808 _serde::__private::Err(__err) => {
2809 return _serde::__private::Err(__err);
2810 }
2811 },
2812 );
2813 }
2814 66usize => {
2815 if _serde::__private::Option::is_some(
2816 &m_constraintListeners,
2817 ) {
2818 return _serde::__private::Err(
2819 <__A::Error as _serde::de::Error>::duplicate_field(
2820 "constraintListeners",
2821 ),
2822 );
2823 }
2824 m_constraintListeners = _serde::__private::Some(
2825 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2826 _serde::__private::Ok(__val) => __val,
2827 _serde::__private::Err(__err) => {
2828 return _serde::__private::Err(__err);
2829 }
2830 },
2831 );
2832 }
2833 67usize => {
2834 if _serde::__private::Option::is_some(
2835 &m_worldDeletionListeners,
2836 ) {
2837 return _serde::__private::Err(
2838 <__A::Error as _serde::de::Error>::duplicate_field(
2839 "worldDeletionListeners",
2840 ),
2841 );
2842 }
2843 m_worldDeletionListeners = _serde::__private::Some(
2844 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2845 _serde::__private::Ok(__val) => __val,
2846 _serde::__private::Err(__err) => {
2847 return _serde::__private::Err(__err);
2848 }
2849 },
2850 );
2851 }
2852 68usize => {
2853 if _serde::__private::Option::is_some(
2854 &m_islandActivationListeners,
2855 ) {
2856 return _serde::__private::Err(
2857 <__A::Error as _serde::de::Error>::duplicate_field(
2858 "islandActivationListeners",
2859 ),
2860 );
2861 }
2862 m_islandActivationListeners = _serde::__private::Some(
2863 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2864 _serde::__private::Ok(__val) => __val,
2865 _serde::__private::Err(__err) => {
2866 return _serde::__private::Err(__err);
2867 }
2868 },
2869 );
2870 }
2871 69usize => {
2872 if _serde::__private::Option::is_some(
2873 &m_worldPostSimulationListeners,
2874 ) {
2875 return _serde::__private::Err(
2876 <__A::Error as _serde::de::Error>::duplicate_field(
2877 "worldPostSimulationListeners",
2878 ),
2879 );
2880 }
2881 m_worldPostSimulationListeners = _serde::__private::Some(
2882 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2883 _serde::__private::Ok(__val) => __val,
2884 _serde::__private::Err(__err) => {
2885 return _serde::__private::Err(__err);
2886 }
2887 },
2888 );
2889 }
2890 70usize => {
2891 if _serde::__private::Option::is_some(
2892 &m_worldPostIntegrateListeners,
2893 ) {
2894 return _serde::__private::Err(
2895 <__A::Error as _serde::de::Error>::duplicate_field(
2896 "worldPostIntegrateListeners",
2897 ),
2898 );
2899 }
2900 m_worldPostIntegrateListeners = _serde::__private::Some(
2901 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2902 _serde::__private::Ok(__val) => __val,
2903 _serde::__private::Err(__err) => {
2904 return _serde::__private::Err(__err);
2905 }
2906 },
2907 );
2908 }
2909 71usize => {
2910 if _serde::__private::Option::is_some(
2911 &m_worldPostCollideListeners,
2912 ) {
2913 return _serde::__private::Err(
2914 <__A::Error as _serde::de::Error>::duplicate_field(
2915 "worldPostCollideListeners",
2916 ),
2917 );
2918 }
2919 m_worldPostCollideListeners = _serde::__private::Some(
2920 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2921 _serde::__private::Ok(__val) => __val,
2922 _serde::__private::Err(__err) => {
2923 return _serde::__private::Err(__err);
2924 }
2925 },
2926 );
2927 }
2928 72usize => {
2929 if _serde::__private::Option::is_some(
2930 &m_islandPostIntegrateListeners,
2931 ) {
2932 return _serde::__private::Err(
2933 <__A::Error as _serde::de::Error>::duplicate_field(
2934 "islandPostIntegrateListeners",
2935 ),
2936 );
2937 }
2938 m_islandPostIntegrateListeners = _serde::__private::Some(
2939 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2940 _serde::__private::Ok(__val) => __val,
2941 _serde::__private::Err(__err) => {
2942 return _serde::__private::Err(__err);
2943 }
2944 },
2945 );
2946 }
2947 73usize => {
2948 if _serde::__private::Option::is_some(
2949 &m_islandPostCollideListeners,
2950 ) {
2951 return _serde::__private::Err(
2952 <__A::Error as _serde::de::Error>::duplicate_field(
2953 "islandPostCollideListeners",
2954 ),
2955 );
2956 }
2957 m_islandPostCollideListeners = _serde::__private::Some(
2958 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2959 _serde::__private::Ok(__val) => __val,
2960 _serde::__private::Err(__err) => {
2961 return _serde::__private::Err(__err);
2962 }
2963 },
2964 );
2965 }
2966 74usize => {
2967 if _serde::__private::Option::is_some(&m_contactListeners) {
2968 return _serde::__private::Err(
2969 <__A::Error as _serde::de::Error>::duplicate_field(
2970 "contactListeners",
2971 ),
2972 );
2973 }
2974 m_contactListeners = _serde::__private::Some(
2975 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2976 _serde::__private::Ok(__val) => __val,
2977 _serde::__private::Err(__err) => {
2978 return _serde::__private::Err(__err);
2979 }
2980 },
2981 );
2982 }
2983 75usize => {
2984 if _serde::__private::Option::is_some(
2985 &m_contactImpulseLimitBreachedListeners,
2986 ) {
2987 return _serde::__private::Err(
2988 <__A::Error as _serde::de::Error>::duplicate_field(
2989 "contactImpulseLimitBreachedListeners",
2990 ),
2991 );
2992 }
2993 m_contactImpulseLimitBreachedListeners = _serde::__private::Some(
2994 match __A::next_value::<Vec<Pointer>>(&mut __map) {
2995 _serde::__private::Ok(__val) => __val,
2996 _serde::__private::Err(__err) => {
2997 return _serde::__private::Err(__err);
2998 }
2999 },
3000 );
3001 }
3002 76usize => {
3003 if _serde::__private::Option::is_some(&m_worldExtensions) {
3004 return _serde::__private::Err(
3005 <__A::Error as _serde::de::Error>::duplicate_field(
3006 "worldExtensions",
3007 ),
3008 );
3009 }
3010 m_worldExtensions = _serde::__private::Some(
3011 match __A::next_value::<Vec<Pointer>>(&mut __map) {
3012 _serde::__private::Ok(__val) => __val,
3013 _serde::__private::Err(__err) => {
3014 return _serde::__private::Err(__err);
3015 }
3016 },
3017 );
3018 }
3019 77usize => {
3020 if _serde::__private::Option::is_some(
3021 &m_violatedConstraintArray,
3022 ) {
3023 return _serde::__private::Err(
3024 <__A::Error as _serde::de::Error>::duplicate_field(
3025 "violatedConstraintArray",
3026 ),
3027 );
3028 }
3029 m_violatedConstraintArray = _serde::__private::Some(
3030 match __A::next_value::<Pointer>(&mut __map) {
3031 _serde::__private::Ok(__val) => __val,
3032 _serde::__private::Err(__err) => {
3033 return _serde::__private::Err(__err);
3034 }
3035 },
3036 );
3037 }
3038 78usize => {
3039 if _serde::__private::Option::is_some(&m_broadPhaseBorder) {
3040 return _serde::__private::Err(
3041 <__A::Error as _serde::de::Error>::duplicate_field(
3042 "broadPhaseBorder",
3043 ),
3044 );
3045 }
3046 m_broadPhaseBorder = _serde::__private::Some(
3047 match __A::next_value::<Pointer>(&mut __map) {
3048 _serde::__private::Ok(__val) => __val,
3049 _serde::__private::Err(__err) => {
3050 return _serde::__private::Err(__err);
3051 }
3052 },
3053 );
3054 }
3055 79usize => {
3056 if _serde::__private::Option::is_some(&m_destructionWorld) {
3057 return _serde::__private::Err(
3058 <__A::Error as _serde::de::Error>::duplicate_field(
3059 "destructionWorld",
3060 ),
3061 );
3062 }
3063 m_destructionWorld = _serde::__private::Some(
3064 match __A::next_value::<Pointer>(&mut __map) {
3065 _serde::__private::Ok(__val) => __val,
3066 _serde::__private::Err(__err) => {
3067 return _serde::__private::Err(__err);
3068 }
3069 },
3070 );
3071 }
3072 80usize => {
3073 if _serde::__private::Option::is_some(&m_npWorld) {
3074 return _serde::__private::Err(
3075 <__A::Error as _serde::de::Error>::duplicate_field(
3076 "npWorld",
3077 ),
3078 );
3079 }
3080 m_npWorld = _serde::__private::Some(
3081 match __A::next_value::<Pointer>(&mut __map) {
3082 _serde::__private::Ok(__val) => __val,
3083 _serde::__private::Err(__err) => {
3084 return _serde::__private::Err(__err);
3085 }
3086 },
3087 );
3088 }
3089 81usize => {
3090 if _serde::__private::Option::is_some(
3091 &m_broadPhaseExtents,
3092 ) {
3093 return _serde::__private::Err(
3094 <__A::Error as _serde::de::Error>::duplicate_field(
3095 "broadPhaseExtents",
3096 ),
3097 );
3098 }
3099 __A::pad(&mut __map, 320usize, 328usize)?;
3100 m_broadPhaseExtents = _serde::__private::Some(
3101 match __A::next_value::<[Vector4; 2usize]>(&mut __map) {
3102 _serde::__private::Ok(__val) => __val,
3103 _serde::__private::Err(__err) => {
3104 return _serde::__private::Err(__err);
3105 }
3106 },
3107 );
3108 }
3109 82usize => {
3110 if _serde::__private::Option::is_some(
3111 &m_broadPhaseNumMarkers,
3112 ) {
3113 return _serde::__private::Err(
3114 <__A::Error as _serde::de::Error>::duplicate_field(
3115 "broadPhaseNumMarkers",
3116 ),
3117 );
3118 }
3119 m_broadPhaseNumMarkers = _serde::__private::Some(
3120 match __A::next_value::<i32>(&mut __map) {
3121 _serde::__private::Ok(__val) => __val,
3122 _serde::__private::Err(__err) => {
3123 return _serde::__private::Err(__err);
3124 }
3125 },
3126 );
3127 }
3128 83usize => {
3129 if _serde::__private::Option::is_some(
3130 &m_sizeOfToiEventQueue,
3131 ) {
3132 return _serde::__private::Err(
3133 <__A::Error as _serde::de::Error>::duplicate_field(
3134 "sizeOfToiEventQueue",
3135 ),
3136 );
3137 }
3138 m_sizeOfToiEventQueue = _serde::__private::Some(
3139 match __A::next_value::<i32>(&mut __map) {
3140 _serde::__private::Ok(__val) => __val,
3141 _serde::__private::Err(__err) => {
3142 return _serde::__private::Err(__err);
3143 }
3144 },
3145 );
3146 }
3147 84usize => {
3148 if _serde::__private::Option::is_some(
3149 &m_broadPhaseQuerySize,
3150 ) {
3151 return _serde::__private::Err(
3152 <__A::Error as _serde::de::Error>::duplicate_field(
3153 "broadPhaseQuerySize",
3154 ),
3155 );
3156 }
3157 m_broadPhaseQuerySize = _serde::__private::Some(
3158 match __A::next_value::<i32>(&mut __map) {
3159 _serde::__private::Ok(__val) => __val,
3160 _serde::__private::Err(__err) => {
3161 return _serde::__private::Err(__err);
3162 }
3163 },
3164 );
3165 }
3166 85usize => {
3167 if _serde::__private::Option::is_some(
3168 &m_broadPhaseUpdateSize,
3169 ) {
3170 return _serde::__private::Err(
3171 <__A::Error as _serde::de::Error>::duplicate_field(
3172 "broadPhaseUpdateSize",
3173 ),
3174 );
3175 }
3176 m_broadPhaseUpdateSize = _serde::__private::Some(
3177 match __A::next_value::<i32>(&mut __map) {
3178 _serde::__private::Ok(__val) => __val,
3179 _serde::__private::Err(__err) => {
3180 return _serde::__private::Err(__err);
3181 }
3182 },
3183 );
3184 }
3185 86usize => {
3186 if _serde::__private::Option::is_some(
3187 &m_contactPointGeneration,
3188 ) {
3189 return _serde::__private::Err(
3190 <__A::Error as _serde::de::Error>::duplicate_field(
3191 "contactPointGeneration",
3192 ),
3193 );
3194 }
3195 m_contactPointGeneration = _serde::__private::Some(
3196 match __A::next_value::<i8>(&mut __map) {
3197 _serde::__private::Ok(__val) => __val,
3198 _serde::__private::Err(__err) => {
3199 return _serde::__private::Err(__err);
3200 }
3201 },
3202 );
3203 }
3204 _ => {}
3205 }
3206 }
3207 __A::pad(&mut __map, 15usize, 15usize)?;
3208 let m_simulation = match m_simulation {
3209 _serde::__private::Some(__field) => __field,
3210 _serde::__private::None => {
3211 return _serde::__private::Err(
3212 <__A::Error as _serde::de::Error>::missing_field(
3213 "simulation",
3214 ),
3215 );
3216 }
3217 };
3218 let m_gravity = match m_gravity {
3219 _serde::__private::Some(__field) => __field,
3220 _serde::__private::None => {
3221 return _serde::__private::Err(
3222 <__A::Error as _serde::de::Error>::missing_field("gravity"),
3223 );
3224 }
3225 };
3226 let m_fixedIsland = match m_fixedIsland {
3227 _serde::__private::Some(__field) => __field,
3228 _serde::__private::None => {
3229 return _serde::__private::Err(
3230 <__A::Error as _serde::de::Error>::missing_field(
3231 "fixedIsland",
3232 ),
3233 );
3234 }
3235 };
3236 let m_fixedRigidBody = match m_fixedRigidBody {
3237 _serde::__private::Some(__field) => __field,
3238 _serde::__private::None => {
3239 return _serde::__private::Err(
3240 <__A::Error as _serde::de::Error>::missing_field(
3241 "fixedRigidBody",
3242 ),
3243 );
3244 }
3245 };
3246 let m_activeSimulationIslands = match m_activeSimulationIslands {
3247 _serde::__private::Some(__field) => __field,
3248 _serde::__private::None => {
3249 return _serde::__private::Err(
3250 <__A::Error as _serde::de::Error>::missing_field(
3251 "activeSimulationIslands",
3252 ),
3253 );
3254 }
3255 };
3256 let m_inactiveSimulationIslands = match m_inactiveSimulationIslands {
3257 _serde::__private::Some(__field) => __field,
3258 _serde::__private::None => {
3259 return _serde::__private::Err(
3260 <__A::Error as _serde::de::Error>::missing_field(
3261 "inactiveSimulationIslands",
3262 ),
3263 );
3264 }
3265 };
3266 let m_dirtySimulationIslands = match m_dirtySimulationIslands {
3267 _serde::__private::Some(__field) => __field,
3268 _serde::__private::None => {
3269 return _serde::__private::Err(
3270 <__A::Error as _serde::de::Error>::missing_field(
3271 "dirtySimulationIslands",
3272 ),
3273 );
3274 }
3275 };
3276 let m_maintenanceMgr = match m_maintenanceMgr {
3277 _serde::__private::Some(__field) => __field,
3278 _serde::__private::None => {
3279 return _serde::__private::Err(
3280 <__A::Error as _serde::de::Error>::missing_field(
3281 "maintenanceMgr",
3282 ),
3283 );
3284 }
3285 };
3286 let m_memoryWatchDog = match m_memoryWatchDog {
3287 _serde::__private::Some(__field) => __field,
3288 _serde::__private::None => {
3289 return _serde::__private::Err(
3290 <__A::Error as _serde::de::Error>::missing_field(
3291 "memoryWatchDog",
3292 ),
3293 );
3294 }
3295 };
3296 let m_assertOnRunningOutOfSolverMemory = match m_assertOnRunningOutOfSolverMemory {
3297 _serde::__private::Some(__field) => __field,
3298 _serde::__private::None => {
3299 return _serde::__private::Err(
3300 <__A::Error as _serde::de::Error>::missing_field(
3301 "assertOnRunningOutOfSolverMemory",
3302 ),
3303 );
3304 }
3305 };
3306 let m_broadPhase = match m_broadPhase {
3307 _serde::__private::Some(__field) => __field,
3308 _serde::__private::None => {
3309 return _serde::__private::Err(
3310 <__A::Error as _serde::de::Error>::missing_field(
3311 "broadPhase",
3312 ),
3313 );
3314 }
3315 };
3316 let m_kdTreeManager = match m_kdTreeManager {
3317 _serde::__private::Some(__field) => __field,
3318 _serde::__private::None => {
3319 return _serde::__private::Err(
3320 <__A::Error as _serde::de::Error>::missing_field(
3321 "kdTreeManager",
3322 ),
3323 );
3324 }
3325 };
3326 let m_autoUpdateTree = match m_autoUpdateTree {
3327 _serde::__private::Some(__field) => __field,
3328 _serde::__private::None => {
3329 return _serde::__private::Err(
3330 <__A::Error as _serde::de::Error>::missing_field(
3331 "autoUpdateTree",
3332 ),
3333 );
3334 }
3335 };
3336 let m_broadPhaseDispatcher = match m_broadPhaseDispatcher {
3337 _serde::__private::Some(__field) => __field,
3338 _serde::__private::None => {
3339 return _serde::__private::Err(
3340 <__A::Error as _serde::de::Error>::missing_field(
3341 "broadPhaseDispatcher",
3342 ),
3343 );
3344 }
3345 };
3346 let m_phantomBroadPhaseListener = match m_phantomBroadPhaseListener {
3347 _serde::__private::Some(__field) => __field,
3348 _serde::__private::None => {
3349 return _serde::__private::Err(
3350 <__A::Error as _serde::de::Error>::missing_field(
3351 "phantomBroadPhaseListener",
3352 ),
3353 );
3354 }
3355 };
3356 let m_entityEntityBroadPhaseListener = match m_entityEntityBroadPhaseListener {
3357 _serde::__private::Some(__field) => __field,
3358 _serde::__private::None => {
3359 return _serde::__private::Err(
3360 <__A::Error as _serde::de::Error>::missing_field(
3361 "entityEntityBroadPhaseListener",
3362 ),
3363 );
3364 }
3365 };
3366 let m_broadPhaseBorderListener = match m_broadPhaseBorderListener {
3367 _serde::__private::Some(__field) => __field,
3368 _serde::__private::None => {
3369 return _serde::__private::Err(
3370 <__A::Error as _serde::de::Error>::missing_field(
3371 "broadPhaseBorderListener",
3372 ),
3373 );
3374 }
3375 };
3376 let m_multithreadedSimulationJobData = match m_multithreadedSimulationJobData {
3377 _serde::__private::Some(__field) => __field,
3378 _serde::__private::None => {
3379 return _serde::__private::Err(
3380 <__A::Error as _serde::de::Error>::missing_field(
3381 "multithreadedSimulationJobData",
3382 ),
3383 );
3384 }
3385 };
3386 let m_collisionInput = match m_collisionInput {
3387 _serde::__private::Some(__field) => __field,
3388 _serde::__private::None => {
3389 return _serde::__private::Err(
3390 <__A::Error as _serde::de::Error>::missing_field(
3391 "collisionInput",
3392 ),
3393 );
3394 }
3395 };
3396 let m_collisionFilter = match m_collisionFilter {
3397 _serde::__private::Some(__field) => __field,
3398 _serde::__private::None => {
3399 return _serde::__private::Err(
3400 <__A::Error as _serde::de::Error>::missing_field(
3401 "collisionFilter",
3402 ),
3403 );
3404 }
3405 };
3406 let m_collisionDispatcher = match m_collisionDispatcher {
3407 _serde::__private::Some(__field) => __field,
3408 _serde::__private::None => {
3409 return _serde::__private::Err(
3410 <__A::Error as _serde::de::Error>::missing_field(
3411 "collisionDispatcher",
3412 ),
3413 );
3414 }
3415 };
3416 let m_convexListFilter = match m_convexListFilter {
3417 _serde::__private::Some(__field) => __field,
3418 _serde::__private::None => {
3419 return _serde::__private::Err(
3420 <__A::Error as _serde::de::Error>::missing_field(
3421 "convexListFilter",
3422 ),
3423 );
3424 }
3425 };
3426 let m_pendingOperations = match m_pendingOperations {
3427 _serde::__private::Some(__field) => __field,
3428 _serde::__private::None => {
3429 return _serde::__private::Err(
3430 <__A::Error as _serde::de::Error>::missing_field(
3431 "pendingOperations",
3432 ),
3433 );
3434 }
3435 };
3436 let m_pendingOperationsCount = match m_pendingOperationsCount {
3437 _serde::__private::Some(__field) => __field,
3438 _serde::__private::None => {
3439 return _serde::__private::Err(
3440 <__A::Error as _serde::de::Error>::missing_field(
3441 "pendingOperationsCount",
3442 ),
3443 );
3444 }
3445 };
3446 let m_pendingBodyOperationsCount = match m_pendingBodyOperationsCount {
3447 _serde::__private::Some(__field) => __field,
3448 _serde::__private::None => {
3449 return _serde::__private::Err(
3450 <__A::Error as _serde::de::Error>::missing_field(
3451 "pendingBodyOperationsCount",
3452 ),
3453 );
3454 }
3455 };
3456 let m_criticalOperationsLockCount = match m_criticalOperationsLockCount {
3457 _serde::__private::Some(__field) => __field,
3458 _serde::__private::None => {
3459 return _serde::__private::Err(
3460 <__A::Error as _serde::de::Error>::missing_field(
3461 "criticalOperationsLockCount",
3462 ),
3463 );
3464 }
3465 };
3466 let m_criticalOperationsLockCountForPhantoms = match m_criticalOperationsLockCountForPhantoms {
3467 _serde::__private::Some(__field) => __field,
3468 _serde::__private::None => {
3469 return _serde::__private::Err(
3470 <__A::Error as _serde::de::Error>::missing_field(
3471 "criticalOperationsLockCountForPhantoms",
3472 ),
3473 );
3474 }
3475 };
3476 let m_blockExecutingPendingOperations = match m_blockExecutingPendingOperations {
3477 _serde::__private::Some(__field) => __field,
3478 _serde::__private::None => {
3479 return _serde::__private::Err(
3480 <__A::Error as _serde::de::Error>::missing_field(
3481 "blockExecutingPendingOperations",
3482 ),
3483 );
3484 }
3485 };
3486 let m_criticalOperationsAllowed = match m_criticalOperationsAllowed {
3487 _serde::__private::Some(__field) => __field,
3488 _serde::__private::None => {
3489 return _serde::__private::Err(
3490 <__A::Error as _serde::de::Error>::missing_field(
3491 "criticalOperationsAllowed",
3492 ),
3493 );
3494 }
3495 };
3496 let m_pendingOperationQueues = match m_pendingOperationQueues {
3497 _serde::__private::Some(__field) => __field,
3498 _serde::__private::None => {
3499 return _serde::__private::Err(
3500 <__A::Error as _serde::de::Error>::missing_field(
3501 "pendingOperationQueues",
3502 ),
3503 );
3504 }
3505 };
3506 let m_pendingOperationQueueCount = match m_pendingOperationQueueCount {
3507 _serde::__private::Some(__field) => __field,
3508 _serde::__private::None => {
3509 return _serde::__private::Err(
3510 <__A::Error as _serde::de::Error>::missing_field(
3511 "pendingOperationQueueCount",
3512 ),
3513 );
3514 }
3515 };
3516 let m_multiThreadCheck = match m_multiThreadCheck {
3517 _serde::__private::Some(__field) => __field,
3518 _serde::__private::None => {
3519 return _serde::__private::Err(
3520 <__A::Error as _serde::de::Error>::missing_field(
3521 "multiThreadCheck",
3522 ),
3523 );
3524 }
3525 };
3526 let m_processActionsInSingleThread = match m_processActionsInSingleThread {
3527 _serde::__private::Some(__field) => __field,
3528 _serde::__private::None => {
3529 return _serde::__private::Err(
3530 <__A::Error as _serde::de::Error>::missing_field(
3531 "processActionsInSingleThread",
3532 ),
3533 );
3534 }
3535 };
3536 let m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob = match m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob {
3537 _serde::__private::Some(__field) => __field,
3538 _serde::__private::None => {
3539 return _serde::__private::Err(
3540 <__A::Error as _serde::de::Error>::missing_field(
3541 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
3542 ),
3543 );
3544 }
3545 };
3546 let m_minDesiredIslandSize = match m_minDesiredIslandSize {
3547 _serde::__private::Some(__field) => __field,
3548 _serde::__private::None => {
3549 return _serde::__private::Err(
3550 <__A::Error as _serde::de::Error>::missing_field(
3551 "minDesiredIslandSize",
3552 ),
3553 );
3554 }
3555 };
3556 let m_modifyConstraintCriticalSection = match m_modifyConstraintCriticalSection {
3557 _serde::__private::Some(__field) => __field,
3558 _serde::__private::None => {
3559 return _serde::__private::Err(
3560 <__A::Error as _serde::de::Error>::missing_field(
3561 "modifyConstraintCriticalSection",
3562 ),
3563 );
3564 }
3565 };
3566 let m_isLocked = match m_isLocked {
3567 _serde::__private::Some(__field) => __field,
3568 _serde::__private::None => {
3569 return _serde::__private::Err(
3570 <__A::Error as _serde::de::Error>::missing_field("isLocked"),
3571 );
3572 }
3573 };
3574 let m_islandDirtyListCriticalSection = match m_islandDirtyListCriticalSection {
3575 _serde::__private::Some(__field) => __field,
3576 _serde::__private::None => {
3577 return _serde::__private::Err(
3578 <__A::Error as _serde::de::Error>::missing_field(
3579 "islandDirtyListCriticalSection",
3580 ),
3581 );
3582 }
3583 };
3584 let m_propertyMasterLock = match m_propertyMasterLock {
3585 _serde::__private::Some(__field) => __field,
3586 _serde::__private::None => {
3587 return _serde::__private::Err(
3588 <__A::Error as _serde::de::Error>::missing_field(
3589 "propertyMasterLock",
3590 ),
3591 );
3592 }
3593 };
3594 let m_wantSimulationIslands = match m_wantSimulationIslands {
3595 _serde::__private::Some(__field) => __field,
3596 _serde::__private::None => {
3597 return _serde::__private::Err(
3598 <__A::Error as _serde::de::Error>::missing_field(
3599 "wantSimulationIslands",
3600 ),
3601 );
3602 }
3603 };
3604 let m_useHybridBroadphase = match m_useHybridBroadphase {
3605 _serde::__private::Some(__field) => __field,
3606 _serde::__private::None => {
3607 return _serde::__private::Err(
3608 <__A::Error as _serde::de::Error>::missing_field(
3609 "useHybridBroadphase",
3610 ),
3611 );
3612 }
3613 };
3614 let m_snapCollisionToConvexEdgeThreshold = match m_snapCollisionToConvexEdgeThreshold {
3615 _serde::__private::Some(__field) => __field,
3616 _serde::__private::None => {
3617 return _serde::__private::Err(
3618 <__A::Error as _serde::de::Error>::missing_field(
3619 "snapCollisionToConvexEdgeThreshold",
3620 ),
3621 );
3622 }
3623 };
3624 let m_snapCollisionToConcaveEdgeThreshold = match m_snapCollisionToConcaveEdgeThreshold {
3625 _serde::__private::Some(__field) => __field,
3626 _serde::__private::None => {
3627 return _serde::__private::Err(
3628 <__A::Error as _serde::de::Error>::missing_field(
3629 "snapCollisionToConcaveEdgeThreshold",
3630 ),
3631 );
3632 }
3633 };
3634 let m_enableToiWeldRejection = match m_enableToiWeldRejection {
3635 _serde::__private::Some(__field) => __field,
3636 _serde::__private::None => {
3637 return _serde::__private::Err(
3638 <__A::Error as _serde::de::Error>::missing_field(
3639 "enableToiWeldRejection",
3640 ),
3641 );
3642 }
3643 };
3644 let m_wantDeactivation = match m_wantDeactivation {
3645 _serde::__private::Some(__field) => __field,
3646 _serde::__private::None => {
3647 return _serde::__private::Err(
3648 <__A::Error as _serde::de::Error>::missing_field(
3649 "wantDeactivation",
3650 ),
3651 );
3652 }
3653 };
3654 let m_shouldActivateOnRigidBodyTransformChange = match m_shouldActivateOnRigidBodyTransformChange {
3655 _serde::__private::Some(__field) => __field,
3656 _serde::__private::None => {
3657 return _serde::__private::Err(
3658 <__A::Error as _serde::de::Error>::missing_field(
3659 "shouldActivateOnRigidBodyTransformChange",
3660 ),
3661 );
3662 }
3663 };
3664 let m_deactivationReferenceDistance = match m_deactivationReferenceDistance {
3665 _serde::__private::Some(__field) => __field,
3666 _serde::__private::None => {
3667 return _serde::__private::Err(
3668 <__A::Error as _serde::de::Error>::missing_field(
3669 "deactivationReferenceDistance",
3670 ),
3671 );
3672 }
3673 };
3674 let m_toiCollisionResponseRotateNormal = match m_toiCollisionResponseRotateNormal {
3675 _serde::__private::Some(__field) => __field,
3676 _serde::__private::None => {
3677 return _serde::__private::Err(
3678 <__A::Error as _serde::de::Error>::missing_field(
3679 "toiCollisionResponseRotateNormal",
3680 ),
3681 );
3682 }
3683 };
3684 let m_maxSectorsPerMidphaseCollideTask = match m_maxSectorsPerMidphaseCollideTask {
3685 _serde::__private::Some(__field) => __field,
3686 _serde::__private::None => {
3687 return _serde::__private::Err(
3688 <__A::Error as _serde::de::Error>::missing_field(
3689 "maxSectorsPerMidphaseCollideTask",
3690 ),
3691 );
3692 }
3693 };
3694 let m_maxSectorsPerNarrowphaseCollideTask = match m_maxSectorsPerNarrowphaseCollideTask {
3695 _serde::__private::Some(__field) => __field,
3696 _serde::__private::None => {
3697 return _serde::__private::Err(
3698 <__A::Error as _serde::de::Error>::missing_field(
3699 "maxSectorsPerNarrowphaseCollideTask",
3700 ),
3701 );
3702 }
3703 };
3704 let m_processToisMultithreaded = match m_processToisMultithreaded {
3705 _serde::__private::Some(__field) => __field,
3706 _serde::__private::None => {
3707 return _serde::__private::Err(
3708 <__A::Error as _serde::de::Error>::missing_field(
3709 "processToisMultithreaded",
3710 ),
3711 );
3712 }
3713 };
3714 let m_maxEntriesPerToiMidphaseCollideTask = match m_maxEntriesPerToiMidphaseCollideTask {
3715 _serde::__private::Some(__field) => __field,
3716 _serde::__private::None => {
3717 return _serde::__private::Err(
3718 <__A::Error as _serde::de::Error>::missing_field(
3719 "maxEntriesPerToiMidphaseCollideTask",
3720 ),
3721 );
3722 }
3723 };
3724 let m_maxEntriesPerToiNarrowphaseCollideTask = match m_maxEntriesPerToiNarrowphaseCollideTask {
3725 _serde::__private::Some(__field) => __field,
3726 _serde::__private::None => {
3727 return _serde::__private::Err(
3728 <__A::Error as _serde::de::Error>::missing_field(
3729 "maxEntriesPerToiNarrowphaseCollideTask",
3730 ),
3731 );
3732 }
3733 };
3734 let m_maxNumToiCollisionPairsSinglethreaded = match m_maxNumToiCollisionPairsSinglethreaded {
3735 _serde::__private::Some(__field) => __field,
3736 _serde::__private::None => {
3737 return _serde::__private::Err(
3738 <__A::Error as _serde::de::Error>::missing_field(
3739 "maxNumToiCollisionPairsSinglethreaded",
3740 ),
3741 );
3742 }
3743 };
3744 let m_simulationType = match m_simulationType {
3745 _serde::__private::Some(__field) => __field,
3746 _serde::__private::None => {
3747 return _serde::__private::Err(
3748 <__A::Error as _serde::de::Error>::missing_field(
3749 "simulationType",
3750 ),
3751 );
3752 }
3753 };
3754 let m_numToisTillAllowedPenetrationSimplifiedToi = match m_numToisTillAllowedPenetrationSimplifiedToi {
3755 _serde::__private::Some(__field) => __field,
3756 _serde::__private::None => {
3757 return _serde::__private::Err(
3758 <__A::Error as _serde::de::Error>::missing_field(
3759 "numToisTillAllowedPenetrationSimplifiedToi",
3760 ),
3761 );
3762 }
3763 };
3764 let m_numToisTillAllowedPenetrationToi = match m_numToisTillAllowedPenetrationToi {
3765 _serde::__private::Some(__field) => __field,
3766 _serde::__private::None => {
3767 return _serde::__private::Err(
3768 <__A::Error as _serde::de::Error>::missing_field(
3769 "numToisTillAllowedPenetrationToi",
3770 ),
3771 );
3772 }
3773 };
3774 let m_numToisTillAllowedPenetrationToiHigher = match m_numToisTillAllowedPenetrationToiHigher {
3775 _serde::__private::Some(__field) => __field,
3776 _serde::__private::None => {
3777 return _serde::__private::Err(
3778 <__A::Error as _serde::de::Error>::missing_field(
3779 "numToisTillAllowedPenetrationToiHigher",
3780 ),
3781 );
3782 }
3783 };
3784 let m_numToisTillAllowedPenetrationToiForced = match m_numToisTillAllowedPenetrationToiForced {
3785 _serde::__private::Some(__field) => __field,
3786 _serde::__private::None => {
3787 return _serde::__private::Err(
3788 <__A::Error as _serde::de::Error>::missing_field(
3789 "numToisTillAllowedPenetrationToiForced",
3790 ),
3791 );
3792 }
3793 };
3794 let m_lastEntityUid = match m_lastEntityUid {
3795 _serde::__private::Some(__field) => __field,
3796 _serde::__private::None => {
3797 return _serde::__private::Err(
3798 <__A::Error as _serde::de::Error>::missing_field(
3799 "lastEntityUid",
3800 ),
3801 );
3802 }
3803 };
3804 let m_lastIslandUid = match m_lastIslandUid {
3805 _serde::__private::Some(__field) => __field,
3806 _serde::__private::None => {
3807 return _serde::__private::Err(
3808 <__A::Error as _serde::de::Error>::missing_field(
3809 "lastIslandUid",
3810 ),
3811 );
3812 }
3813 };
3814 let m_lastConstraintUid = match m_lastConstraintUid {
3815 _serde::__private::Some(__field) => __field,
3816 _serde::__private::None => {
3817 return _serde::__private::Err(
3818 <__A::Error as _serde::de::Error>::missing_field(
3819 "lastConstraintUid",
3820 ),
3821 );
3822 }
3823 };
3824 let m_phantoms = match m_phantoms {
3825 _serde::__private::Some(__field) => __field,
3826 _serde::__private::None => {
3827 return _serde::__private::Err(
3828 <__A::Error as _serde::de::Error>::missing_field("phantoms"),
3829 );
3830 }
3831 };
3832 let m_actionListeners = match m_actionListeners {
3833 _serde::__private::Some(__field) => __field,
3834 _serde::__private::None => {
3835 return _serde::__private::Err(
3836 <__A::Error as _serde::de::Error>::missing_field(
3837 "actionListeners",
3838 ),
3839 );
3840 }
3841 };
3842 let m_entityListeners = match m_entityListeners {
3843 _serde::__private::Some(__field) => __field,
3844 _serde::__private::None => {
3845 return _serde::__private::Err(
3846 <__A::Error as _serde::de::Error>::missing_field(
3847 "entityListeners",
3848 ),
3849 );
3850 }
3851 };
3852 let m_phantomListeners = match m_phantomListeners {
3853 _serde::__private::Some(__field) => __field,
3854 _serde::__private::None => {
3855 return _serde::__private::Err(
3856 <__A::Error as _serde::de::Error>::missing_field(
3857 "phantomListeners",
3858 ),
3859 );
3860 }
3861 };
3862 let m_constraintListeners = match m_constraintListeners {
3863 _serde::__private::Some(__field) => __field,
3864 _serde::__private::None => {
3865 return _serde::__private::Err(
3866 <__A::Error as _serde::de::Error>::missing_field(
3867 "constraintListeners",
3868 ),
3869 );
3870 }
3871 };
3872 let m_worldDeletionListeners = match m_worldDeletionListeners {
3873 _serde::__private::Some(__field) => __field,
3874 _serde::__private::None => {
3875 return _serde::__private::Err(
3876 <__A::Error as _serde::de::Error>::missing_field(
3877 "worldDeletionListeners",
3878 ),
3879 );
3880 }
3881 };
3882 let m_islandActivationListeners = match m_islandActivationListeners {
3883 _serde::__private::Some(__field) => __field,
3884 _serde::__private::None => {
3885 return _serde::__private::Err(
3886 <__A::Error as _serde::de::Error>::missing_field(
3887 "islandActivationListeners",
3888 ),
3889 );
3890 }
3891 };
3892 let m_worldPostSimulationListeners = match m_worldPostSimulationListeners {
3893 _serde::__private::Some(__field) => __field,
3894 _serde::__private::None => {
3895 return _serde::__private::Err(
3896 <__A::Error as _serde::de::Error>::missing_field(
3897 "worldPostSimulationListeners",
3898 ),
3899 );
3900 }
3901 };
3902 let m_worldPostIntegrateListeners = match m_worldPostIntegrateListeners {
3903 _serde::__private::Some(__field) => __field,
3904 _serde::__private::None => {
3905 return _serde::__private::Err(
3906 <__A::Error as _serde::de::Error>::missing_field(
3907 "worldPostIntegrateListeners",
3908 ),
3909 );
3910 }
3911 };
3912 let m_worldPostCollideListeners = match m_worldPostCollideListeners {
3913 _serde::__private::Some(__field) => __field,
3914 _serde::__private::None => {
3915 return _serde::__private::Err(
3916 <__A::Error as _serde::de::Error>::missing_field(
3917 "worldPostCollideListeners",
3918 ),
3919 );
3920 }
3921 };
3922 let m_islandPostIntegrateListeners = match m_islandPostIntegrateListeners {
3923 _serde::__private::Some(__field) => __field,
3924 _serde::__private::None => {
3925 return _serde::__private::Err(
3926 <__A::Error as _serde::de::Error>::missing_field(
3927 "islandPostIntegrateListeners",
3928 ),
3929 );
3930 }
3931 };
3932 let m_islandPostCollideListeners = match m_islandPostCollideListeners {
3933 _serde::__private::Some(__field) => __field,
3934 _serde::__private::None => {
3935 return _serde::__private::Err(
3936 <__A::Error as _serde::de::Error>::missing_field(
3937 "islandPostCollideListeners",
3938 ),
3939 );
3940 }
3941 };
3942 let m_contactListeners = match m_contactListeners {
3943 _serde::__private::Some(__field) => __field,
3944 _serde::__private::None => {
3945 return _serde::__private::Err(
3946 <__A::Error as _serde::de::Error>::missing_field(
3947 "contactListeners",
3948 ),
3949 );
3950 }
3951 };
3952 let m_contactImpulseLimitBreachedListeners = match m_contactImpulseLimitBreachedListeners {
3953 _serde::__private::Some(__field) => __field,
3954 _serde::__private::None => {
3955 return _serde::__private::Err(
3956 <__A::Error as _serde::de::Error>::missing_field(
3957 "contactImpulseLimitBreachedListeners",
3958 ),
3959 );
3960 }
3961 };
3962 let m_worldExtensions = match m_worldExtensions {
3963 _serde::__private::Some(__field) => __field,
3964 _serde::__private::None => {
3965 return _serde::__private::Err(
3966 <__A::Error as _serde::de::Error>::missing_field(
3967 "worldExtensions",
3968 ),
3969 );
3970 }
3971 };
3972 let m_violatedConstraintArray = match m_violatedConstraintArray {
3973 _serde::__private::Some(__field) => __field,
3974 _serde::__private::None => {
3975 return _serde::__private::Err(
3976 <__A::Error as _serde::de::Error>::missing_field(
3977 "violatedConstraintArray",
3978 ),
3979 );
3980 }
3981 };
3982 let m_broadPhaseBorder = match m_broadPhaseBorder {
3983 _serde::__private::Some(__field) => __field,
3984 _serde::__private::None => {
3985 return _serde::__private::Err(
3986 <__A::Error as _serde::de::Error>::missing_field(
3987 "broadPhaseBorder",
3988 ),
3989 );
3990 }
3991 };
3992 let m_destructionWorld = match m_destructionWorld {
3993 _serde::__private::Some(__field) => __field,
3994 _serde::__private::None => {
3995 return _serde::__private::Err(
3996 <__A::Error as _serde::de::Error>::missing_field(
3997 "destructionWorld",
3998 ),
3999 );
4000 }
4001 };
4002 let m_npWorld = match m_npWorld {
4003 _serde::__private::Some(__field) => __field,
4004 _serde::__private::None => {
4005 return _serde::__private::Err(
4006 <__A::Error as _serde::de::Error>::missing_field("npWorld"),
4007 );
4008 }
4009 };
4010 let m_broadPhaseExtents = match m_broadPhaseExtents {
4011 _serde::__private::Some(__field) => __field,
4012 _serde::__private::None => {
4013 return _serde::__private::Err(
4014 <__A::Error as _serde::de::Error>::missing_field(
4015 "broadPhaseExtents",
4016 ),
4017 );
4018 }
4019 };
4020 let m_broadPhaseNumMarkers = match m_broadPhaseNumMarkers {
4021 _serde::__private::Some(__field) => __field,
4022 _serde::__private::None => {
4023 return _serde::__private::Err(
4024 <__A::Error as _serde::de::Error>::missing_field(
4025 "broadPhaseNumMarkers",
4026 ),
4027 );
4028 }
4029 };
4030 let m_sizeOfToiEventQueue = match m_sizeOfToiEventQueue {
4031 _serde::__private::Some(__field) => __field,
4032 _serde::__private::None => {
4033 return _serde::__private::Err(
4034 <__A::Error as _serde::de::Error>::missing_field(
4035 "sizeOfToiEventQueue",
4036 ),
4037 );
4038 }
4039 };
4040 let m_broadPhaseQuerySize = match m_broadPhaseQuerySize {
4041 _serde::__private::Some(__field) => __field,
4042 _serde::__private::None => {
4043 return _serde::__private::Err(
4044 <__A::Error as _serde::de::Error>::missing_field(
4045 "broadPhaseQuerySize",
4046 ),
4047 );
4048 }
4049 };
4050 let m_broadPhaseUpdateSize = match m_broadPhaseUpdateSize {
4051 _serde::__private::Some(__field) => __field,
4052 _serde::__private::None => {
4053 return _serde::__private::Err(
4054 <__A::Error as _serde::de::Error>::missing_field(
4055 "broadPhaseUpdateSize",
4056 ),
4057 );
4058 }
4059 };
4060 let m_contactPointGeneration = match m_contactPointGeneration {
4061 _serde::__private::Some(__field) => __field,
4062 _serde::__private::None => {
4063 return _serde::__private::Err(
4064 <__A::Error as _serde::de::Error>::missing_field(
4065 "contactPointGeneration",
4066 ),
4067 );
4068 }
4069 };
4070 _serde::__private::Ok(hkpWorld {
4071 __ptr,
4072 parent,
4073 m_simulation,
4074 m_gravity,
4075 m_fixedIsland,
4076 m_fixedRigidBody,
4077 m_activeSimulationIslands,
4078 m_inactiveSimulationIslands,
4079 m_dirtySimulationIslands,
4080 m_maintenanceMgr,
4081 m_memoryWatchDog,
4082 m_assertOnRunningOutOfSolverMemory,
4083 m_broadPhase,
4084 m_kdTreeManager,
4085 m_autoUpdateTree,
4086 m_broadPhaseDispatcher,
4087 m_phantomBroadPhaseListener,
4088 m_entityEntityBroadPhaseListener,
4089 m_broadPhaseBorderListener,
4090 m_multithreadedSimulationJobData,
4091 m_collisionInput,
4092 m_collisionFilter,
4093 m_collisionDispatcher,
4094 m_convexListFilter,
4095 m_pendingOperations,
4096 m_pendingOperationsCount,
4097 m_pendingBodyOperationsCount,
4098 m_criticalOperationsLockCount,
4099 m_criticalOperationsLockCountForPhantoms,
4100 m_blockExecutingPendingOperations,
4101 m_criticalOperationsAllowed,
4102 m_pendingOperationQueues,
4103 m_pendingOperationQueueCount,
4104 m_multiThreadCheck,
4105 m_processActionsInSingleThread,
4106 m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
4107 m_minDesiredIslandSize,
4108 m_modifyConstraintCriticalSection,
4109 m_isLocked,
4110 m_islandDirtyListCriticalSection,
4111 m_propertyMasterLock,
4112 m_wantSimulationIslands,
4113 m_useHybridBroadphase,
4114 m_snapCollisionToConvexEdgeThreshold,
4115 m_snapCollisionToConcaveEdgeThreshold,
4116 m_enableToiWeldRejection,
4117 m_wantDeactivation,
4118 m_shouldActivateOnRigidBodyTransformChange,
4119 m_deactivationReferenceDistance,
4120 m_toiCollisionResponseRotateNormal,
4121 m_maxSectorsPerMidphaseCollideTask,
4122 m_maxSectorsPerNarrowphaseCollideTask,
4123 m_processToisMultithreaded,
4124 m_maxEntriesPerToiMidphaseCollideTask,
4125 m_maxEntriesPerToiNarrowphaseCollideTask,
4126 m_maxNumToiCollisionPairsSinglethreaded,
4127 m_simulationType,
4128 m_numToisTillAllowedPenetrationSimplifiedToi,
4129 m_numToisTillAllowedPenetrationToi,
4130 m_numToisTillAllowedPenetrationToiHigher,
4131 m_numToisTillAllowedPenetrationToiForced,
4132 m_lastEntityUid,
4133 m_lastIslandUid,
4134 m_lastConstraintUid,
4135 m_phantoms,
4136 m_actionListeners,
4137 m_entityListeners,
4138 m_phantomListeners,
4139 m_constraintListeners,
4140 m_worldDeletionListeners,
4141 m_islandActivationListeners,
4142 m_worldPostSimulationListeners,
4143 m_worldPostIntegrateListeners,
4144 m_worldPostCollideListeners,
4145 m_islandPostIntegrateListeners,
4146 m_islandPostCollideListeners,
4147 m_contactListeners,
4148 m_contactImpulseLimitBreachedListeners,
4149 m_worldExtensions,
4150 m_violatedConstraintArray,
4151 m_broadPhaseBorder,
4152 m_destructionWorld,
4153 m_npWorld,
4154 m_broadPhaseExtents,
4155 m_broadPhaseNumMarkers,
4156 m_sizeOfToiEventQueue,
4157 m_broadPhaseQuerySize,
4158 m_broadPhaseUpdateSize,
4159 m_contactPointGeneration,
4160 })
4161 }
4162 #[allow(clippy::manual_unwrap_or_default)]
4163 fn visit_struct<__A>(
4164 self,
4165 mut __map: __A,
4166 ) -> _serde::__private::Result<Self::Value, __A::Error>
4167 where
4168 __A: _serde::de::MapAccess<'de>,
4169 {
4170 let mut m_simulation: _serde::__private::Option<Pointer> = _serde::__private::None;
4171 let mut m_gravity: _serde::__private::Option<Vector4> = _serde::__private::None;
4172 let mut m_fixedRigidBody: _serde::__private::Option<Pointer> = _serde::__private::None;
4173 let mut m_autoUpdateTree: _serde::__private::Option<bool> = _serde::__private::None;
4174 let mut m_pendingOperationsCount: _serde::__private::Option<i32> = _serde::__private::None;
4175 let mut m_criticalOperationsLockCount: _serde::__private::Option<
4176 i32,
4177 > = _serde::__private::None;
4178 let mut m_criticalOperationsLockCountForPhantoms: _serde::__private::Option<
4179 i32,
4180 > = _serde::__private::None;
4181 let mut m_blockExecutingPendingOperations: _serde::__private::Option<
4182 bool,
4183 > = _serde::__private::None;
4184 let mut m_criticalOperationsAllowed: _serde::__private::Option<
4185 bool,
4186 > = _serde::__private::None;
4187 let mut m_pendingOperationQueueCount: _serde::__private::Option<
4188 i32,
4189 > = _serde::__private::None;
4190 let mut m_processActionsInSingleThread: _serde::__private::Option<
4191 bool,
4192 > = _serde::__private::None;
4193 let mut m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob: _serde::__private::Option<
4194 bool,
4195 > = _serde::__private::None;
4196 let mut m_minDesiredIslandSize: _serde::__private::Option<u32> = _serde::__private::None;
4197 let mut m_isLocked: _serde::__private::Option<i32> = _serde::__private::None;
4198 let mut m_wantSimulationIslands: _serde::__private::Option<bool> = _serde::__private::None;
4199 let mut m_snapCollisionToConvexEdgeThreshold: _serde::__private::Option<
4200 f32,
4201 > = _serde::__private::None;
4202 let mut m_snapCollisionToConcaveEdgeThreshold: _serde::__private::Option<
4203 f32,
4204 > = _serde::__private::None;
4205 let mut m_enableToiWeldRejection: _serde::__private::Option<bool> = _serde::__private::None;
4206 let mut m_wantDeactivation: _serde::__private::Option<bool> = _serde::__private::None;
4207 let mut m_shouldActivateOnRigidBodyTransformChange: _serde::__private::Option<
4208 bool,
4209 > = _serde::__private::None;
4210 let mut m_deactivationReferenceDistance: _serde::__private::Option<
4211 f32,
4212 > = _serde::__private::None;
4213 let mut m_toiCollisionResponseRotateNormal: _serde::__private::Option<
4214 f32,
4215 > = _serde::__private::None;
4216 let mut m_maxSectorsPerMidphaseCollideTask: _serde::__private::Option<
4217 i32,
4218 > = _serde::__private::None;
4219 let mut m_maxSectorsPerNarrowphaseCollideTask: _serde::__private::Option<
4220 i32,
4221 > = _serde::__private::None;
4222 let mut m_processToisMultithreaded: _serde::__private::Option<
4223 bool,
4224 > = _serde::__private::None;
4225 let mut m_maxEntriesPerToiMidphaseCollideTask: _serde::__private::Option<
4226 i32,
4227 > = _serde::__private::None;
4228 let mut m_maxEntriesPerToiNarrowphaseCollideTask: _serde::__private::Option<
4229 i32,
4230 > = _serde::__private::None;
4231 let mut m_maxNumToiCollisionPairsSinglethreaded: _serde::__private::Option<
4232 i32,
4233 > = _serde::__private::None;
4234 let mut m_numToisTillAllowedPenetrationSimplifiedToi: _serde::__private::Option<
4235 f32,
4236 > = _serde::__private::None;
4237 let mut m_numToisTillAllowedPenetrationToi: _serde::__private::Option<
4238 f32,
4239 > = _serde::__private::None;
4240 let mut m_numToisTillAllowedPenetrationToiHigher: _serde::__private::Option<
4241 f32,
4242 > = _serde::__private::None;
4243 let mut m_numToisTillAllowedPenetrationToiForced: _serde::__private::Option<
4244 f32,
4245 > = _serde::__private::None;
4246 let mut m_lastEntityUid: _serde::__private::Option<u32> = _serde::__private::None;
4247 let mut m_lastIslandUid: _serde::__private::Option<u32> = _serde::__private::None;
4248 let mut m_lastConstraintUid: _serde::__private::Option<u32> = _serde::__private::None;
4249 let mut m_phantoms: _serde::__private::Option<Vec<Pointer>> = _serde::__private::None;
4250 let mut m_broadPhaseExtents: _serde::__private::Option<
4251 [Vector4; 2usize],
4252 > = _serde::__private::None;
4253 let mut m_broadPhaseNumMarkers: _serde::__private::Option<i32> = _serde::__private::None;
4254 let mut m_sizeOfToiEventQueue: _serde::__private::Option<i32> = _serde::__private::None;
4255 let mut m_broadPhaseQuerySize: _serde::__private::Option<i32> = _serde::__private::None;
4256 let mut m_broadPhaseUpdateSize: _serde::__private::Option<i32> = _serde::__private::None;
4257 while let _serde::__private::Some(__key) = {
4258 __A::next_key::<__Field>(&mut __map)?
4259 } {
4260 match __key {
4261 __Field::m_simulation => {
4262 #[cfg(
4263 any(feature = "strict", feature = "ignore_duplicates")
4264 )]
4265 if _serde::__private::Option::is_some(&m_simulation) {
4266 #[cfg(feature = "ignore_duplicates")]
4267 {
4268 __A::skip_value(&mut __map)?;
4269 continue;
4270 }
4271 #[cfg(feature = "strict")]
4272 return _serde::__private::Err(
4273 <__A::Error as _serde::de::Error>::duplicate_field(
4274 "simulation",
4275 ),
4276 );
4277 }
4278 m_simulation = _serde::__private::Some(
4279 match __A::next_value::<Pointer>(&mut __map) {
4280 _serde::__private::Ok(__val) => __val,
4281 _serde::__private::Err(__err) => {
4282 return _serde::__private::Err(__err);
4283 }
4284 },
4285 );
4286 }
4287 __Field::m_gravity => {
4288 #[cfg(
4289 any(feature = "strict", feature = "ignore_duplicates")
4290 )]
4291 if _serde::__private::Option::is_some(&m_gravity) {
4292 #[cfg(feature = "ignore_duplicates")]
4293 {
4294 __A::skip_value(&mut __map)?;
4295 continue;
4296 }
4297 #[cfg(feature = "strict")]
4298 return _serde::__private::Err(
4299 <__A::Error as _serde::de::Error>::duplicate_field(
4300 "gravity",
4301 ),
4302 );
4303 }
4304 m_gravity = _serde::__private::Some(
4305 match __A::next_value::<Vector4>(&mut __map) {
4306 _serde::__private::Ok(__val) => __val,
4307 _serde::__private::Err(__err) => {
4308 return _serde::__private::Err(__err);
4309 }
4310 },
4311 );
4312 }
4313 __Field::m_fixedRigidBody => {
4314 #[cfg(
4315 any(feature = "strict", feature = "ignore_duplicates")
4316 )]
4317 if _serde::__private::Option::is_some(&m_fixedRigidBody) {
4318 #[cfg(feature = "ignore_duplicates")]
4319 {
4320 __A::skip_value(&mut __map)?;
4321 continue;
4322 }
4323 #[cfg(feature = "strict")]
4324 return _serde::__private::Err(
4325 <__A::Error as _serde::de::Error>::duplicate_field(
4326 "fixedRigidBody",
4327 ),
4328 );
4329 }
4330 m_fixedRigidBody = _serde::__private::Some(
4331 match __A::next_value::<Pointer>(&mut __map) {
4332 _serde::__private::Ok(__val) => __val,
4333 _serde::__private::Err(__err) => {
4334 return _serde::__private::Err(__err);
4335 }
4336 },
4337 );
4338 }
4339 __Field::m_autoUpdateTree => {
4340 #[cfg(
4341 any(feature = "strict", feature = "ignore_duplicates")
4342 )]
4343 if _serde::__private::Option::is_some(&m_autoUpdateTree) {
4344 #[cfg(feature = "ignore_duplicates")]
4345 {
4346 __A::skip_value(&mut __map)?;
4347 continue;
4348 }
4349 #[cfg(feature = "strict")]
4350 return _serde::__private::Err(
4351 <__A::Error as _serde::de::Error>::duplicate_field(
4352 "autoUpdateTree",
4353 ),
4354 );
4355 }
4356 m_autoUpdateTree = _serde::__private::Some(
4357 match __A::next_value::<bool>(&mut __map) {
4358 _serde::__private::Ok(__val) => __val,
4359 _serde::__private::Err(__err) => {
4360 return _serde::__private::Err(__err);
4361 }
4362 },
4363 );
4364 }
4365 __Field::m_pendingOperationsCount => {
4366 #[cfg(
4367 any(feature = "strict", feature = "ignore_duplicates")
4368 )]
4369 if _serde::__private::Option::is_some(
4370 &m_pendingOperationsCount,
4371 ) {
4372 #[cfg(feature = "ignore_duplicates")]
4373 {
4374 __A::skip_value(&mut __map)?;
4375 continue;
4376 }
4377 #[cfg(feature = "strict")]
4378 return _serde::__private::Err(
4379 <__A::Error as _serde::de::Error>::duplicate_field(
4380 "pendingOperationsCount",
4381 ),
4382 );
4383 }
4384 m_pendingOperationsCount = _serde::__private::Some(
4385 match __A::next_value::<i32>(&mut __map) {
4386 _serde::__private::Ok(__val) => __val,
4387 _serde::__private::Err(__err) => {
4388 return _serde::__private::Err(__err);
4389 }
4390 },
4391 );
4392 }
4393 __Field::m_criticalOperationsLockCount => {
4394 #[cfg(
4395 any(feature = "strict", feature = "ignore_duplicates")
4396 )]
4397 if _serde::__private::Option::is_some(
4398 &m_criticalOperationsLockCount,
4399 ) {
4400 #[cfg(feature = "ignore_duplicates")]
4401 {
4402 __A::skip_value(&mut __map)?;
4403 continue;
4404 }
4405 #[cfg(feature = "strict")]
4406 return _serde::__private::Err(
4407 <__A::Error as _serde::de::Error>::duplicate_field(
4408 "criticalOperationsLockCount",
4409 ),
4410 );
4411 }
4412 m_criticalOperationsLockCount = _serde::__private::Some(
4413 match __A::next_value::<i32>(&mut __map) {
4414 _serde::__private::Ok(__val) => __val,
4415 _serde::__private::Err(__err) => {
4416 return _serde::__private::Err(__err);
4417 }
4418 },
4419 );
4420 }
4421 __Field::m_criticalOperationsLockCountForPhantoms => {
4422 #[cfg(
4423 any(feature = "strict", feature = "ignore_duplicates")
4424 )]
4425 if _serde::__private::Option::is_some(
4426 &m_criticalOperationsLockCountForPhantoms,
4427 ) {
4428 #[cfg(feature = "ignore_duplicates")]
4429 {
4430 __A::skip_value(&mut __map)?;
4431 continue;
4432 }
4433 #[cfg(feature = "strict")]
4434 return _serde::__private::Err(
4435 <__A::Error as _serde::de::Error>::duplicate_field(
4436 "criticalOperationsLockCountForPhantoms",
4437 ),
4438 );
4439 }
4440 m_criticalOperationsLockCountForPhantoms = _serde::__private::Some(
4441 match __A::next_value::<i32>(&mut __map) {
4442 _serde::__private::Ok(__val) => __val,
4443 _serde::__private::Err(__err) => {
4444 return _serde::__private::Err(__err);
4445 }
4446 },
4447 );
4448 }
4449 __Field::m_blockExecutingPendingOperations => {
4450 #[cfg(
4451 any(feature = "strict", feature = "ignore_duplicates")
4452 )]
4453 if _serde::__private::Option::is_some(
4454 &m_blockExecutingPendingOperations,
4455 ) {
4456 #[cfg(feature = "ignore_duplicates")]
4457 {
4458 __A::skip_value(&mut __map)?;
4459 continue;
4460 }
4461 #[cfg(feature = "strict")]
4462 return _serde::__private::Err(
4463 <__A::Error as _serde::de::Error>::duplicate_field(
4464 "blockExecutingPendingOperations",
4465 ),
4466 );
4467 }
4468 m_blockExecutingPendingOperations = _serde::__private::Some(
4469 match __A::next_value::<bool>(&mut __map) {
4470 _serde::__private::Ok(__val) => __val,
4471 _serde::__private::Err(__err) => {
4472 return _serde::__private::Err(__err);
4473 }
4474 },
4475 );
4476 }
4477 __Field::m_criticalOperationsAllowed => {
4478 #[cfg(
4479 any(feature = "strict", feature = "ignore_duplicates")
4480 )]
4481 if _serde::__private::Option::is_some(
4482 &m_criticalOperationsAllowed,
4483 ) {
4484 #[cfg(feature = "ignore_duplicates")]
4485 {
4486 __A::skip_value(&mut __map)?;
4487 continue;
4488 }
4489 #[cfg(feature = "strict")]
4490 return _serde::__private::Err(
4491 <__A::Error as _serde::de::Error>::duplicate_field(
4492 "criticalOperationsAllowed",
4493 ),
4494 );
4495 }
4496 m_criticalOperationsAllowed = _serde::__private::Some(
4497 match __A::next_value::<bool>(&mut __map) {
4498 _serde::__private::Ok(__val) => __val,
4499 _serde::__private::Err(__err) => {
4500 return _serde::__private::Err(__err);
4501 }
4502 },
4503 );
4504 }
4505 __Field::m_pendingOperationQueueCount => {
4506 #[cfg(
4507 any(feature = "strict", feature = "ignore_duplicates")
4508 )]
4509 if _serde::__private::Option::is_some(
4510 &m_pendingOperationQueueCount,
4511 ) {
4512 #[cfg(feature = "ignore_duplicates")]
4513 {
4514 __A::skip_value(&mut __map)?;
4515 continue;
4516 }
4517 #[cfg(feature = "strict")]
4518 return _serde::__private::Err(
4519 <__A::Error as _serde::de::Error>::duplicate_field(
4520 "pendingOperationQueueCount",
4521 ),
4522 );
4523 }
4524 m_pendingOperationQueueCount = _serde::__private::Some(
4525 match __A::next_value::<i32>(&mut __map) {
4526 _serde::__private::Ok(__val) => __val,
4527 _serde::__private::Err(__err) => {
4528 return _serde::__private::Err(__err);
4529 }
4530 },
4531 );
4532 }
4533 __Field::m_processActionsInSingleThread => {
4534 #[cfg(
4535 any(feature = "strict", feature = "ignore_duplicates")
4536 )]
4537 if _serde::__private::Option::is_some(
4538 &m_processActionsInSingleThread,
4539 ) {
4540 #[cfg(feature = "ignore_duplicates")]
4541 {
4542 __A::skip_value(&mut __map)?;
4543 continue;
4544 }
4545 #[cfg(feature = "strict")]
4546 return _serde::__private::Err(
4547 <__A::Error as _serde::de::Error>::duplicate_field(
4548 "processActionsInSingleThread",
4549 ),
4550 );
4551 }
4552 m_processActionsInSingleThread = _serde::__private::Some(
4553 match __A::next_value::<bool>(&mut __map) {
4554 _serde::__private::Ok(__val) => __val,
4555 _serde::__private::Err(__err) => {
4556 return _serde::__private::Err(__err);
4557 }
4558 },
4559 );
4560 }
4561 __Field::m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob => {
4562 #[cfg(
4563 any(feature = "strict", feature = "ignore_duplicates")
4564 )]
4565 if _serde::__private::Option::is_some(
4566 &m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
4567 ) {
4568 #[cfg(feature = "ignore_duplicates")]
4569 {
4570 __A::skip_value(&mut __map)?;
4571 continue;
4572 }
4573 #[cfg(feature = "strict")]
4574 return _serde::__private::Err(
4575 <__A::Error as _serde::de::Error>::duplicate_field(
4576 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
4577 ),
4578 );
4579 }
4580 m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob = _serde::__private::Some(
4581 match __A::next_value::<bool>(&mut __map) {
4582 _serde::__private::Ok(__val) => __val,
4583 _serde::__private::Err(__err) => {
4584 return _serde::__private::Err(__err);
4585 }
4586 },
4587 );
4588 }
4589 __Field::m_minDesiredIslandSize => {
4590 #[cfg(
4591 any(feature = "strict", feature = "ignore_duplicates")
4592 )]
4593 if _serde::__private::Option::is_some(
4594 &m_minDesiredIslandSize,
4595 ) {
4596 #[cfg(feature = "ignore_duplicates")]
4597 {
4598 __A::skip_value(&mut __map)?;
4599 continue;
4600 }
4601 #[cfg(feature = "strict")]
4602 return _serde::__private::Err(
4603 <__A::Error as _serde::de::Error>::duplicate_field(
4604 "minDesiredIslandSize",
4605 ),
4606 );
4607 }
4608 m_minDesiredIslandSize = _serde::__private::Some(
4609 match __A::next_value::<u32>(&mut __map) {
4610 _serde::__private::Ok(__val) => __val,
4611 _serde::__private::Err(__err) => {
4612 return _serde::__private::Err(__err);
4613 }
4614 },
4615 );
4616 }
4617 __Field::m_isLocked => {
4618 #[cfg(
4619 any(feature = "strict", feature = "ignore_duplicates")
4620 )]
4621 if _serde::__private::Option::is_some(&m_isLocked) {
4622 #[cfg(feature = "ignore_duplicates")]
4623 {
4624 __A::skip_value(&mut __map)?;
4625 continue;
4626 }
4627 #[cfg(feature = "strict")]
4628 return _serde::__private::Err(
4629 <__A::Error as _serde::de::Error>::duplicate_field(
4630 "isLocked",
4631 ),
4632 );
4633 }
4634 m_isLocked = _serde::__private::Some(
4635 match __A::next_value::<i32>(&mut __map) {
4636 _serde::__private::Ok(__val) => __val,
4637 _serde::__private::Err(__err) => {
4638 return _serde::__private::Err(__err);
4639 }
4640 },
4641 );
4642 }
4643 __Field::m_wantSimulationIslands => {
4644 #[cfg(
4645 any(feature = "strict", feature = "ignore_duplicates")
4646 )]
4647 if _serde::__private::Option::is_some(
4648 &m_wantSimulationIslands,
4649 ) {
4650 #[cfg(feature = "ignore_duplicates")]
4651 {
4652 __A::skip_value(&mut __map)?;
4653 continue;
4654 }
4655 #[cfg(feature = "strict")]
4656 return _serde::__private::Err(
4657 <__A::Error as _serde::de::Error>::duplicate_field(
4658 "wantSimulationIslands",
4659 ),
4660 );
4661 }
4662 m_wantSimulationIslands = _serde::__private::Some(
4663 match __A::next_value::<bool>(&mut __map) {
4664 _serde::__private::Ok(__val) => __val,
4665 _serde::__private::Err(__err) => {
4666 return _serde::__private::Err(__err);
4667 }
4668 },
4669 );
4670 }
4671 __Field::m_snapCollisionToConvexEdgeThreshold => {
4672 #[cfg(
4673 any(feature = "strict", feature = "ignore_duplicates")
4674 )]
4675 if _serde::__private::Option::is_some(
4676 &m_snapCollisionToConvexEdgeThreshold,
4677 ) {
4678 #[cfg(feature = "ignore_duplicates")]
4679 {
4680 __A::skip_value(&mut __map)?;
4681 continue;
4682 }
4683 #[cfg(feature = "strict")]
4684 return _serde::__private::Err(
4685 <__A::Error as _serde::de::Error>::duplicate_field(
4686 "snapCollisionToConvexEdgeThreshold",
4687 ),
4688 );
4689 }
4690 m_snapCollisionToConvexEdgeThreshold = _serde::__private::Some(
4691 match __A::next_value::<f32>(&mut __map) {
4692 _serde::__private::Ok(__val) => __val,
4693 _serde::__private::Err(__err) => {
4694 return _serde::__private::Err(__err);
4695 }
4696 },
4697 );
4698 }
4699 __Field::m_snapCollisionToConcaveEdgeThreshold => {
4700 #[cfg(
4701 any(feature = "strict", feature = "ignore_duplicates")
4702 )]
4703 if _serde::__private::Option::is_some(
4704 &m_snapCollisionToConcaveEdgeThreshold,
4705 ) {
4706 #[cfg(feature = "ignore_duplicates")]
4707 {
4708 __A::skip_value(&mut __map)?;
4709 continue;
4710 }
4711 #[cfg(feature = "strict")]
4712 return _serde::__private::Err(
4713 <__A::Error as _serde::de::Error>::duplicate_field(
4714 "snapCollisionToConcaveEdgeThreshold",
4715 ),
4716 );
4717 }
4718 m_snapCollisionToConcaveEdgeThreshold = _serde::__private::Some(
4719 match __A::next_value::<f32>(&mut __map) {
4720 _serde::__private::Ok(__val) => __val,
4721 _serde::__private::Err(__err) => {
4722 return _serde::__private::Err(__err);
4723 }
4724 },
4725 );
4726 }
4727 __Field::m_enableToiWeldRejection => {
4728 #[cfg(
4729 any(feature = "strict", feature = "ignore_duplicates")
4730 )]
4731 if _serde::__private::Option::is_some(
4732 &m_enableToiWeldRejection,
4733 ) {
4734 #[cfg(feature = "ignore_duplicates")]
4735 {
4736 __A::skip_value(&mut __map)?;
4737 continue;
4738 }
4739 #[cfg(feature = "strict")]
4740 return _serde::__private::Err(
4741 <__A::Error as _serde::de::Error>::duplicate_field(
4742 "enableToiWeldRejection",
4743 ),
4744 );
4745 }
4746 m_enableToiWeldRejection = _serde::__private::Some(
4747 match __A::next_value::<bool>(&mut __map) {
4748 _serde::__private::Ok(__val) => __val,
4749 _serde::__private::Err(__err) => {
4750 return _serde::__private::Err(__err);
4751 }
4752 },
4753 );
4754 }
4755 __Field::m_wantDeactivation => {
4756 #[cfg(
4757 any(feature = "strict", feature = "ignore_duplicates")
4758 )]
4759 if _serde::__private::Option::is_some(&m_wantDeactivation) {
4760 #[cfg(feature = "ignore_duplicates")]
4761 {
4762 __A::skip_value(&mut __map)?;
4763 continue;
4764 }
4765 #[cfg(feature = "strict")]
4766 return _serde::__private::Err(
4767 <__A::Error as _serde::de::Error>::duplicate_field(
4768 "wantDeactivation",
4769 ),
4770 );
4771 }
4772 m_wantDeactivation = _serde::__private::Some(
4773 match __A::next_value::<bool>(&mut __map) {
4774 _serde::__private::Ok(__val) => __val,
4775 _serde::__private::Err(__err) => {
4776 return _serde::__private::Err(__err);
4777 }
4778 },
4779 );
4780 }
4781 __Field::m_shouldActivateOnRigidBodyTransformChange => {
4782 #[cfg(
4783 any(feature = "strict", feature = "ignore_duplicates")
4784 )]
4785 if _serde::__private::Option::is_some(
4786 &m_shouldActivateOnRigidBodyTransformChange,
4787 ) {
4788 #[cfg(feature = "ignore_duplicates")]
4789 {
4790 __A::skip_value(&mut __map)?;
4791 continue;
4792 }
4793 #[cfg(feature = "strict")]
4794 return _serde::__private::Err(
4795 <__A::Error as _serde::de::Error>::duplicate_field(
4796 "shouldActivateOnRigidBodyTransformChange",
4797 ),
4798 );
4799 }
4800 m_shouldActivateOnRigidBodyTransformChange = _serde::__private::Some(
4801 match __A::next_value::<bool>(&mut __map) {
4802 _serde::__private::Ok(__val) => __val,
4803 _serde::__private::Err(__err) => {
4804 return _serde::__private::Err(__err);
4805 }
4806 },
4807 );
4808 }
4809 __Field::m_deactivationReferenceDistance => {
4810 #[cfg(
4811 any(feature = "strict", feature = "ignore_duplicates")
4812 )]
4813 if _serde::__private::Option::is_some(
4814 &m_deactivationReferenceDistance,
4815 ) {
4816 #[cfg(feature = "ignore_duplicates")]
4817 {
4818 __A::skip_value(&mut __map)?;
4819 continue;
4820 }
4821 #[cfg(feature = "strict")]
4822 return _serde::__private::Err(
4823 <__A::Error as _serde::de::Error>::duplicate_field(
4824 "deactivationReferenceDistance",
4825 ),
4826 );
4827 }
4828 m_deactivationReferenceDistance = _serde::__private::Some(
4829 match __A::next_value::<f32>(&mut __map) {
4830 _serde::__private::Ok(__val) => __val,
4831 _serde::__private::Err(__err) => {
4832 return _serde::__private::Err(__err);
4833 }
4834 },
4835 );
4836 }
4837 __Field::m_toiCollisionResponseRotateNormal => {
4838 #[cfg(
4839 any(feature = "strict", feature = "ignore_duplicates")
4840 )]
4841 if _serde::__private::Option::is_some(
4842 &m_toiCollisionResponseRotateNormal,
4843 ) {
4844 #[cfg(feature = "ignore_duplicates")]
4845 {
4846 __A::skip_value(&mut __map)?;
4847 continue;
4848 }
4849 #[cfg(feature = "strict")]
4850 return _serde::__private::Err(
4851 <__A::Error as _serde::de::Error>::duplicate_field(
4852 "toiCollisionResponseRotateNormal",
4853 ),
4854 );
4855 }
4856 m_toiCollisionResponseRotateNormal = _serde::__private::Some(
4857 match __A::next_value::<f32>(&mut __map) {
4858 _serde::__private::Ok(__val) => __val,
4859 _serde::__private::Err(__err) => {
4860 return _serde::__private::Err(__err);
4861 }
4862 },
4863 );
4864 }
4865 __Field::m_maxSectorsPerMidphaseCollideTask => {
4866 #[cfg(
4867 any(feature = "strict", feature = "ignore_duplicates")
4868 )]
4869 if _serde::__private::Option::is_some(
4870 &m_maxSectorsPerMidphaseCollideTask,
4871 ) {
4872 #[cfg(feature = "ignore_duplicates")]
4873 {
4874 __A::skip_value(&mut __map)?;
4875 continue;
4876 }
4877 #[cfg(feature = "strict")]
4878 return _serde::__private::Err(
4879 <__A::Error as _serde::de::Error>::duplicate_field(
4880 "maxSectorsPerMidphaseCollideTask",
4881 ),
4882 );
4883 }
4884 m_maxSectorsPerMidphaseCollideTask = _serde::__private::Some(
4885 match __A::next_value::<i32>(&mut __map) {
4886 _serde::__private::Ok(__val) => __val,
4887 _serde::__private::Err(__err) => {
4888 return _serde::__private::Err(__err);
4889 }
4890 },
4891 );
4892 }
4893 __Field::m_maxSectorsPerNarrowphaseCollideTask => {
4894 #[cfg(
4895 any(feature = "strict", feature = "ignore_duplicates")
4896 )]
4897 if _serde::__private::Option::is_some(
4898 &m_maxSectorsPerNarrowphaseCollideTask,
4899 ) {
4900 #[cfg(feature = "ignore_duplicates")]
4901 {
4902 __A::skip_value(&mut __map)?;
4903 continue;
4904 }
4905 #[cfg(feature = "strict")]
4906 return _serde::__private::Err(
4907 <__A::Error as _serde::de::Error>::duplicate_field(
4908 "maxSectorsPerNarrowphaseCollideTask",
4909 ),
4910 );
4911 }
4912 m_maxSectorsPerNarrowphaseCollideTask = _serde::__private::Some(
4913 match __A::next_value::<i32>(&mut __map) {
4914 _serde::__private::Ok(__val) => __val,
4915 _serde::__private::Err(__err) => {
4916 return _serde::__private::Err(__err);
4917 }
4918 },
4919 );
4920 }
4921 __Field::m_processToisMultithreaded => {
4922 #[cfg(
4923 any(feature = "strict", feature = "ignore_duplicates")
4924 )]
4925 if _serde::__private::Option::is_some(
4926 &m_processToisMultithreaded,
4927 ) {
4928 #[cfg(feature = "ignore_duplicates")]
4929 {
4930 __A::skip_value(&mut __map)?;
4931 continue;
4932 }
4933 #[cfg(feature = "strict")]
4934 return _serde::__private::Err(
4935 <__A::Error as _serde::de::Error>::duplicate_field(
4936 "processToisMultithreaded",
4937 ),
4938 );
4939 }
4940 m_processToisMultithreaded = _serde::__private::Some(
4941 match __A::next_value::<bool>(&mut __map) {
4942 _serde::__private::Ok(__val) => __val,
4943 _serde::__private::Err(__err) => {
4944 return _serde::__private::Err(__err);
4945 }
4946 },
4947 );
4948 }
4949 __Field::m_maxEntriesPerToiMidphaseCollideTask => {
4950 #[cfg(
4951 any(feature = "strict", feature = "ignore_duplicates")
4952 )]
4953 if _serde::__private::Option::is_some(
4954 &m_maxEntriesPerToiMidphaseCollideTask,
4955 ) {
4956 #[cfg(feature = "ignore_duplicates")]
4957 {
4958 __A::skip_value(&mut __map)?;
4959 continue;
4960 }
4961 #[cfg(feature = "strict")]
4962 return _serde::__private::Err(
4963 <__A::Error as _serde::de::Error>::duplicate_field(
4964 "maxEntriesPerToiMidphaseCollideTask",
4965 ),
4966 );
4967 }
4968 m_maxEntriesPerToiMidphaseCollideTask = _serde::__private::Some(
4969 match __A::next_value::<i32>(&mut __map) {
4970 _serde::__private::Ok(__val) => __val,
4971 _serde::__private::Err(__err) => {
4972 return _serde::__private::Err(__err);
4973 }
4974 },
4975 );
4976 }
4977 __Field::m_maxEntriesPerToiNarrowphaseCollideTask => {
4978 #[cfg(
4979 any(feature = "strict", feature = "ignore_duplicates")
4980 )]
4981 if _serde::__private::Option::is_some(
4982 &m_maxEntriesPerToiNarrowphaseCollideTask,
4983 ) {
4984 #[cfg(feature = "ignore_duplicates")]
4985 {
4986 __A::skip_value(&mut __map)?;
4987 continue;
4988 }
4989 #[cfg(feature = "strict")]
4990 return _serde::__private::Err(
4991 <__A::Error as _serde::de::Error>::duplicate_field(
4992 "maxEntriesPerToiNarrowphaseCollideTask",
4993 ),
4994 );
4995 }
4996 m_maxEntriesPerToiNarrowphaseCollideTask = _serde::__private::Some(
4997 match __A::next_value::<i32>(&mut __map) {
4998 _serde::__private::Ok(__val) => __val,
4999 _serde::__private::Err(__err) => {
5000 return _serde::__private::Err(__err);
5001 }
5002 },
5003 );
5004 }
5005 __Field::m_maxNumToiCollisionPairsSinglethreaded => {
5006 #[cfg(
5007 any(feature = "strict", feature = "ignore_duplicates")
5008 )]
5009 if _serde::__private::Option::is_some(
5010 &m_maxNumToiCollisionPairsSinglethreaded,
5011 ) {
5012 #[cfg(feature = "ignore_duplicates")]
5013 {
5014 __A::skip_value(&mut __map)?;
5015 continue;
5016 }
5017 #[cfg(feature = "strict")]
5018 return _serde::__private::Err(
5019 <__A::Error as _serde::de::Error>::duplicate_field(
5020 "maxNumToiCollisionPairsSinglethreaded",
5021 ),
5022 );
5023 }
5024 m_maxNumToiCollisionPairsSinglethreaded = _serde::__private::Some(
5025 match __A::next_value::<i32>(&mut __map) {
5026 _serde::__private::Ok(__val) => __val,
5027 _serde::__private::Err(__err) => {
5028 return _serde::__private::Err(__err);
5029 }
5030 },
5031 );
5032 }
5033 __Field::m_numToisTillAllowedPenetrationSimplifiedToi => {
5034 #[cfg(
5035 any(feature = "strict", feature = "ignore_duplicates")
5036 )]
5037 if _serde::__private::Option::is_some(
5038 &m_numToisTillAllowedPenetrationSimplifiedToi,
5039 ) {
5040 #[cfg(feature = "ignore_duplicates")]
5041 {
5042 __A::skip_value(&mut __map)?;
5043 continue;
5044 }
5045 #[cfg(feature = "strict")]
5046 return _serde::__private::Err(
5047 <__A::Error as _serde::de::Error>::duplicate_field(
5048 "numToisTillAllowedPenetrationSimplifiedToi",
5049 ),
5050 );
5051 }
5052 m_numToisTillAllowedPenetrationSimplifiedToi = _serde::__private::Some(
5053 match __A::next_value::<f32>(&mut __map) {
5054 _serde::__private::Ok(__val) => __val,
5055 _serde::__private::Err(__err) => {
5056 return _serde::__private::Err(__err);
5057 }
5058 },
5059 );
5060 }
5061 __Field::m_numToisTillAllowedPenetrationToi => {
5062 #[cfg(
5063 any(feature = "strict", feature = "ignore_duplicates")
5064 )]
5065 if _serde::__private::Option::is_some(
5066 &m_numToisTillAllowedPenetrationToi,
5067 ) {
5068 #[cfg(feature = "ignore_duplicates")]
5069 {
5070 __A::skip_value(&mut __map)?;
5071 continue;
5072 }
5073 #[cfg(feature = "strict")]
5074 return _serde::__private::Err(
5075 <__A::Error as _serde::de::Error>::duplicate_field(
5076 "numToisTillAllowedPenetrationToi",
5077 ),
5078 );
5079 }
5080 m_numToisTillAllowedPenetrationToi = _serde::__private::Some(
5081 match __A::next_value::<f32>(&mut __map) {
5082 _serde::__private::Ok(__val) => __val,
5083 _serde::__private::Err(__err) => {
5084 return _serde::__private::Err(__err);
5085 }
5086 },
5087 );
5088 }
5089 __Field::m_numToisTillAllowedPenetrationToiHigher => {
5090 #[cfg(
5091 any(feature = "strict", feature = "ignore_duplicates")
5092 )]
5093 if _serde::__private::Option::is_some(
5094 &m_numToisTillAllowedPenetrationToiHigher,
5095 ) {
5096 #[cfg(feature = "ignore_duplicates")]
5097 {
5098 __A::skip_value(&mut __map)?;
5099 continue;
5100 }
5101 #[cfg(feature = "strict")]
5102 return _serde::__private::Err(
5103 <__A::Error as _serde::de::Error>::duplicate_field(
5104 "numToisTillAllowedPenetrationToiHigher",
5105 ),
5106 );
5107 }
5108 m_numToisTillAllowedPenetrationToiHigher = _serde::__private::Some(
5109 match __A::next_value::<f32>(&mut __map) {
5110 _serde::__private::Ok(__val) => __val,
5111 _serde::__private::Err(__err) => {
5112 return _serde::__private::Err(__err);
5113 }
5114 },
5115 );
5116 }
5117 __Field::m_numToisTillAllowedPenetrationToiForced => {
5118 #[cfg(
5119 any(feature = "strict", feature = "ignore_duplicates")
5120 )]
5121 if _serde::__private::Option::is_some(
5122 &m_numToisTillAllowedPenetrationToiForced,
5123 ) {
5124 #[cfg(feature = "ignore_duplicates")]
5125 {
5126 __A::skip_value(&mut __map)?;
5127 continue;
5128 }
5129 #[cfg(feature = "strict")]
5130 return _serde::__private::Err(
5131 <__A::Error as _serde::de::Error>::duplicate_field(
5132 "numToisTillAllowedPenetrationToiForced",
5133 ),
5134 );
5135 }
5136 m_numToisTillAllowedPenetrationToiForced = _serde::__private::Some(
5137 match __A::next_value::<f32>(&mut __map) {
5138 _serde::__private::Ok(__val) => __val,
5139 _serde::__private::Err(__err) => {
5140 return _serde::__private::Err(__err);
5141 }
5142 },
5143 );
5144 }
5145 __Field::m_lastEntityUid => {
5146 #[cfg(
5147 any(feature = "strict", feature = "ignore_duplicates")
5148 )]
5149 if _serde::__private::Option::is_some(&m_lastEntityUid) {
5150 #[cfg(feature = "ignore_duplicates")]
5151 {
5152 __A::skip_value(&mut __map)?;
5153 continue;
5154 }
5155 #[cfg(feature = "strict")]
5156 return _serde::__private::Err(
5157 <__A::Error as _serde::de::Error>::duplicate_field(
5158 "lastEntityUid",
5159 ),
5160 );
5161 }
5162 m_lastEntityUid = _serde::__private::Some(
5163 match __A::next_value::<u32>(&mut __map) {
5164 _serde::__private::Ok(__val) => __val,
5165 _serde::__private::Err(__err) => {
5166 return _serde::__private::Err(__err);
5167 }
5168 },
5169 );
5170 }
5171 __Field::m_lastIslandUid => {
5172 #[cfg(
5173 any(feature = "strict", feature = "ignore_duplicates")
5174 )]
5175 if _serde::__private::Option::is_some(&m_lastIslandUid) {
5176 #[cfg(feature = "ignore_duplicates")]
5177 {
5178 __A::skip_value(&mut __map)?;
5179 continue;
5180 }
5181 #[cfg(feature = "strict")]
5182 return _serde::__private::Err(
5183 <__A::Error as _serde::de::Error>::duplicate_field(
5184 "lastIslandUid",
5185 ),
5186 );
5187 }
5188 m_lastIslandUid = _serde::__private::Some(
5189 match __A::next_value::<u32>(&mut __map) {
5190 _serde::__private::Ok(__val) => __val,
5191 _serde::__private::Err(__err) => {
5192 return _serde::__private::Err(__err);
5193 }
5194 },
5195 );
5196 }
5197 __Field::m_lastConstraintUid => {
5198 #[cfg(
5199 any(feature = "strict", feature = "ignore_duplicates")
5200 )]
5201 if _serde::__private::Option::is_some(
5202 &m_lastConstraintUid,
5203 ) {
5204 #[cfg(feature = "ignore_duplicates")]
5205 {
5206 __A::skip_value(&mut __map)?;
5207 continue;
5208 }
5209 #[cfg(feature = "strict")]
5210 return _serde::__private::Err(
5211 <__A::Error as _serde::de::Error>::duplicate_field(
5212 "lastConstraintUid",
5213 ),
5214 );
5215 }
5216 m_lastConstraintUid = _serde::__private::Some(
5217 match __A::next_value::<u32>(&mut __map) {
5218 _serde::__private::Ok(__val) => __val,
5219 _serde::__private::Err(__err) => {
5220 return _serde::__private::Err(__err);
5221 }
5222 },
5223 );
5224 }
5225 __Field::m_phantoms => {
5226 #[cfg(
5227 any(feature = "strict", feature = "ignore_duplicates")
5228 )]
5229 if _serde::__private::Option::is_some(&m_phantoms) {
5230 #[cfg(feature = "ignore_duplicates")]
5231 {
5232 __A::skip_value(&mut __map)?;
5233 continue;
5234 }
5235 #[cfg(feature = "strict")]
5236 return _serde::__private::Err(
5237 <__A::Error as _serde::de::Error>::duplicate_field(
5238 "phantoms",
5239 ),
5240 );
5241 }
5242 m_phantoms = _serde::__private::Some(
5243 match __A::next_value::<Vec<Pointer>>(&mut __map) {
5244 _serde::__private::Ok(__val) => __val,
5245 _serde::__private::Err(__err) => {
5246 return _serde::__private::Err(__err);
5247 }
5248 },
5249 );
5250 }
5251 __Field::m_broadPhaseExtents => {
5252 #[cfg(
5253 any(feature = "strict", feature = "ignore_duplicates")
5254 )]
5255 if _serde::__private::Option::is_some(
5256 &m_broadPhaseExtents,
5257 ) {
5258 #[cfg(feature = "ignore_duplicates")]
5259 {
5260 __A::skip_value(&mut __map)?;
5261 continue;
5262 }
5263 #[cfg(feature = "strict")]
5264 return _serde::__private::Err(
5265 <__A::Error as _serde::de::Error>::duplicate_field(
5266 "broadPhaseExtents",
5267 ),
5268 );
5269 }
5270 m_broadPhaseExtents = _serde::__private::Some(
5271 match __A::next_value::<[Vector4; 2usize]>(&mut __map) {
5272 _serde::__private::Ok(__val) => __val,
5273 _serde::__private::Err(__err) => {
5274 return _serde::__private::Err(__err);
5275 }
5276 },
5277 );
5278 }
5279 __Field::m_broadPhaseNumMarkers => {
5280 #[cfg(
5281 any(feature = "strict", feature = "ignore_duplicates")
5282 )]
5283 if _serde::__private::Option::is_some(
5284 &m_broadPhaseNumMarkers,
5285 ) {
5286 #[cfg(feature = "ignore_duplicates")]
5287 {
5288 __A::skip_value(&mut __map)?;
5289 continue;
5290 }
5291 #[cfg(feature = "strict")]
5292 return _serde::__private::Err(
5293 <__A::Error as _serde::de::Error>::duplicate_field(
5294 "broadPhaseNumMarkers",
5295 ),
5296 );
5297 }
5298 m_broadPhaseNumMarkers = _serde::__private::Some(
5299 match __A::next_value::<i32>(&mut __map) {
5300 _serde::__private::Ok(__val) => __val,
5301 _serde::__private::Err(__err) => {
5302 return _serde::__private::Err(__err);
5303 }
5304 },
5305 );
5306 }
5307 __Field::m_sizeOfToiEventQueue => {
5308 #[cfg(
5309 any(feature = "strict", feature = "ignore_duplicates")
5310 )]
5311 if _serde::__private::Option::is_some(
5312 &m_sizeOfToiEventQueue,
5313 ) {
5314 #[cfg(feature = "ignore_duplicates")]
5315 {
5316 __A::skip_value(&mut __map)?;
5317 continue;
5318 }
5319 #[cfg(feature = "strict")]
5320 return _serde::__private::Err(
5321 <__A::Error as _serde::de::Error>::duplicate_field(
5322 "sizeOfToiEventQueue",
5323 ),
5324 );
5325 }
5326 m_sizeOfToiEventQueue = _serde::__private::Some(
5327 match __A::next_value::<i32>(&mut __map) {
5328 _serde::__private::Ok(__val) => __val,
5329 _serde::__private::Err(__err) => {
5330 return _serde::__private::Err(__err);
5331 }
5332 },
5333 );
5334 }
5335 __Field::m_broadPhaseQuerySize => {
5336 #[cfg(
5337 any(feature = "strict", feature = "ignore_duplicates")
5338 )]
5339 if _serde::__private::Option::is_some(
5340 &m_broadPhaseQuerySize,
5341 ) {
5342 #[cfg(feature = "ignore_duplicates")]
5343 {
5344 __A::skip_value(&mut __map)?;
5345 continue;
5346 }
5347 #[cfg(feature = "strict")]
5348 return _serde::__private::Err(
5349 <__A::Error as _serde::de::Error>::duplicate_field(
5350 "broadPhaseQuerySize",
5351 ),
5352 );
5353 }
5354 m_broadPhaseQuerySize = _serde::__private::Some(
5355 match __A::next_value::<i32>(&mut __map) {
5356 _serde::__private::Ok(__val) => __val,
5357 _serde::__private::Err(__err) => {
5358 return _serde::__private::Err(__err);
5359 }
5360 },
5361 );
5362 }
5363 __Field::m_broadPhaseUpdateSize => {
5364 #[cfg(
5365 any(feature = "strict", feature = "ignore_duplicates")
5366 )]
5367 if _serde::__private::Option::is_some(
5368 &m_broadPhaseUpdateSize,
5369 ) {
5370 #[cfg(feature = "ignore_duplicates")]
5371 {
5372 __A::skip_value(&mut __map)?;
5373 continue;
5374 }
5375 #[cfg(feature = "strict")]
5376 return _serde::__private::Err(
5377 <__A::Error as _serde::de::Error>::duplicate_field(
5378 "broadPhaseUpdateSize",
5379 ),
5380 );
5381 }
5382 m_broadPhaseUpdateSize = _serde::__private::Some(
5383 match __A::next_value::<i32>(&mut __map) {
5384 _serde::__private::Ok(__val) => __val,
5385 _serde::__private::Err(__err) => {
5386 return _serde::__private::Err(__err);
5387 }
5388 },
5389 );
5390 }
5391 _ => __A::skip_value(&mut __map)?,
5392 }
5393 }
5394 let m_simulation = match m_simulation {
5395 _serde::__private::Some(__field) => __field,
5396 _serde::__private::None => {
5397 #[cfg(feature = "strict")]
5398 return _serde::__private::Err(
5399 <__A::Error as _serde::de::Error>::missing_field(
5400 "simulation",
5401 ),
5402 );
5403 #[cfg(not(feature = "strict"))] Default::default()
5404 }
5405 };
5406 let m_gravity = match m_gravity {
5407 _serde::__private::Some(__field) => __field,
5408 _serde::__private::None => {
5409 #[cfg(feature = "strict")]
5410 return _serde::__private::Err(
5411 <__A::Error as _serde::de::Error>::missing_field("gravity"),
5412 );
5413 #[cfg(not(feature = "strict"))] Default::default()
5414 }
5415 };
5416 let m_fixedRigidBody = match m_fixedRigidBody {
5417 _serde::__private::Some(__field) => __field,
5418 _serde::__private::None => {
5419 #[cfg(feature = "strict")]
5420 return _serde::__private::Err(
5421 <__A::Error as _serde::de::Error>::missing_field(
5422 "fixedRigidBody",
5423 ),
5424 );
5425 #[cfg(not(feature = "strict"))] Default::default()
5426 }
5427 };
5428 let m_autoUpdateTree = match m_autoUpdateTree {
5429 _serde::__private::Some(__field) => __field,
5430 _serde::__private::None => {
5431 #[cfg(feature = "strict")]
5432 return _serde::__private::Err(
5433 <__A::Error as _serde::de::Error>::missing_field(
5434 "autoUpdateTree",
5435 ),
5436 );
5437 #[cfg(not(feature = "strict"))] Default::default()
5438 }
5439 };
5440 let m_pendingOperationsCount = match m_pendingOperationsCount {
5441 _serde::__private::Some(__field) => __field,
5442 _serde::__private::None => {
5443 #[cfg(feature = "strict")]
5444 return _serde::__private::Err(
5445 <__A::Error as _serde::de::Error>::missing_field(
5446 "pendingOperationsCount",
5447 ),
5448 );
5449 #[cfg(not(feature = "strict"))] Default::default()
5450 }
5451 };
5452 let m_criticalOperationsLockCount = match m_criticalOperationsLockCount {
5453 _serde::__private::Some(__field) => __field,
5454 _serde::__private::None => {
5455 #[cfg(feature = "strict")]
5456 return _serde::__private::Err(
5457 <__A::Error as _serde::de::Error>::missing_field(
5458 "criticalOperationsLockCount",
5459 ),
5460 );
5461 #[cfg(not(feature = "strict"))] Default::default()
5462 }
5463 };
5464 let m_criticalOperationsLockCountForPhantoms = match m_criticalOperationsLockCountForPhantoms {
5465 _serde::__private::Some(__field) => __field,
5466 _serde::__private::None => {
5467 #[cfg(feature = "strict")]
5468 return _serde::__private::Err(
5469 <__A::Error as _serde::de::Error>::missing_field(
5470 "criticalOperationsLockCountForPhantoms",
5471 ),
5472 );
5473 #[cfg(not(feature = "strict"))] Default::default()
5474 }
5475 };
5476 let m_blockExecutingPendingOperations = match m_blockExecutingPendingOperations {
5477 _serde::__private::Some(__field) => __field,
5478 _serde::__private::None => {
5479 #[cfg(feature = "strict")]
5480 return _serde::__private::Err(
5481 <__A::Error as _serde::de::Error>::missing_field(
5482 "blockExecutingPendingOperations",
5483 ),
5484 );
5485 #[cfg(not(feature = "strict"))] Default::default()
5486 }
5487 };
5488 let m_criticalOperationsAllowed = match m_criticalOperationsAllowed {
5489 _serde::__private::Some(__field) => __field,
5490 _serde::__private::None => {
5491 #[cfg(feature = "strict")]
5492 return _serde::__private::Err(
5493 <__A::Error as _serde::de::Error>::missing_field(
5494 "criticalOperationsAllowed",
5495 ),
5496 );
5497 #[cfg(not(feature = "strict"))] Default::default()
5498 }
5499 };
5500 let m_pendingOperationQueueCount = match m_pendingOperationQueueCount {
5501 _serde::__private::Some(__field) => __field,
5502 _serde::__private::None => {
5503 #[cfg(feature = "strict")]
5504 return _serde::__private::Err(
5505 <__A::Error as _serde::de::Error>::missing_field(
5506 "pendingOperationQueueCount",
5507 ),
5508 );
5509 #[cfg(not(feature = "strict"))] Default::default()
5510 }
5511 };
5512 let m_processActionsInSingleThread = match m_processActionsInSingleThread {
5513 _serde::__private::Some(__field) => __field,
5514 _serde::__private::None => {
5515 #[cfg(feature = "strict")]
5516 return _serde::__private::Err(
5517 <__A::Error as _serde::de::Error>::missing_field(
5518 "processActionsInSingleThread",
5519 ),
5520 );
5521 #[cfg(not(feature = "strict"))] Default::default()
5522 }
5523 };
5524 let m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob = match m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob {
5525 _serde::__private::Some(__field) => __field,
5526 _serde::__private::None => {
5527 #[cfg(feature = "strict")]
5528 return _serde::__private::Err(
5529 <__A::Error as _serde::de::Error>::missing_field(
5530 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
5531 ),
5532 );
5533 #[cfg(not(feature = "strict"))] Default::default()
5534 }
5535 };
5536 let m_minDesiredIslandSize = match m_minDesiredIslandSize {
5537 _serde::__private::Some(__field) => __field,
5538 _serde::__private::None => {
5539 #[cfg(feature = "strict")]
5540 return _serde::__private::Err(
5541 <__A::Error as _serde::de::Error>::missing_field(
5542 "minDesiredIslandSize",
5543 ),
5544 );
5545 #[cfg(not(feature = "strict"))] Default::default()
5546 }
5547 };
5548 let m_isLocked = match m_isLocked {
5549 _serde::__private::Some(__field) => __field,
5550 _serde::__private::None => {
5551 #[cfg(feature = "strict")]
5552 return _serde::__private::Err(
5553 <__A::Error as _serde::de::Error>::missing_field("isLocked"),
5554 );
5555 #[cfg(not(feature = "strict"))] Default::default()
5556 }
5557 };
5558 let m_wantSimulationIslands = match m_wantSimulationIslands {
5559 _serde::__private::Some(__field) => __field,
5560 _serde::__private::None => {
5561 #[cfg(feature = "strict")]
5562 return _serde::__private::Err(
5563 <__A::Error as _serde::de::Error>::missing_field(
5564 "wantSimulationIslands",
5565 ),
5566 );
5567 #[cfg(not(feature = "strict"))] Default::default()
5568 }
5569 };
5570 let m_snapCollisionToConvexEdgeThreshold = match m_snapCollisionToConvexEdgeThreshold {
5571 _serde::__private::Some(__field) => __field,
5572 _serde::__private::None => {
5573 #[cfg(feature = "strict")]
5574 return _serde::__private::Err(
5575 <__A::Error as _serde::de::Error>::missing_field(
5576 "snapCollisionToConvexEdgeThreshold",
5577 ),
5578 );
5579 #[cfg(not(feature = "strict"))] Default::default()
5580 }
5581 };
5582 let m_snapCollisionToConcaveEdgeThreshold = match m_snapCollisionToConcaveEdgeThreshold {
5583 _serde::__private::Some(__field) => __field,
5584 _serde::__private::None => {
5585 #[cfg(feature = "strict")]
5586 return _serde::__private::Err(
5587 <__A::Error as _serde::de::Error>::missing_field(
5588 "snapCollisionToConcaveEdgeThreshold",
5589 ),
5590 );
5591 #[cfg(not(feature = "strict"))] Default::default()
5592 }
5593 };
5594 let m_enableToiWeldRejection = match m_enableToiWeldRejection {
5595 _serde::__private::Some(__field) => __field,
5596 _serde::__private::None => {
5597 #[cfg(feature = "strict")]
5598 return _serde::__private::Err(
5599 <__A::Error as _serde::de::Error>::missing_field(
5600 "enableToiWeldRejection",
5601 ),
5602 );
5603 #[cfg(not(feature = "strict"))] Default::default()
5604 }
5605 };
5606 let m_wantDeactivation = match m_wantDeactivation {
5607 _serde::__private::Some(__field) => __field,
5608 _serde::__private::None => {
5609 #[cfg(feature = "strict")]
5610 return _serde::__private::Err(
5611 <__A::Error as _serde::de::Error>::missing_field(
5612 "wantDeactivation",
5613 ),
5614 );
5615 #[cfg(not(feature = "strict"))] Default::default()
5616 }
5617 };
5618 let m_shouldActivateOnRigidBodyTransformChange = match m_shouldActivateOnRigidBodyTransformChange {
5619 _serde::__private::Some(__field) => __field,
5620 _serde::__private::None => {
5621 #[cfg(feature = "strict")]
5622 return _serde::__private::Err(
5623 <__A::Error as _serde::de::Error>::missing_field(
5624 "shouldActivateOnRigidBodyTransformChange",
5625 ),
5626 );
5627 #[cfg(not(feature = "strict"))] Default::default()
5628 }
5629 };
5630 let m_deactivationReferenceDistance = match m_deactivationReferenceDistance {
5631 _serde::__private::Some(__field) => __field,
5632 _serde::__private::None => {
5633 #[cfg(feature = "strict")]
5634 return _serde::__private::Err(
5635 <__A::Error as _serde::de::Error>::missing_field(
5636 "deactivationReferenceDistance",
5637 ),
5638 );
5639 #[cfg(not(feature = "strict"))] Default::default()
5640 }
5641 };
5642 let m_toiCollisionResponseRotateNormal = match m_toiCollisionResponseRotateNormal {
5643 _serde::__private::Some(__field) => __field,
5644 _serde::__private::None => {
5645 #[cfg(feature = "strict")]
5646 return _serde::__private::Err(
5647 <__A::Error as _serde::de::Error>::missing_field(
5648 "toiCollisionResponseRotateNormal",
5649 ),
5650 );
5651 #[cfg(not(feature = "strict"))] Default::default()
5652 }
5653 };
5654 let m_maxSectorsPerMidphaseCollideTask = match m_maxSectorsPerMidphaseCollideTask {
5655 _serde::__private::Some(__field) => __field,
5656 _serde::__private::None => {
5657 #[cfg(feature = "strict")]
5658 return _serde::__private::Err(
5659 <__A::Error as _serde::de::Error>::missing_field(
5660 "maxSectorsPerMidphaseCollideTask",
5661 ),
5662 );
5663 #[cfg(not(feature = "strict"))] Default::default()
5664 }
5665 };
5666 let m_maxSectorsPerNarrowphaseCollideTask = match m_maxSectorsPerNarrowphaseCollideTask {
5667 _serde::__private::Some(__field) => __field,
5668 _serde::__private::None => {
5669 #[cfg(feature = "strict")]
5670 return _serde::__private::Err(
5671 <__A::Error as _serde::de::Error>::missing_field(
5672 "maxSectorsPerNarrowphaseCollideTask",
5673 ),
5674 );
5675 #[cfg(not(feature = "strict"))] Default::default()
5676 }
5677 };
5678 let m_processToisMultithreaded = match m_processToisMultithreaded {
5679 _serde::__private::Some(__field) => __field,
5680 _serde::__private::None => {
5681 #[cfg(feature = "strict")]
5682 return _serde::__private::Err(
5683 <__A::Error as _serde::de::Error>::missing_field(
5684 "processToisMultithreaded",
5685 ),
5686 );
5687 #[cfg(not(feature = "strict"))] Default::default()
5688 }
5689 };
5690 let m_maxEntriesPerToiMidphaseCollideTask = match m_maxEntriesPerToiMidphaseCollideTask {
5691 _serde::__private::Some(__field) => __field,
5692 _serde::__private::None => {
5693 #[cfg(feature = "strict")]
5694 return _serde::__private::Err(
5695 <__A::Error as _serde::de::Error>::missing_field(
5696 "maxEntriesPerToiMidphaseCollideTask",
5697 ),
5698 );
5699 #[cfg(not(feature = "strict"))] Default::default()
5700 }
5701 };
5702 let m_maxEntriesPerToiNarrowphaseCollideTask = match m_maxEntriesPerToiNarrowphaseCollideTask {
5703 _serde::__private::Some(__field) => __field,
5704 _serde::__private::None => {
5705 #[cfg(feature = "strict")]
5706 return _serde::__private::Err(
5707 <__A::Error as _serde::de::Error>::missing_field(
5708 "maxEntriesPerToiNarrowphaseCollideTask",
5709 ),
5710 );
5711 #[cfg(not(feature = "strict"))] Default::default()
5712 }
5713 };
5714 let m_maxNumToiCollisionPairsSinglethreaded = match m_maxNumToiCollisionPairsSinglethreaded {
5715 _serde::__private::Some(__field) => __field,
5716 _serde::__private::None => {
5717 #[cfg(feature = "strict")]
5718 return _serde::__private::Err(
5719 <__A::Error as _serde::de::Error>::missing_field(
5720 "maxNumToiCollisionPairsSinglethreaded",
5721 ),
5722 );
5723 #[cfg(not(feature = "strict"))] Default::default()
5724 }
5725 };
5726 let m_numToisTillAllowedPenetrationSimplifiedToi = match m_numToisTillAllowedPenetrationSimplifiedToi {
5727 _serde::__private::Some(__field) => __field,
5728 _serde::__private::None => {
5729 #[cfg(feature = "strict")]
5730 return _serde::__private::Err(
5731 <__A::Error as _serde::de::Error>::missing_field(
5732 "numToisTillAllowedPenetrationSimplifiedToi",
5733 ),
5734 );
5735 #[cfg(not(feature = "strict"))] Default::default()
5736 }
5737 };
5738 let m_numToisTillAllowedPenetrationToi = match m_numToisTillAllowedPenetrationToi {
5739 _serde::__private::Some(__field) => __field,
5740 _serde::__private::None => {
5741 #[cfg(feature = "strict")]
5742 return _serde::__private::Err(
5743 <__A::Error as _serde::de::Error>::missing_field(
5744 "numToisTillAllowedPenetrationToi",
5745 ),
5746 );
5747 #[cfg(not(feature = "strict"))] Default::default()
5748 }
5749 };
5750 let m_numToisTillAllowedPenetrationToiHigher = match m_numToisTillAllowedPenetrationToiHigher {
5751 _serde::__private::Some(__field) => __field,
5752 _serde::__private::None => {
5753 #[cfg(feature = "strict")]
5754 return _serde::__private::Err(
5755 <__A::Error as _serde::de::Error>::missing_field(
5756 "numToisTillAllowedPenetrationToiHigher",
5757 ),
5758 );
5759 #[cfg(not(feature = "strict"))] Default::default()
5760 }
5761 };
5762 let m_numToisTillAllowedPenetrationToiForced = match m_numToisTillAllowedPenetrationToiForced {
5763 _serde::__private::Some(__field) => __field,
5764 _serde::__private::None => {
5765 #[cfg(feature = "strict")]
5766 return _serde::__private::Err(
5767 <__A::Error as _serde::de::Error>::missing_field(
5768 "numToisTillAllowedPenetrationToiForced",
5769 ),
5770 );
5771 #[cfg(not(feature = "strict"))] Default::default()
5772 }
5773 };
5774 let m_lastEntityUid = match m_lastEntityUid {
5775 _serde::__private::Some(__field) => __field,
5776 _serde::__private::None => {
5777 #[cfg(feature = "strict")]
5778 return _serde::__private::Err(
5779 <__A::Error as _serde::de::Error>::missing_field(
5780 "lastEntityUid",
5781 ),
5782 );
5783 #[cfg(not(feature = "strict"))] Default::default()
5784 }
5785 };
5786 let m_lastIslandUid = match m_lastIslandUid {
5787 _serde::__private::Some(__field) => __field,
5788 _serde::__private::None => {
5789 #[cfg(feature = "strict")]
5790 return _serde::__private::Err(
5791 <__A::Error as _serde::de::Error>::missing_field(
5792 "lastIslandUid",
5793 ),
5794 );
5795 #[cfg(not(feature = "strict"))] Default::default()
5796 }
5797 };
5798 let m_lastConstraintUid = match m_lastConstraintUid {
5799 _serde::__private::Some(__field) => __field,
5800 _serde::__private::None => {
5801 #[cfg(feature = "strict")]
5802 return _serde::__private::Err(
5803 <__A::Error as _serde::de::Error>::missing_field(
5804 "lastConstraintUid",
5805 ),
5806 );
5807 #[cfg(not(feature = "strict"))] Default::default()
5808 }
5809 };
5810 let m_phantoms = match m_phantoms {
5811 _serde::__private::Some(__field) => __field,
5812 _serde::__private::None => {
5813 #[cfg(feature = "strict")]
5814 return _serde::__private::Err(
5815 <__A::Error as _serde::de::Error>::missing_field("phantoms"),
5816 );
5817 #[cfg(not(feature = "strict"))] Default::default()
5818 }
5819 };
5820 let m_broadPhaseExtents = match m_broadPhaseExtents {
5821 _serde::__private::Some(__field) => __field,
5822 _serde::__private::None => {
5823 #[cfg(feature = "strict")]
5824 return _serde::__private::Err(
5825 <__A::Error as _serde::de::Error>::missing_field(
5826 "broadPhaseExtents",
5827 ),
5828 );
5829 #[cfg(not(feature = "strict"))] Default::default()
5830 }
5831 };
5832 let m_broadPhaseNumMarkers = match m_broadPhaseNumMarkers {
5833 _serde::__private::Some(__field) => __field,
5834 _serde::__private::None => {
5835 #[cfg(feature = "strict")]
5836 return _serde::__private::Err(
5837 <__A::Error as _serde::de::Error>::missing_field(
5838 "broadPhaseNumMarkers",
5839 ),
5840 );
5841 #[cfg(not(feature = "strict"))] Default::default()
5842 }
5843 };
5844 let m_sizeOfToiEventQueue = match m_sizeOfToiEventQueue {
5845 _serde::__private::Some(__field) => __field,
5846 _serde::__private::None => {
5847 #[cfg(feature = "strict")]
5848 return _serde::__private::Err(
5849 <__A::Error as _serde::de::Error>::missing_field(
5850 "sizeOfToiEventQueue",
5851 ),
5852 );
5853 #[cfg(not(feature = "strict"))] Default::default()
5854 }
5855 };
5856 let m_broadPhaseQuerySize = match m_broadPhaseQuerySize {
5857 _serde::__private::Some(__field) => __field,
5858 _serde::__private::None => {
5859 #[cfg(feature = "strict")]
5860 return _serde::__private::Err(
5861 <__A::Error as _serde::de::Error>::missing_field(
5862 "broadPhaseQuerySize",
5863 ),
5864 );
5865 #[cfg(not(feature = "strict"))] Default::default()
5866 }
5867 };
5868 let m_broadPhaseUpdateSize = match m_broadPhaseUpdateSize {
5869 _serde::__private::Some(__field) => __field,
5870 _serde::__private::None => {
5871 #[cfg(feature = "strict")]
5872 return _serde::__private::Err(
5873 <__A::Error as _serde::de::Error>::missing_field(
5874 "broadPhaseUpdateSize",
5875 ),
5876 );
5877 #[cfg(not(feature = "strict"))] Default::default()
5878 }
5879 };
5880 let __ptr = None;
5881 let parent = hkBaseObject { __ptr };
5882 let parent = hkReferencedObject {
5883 __ptr,
5884 parent,
5885 ..Default::default()
5886 };
5887 let __ptr = __A::class_ptr(&mut __map);
5888 _serde::__private::Ok(hkpWorld {
5889 __ptr,
5890 parent,
5891 m_simulation,
5892 m_gravity,
5893 m_fixedRigidBody,
5894 m_autoUpdateTree,
5895 m_pendingOperationsCount,
5896 m_criticalOperationsLockCount,
5897 m_criticalOperationsLockCountForPhantoms,
5898 m_blockExecutingPendingOperations,
5899 m_criticalOperationsAllowed,
5900 m_pendingOperationQueueCount,
5901 m_processActionsInSingleThread,
5902 m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob,
5903 m_minDesiredIslandSize,
5904 m_isLocked,
5905 m_wantSimulationIslands,
5906 m_snapCollisionToConvexEdgeThreshold,
5907 m_snapCollisionToConcaveEdgeThreshold,
5908 m_enableToiWeldRejection,
5909 m_wantDeactivation,
5910 m_shouldActivateOnRigidBodyTransformChange,
5911 m_deactivationReferenceDistance,
5912 m_toiCollisionResponseRotateNormal,
5913 m_maxSectorsPerMidphaseCollideTask,
5914 m_maxSectorsPerNarrowphaseCollideTask,
5915 m_processToisMultithreaded,
5916 m_maxEntriesPerToiMidphaseCollideTask,
5917 m_maxEntriesPerToiNarrowphaseCollideTask,
5918 m_maxNumToiCollisionPairsSinglethreaded,
5919 m_numToisTillAllowedPenetrationSimplifiedToi,
5920 m_numToisTillAllowedPenetrationToi,
5921 m_numToisTillAllowedPenetrationToiHigher,
5922 m_numToisTillAllowedPenetrationToiForced,
5923 m_lastEntityUid,
5924 m_lastIslandUid,
5925 m_lastConstraintUid,
5926 m_phantoms,
5927 m_broadPhaseExtents,
5928 m_broadPhaseNumMarkers,
5929 m_sizeOfToiEventQueue,
5930 m_broadPhaseQuerySize,
5931 m_broadPhaseUpdateSize,
5932 ..Default::default()
5933 })
5934 }
5935 }
5936 const FIELDS: &[&str] = &[
5937 "simulation",
5938 "gravity",
5939 "fixedIsland",
5940 "fixedRigidBody",
5941 "activeSimulationIslands",
5942 "inactiveSimulationIslands",
5943 "dirtySimulationIslands",
5944 "maintenanceMgr",
5945 "memoryWatchDog",
5946 "assertOnRunningOutOfSolverMemory",
5947 "broadPhase",
5948 "kdTreeManager",
5949 "autoUpdateTree",
5950 "broadPhaseDispatcher",
5951 "phantomBroadPhaseListener",
5952 "entityEntityBroadPhaseListener",
5953 "broadPhaseBorderListener",
5954 "multithreadedSimulationJobData",
5955 "collisionInput",
5956 "collisionFilter",
5957 "collisionDispatcher",
5958 "convexListFilter",
5959 "pendingOperations",
5960 "pendingOperationsCount",
5961 "pendingBodyOperationsCount",
5962 "criticalOperationsLockCount",
5963 "criticalOperationsLockCountForPhantoms",
5964 "blockExecutingPendingOperations",
5965 "criticalOperationsAllowed",
5966 "pendingOperationQueues",
5967 "pendingOperationQueueCount",
5968 "multiThreadCheck",
5969 "processActionsInSingleThread",
5970 "allowIntegrationOfIslandsWithoutConstraintsInASeparateJob",
5971 "minDesiredIslandSize",
5972 "modifyConstraintCriticalSection",
5973 "isLocked",
5974 "islandDirtyListCriticalSection",
5975 "propertyMasterLock",
5976 "wantSimulationIslands",
5977 "useHybridBroadphase",
5978 "snapCollisionToConvexEdgeThreshold",
5979 "snapCollisionToConcaveEdgeThreshold",
5980 "enableToiWeldRejection",
5981 "wantDeactivation",
5982 "shouldActivateOnRigidBodyTransformChange",
5983 "deactivationReferenceDistance",
5984 "toiCollisionResponseRotateNormal",
5985 "maxSectorsPerMidphaseCollideTask",
5986 "maxSectorsPerNarrowphaseCollideTask",
5987 "processToisMultithreaded",
5988 "maxEntriesPerToiMidphaseCollideTask",
5989 "maxEntriesPerToiNarrowphaseCollideTask",
5990 "maxNumToiCollisionPairsSinglethreaded",
5991 "simulationType",
5992 "numToisTillAllowedPenetrationSimplifiedToi",
5993 "numToisTillAllowedPenetrationToi",
5994 "numToisTillAllowedPenetrationToiHigher",
5995 "numToisTillAllowedPenetrationToiForced",
5996 "lastEntityUid",
5997 "lastIslandUid",
5998 "lastConstraintUid",
5999 "phantoms",
6000 "actionListeners",
6001 "entityListeners",
6002 "phantomListeners",
6003 "constraintListeners",
6004 "worldDeletionListeners",
6005 "islandActivationListeners",
6006 "worldPostSimulationListeners",
6007 "worldPostIntegrateListeners",
6008 "worldPostCollideListeners",
6009 "islandPostIntegrateListeners",
6010 "islandPostCollideListeners",
6011 "contactListeners",
6012 "contactImpulseLimitBreachedListeners",
6013 "worldExtensions",
6014 "violatedConstraintArray",
6015 "broadPhaseBorder",
6016 "destructionWorld",
6017 "npWorld",
6018 "broadPhaseExtents",
6019 "broadPhaseNumMarkers",
6020 "sizeOfToiEventQueue",
6021 "broadPhaseQuerySize",
6022 "broadPhaseUpdateSize",
6023 "contactPointGeneration",
6024 ];
6025 _serde::Deserializer::deserialize_struct(
6026 deserializer,
6027 "hkpWorld",
6028 FIELDS,
6029 __hkpWorldVisitor {
6030 marker: _serde::__private::PhantomData::<hkpWorld>,
6031 lifetime: _serde::__private::PhantomData,
6032 },
6033 )
6034 }
6035 }
6036};