glider stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / player_ragdoll.h
index 6f5a33137a8e5a48ef53b21da64d86b1a21555d7..25b6fad7b682e9d8d9625f67f8c6222380e6877d 100644 (file)
@@ -1,9 +1,15 @@
-#ifndef PLAYER_RAGDOLL_H
-#define PLAYER_RAGDOLL_H
+#pragma once
+
+/*
+ * Copyright (C) 2021-2024 Mt.ZERO Software - All Rights Reserved
+ *
+ * Ragdoll system
+ */
 
 #include "player_api.h"
 #include "skeleton.h"
-#include "rigidbody.h"
+#include "vg/vg_rigidbody.h"
+#include "vg/vg_rigidbody_constraints.h"
 #include "player_render.h"
 
 struct player_ragdoll{
@@ -20,9 +26,17 @@ struct player_ragdoll{
       u32 use_limits;
       v3f limits[2];
 
-      rb_object obj;
       u32 parent;
       u32 colour;
+
+      rigidbody rb;
+      enum bone_collider type;
+
+      union {
+         rb_capsule capsule;
+         boxf box;
+      }
+      inf;
    }
    parts[32];
    u32 part_count;
@@ -70,5 +84,3 @@ static void copy_localplayer_to_ragdoll( struct player_ragdoll *rd,
                                           
 static void player_debug_ragdoll(void);
 static void player_ragdoll_iter( struct player_ragdoll *rd );
-
-#endif /* PLAYER_RAGDOLL_H */