Wireframe, box mode, and ragdoll zoffset.
 
	
	
	
	
	
	
	
	
	
	
	
	
	| .. | .. | 
|---|
| 17161 | 17161 |              return; | 
|---|
| 17162 | 17162 |          } | 
|---|
| 17163 | 17163 |   | 
|---|
| 17164 |  | -        if (WIREFRAME)  | 
|---|
 | 17164 | +        //if (WIREFRAME)  | 
|---|
| 17165 | 17165 |              gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL); | 
|---|
| 17166 | 17166 |           | 
|---|
| 17167 | 17167 |          gl.glDisable(gl.GL_CULL_FACE); | 
|---|
| .. | .. | 
|---|
| 17261 | 17261 |   | 
|---|
| 17262 | 17262 |          if (WIREFRAME) | 
|---|
| 17263 | 17263 |              gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_LINE); | 
|---|
 | 17264 | +        else  | 
|---|
 | 17265 | +            gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL);  | 
|---|
| 17264 | 17266 |      } | 
|---|
| 17265 | 17267 |   | 
|---|
| 17266 | 17268 |      private void DrawChecker(GL gl) | 
|---|
 
| .. | .. | 
|---|
| 178 | 178 |      public void spawnRagdoll(boolean walk) // random) | 
|---|
| 179 | 179 |      { | 
|---|
| 180 | 180 |          // KIDS4 | 
|---|
| 181 |  | -        RagDoll ragDoll = new RagDoll(null, new Vector3f(0f, 0f, 0f), 0.45f/2, walk); // Math.random() > 0.5/*true*/); // true);  | 
|---|
 | 181 | +        RagDoll ragDoll = new RagDoll(null, new Vector3f(0f, 0f, 0f), 0.45f/2, walk, myzoffset = zoffset); // Math.random() > 0.5/*true*/); // true);  | 
|---|
 | 182 | +        zoffset += 0.1f;  | 
|---|
| 182 | 183 |          ragdolls.add(ragDoll); | 
|---|
| 183 | 184 |           | 
|---|
| 184 | 185 |          bRep = null; | 
|---|
| .. | .. | 
|---|
| 278 | 279 |  //     | 
|---|
| 279 | 280 |      ObjectArrayList<Transform> initialmatrices; | 
|---|
| 280 | 281 |   | 
|---|
 | 282 | +    float myzoffset;  | 
|---|
 | 283 | +      | 
|---|
| 281 | 284 |      void Reset() | 
|---|
| 282 | 285 |      { | 
|---|
| 283 | 286 |  //        int numObjects = dynamicsWorld.getNumCollisionObjects(); | 
|---|
| .. | .. | 
|---|
| 310 | 313 |              walkdefined = true; | 
|---|
| 311 | 314 |          } | 
|---|
| 312 | 315 |           | 
|---|
| 313 |  | -        ragdolls.get(0).init(/*staticdynamicsWorld,*/ new Vector3f(0f, 0f, 0f), ragdolls.get(0).scale, walk);  | 
|---|
 | 316 | +        ragdolls.get(0).init(/*staticdynamicsWorld,*/ new Vector3f(0f, 0f, 0f), ragdolls.get(0).scale, walk, myzoffset);  | 
|---|
| 314 | 317 |           | 
|---|
| 315 | 318 |          bRep = null; | 
|---|
| 316 | 319 |      } | 
|---|
 | 320 | +      | 
|---|
 | 321 | +    static float zoffset = 0;  | 
|---|
| 317 | 322 |       | 
|---|
| 318 | 323 |      void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ?? | 
|---|
| 319 | 324 |      { | 
|---|
| .. | .. | 
|---|
| 487 | 492 |                   | 
|---|
| 488 | 493 |                  tc.getFrameOffsetB(trans); | 
|---|
| 489 | 494 |                           | 
|---|
| 490 |  | -                if (false) // c == 2) // DEBUG  | 
|---|
 | 495 | +                if (c == 8) // DEBUG  | 
|---|
| 491 | 496 |                  { | 
|---|
| 492 | 497 |                  gl.glDisable(gl.GL_LIGHTING); | 
|---|
| 493 | 498 |                   | 
|---|
| .. | .. | 
|---|
| 516 | 521 |   | 
|---|
| 517 | 522 |                      gl.glPopMatrix(); | 
|---|
| 518 | 523 |   | 
|---|
| 519 |  | -                    tc.getFrameOffsetB(trans);  | 
|---|
 | 524 | +                    //tc.getFrameOffsetB(trans);  | 
|---|
| 520 | 525 |   | 
|---|
| 521 | 526 |                      gl.glColor3f(0, 1, 0); | 
|---|
| 522 | 527 |   | 
|---|
 
| .. | .. | 
|---|
| 6276 | 6276 |              bRep.displaylist = 0; | 
|---|
| 6277 | 6277 |          } | 
|---|
| 6278 | 6278 |     //     usecalllists &= !(parent instanceof RandomNode); | 
|---|
| 6279 |  | -   //     usecalllists = false;  | 
|---|
 | 6279 | +        if (CameraPane.BOXMODE) // Too dynamic  | 
|---|
 | 6280 | +            usecalllists = false;  | 
|---|
| 6280 | 6281 |   | 
|---|
| 6281 | 6282 |          if (display.DrawMode() == display.SHADOW) | 
|---|
| 6282 | 6283 |              //GetBRep() != null) | 
|---|
 
| .. | .. | 
|---|
| 140 | 140 |  //                initPhysics(); | 
|---|
| 141 | 141 |  //             | 
|---|
| 142 | 142 |  //            assert(dynamicsWorld == staticdynamicsWorld); | 
|---|
 | 143 | +        if (groundTransform != null) // marche pas  | 
|---|
 | 144 | +            groundTransform.origin.set(0f, -floor - 10, 0f);  | 
|---|
| 143 | 145 |               | 
|---|
| 144 | 146 |              GetDynamics().stepSimulation(ms / 1000000.f); | 
|---|
| 145 | 147 |          } | 
|---|
| .. | .. | 
|---|
| 159 | 161 |   | 
|---|
| 160 | 162 |  //        if (transientDynamicsWorld == null) | 
|---|
| 161 | 163 |  //            initPhysics(); | 
|---|
| 162 |  | -              | 
|---|
 | 164 | +  | 
|---|
 | 165 | +        groundTransform.origin.set(0f, -floor - 10, 0f);  | 
|---|
 | 166 | +          | 
|---|
| 163 | 167 |          GetDynamics().stepSimulation(ms / 1000000.f); | 
|---|
| 164 | 168 |      } | 
|---|
| 165 | 169 |       | 
|---|
 | 170 | +    transient Transform groundTransform;  | 
|---|
 | 171 | +              | 
|---|
| 166 | 172 |      public void initPhysics() | 
|---|
| 167 | 173 |      { | 
|---|
| 168 | 174 |          //if (dynamicsWorld != null) // && staticdynamicsWorld == null) | 
|---|
| .. | .. | 
|---|
| 201 | 207 |          // Setup a big ground box | 
|---|
| 202 | 208 |  //        { | 
|---|
| 203 | 209 |              CollisionShape groundShape = new BoxShape(new Vector3f(boxsize, 10f, boxsize)); | 
|---|
| 204 |  | -            Transform groundTransform = new Transform();  | 
|---|
| 205 |  | -            groundTransform.setIdentity();  | 
|---|
| 206 |  | -            groundTransform.origin.set(0f, -floor - 10, 0f);  | 
|---|
| 207 |  | -            localCreateRigidBody(0f, groundTransform, groundShape);  | 
|---|
 | 210 | +            Transform transform = new Transform();  | 
|---|
 | 211 | +            transform.setIdentity();  | 
|---|
 | 212 | +            transform.origin.set(0f, -floor - 10, 0f);  | 
|---|
 | 213 | +            localCreateRigidBody(0f, transform, groundShape);  | 
|---|
 | 214 | +              | 
|---|
 | 215 | +            groundTransform = transform;  | 
|---|
 | 216 | +            groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));  | 
|---|
 | 217 | +            transform = new Transform();  | 
|---|
 | 218 | +            transform.setIdentity();  | 
|---|
 | 219 | +            transform.origin.set(0f, boxsize/2, -boxsize-1);  | 
|---|
 | 220 | +            localCreateRigidBody(0f, transform, groundShape);  | 
|---|
| 208 | 221 |               | 
|---|
| 209 | 222 |              groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); | 
|---|
| 210 |  | -            groundTransform = new Transform();  | 
|---|
| 211 |  | -            groundTransform.setIdentity();  | 
|---|
| 212 |  | -            groundTransform.origin.set(0f, boxsize/2, -boxsize-1);  | 
|---|
| 213 |  | -            localCreateRigidBody(0f, groundTransform, groundShape);  | 
|---|
 | 223 | +            transform = new Transform();  | 
|---|
 | 224 | +            transform.setIdentity();  | 
|---|
 | 225 | +            transform.origin.set(-boxsize-1, boxsize/2, 0f);  | 
|---|
 | 226 | +            localCreateRigidBody(0f, transform, groundShape);  | 
|---|
| 214 | 227 |               | 
|---|
| 215 | 228 |              groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); | 
|---|
| 216 |  | -            groundTransform = new Transform();  | 
|---|
| 217 |  | -            groundTransform.setIdentity();  | 
|---|
| 218 |  | -            groundTransform.origin.set(-boxsize-1, boxsize/2, 0f);  | 
|---|
| 219 |  | -            localCreateRigidBody(0f, groundTransform, groundShape);  | 
|---|
 | 229 | +            transform = new Transform();  | 
|---|
 | 230 | +            transform.setIdentity();  | 
|---|
 | 231 | +            transform.origin.set(boxsize+1, boxsize/2, 0f);  | 
|---|
 | 232 | +            localCreateRigidBody(0f, transform, groundShape);  | 
|---|
| 220 | 233 |               | 
|---|
| 221 | 234 |              groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); | 
|---|
| 222 |  | -            groundTransform = new Transform();  | 
|---|
| 223 |  | -            groundTransform.setIdentity();  | 
|---|
| 224 |  | -            groundTransform.origin.set(boxsize+1, boxsize/2, 0f);  | 
|---|
| 225 |  | -            localCreateRigidBody(0f, groundTransform, groundShape);  | 
|---|
| 226 |  | -              | 
|---|
| 227 |  | -            groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));  | 
|---|
| 228 |  | -            groundTransform = new Transform();  | 
|---|
| 229 |  | -            groundTransform.setIdentity();  | 
|---|
| 230 |  | -            groundTransform.origin.set(0f, boxsize/2, boxsize+1);  | 
|---|
| 231 |  | -            localCreateRigidBody(0f, groundTransform, groundShape);  | 
|---|
 | 235 | +            transform = new Transform();  | 
|---|
 | 236 | +            transform.setIdentity();  | 
|---|
 | 237 | +            transform.origin.set(0f, boxsize/2, boxsize+1);  | 
|---|
 | 238 | +            localCreateRigidBody(0f, transform, groundShape);  | 
|---|
| 232 | 239 |               | 
|---|
| 233 | 240 |              transientDynamicsWorld.setGravity(new Vector3f(0.075f, -gravity, wind)); | 
|---|
| 234 | 241 |               | 
|---|
 
| .. | .. | 
|---|
| 130 | 130 |  	RigidBody/*Serial*/[] bodies = new RigidBody/*Serial*/[BodyPart.BODYPART_COUNT.ordinal()]; | 
|---|
| 131 | 131 |  	TypedConstraint[] joints = new TypedConstraint[JointType.JOINT_COUNT.ordinal()]; | 
|---|
| 132 | 132 |   | 
|---|
| 133 |  | -	public RagDoll(DynamicsWorld ownerWorld, Vector3f positionOffset)  | 
|---|
 | 133 | +	public RagDoll(DynamicsWorld ownerWorld, Vector3f positionOffset, float zoffset)  | 
|---|
| 134 | 134 |          { | 
|---|
| 135 |  | -		this(ownerWorld, positionOffset, 1.0f, false);  | 
|---|
 | 135 | +		this(ownerWorld, positionOffset, 1.0f, false, zoffset);  | 
|---|
| 136 | 136 |  	} | 
|---|
| 137 | 137 |   | 
|---|
| 138 |  | -	public RagDoll(DynamicsWorld ownerWorld, Vector3f positionOffset, float scale_ragdoll, boolean walk)  | 
|---|
 | 138 | +	public RagDoll(DynamicsWorld ownerWorld, Vector3f positionOffset, float scale_ragdoll, boolean walk, float zoffset)  | 
|---|
| 139 | 139 |          { | 
|---|
| 140 |  | -            init(/*ownerWorld,*/ positionOffset, scale_ragdoll, walk);  | 
|---|
 | 140 | +            init(/*ownerWorld,*/ positionOffset, scale_ragdoll, walk, zoffset);  | 
|---|
| 141 | 141 |          } | 
|---|
| 142 | 142 |           | 
|---|
| 143 |  | -	public void init(/*DynamicsWorld ownerWorld,*/ Vector3f positionOffset, float scale_ragdoll, boolean walk)  | 
|---|
 | 143 | +	public void init(/*DynamicsWorld ownerWorld,*/ Vector3f positionOffset, float scale_ragdoll, boolean walk, float zoffset)  | 
|---|
| 144 | 144 |          { | 
|---|
| 145 | 145 |              scale = scale_ragdoll; | 
|---|
| 146 | 146 |               | 
|---|
| .. | .. | 
|---|
| 210 | 210 |  		transform.setIdentity(); | 
|---|
| 211 | 211 |  		if ((body = bodies[BodyPart.BODYPART_SPINE.ordinal()]) == null) | 
|---|
| 212 | 212 |                      body = bodies[BodyPart.BODYPART_SPINE.ordinal()] = localCreateRigidBody(1f, 10, transform, shapes[BodyPart.BODYPART_SPINE.ordinal()]); | 
|---|
| 213 |  | -		transform.origin.set(0f, scale_ragdoll * 1.2f, 0f);  | 
|---|
 | 213 | +		transform.origin.set(0f, scale_ragdoll * 1.2f, zoffset);  | 
|---|
| 214 | 214 |  		tmpTrans.mul(offset, transform); | 
|---|
| 215 | 215 |  		body.worldTransform.set(tmpTrans); | 
|---|
| 216 | 216 |                  body.getMotionState().setWorldTransform(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 229 | 229 |  		transform.setIdentity(); | 
|---|
| 230 | 230 |                  if ((body = bodies[BodyPart.BODYPART_LEFT_LOWER_LEG.ordinal()]) == null) | 
|---|
| 231 | 231 |                      body = bodies[BodyPart.BODYPART_LEFT_LOWER_LEG.ordinal()] = localCreateRigidBody(massfeet, poisefeet, transform, shapes[BodyPart.BODYPART_LEFT_LOWER_LEG.ordinal()]); | 
|---|
| 232 |  | -		transform.origin.set(-0.09f * scale_ragdoll, 0.275f * scale_ragdoll, 0f);  | 
|---|
 | 232 | +		transform.origin.set(-0.09f * scale_ragdoll, 0.275f * scale_ragdoll, zoffset);  | 
|---|
| 233 | 233 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_PI); | 
|---|
| 234 | 234 |  		tmpTrans.mul(offset, transform); | 
|---|
| 235 | 235 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 237 | 237 |                  //body.getMotionState().setStartTransform(tmpTrans); | 
|---|
| 238 | 238 |                  ((cRigidBody)body).anchor.set(tmpTrans.origin); | 
|---|
| 239 | 239 |                   | 
|---|
| 240 |  | -  | 
|---|
| 241 | 240 |  		transform.setIdentity(); | 
|---|
| 242 | 241 |  		if ((body = bodies[BodyPart.BODYPART_RIGHT_LOWER_LEG.ordinal()]) == null) | 
|---|
| 243 | 242 |                      body = bodies[BodyPart.BODYPART_RIGHT_LOWER_LEG.ordinal()] = localCreateRigidBody(massfeet, poisefeet, transform, shapes[BodyPart.BODYPART_RIGHT_LOWER_LEG.ordinal()]); | 
|---|
| 244 |  | -		transform.origin.set(0.09f * scale_ragdoll, 0.275f * scale_ragdoll, 0f);  | 
|---|
 | 243 | +		transform.origin.set(0.09f * scale_ragdoll, 0.275f * scale_ragdoll, zoffset);  | 
|---|
| 245 | 244 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_PI); | 
|---|
| 246 | 245 |  		tmpTrans.mul(offset, transform); | 
|---|
| 247 | 246 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 254 | 253 |  		transform.setIdentity(); | 
|---|
| 255 | 254 |  		if ((body = bodies[BodyPart.BODYPART_LEFT_FOOT.ordinal()]) == null) | 
|---|
| 256 | 255 |                      body = bodies[BodyPart.BODYPART_LEFT_FOOT.ordinal()] = localCreateRigidBody(massfeet, poisefeet, transform, shapes[BodyPart.BODYPART_LEFT_FOOT.ordinal()]); | 
|---|
| 257 |  | -		transform.origin.set(-0.09f * scale_ragdoll, 0.075f * scale_ragdoll, 0.0125f);  | 
|---|
 | 256 | +		transform.origin.set(-0.09f * scale_ragdoll, 0.075f * scale_ragdoll, 0.0125f + zoffset);  | 
|---|
| 258 | 257 |  		MatrixUtil.setEulerZYX(transform.basis, BulletGlobals.SIMD_PI/2, 0,BulletGlobals.SIMD_PI); // BulletGlobals.SIMD_PI, 0); | 
|---|
| 259 | 258 |  		tmpTrans.mul(offset, transform); | 
|---|
| 260 | 259 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 264 | 263 |  		transform.setIdentity(); | 
|---|
| 265 | 264 |  		if ((body = bodies[BodyPart.BODYPART_RIGHT_FOOT.ordinal()]) == null) | 
|---|
| 266 | 265 |                      body = bodies[BodyPart.BODYPART_RIGHT_FOOT.ordinal()] = localCreateRigidBody(massfeet, poisefeet, transform, shapes[BodyPart.BODYPART_RIGHT_FOOT.ordinal()]); | 
|---|
| 267 |  | -		transform.origin.set(0.09f * scale_ragdoll, 0.075f * scale_ragdoll, 0.0125f);  | 
|---|
 | 266 | +		transform.origin.set(0.09f * scale_ragdoll, 0.075f * scale_ragdoll, 0.0125f + zoffset);  | 
|---|
| 268 | 267 |  		MatrixUtil.setEulerZYX(transform.basis, BulletGlobals.SIMD_PI/2, 0,BulletGlobals.SIMD_PI); // BulletGlobals.SIMD_PI, 0); | 
|---|
| 269 | 268 |  		tmpTrans.mul(offset, transform); | 
|---|
| 270 | 269 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 274 | 273 |  		transform.setIdentity(); | 
|---|
| 275 | 274 |  		if ((body = bodies[BodyPart.BODYPART_PELVIS.ordinal()]) == null) | 
|---|
| 276 | 275 |                      body = bodies[BodyPart.BODYPART_PELVIS.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_PELVIS.ordinal()]); | 
|---|
| 277 |  | -		transform.origin.set(scale_ragdoll * 0.f, scale_ragdoll * 0.95f, 0f);  | 
|---|
 | 276 | +		transform.origin.set(scale_ragdoll * 0.f, scale_ragdoll * 0.95f, zoffset);  | 
|---|
| 278 | 277 |  		tmpTrans.mul(offset, transform); | 
|---|
| 279 | 278 |  		body.worldTransform.set(tmpTrans); | 
|---|
| 280 | 279 |                  body.getMotionState().setWorldTransform(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 283 | 282 |  		transform.setIdentity(); | 
|---|
| 284 | 283 |  		if ((body = bodies[BodyPart.BODYPART_HEAD.ordinal()]) == null) | 
|---|
| 285 | 284 |                      body = bodies[BodyPart.BODYPART_HEAD.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_HEAD.ordinal()]); | 
|---|
| 286 |  | -		transform.origin.set(0f, scale_ragdoll * 1.55f, 0); // depth/2);  | 
|---|
 | 285 | +		transform.origin.set(0f, scale_ragdoll * 1.55f, zoffset); // depth/2);  | 
|---|
| 287 | 286 |  		tmpTrans.mul(offset, transform); | 
|---|
| 288 | 287 |  		body.worldTransform.set(tmpTrans); | 
|---|
| 289 | 288 |                  body.getMotionState().setWorldTransform(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 292 | 291 |  		transform.setIdentity(); | 
|---|
| 293 | 292 |  		if ((body = bodies[BodyPart.BODYPART_LEFT_UPPER_LEG.ordinal()]) == null) | 
|---|
| 294 | 293 |                      body = bodies[BodyPart.BODYPART_LEFT_UPPER_LEG.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_LEFT_UPPER_LEG.ordinal()]); | 
|---|
| 295 |  | -		transform.origin.set(-0.09f * scale_ragdoll, 0.65f * scale_ragdoll, 0f);  | 
|---|
 | 294 | +		transform.origin.set(-0.09f * scale_ragdoll, 0.65f * scale_ragdoll, zoffset);  | 
|---|
| 296 | 295 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_PI); | 
|---|
| 297 | 296 |  		tmpTrans.mul(offset, transform); | 
|---|
| 298 | 297 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 302 | 301 |  		transform.setIdentity(); | 
|---|
| 303 | 302 |  		if ((body = bodies[BodyPart.BODYPART_RIGHT_UPPER_LEG.ordinal()]) == null) | 
|---|
| 304 | 303 |                      body = bodies[BodyPart.BODYPART_RIGHT_UPPER_LEG.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_RIGHT_UPPER_LEG.ordinal()]); | 
|---|
| 305 |  | -		transform.origin.set(0.09f * scale_ragdoll, 0.65f * scale_ragdoll, 0f);  | 
|---|
 | 304 | +		transform.origin.set(0.09f * scale_ragdoll, 0.65f * scale_ragdoll, zoffset);  | 
|---|
| 306 | 305 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_PI); | 
|---|
| 307 | 306 |  		tmpTrans.mul(offset, transform); | 
|---|
| 308 | 307 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 312 | 311 |  		transform.setIdentity(); | 
|---|
| 313 | 312 |  		if ((body = bodies[BodyPart.BODYPART_LEFT_UPPER_ARM.ordinal()]) == null) | 
|---|
| 314 | 313 |                      body = bodies[BodyPart.BODYPART_LEFT_UPPER_ARM.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_LEFT_UPPER_ARM.ordinal()]); | 
|---|
| 315 |  | -		transform.origin.set(-(upperarmlength/2 + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth);  | 
|---|
 | 314 | +		transform.origin.set(-(upperarmlength/2 + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth + zoffset);  | 
|---|
| 316 | 315 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_HALF_PI); | 
|---|
| 317 | 316 |  		tmpTrans.mul(offset, transform); | 
|---|
| 318 | 317 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 322 | 321 |  		transform.setIdentity(); | 
|---|
| 323 | 322 |  		if ((body = bodies[BodyPart.BODYPART_LEFT_LOWER_ARM.ordinal()]) == null) | 
|---|
| 324 | 323 |                      body = bodies[BodyPart.BODYPART_LEFT_LOWER_ARM.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_LEFT_LOWER_ARM.ordinal()]); | 
|---|
| 325 |  | -		transform.origin.set(-(lowerarmlength/2 + upperarmlength + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth);  | 
|---|
 | 324 | +		transform.origin.set(-(lowerarmlength/2 + upperarmlength + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth + zoffset);  | 
|---|
| 326 | 325 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, BulletGlobals.SIMD_HALF_PI); | 
|---|
| 327 | 326 |  		tmpTrans.mul(offset, transform); | 
|---|
| 328 | 327 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 342 | 341 |  		transform.setIdentity(); | 
|---|
| 343 | 342 |  		if ((body = bodies[BodyPart.BODYPART_RIGHT_UPPER_ARM.ordinal()]) == null) | 
|---|
| 344 | 343 |                      body = bodies[BodyPart.BODYPART_RIGHT_UPPER_ARM.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_RIGHT_UPPER_ARM.ordinal()]); | 
|---|
| 345 |  | -		transform.origin.set((upperarmlength/2 + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth);  | 
|---|
 | 344 | +		transform.origin.set((upperarmlength/2 + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth + zoffset);  | 
|---|
| 346 | 345 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, -BulletGlobals.SIMD_HALF_PI); | 
|---|
| 347 | 346 |  		tmpTrans.mul(offset, transform); | 
|---|
| 348 | 347 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 352 | 351 |  		transform.setIdentity(); | 
|---|
| 353 | 352 |  		if ((body = bodies[BodyPart.BODYPART_RIGHT_LOWER_ARM.ordinal()]) == null) | 
|---|
| 354 | 353 |                      body = bodies[BodyPart.BODYPART_RIGHT_LOWER_ARM.ordinal()] = localCreateRigidBody(1f, 0, transform, shapes[BodyPart.BODYPART_RIGHT_LOWER_ARM.ordinal()]); | 
|---|
| 355 |  | -		transform.origin.set((lowerarmlength/2 + upperarmlength + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth);  | 
|---|
 | 354 | +		transform.origin.set((lowerarmlength/2 + upperarmlength + upperarmdist) * scale_ragdoll, 1.325f * scale_ragdoll, depth + zoffset);  | 
|---|
| 356 | 355 |  		MatrixUtil.setEulerZYX(transform.basis, 0, 0, -BulletGlobals.SIMD_HALF_PI); | 
|---|
| 357 | 356 |  		tmpTrans.mul(offset, transform); | 
|---|
| 358 | 357 |  		body.worldTransform.set(tmpTrans); | 
|---|
| .. | .. | 
|---|
| 812 | 811 |  //                     .push(Tween.to(leftleg, 1, 500).target(100).ease(Quad.INOUT)) | 
|---|
| 813 | 812 |  //                     .push(Tween.to(leftleg, 1, 500).target(360).ease(Quad.INOUT)) | 
|---|
| 814 | 813 |  //                     .repeat(5, 1) | 
|---|
| 815 |  | -//                     .end()  | 
|---|
 | 814 | +//                     .end() //??  | 
|---|
| 816 | 815 |                       .start(ObjEditor.tweenManager) | 
|---|
| 817 | 816 |                          ; | 
|---|
| 818 | 817 |  	} | 
|---|