aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/physics/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/physics/plugins')
-rw-r--r--src/physics/plugins/PhysXplugin.cs38
1 files changed, 33 insertions, 5 deletions
diff --git a/src/physics/plugins/PhysXplugin.cs b/src/physics/plugins/PhysXplugin.cs
index 58a82fb..8c09dc8 100644
--- a/src/physics/plugins/PhysXplugin.cs
+++ b/src/physics/plugins/PhysXplugin.cs
@@ -85,14 +85,30 @@ namespace PhysXplugin
85 return act; 85 return act;
86 } 86 }
87 87
88 public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
89 {
90 return null;
91 }
92
88 public override void Simulate(float timeStep) 93 public override void Simulate(float timeStep)
89 { 94 {
90 foreach (PhysXActor actor in _actors) 95 foreach (PhysXActor actor in _actors)
91 { 96 {
92 actor.Position.X = actor.Position.X + actor.Velocity.X * timeStep; 97 actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep);
93 actor.Position.Y = actor.Position.Y + actor.Velocity.Y * timeStep; 98 actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep);
94 actor.Position.Z = actor.Position.Z + actor.Velocity.Z * timeStep; 99 actor.Position.Z = actor.Position.Z + (actor.Velocity.Z * timeStep);
95 actor.Position.Z = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X]+1; 100 /*if(actor.Flying)
101 {
102 actor.Position.Z = actor.Position.Z + (actor.Velocity.Z * timeStep);
103 }
104 else
105 {
106 actor.Position.Z = actor.Position.Z + ((-9.8f + actor.Velocity.Z) * timeStep);
107 }
108 if(actor.Position.Z < (_heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X]+1))
109 {*/
110 actor.Position.Z = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X]+1;
111 //}
96 if(actor.Position.X<0) 112 if(actor.Position.X<0)
97 { 113 {
98 actor.Position.X = 0; 114 actor.Position.X = 0;
@@ -140,7 +156,7 @@ namespace PhysXplugin
140 private PhysicsVector _position; 156 private PhysicsVector _position;
141 private PhysicsVector _velocity; 157 private PhysicsVector _velocity;
142 private PhysicsVector _acceleration; 158 private PhysicsVector _acceleration;
143 159 private bool flying;
144 public PhysXActor() 160 public PhysXActor()
145 { 161 {
146 _velocity = new PhysicsVector(); 162 _velocity = new PhysicsVector();
@@ -148,6 +164,18 @@ namespace PhysXplugin
148 _acceleration = new PhysicsVector(); 164 _acceleration = new PhysicsVector();
149 } 165 }
150 166
167 public override bool Flying
168 {
169 get
170 {
171 return false;
172 }
173 set
174 {
175 flying= value;
176 }
177 }
178
151 public override PhysicsVector Position 179 public override PhysicsVector Position
152 { 180 {
153 get 181 get