projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge all features from glider feature branch
[carveJwlIkooP6JGAAIwe30JlM.git]
/
player_ragdoll.h
diff --git
a/player_ragdoll.h
b/player_ragdoll.h
index 0afc330486d6be8e96bd82790a5b5dc9746ebff8..25b6fad7b682e9d8d9625f67f8c6222380e6877d 100644
(file)
--- a/
player_ragdoll.h
+++ b/
player_ragdoll.h
@@
-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 "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{
#include "player_render.h"
struct player_ragdoll{
@@
-20,9
+26,17
@@
struct player_ragdoll{
u32 use_limits;
v3f limits[2];
u32 use_limits;
v3f limits[2];
- rb_object obj;
u32 parent;
u32 colour;
u32 parent;
u32 colour;
+
+ rigidbody rb;
+ enum bone_collider type;
+
+ union {
+ rb_capsule capsule;
+ boxf box;
+ }
+ inf;
}
parts[32];
u32 part_count;
}
parts[32];
u32 part_count;
@@
-33,12
+47,19
@@
struct player_ragdoll{
rb_constr_swingtwist cone_constraints[32];
u32 cone_constraints_count;
rb_constr_swingtwist cone_constraints[32];
u32 cone_constraints_count;
+ /* TODO: Fix duplicated data */
+ u32 constraint_associations[32][2];
int shoes[2];
};
static float k_ragdoll_floatyiness = 20.0f,
k_ragdoll_floatydrag = 1.0f,
int shoes[2];
};
static float k_ragdoll_floatyiness = 20.0f,
k_ragdoll_floatydrag = 1.0f,
- k_ragdoll_limit_scale = 1.0f;
+ k_ragdoll_limit_scale = 1.0f,
+ k_ragdoll_spring = 127.0f,
+ k_ragdoll_dampening = 15.0f,
+ k_ragdoll_correction = 0.5f,
+ k_ragdoll_angular_drag = 0.08f,
+ k_ragdoll_active_threshold = 5.0f;
static int k_ragdoll_div = 1,
ragdoll_frame = 0,
static int k_ragdoll_div = 1,
ragdoll_frame = 0,
@@
-63,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 );
static void player_debug_ragdoll(void);
static void player_ragdoll_iter( struct player_ragdoll *rd );
-
-#endif /* PLAYER_RAGDOLL_H */