diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
| commit | e1e781bb2135ef78592226f1a3eaba4925702f1f (patch) | |
| tree | 8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/VehicleShape.java | |
| download | worlds.jar-main.tar.xz worlds.jar-main.zip | |
Diffstat (limited to 'NET/worlds/scape/VehicleShape.java')
| -rw-r--r-- | NET/worlds/scape/VehicleShape.java | 660 |
1 files changed, 660 insertions, 0 deletions
diff --git a/NET/worlds/scape/VehicleShape.java b/NET/worlds/scape/VehicleShape.java new file mode 100644 index 0000000..6337ace --- /dev/null +++ b/NET/worlds/scape/VehicleShape.java @@ -0,0 +1,660 @@ +/* */ package NET.worlds.scape; +/* */ +/* */ import NET.worlds.console.Console; +/* */ import NET.worlds.console.DialogReceiver; +/* */ import NET.worlds.console.OkCancelDialog; +/* */ import NET.worlds.core.IniFile; +/* */ import NET.worlds.network.URL; +/* */ import java.io.IOException; +/* */ import java.io.PrintStream; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ public class VehicleShape +/* */ extends PosableShape +/* */ implements MouseDownHandler, DialogReceiver +/* */ { +/* */ static final int fourWheelDrive = 0; +/* */ static final int frontWheelDrive = 1; +/* */ static final int rearWheelDrive = 2; +/* 26 */ private String promptString = "Take her for a spin?"; +/* 27 */ public float rearEndRatio = 3.07F; +/* 28 */ public float frontalArea = 42.5F; +/* 29 */ public float wheelDiameter = 2.167F; +/* 30 */ public float coeffKineticFriction = 0.05F; +/* 31 */ public float coeffStaticFriction = 0.2F; +/* 32 */ public float mass = 100.0F; +/* 33 */ public float gearRatio1 = 2.88F; +/* 34 */ public float gearRatio2 = 1.91F; +/* 35 */ public float gearRatio3 = 1.33F; +/* 36 */ public float gearRatio4 = 1.0F; +/* 37 */ public float gearRatio5 = 0.7F; +/* 38 */ public float maxEngineTorque = 300.0F; +/* 39 */ public float tireAdhesiveLimit = 1.1F; +/* 40 */ public float shockDampingCoeff = 3.0F; +/* 41 */ public float shockLength = 0.15F; +/* 42 */ public float rpmTorquePeak = 4200.0F; +/* 43 */ public float idleRPM = 1000.0F; +/* 44 */ public boolean stickShift = false; +/* 45 */ public float initialGas = -1.0F; +/* 46 */ public float adjustCogX = 0.0F; +/* 47 */ public float adjustCogY = 0.0F; +/* 48 */ public float adjustCogZ = 0.0F; +/* 49 */ public int driveType = 2; +/* 50 */ public boolean fixedCamera = true; +/* 51 */ public float camX = 0.0F; +/* 52 */ public float camY = -80.0F; +/* 53 */ public float camZ = -120.0F; +/* 54 */ public float camRoll = -10.0F; +/* 55 */ public float camPitch = 0.0F; +/* 56 */ public float camYaw = 0.0F; +/* 57 */ public float camAimX = 15.0F; +/* 58 */ public float camAimY = 0.0F; +/* 59 */ public float camAimZ = 10.0F; +/* 60 */ public float eyeHeight = 150.0F; +/* */ +/* */ +/* 63 */ public String lastURL = ""; +/* */ +/* */ public Point3 centerOfGravity; +/* */ public Point3 momentsOfInertia; +/* */ public Point3[] tirePositions; +/* 68 */ private boolean avatarSwitchPending = false; +/* */ +/* */ +/* */ +/* */ VehicleShape() {} +/* */ +/* */ +/* */ VehicleShape(URL url) +/* */ { +/* 77 */ super(url); +/* */ } +/* */ +/* */ +/* 81 */ private static String[] vehicleShapeNames = { +/* 82 */ "dash" }; +/* */ +/* */ +/* */ public static boolean isVehicle(URL url) +/* */ { +/* 87 */ if (IniFile.gamma().getIniInt("enableVehicleShapes", 0) == 0) { +/* 88 */ return false; +/* */ } +/* 90 */ String s = url.toString(); +/* 91 */ for (int i = 0; i < vehicleShapeNames.length; i++) +/* */ { +/* 93 */ if (s.indexOf(vehicleShapeNames[i]) != -1) +/* 94 */ return true; +/* */ } +/* 96 */ return false; +/* */ } +/* */ +/* */ +/* */ public boolean handle(MouseDownEvent event) +/* */ { +/* 102 */ if ((event.key & 0x1) == '\001') +/* */ { +/* 104 */ new OkCancelDialog(Console.getFrame(), this, +/* 105 */ "Change Avatar", "No", "Yes", this.promptString, +/* 106 */ true); +/* */ } +/* 108 */ return true; +/* */ } +/* */ +/* */ public void dialogDone(Object who, boolean confirmed) +/* */ { +/* 113 */ if ((who instanceof OkCancelDialog)) +/* */ { +/* 115 */ if (confirmed) +/* */ { +/* */ +/* */ +/* */ +/* 120 */ this.avatarSwitchPending = true; +/* 121 */ boolean oldVIP = Console.getActive().getVIP(); +/* 122 */ Console.getActive().setVIP(true); +/* 123 */ Console.getActive().setAvatar(this.url); +/* 124 */ Console.getActive().setVIP(oldVIP); +/* */ } } } +/* */ +/* */ protected native void nativeAnalyzeShape(int paramInt, float paramFloat); +/* */ +/* */ protected native float nativeGetTirePosX(int paramInt); +/* */ +/* */ protected native float nativeGetTirePosY(int paramInt); +/* */ +/* */ protected native float nativeGetTirePosZ(int paramInt); +/* */ +/* */ protected native float nativeGetCogX(); +/* */ +/* */ protected native float nativeGetCogY(); +/* */ +/* */ protected native float nativeGetCogZ(); +/* */ +/* */ protected native float nativeGetMoiX(); +/* */ +/* */ protected native float nativeGetMoiY(); +/* */ +/* */ protected native float nativeGetMoiZ(); +/* */ +/* 147 */ public void prerender(Camera cam) { if ((!this.lastURL.equals(this.url.toString())) || (this.avatarSwitchPending)) +/* */ { +/* 149 */ this.lastURL = new String(this.url.toString()); +/* */ +/* 151 */ System.out.println("Analyze shape " + this.lastURL); +/* */ +/* 153 */ nativeAnalyzeShape(this.clumpID, this.mass); +/* 154 */ this.tirePositions = new Point3[4]; +/* 155 */ for (int i = 0; i < 4; i++) +/* */ { +/* 157 */ this.tirePositions[i] = new Point3(nativeGetTirePosX(i), +/* 158 */ nativeGetTirePosY(i), nativeGetTirePosZ(i)); +/* */ } +/* */ +/* 161 */ this.centerOfGravity = new Point3(nativeGetCogX(), nativeGetCogY(), +/* 162 */ nativeGetCogZ()); +/* 163 */ this.centerOfGravity.x += this.adjustCogX; +/* 164 */ this.centerOfGravity.y += this.adjustCogY; +/* 165 */ this.centerOfGravity.z += this.adjustCogZ; +/* */ +/* 167 */ this.momentsOfInertia = new Point3(nativeGetMoiX(), +/* 168 */ nativeGetMoiY(), nativeGetMoiZ()); +/* */ +/* */ +/* */ +/* 172 */ if (this.avatarSwitchPending) +/* */ { +/* 174 */ Pilot p = Console.getActive().getPilot(); +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* 195 */ if ((p instanceof HoloPilot)) +/* */ { +/* 197 */ HoloPilot hp = (HoloPilot)p; +/* 198 */ Drone d = hp.getInternalDrone(); +/* 199 */ if (d != null) +/* */ { +/* 201 */ if ((d instanceof PosableDrone)) +/* */ { +/* 203 */ PosableDrone pd = (PosableDrone)d; +/* 204 */ PosableShape ps = pd.getInternalPosableShape(); +/* 205 */ if (ps != null) +/* */ { +/* 207 */ if ((ps instanceof VehicleShape)) +/* */ { +/* 209 */ VehicleShape vs = (VehicleShape)ps; +/* 210 */ vs.fixedCamera = this.fixedCamera; +/* 211 */ vs.camX = this.camX; +/* 212 */ vs.camY = this.camY; +/* 213 */ vs.camZ = this.camZ; +/* 214 */ vs.camRoll = this.camRoll; +/* 215 */ vs.camPitch = this.camPitch; +/* 216 */ vs.camYaw = this.camYaw; +/* 217 */ vs.camAimX = this.camAimX; +/* 218 */ vs.camAimY = this.camAimY; +/* 219 */ vs.camAimZ = this.camAimZ; +/* 220 */ vs.eyeHeight = this.eyeHeight; +/* 221 */ hp.setOutsideCameraMode( +/* 222 */ 99, +/* 223 */ 4); +/* */ } +/* */ } +/* */ } +/* */ } +/* */ } +/* */ +/* */ +/* 231 */ this.avatarSwitchPending = false; +/* */ } +/* */ } +/* */ } +/* */ +/* */ +/* */ +/* */ +/* 239 */ private static Object classCookie = new Object(); +/* */ +/* */ public Object properties(int index, int offset, int mode, Object value) +/* */ throws NoSuchPropertyException +/* */ { +/* 244 */ Object ret = null; +/* 245 */ switch (index - offset) { +/* */ case 0: +/* 247 */ if (mode == 0) { +/* 248 */ ret = StringPropertyEditor.make( +/* 249 */ new Property(this, index, "Prompt String")); +/* 250 */ } else if (mode == 1) { +/* 251 */ ret = new String(this.promptString); +/* 252 */ } else if (mode == 2) { +/* 253 */ this.promptString = new String((String)value); +/* */ } +/* 255 */ break; +/* */ case 1: +/* 257 */ if (mode == 0) { +/* 258 */ ret = FloatPropertyEditor.make( +/* 259 */ new Property(this, index, "Rear End Ratio")); +/* 260 */ } else if (mode == 1) { +/* 261 */ ret = new Float(this.rearEndRatio); +/* 262 */ } else if (mode == 2) +/* 263 */ this.rearEndRatio = ((Float)value).floatValue(); +/* 264 */ break; +/* */ case 2: +/* 266 */ if (mode == 0) { +/* 267 */ ret = FloatPropertyEditor.make( +/* 268 */ new Property(this, index, "Frontal Area (sq.ft.)")); +/* 269 */ } else if (mode == 1) { +/* 270 */ ret = new Float(this.frontalArea); +/* 271 */ } else if (mode == 2) +/* 272 */ this.frontalArea = ((Float)value).floatValue(); +/* 273 */ break; +/* */ case 3: +/* 275 */ if (mode == 0) { +/* 276 */ ret = FloatPropertyEditor.make( +/* 277 */ new Property(this, index, "Wheel Diameter (ft.)")); +/* 278 */ } else if (mode == 1) { +/* 279 */ ret = new Float(this.wheelDiameter); +/* 280 */ } else if (mode == 2) +/* 281 */ this.wheelDiameter = ((Float)value).floatValue(); +/* 282 */ break; +/* */ case 4: +/* 284 */ if (mode == 0) { +/* 285 */ ret = FloatPropertyEditor.make( +/* 286 */ new Property(this, index, +/* 287 */ "Coefficient of Kinetic Friction")); +/* 288 */ } else if (mode == 1) { +/* 289 */ ret = new Float(this.coeffKineticFriction); +/* 290 */ } else if (mode == 2) +/* 291 */ this.coeffKineticFriction = ((Float)value).floatValue(); +/* 292 */ break; +/* */ case 5: +/* 294 */ if (mode == 0) { +/* 295 */ ret = FloatPropertyEditor.make( +/* 296 */ new Property(this, index, +/* 297 */ "Coefficient of Static Friction")); +/* 298 */ } else if (mode == 1) { +/* 299 */ ret = new Float(this.coeffStaticFriction); +/* 300 */ } else if (mode == 2) +/* 301 */ this.coeffStaticFriction = ((Float)value).floatValue(); +/* 302 */ break; +/* */ case 6: +/* 304 */ if (mode == 0) { +/* 305 */ ret = FloatPropertyEditor.make( +/* 306 */ new Property(this, index, "Mass (slugs)")); +/* 307 */ } else if (mode == 1) { +/* 308 */ ret = new Float(this.mass); +/* 309 */ } else if (mode == 2) +/* 310 */ this.mass = ((Float)value).floatValue(); +/* 311 */ break; +/* */ case 7: +/* 313 */ if (mode == 0) { +/* 314 */ ret = FloatPropertyEditor.make( +/* 315 */ new Property(this, index, "1st Gear Ratio")); +/* 316 */ } else if (mode == 1) { +/* 317 */ ret = new Float(this.gearRatio1); +/* 318 */ } else if (mode == 2) +/* 319 */ this.gearRatio1 = ((Float)value).floatValue(); +/* 320 */ break; +/* */ case 8: +/* 322 */ if (mode == 0) { +/* 323 */ ret = FloatPropertyEditor.make( +/* 324 */ new Property(this, index, "2nd Gear Ratio")); +/* 325 */ } else if (mode == 1) { +/* 326 */ ret = new Float(this.gearRatio2); +/* 327 */ } else if (mode == 2) +/* 328 */ this.gearRatio2 = ((Float)value).floatValue(); +/* 329 */ break; +/* */ case 9: +/* 331 */ if (mode == 0) { +/* 332 */ ret = FloatPropertyEditor.make( +/* 333 */ new Property(this, index, "3rd Gear Ratio")); +/* 334 */ } else if (mode == 1) { +/* 335 */ ret = new Float(this.gearRatio3); +/* 336 */ } else if (mode == 2) +/* 337 */ this.gearRatio3 = ((Float)value).floatValue(); +/* 338 */ break; +/* */ case 10: +/* 340 */ if (mode == 0) { +/* 341 */ ret = FloatPropertyEditor.make( +/* 342 */ new Property(this, index, "4th Gear Ratio")); +/* 343 */ } else if (mode == 1) { +/* 344 */ ret = new Float(this.gearRatio4); +/* 345 */ } else if (mode == 2) +/* 346 */ this.gearRatio4 = ((Float)value).floatValue(); +/* 347 */ break; +/* */ case 11: +/* 349 */ if (mode == 0) { +/* 350 */ ret = FloatPropertyEditor.make( +/* 351 */ new Property(this, index, "5th Gear Ratio")); +/* 352 */ } else if (mode == 1) { +/* 353 */ ret = new Float(this.gearRatio5); +/* 354 */ } else if (mode == 2) +/* 355 */ this.gearRatio5 = ((Float)value).floatValue(); +/* 356 */ break; +/* */ case 12: +/* 358 */ if (mode == 0) { +/* 359 */ ret = FloatPropertyEditor.make( +/* 360 */ new Property(this, index, +/* 361 */ "Max. Engine Torque (ft-lbs)")); +/* 362 */ } else if (mode == 1) { +/* 363 */ ret = new Float(this.maxEngineTorque); +/* 364 */ } else if (mode == 2) +/* 365 */ this.maxEngineTorque = ((Float)value).floatValue(); +/* 366 */ break; +/* */ case 13: +/* 368 */ if (mode == 0) { +/* 369 */ ret = FloatPropertyEditor.make( +/* 370 */ new Property(this, index, "Tire Adhesive Limit")); +/* 371 */ } else if (mode == 1) { +/* 372 */ ret = new Float(this.tireAdhesiveLimit); +/* 373 */ } else if (mode == 2) +/* 374 */ this.tireAdhesiveLimit = ((Float)value).floatValue(); +/* 375 */ break; +/* */ case 14: +/* 377 */ if (mode == 0) { +/* 378 */ ret = FloatPropertyEditor.make( +/* 379 */ new Property(this, index, +/* 380 */ "Shocks Damping Coefficient")); +/* 381 */ } else if (mode == 1) { +/* 382 */ ret = new Float(this.shockDampingCoeff); +/* 383 */ } else if (mode == 2) +/* 384 */ this.shockDampingCoeff = ((Float)value).floatValue(); +/* 385 */ break; +/* */ case 15: +/* 387 */ if (mode == 0) { +/* 388 */ ret = FloatPropertyEditor.make( +/* 389 */ new Property(this, index, "Shock Length (ft)")); +/* 390 */ } else if (mode == 1) { +/* 391 */ ret = new Float(this.shockLength); +/* 392 */ } else if (mode == 2) +/* 393 */ this.shockLength = ((Float)value).floatValue(); +/* 394 */ break; +/* */ case 16: +/* 396 */ if (mode == 0) { +/* 397 */ ret = FloatPropertyEditor.make( +/* 398 */ new Property(this, index, "Torque Peak (RPM)")); +/* 399 */ } else if (mode == 1) { +/* 400 */ ret = new Float(this.rpmTorquePeak); +/* 401 */ } else if (mode == 2) +/* 402 */ this.rpmTorquePeak = ((Float)value).floatValue(); +/* 403 */ break; +/* */ case 17: +/* 405 */ if (mode == 0) { +/* 406 */ ret = FloatPropertyEditor.make( +/* 407 */ new Property(this, index, "Idle RPM")); +/* 408 */ } else if (mode == 1) { +/* 409 */ ret = new Float(this.idleRPM); +/* 410 */ } else if (mode == 2) +/* 411 */ this.idleRPM = ((Float)value).floatValue(); +/* 412 */ break; +/* */ case 18: +/* 414 */ if (mode == 0) { +/* 415 */ ret = BooleanPropertyEditor.make( +/* 416 */ new Property(this, index, "Transmission Type"), +/* 417 */ "Automatic", "Manual"); +/* 418 */ } else if (mode == 1) { +/* 419 */ ret = new Boolean(this.stickShift); +/* 420 */ } else if (mode == 2) +/* 421 */ this.stickShift = ((Boolean)value).booleanValue(); +/* 422 */ break; +/* */ case 19: +/* 424 */ if (mode == 0) { +/* 425 */ ret = FloatPropertyEditor.make( +/* 426 */ new Property(this, index, "Gas (Gall., -1 for infinite)")); +/* 427 */ } else if (mode == 1) { +/* 428 */ ret = new Float(this.initialGas); +/* 429 */ } else if (mode == 2) +/* 430 */ this.initialGas = ((Float)value).floatValue(); +/* 431 */ break; +/* */ case 20: +/* 433 */ if (mode == 0) { +/* 434 */ ret = FloatPropertyEditor.make( +/* 435 */ new Property(this, index, "Center of gravity X adjust")); +/* 436 */ } else if (mode == 1) { +/* 437 */ ret = new Float(this.adjustCogX); +/* 438 */ } else if (mode == 2) +/* 439 */ this.adjustCogX = ((Float)value).floatValue(); +/* 440 */ break; +/* */ case 21: +/* 442 */ if (mode == 0) { +/* 443 */ ret = FloatPropertyEditor.make( +/* 444 */ new Property(this, index, "Center of gravity Y adjust")); +/* 445 */ } else if (mode == 1) { +/* 446 */ ret = new Float(this.adjustCogY); +/* 447 */ } else if (mode == 2) +/* 448 */ this.adjustCogY = ((Float)value).floatValue(); +/* 449 */ break; +/* */ case 22: +/* 451 */ if (mode == 0) { +/* 452 */ ret = FloatPropertyEditor.make( +/* 453 */ new Property(this, index, "Center of gravity Z adjust")); +/* 454 */ } else if (mode == 1) { +/* 455 */ ret = new Float(this.adjustCogZ); +/* 456 */ } else if (mode == 2) +/* 457 */ this.adjustCogZ = ((Float)value).floatValue(); +/* 458 */ break; +/* */ case 23: +/* 460 */ if (mode == 0) { +/* 461 */ ret = BooleanPropertyEditor.make( +/* 462 */ new Property(this, index, "Use fixed camera"), +/* 463 */ "No", "Yes"); +/* 464 */ } else if (mode == 1) { +/* 465 */ ret = new Boolean(this.fixedCamera); +/* 466 */ } else if (mode == 2) +/* 467 */ this.fixedCamera = ((Boolean)value).booleanValue(); +/* 468 */ break; +/* */ case 24: +/* 470 */ if (mode == 0) { +/* 471 */ ret = FloatPropertyEditor.make( +/* 472 */ new Property(this, index, "Camera X offset")); +/* 473 */ } else if (mode == 1) { +/* 474 */ ret = new Float(this.camX); +/* 475 */ } else if (mode == 2) +/* 476 */ this.camX = ((Float)value).floatValue(); +/* 477 */ break; +/* */ case 25: +/* 479 */ if (mode == 0) { +/* 480 */ ret = FloatPropertyEditor.make( +/* 481 */ new Property(this, index, "Camera Y offset")); +/* 482 */ } else if (mode == 1) { +/* 483 */ ret = new Float(this.camY); +/* 484 */ } else if (mode == 2) +/* 485 */ this.camY = ((Float)value).floatValue(); +/* 486 */ break; +/* */ case 26: +/* 488 */ if (mode == 0) { +/* 489 */ ret = FloatPropertyEditor.make( +/* 490 */ new Property(this, index, "Camera Z offset")); +/* 491 */ } else if (mode == 1) { +/* 492 */ ret = new Float(this.camZ); +/* 493 */ } else if (mode == 2) +/* 494 */ this.camZ = ((Float)value).floatValue(); +/* 495 */ break; +/* */ case 27: +/* 497 */ if (mode == 0) { +/* 498 */ ret = FloatPropertyEditor.make( +/* 499 */ new Property(this, index, "Camera Roll")); +/* 500 */ } else if (mode == 1) { +/* 501 */ ret = new Float(this.camRoll); +/* 502 */ } else if (mode == 2) +/* 503 */ this.camRoll = ((Float)value).floatValue(); +/* 504 */ break; +/* */ case 28: +/* 506 */ if (mode == 0) { +/* 507 */ ret = FloatPropertyEditor.make( +/* 508 */ new Property(this, index, "Camera Pitch")); +/* 509 */ } else if (mode == 1) { +/* 510 */ ret = new Float(this.camPitch); +/* 511 */ } else if (mode == 2) +/* 512 */ this.camPitch = ((Float)value).floatValue(); +/* 513 */ break; +/* */ case 29: +/* 515 */ if (mode == 0) { +/* 516 */ ret = FloatPropertyEditor.make( +/* 517 */ new Property(this, index, "Camera Yaw")); +/* 518 */ } else if (mode == 1) { +/* 519 */ ret = new Float(this.camYaw); +/* 520 */ } else if (mode == 2) +/* 521 */ this.camYaw = ((Float)value).floatValue(); +/* 522 */ break; +/* */ case 30: +/* 524 */ if (mode == 0) { +/* 525 */ ret = FloatPropertyEditor.make( +/* 526 */ new Property(this, index, "Camera Aim X")); +/* 527 */ } else if (mode == 1) { +/* 528 */ ret = new Float(this.camAimX); +/* 529 */ } else if (mode == 2) +/* 530 */ this.camAimX = ((Float)value).floatValue(); +/* 531 */ break; +/* */ case 31: +/* 533 */ if (mode == 0) { +/* 534 */ ret = FloatPropertyEditor.make( +/* 535 */ new Property(this, index, "Camera Aim Y")); +/* 536 */ } else if (mode == 1) { +/* 537 */ ret = new Float(this.camAimY); +/* 538 */ } else if (mode == 2) +/* 539 */ this.camAimY = ((Float)value).floatValue(); +/* 540 */ break; +/* */ case 32: +/* 542 */ if (mode == 0) { +/* 543 */ ret = FloatPropertyEditor.make( +/* 544 */ new Property(this, index, "Camera Aim Z")); +/* 545 */ } else if (mode == 1) { +/* 546 */ ret = new Float(this.camAimZ); +/* 547 */ } else if (mode == 2) +/* 548 */ this.camAimZ = ((Float)value).floatValue(); +/* 549 */ break; +/* */ case 33: +/* 551 */ if (mode == 0) { +/* 552 */ ret = FloatPropertyEditor.make( +/* 553 */ new Property(this, index, "Camera Eye Height")); +/* 554 */ } else if (mode == 1) { +/* 555 */ ret = new Float(this.eyeHeight); +/* 556 */ } else if (mode == 2) +/* 557 */ this.eyeHeight = ((Float)value).floatValue(); +/* 558 */ break; +/* */ +/* */ default: +/* 561 */ ret = super.properties(index, offset + 34, mode, value); +/* */ } +/* 563 */ return ret; +/* */ } +/* */ +/* */ public void saveState(Saver s) throws IOException +/* */ { +/* 568 */ s.saveVersion(2, classCookie); +/* 569 */ s.saveBoolean(this.fixedCamera); +/* 570 */ s.saveFloat(this.camX); +/* 571 */ s.saveFloat(this.camY); +/* 572 */ s.saveFloat(this.camZ); +/* 573 */ s.saveFloat(this.camRoll); +/* 574 */ s.saveFloat(this.camPitch); +/* 575 */ s.saveFloat(this.camYaw); +/* 576 */ s.saveFloat(this.camAimX); +/* 577 */ s.saveFloat(this.camAimY); +/* 578 */ s.saveFloat(this.camAimZ); +/* 579 */ s.saveFloat(this.eyeHeight); +/* */ +/* 581 */ s.saveString(this.promptString); +/* 582 */ s.saveFloat(this.rearEndRatio); +/* 583 */ s.saveFloat(this.frontalArea); +/* 584 */ s.saveFloat(this.wheelDiameter); +/* 585 */ s.saveFloat(this.coeffKineticFriction); +/* 586 */ s.saveFloat(this.coeffStaticFriction); +/* 587 */ s.saveFloat(this.mass); +/* 588 */ s.saveFloat(this.gearRatio1); +/* 589 */ s.saveFloat(this.gearRatio2); +/* 590 */ s.saveFloat(this.gearRatio3); +/* 591 */ s.saveFloat(this.gearRatio4); +/* 592 */ s.saveFloat(this.gearRatio5); +/* 593 */ s.saveFloat(this.maxEngineTorque); +/* 594 */ s.saveFloat(this.tireAdhesiveLimit); +/* 595 */ s.saveFloat(this.shockDampingCoeff); +/* 596 */ s.saveFloat(this.shockLength); +/* 597 */ s.saveFloat(this.rpmTorquePeak); +/* 598 */ s.saveFloat(this.idleRPM); +/* 599 */ s.saveBoolean(this.stickShift); +/* 600 */ s.saveFloat(this.initialGas); +/* 601 */ s.saveFloat(this.adjustCogX); +/* 602 */ s.saveFloat(this.adjustCogY); +/* 603 */ s.saveFloat(this.adjustCogZ); +/* 604 */ super.saveState(s); +/* */ } +/* */ +/* */ public void restoreState(Restorer r) throws IOException, TooNewException +/* */ { +/* 609 */ switch (r.restoreVersion(classCookie)) { +/* */ case 2: +/* 611 */ this.fixedCamera = r.restoreBoolean(); +/* 612 */ this.camX = r.restoreFloat(); +/* 613 */ this.camY = r.restoreFloat(); +/* 614 */ this.camZ = r.restoreFloat(); +/* 615 */ this.camRoll = r.restoreFloat(); +/* 616 */ this.camPitch = r.restoreFloat(); +/* 617 */ this.camYaw = r.restoreFloat(); +/* 618 */ this.camAimX = r.restoreFloat(); +/* 619 */ this.camAimY = r.restoreFloat(); +/* 620 */ this.camAimZ = r.restoreFloat(); +/* 621 */ this.eyeHeight = r.restoreFloat(); +/* */ case 1: +/* 623 */ this.promptString = r.restoreString(); +/* 624 */ this.rearEndRatio = r.restoreFloat(); +/* 625 */ this.frontalArea = r.restoreFloat(); +/* 626 */ this.wheelDiameter = r.restoreFloat(); +/* 627 */ this.coeffKineticFriction = r.restoreFloat(); +/* 628 */ this.coeffStaticFriction = r.restoreFloat(); +/* 629 */ this.mass = r.restoreFloat(); +/* 630 */ this.gearRatio1 = r.restoreFloat(); +/* 631 */ this.gearRatio2 = r.restoreFloat(); +/* 632 */ this.gearRatio3 = r.restoreFloat(); +/* 633 */ this.gearRatio4 = r.restoreFloat(); +/* 634 */ this.gearRatio5 = r.restoreFloat(); +/* 635 */ this.maxEngineTorque = r.restoreFloat(); +/* 636 */ this.tireAdhesiveLimit = r.restoreFloat(); +/* 637 */ this.shockDampingCoeff = r.restoreFloat(); +/* 638 */ this.shockLength = r.restoreFloat(); +/* 639 */ this.rpmTorquePeak = r.restoreFloat(); +/* 640 */ this.idleRPM = r.restoreFloat(); +/* 641 */ this.stickShift = r.restoreBoolean(); +/* 642 */ this.initialGas = r.restoreFloat(); +/* 643 */ this.adjustCogX = r.restoreFloat(); +/* 644 */ this.adjustCogY = r.restoreFloat(); +/* 645 */ this.adjustCogZ = r.restoreFloat(); +/* */ case 0: +/* 647 */ super.restoreState(r); +/* 648 */ break; +/* */ +/* */ default: +/* 651 */ throw new TooNewException(); +/* */ } +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\VehicleShape.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */
\ No newline at end of file |