Voices Pilots
#24

3 Voice.class
/* Voice - Decompiled by JODE
* Visit http://jode.sourceforge.net/
*/
package com.maddox.il2.objects.sounds;
import java.io.IOException;

import com.maddox.JGP.Point3d;
import com.maddox.JGP.Vector3d;
import com.maddox.JGP.Vector3f;
import com.maddox.il2.ai.Front;
import com.maddox.il2.ai.RangeRandom;
import com.maddox.il2.ai.Squadron;
import com.maddox.il2.ai.War;
import com.maddox.il2.ai.Wing;
import com.maddox.il2.ai.World;
import com.maddox.il2.ai.air.Maneuver;
import com.maddox.il2.ai.air.Pilot;
import com.maddox.il2.ai.ground.TgtShip;
import com.maddox.il2.engine.Actor;
import com.maddox.il2.engine.Config;
import com.maddox.il2.game.HUD;
import com.maddox.il2.game.Main3D;
import com.maddox.il2.game.Mission;
import com.maddox.il2.net.NetUser;
import com.maddox.il2.objects.air.Aircraft;
import com.maddox.il2.objects.air.JU_88MSTL;
import com.maddox.il2.objects.air.TypeBomber;
import com.maddox.il2.objects.air.TypeDiveBomber;
import com.maddox.il2.objects.air.TypeFighter;
import com.maddox.il2.objects.air.TypeTransport;
import com.maddox.il2.objects.trains.Train;
import com.maddox.il2.objects.trains.Wagon;
import com.maddox.il2.objects.vehicles.artillery.AAA;
import com.maddox.il2.objects.vehicles.cars.CarGeneric;
import com.maddox.il2.objects.vehicles.tanks.TankGeneric;
import com.maddox.rts.MsgAction;
import com.maddox.rts.NetEnv;
import com.maddox.rts.NetMsgGuaranted;
import com.maddox.rts.NetMsgInput;
import com.maddox.rts.Time;

public class Voice extends VoiceBase
{
private int SpeakRearGunKill;
private int SpeakPullUp;
private int SpeakRearGunShake;
private int[][] SpeakAttackByRockets = new int[2][4];
private int[][] SpeakAttackByBombs = new int[2][4];
private int[][] SpeakTargetDestroyed = new int[2][4];
private int[][] SpeakDanger = new int[2][4];
private int[][] SpeakHelpNeeded = new int[2][4];
private int[][] SpeakClearTail = new int[2][4];
private int[][] SpeakCoverMe = new int[2][4];
private int[][] SpeakCoverProvided = new int[2][4];
private int[][] SpeakHelpFromAir = new int[2][4];
private int[][] SpeakNiceKill = new int[2][4];
private int[][] SpeakEndOfAmmo = new int[2][4];
private int[][] SpeakMayday = new int[2][4];
private int[][] SpeakCheckFire = new int[2][4];
private int[][] SpeakHint = new int[2][4];
private int[][] SpeakToReturn = new int[2][4];
public int[][] SpeakBailOut = new int[2][4];
private int[][] SpeakAttackGround = new int[2][4];
private int[][] SpeakAttackMyTarget = new int[2][4];
private int[][] SpeakAttackBombers = new int[2][4];
private int[][] SpeakTargetAll = new int[2][4];
private int[][] SpeakDropTanks = new int[2][4];
private int[][] SpeakBreak = new int[2][4];
private int[][] SpeakRejoin = new int[2][4];
private int[][] SpeakTightFormation = new int[2][4];
private int[][] SpeakLoosenFormation = new int[2][4];
private int[][] SpeakOk = new int[2][4];
private int[][] SpeakLandingPermited = new int[2][4];
private int[] SpeakBombing = new int[2];
private int[] SpeakEndBombing = new int[2];
private int[] SpeakEndGattack = new int[2];
private int[] SpeakDeviateSmall = new int[2];
private int[] SpeakDeviateBig = new int[2];
private int[] SpeakHeading = new int[2];
private int[] SpeakAltitude = new int[2];
public int[] SpeakNearBombers = new int[2];
private int[] Speak1minute = new int[2];
private int[] Speak5minutes = new int[2];
public int[] SpeakBombersUnderAttack = new int[2];
public int[] SpeakBombersUnderAttack1 = new int[2];
public int[] SpeakBombersUnderAttack2 = new int[2];
private int[] SpeakEnemyDetected = new int[2];
private static Aircraft internalAir = null;
private static RangeRandom rnd = new RangeRandom();
public static int[] str = new int[8];
public static int[][] str2 = new int[4][8];
public static final int afPILOT = 0;
public static final int afNEARFRIEND = 1;
public static final int afWINGMAN = 2;
public static final int afLEADER = 3;
public static final int afREARGUN = 4;
public static final int afLAND = 5;
public static final int afBOMBERS = 6;
public static final int anNONE = 0;
public static final int anLEADER = 1;
public static final int anBOMBER1 = 2;
public static final int anBOMBER2 = 3;
public static final int anLAND = 4;
public static final int anREARGUN = 5;
public static final int anACTOR6 = 6;
public static final int anACTOR7 = 7;
public static final int anACTOR8 = 8;
public static final int anACTOR9 = 9;
private static int[] headings
= { 1, 3, 5, 6, 15, 20, 21, 27, 28, 30, 35, 36 };
private static int[] altitudes = { 2, 4, 7, 19, 26, 29, 34, 37, 41, 42, 46,
47, 53, 54, 58, 59, 63, 64, 68, 69, 8 };
private static final int[] clkstr
= { 16, 23, 31, 38, 43, 50, 55, 60, 65, 70, 9, 12, 16, 24, 32, 39, 44,
51, 56, 61, 66, 71, 10, 13, 17, 25, 33, 40, 45, 52, 57, 62, 67, 72,
11, 14, 18 };
private static final int[] aNumber
= { 285, 326, 331, 287, 284, 329, 327, 281, 297, 330, 282, 338, 332,
286, 283, 328 };
private static int[] your_o_clock
= { 206, 173, 182, 185, 188, 191, 194, 197, 200, 203, 176, 179, 206,
174, 183, 186, 189, 192, 195, 198, 201, 204, 177, 180, 207, 175,
184, 187, 190, 193, 196, 199, 202, 205, 178, 181, 208 };
private static final int[] thisIsNumber
= { 158, 360, 354, 346, 345, 357, 351, 333, 350, 358, 343, 337, 359,
349, 344, 336 };
private static final int[] thisIsPara = { 334, 347, 352, 355 };
private static final int[] thisIsWing = { 335, 348, 353, 356 };
private static final int[] thisIsRotte = { 361, 362, 363, 364 };
private static final int[] thisIsSwarm = { 365, 366, 367, 368 };
private static final int[] pilotVoice
= { 6, 9, 8, 7, 7, 9, 8, 6, 8, 9, 7, 6, 9, 8, 7, 6 };
public static final int M_SYNC = 0;
public static final int M_DELAY = 1;
public static final int M_IMMED = 2;
protected static int syncMode;
private static Point3d P3d;

public static Voice cur() {
return World.cur().voicebase;
}

public static boolean isEnableVoices() {
return VoiceFX.isEnabled();
}

public static void setEnableVoices(boolean bool) {
VoiceFX.setEnabled(bool);
}

static boolean frequency() {
return Main3D.cur3D().ordersTree.frequency();
}

public static void setSyncMode(int i) {
syncMode = i;
}

public static void reset() {
for (int i = 0; i < str.length; i++)
str[i] = 0;
for (int i = 0; i < str2.length; i++) {
if (str2[i] != null) {
for (int i_0_ = 0; i_0_ < str2[i].length; i_0_++)
str2[i][i_0_] = 0;
}
}
}

public static void endSession() {
VoiceFX.end();
}

private static boolean isPunctChar(char c) {
return c == '!' || c == '?' || c == '.' || c == ',' || c == '@';
}

public static int actorVoice(Aircraft aircraft, int i) {
if (aircraft == null || !Actor.isValid(aircraft)
|| aircraft instanceof JU_88MSTL)
return 0;
if (aircraft.FM instanceof Maneuver) {
if (((Maneuver) aircraft.FM).silence)
return 0;
if (((Maneuver) aircraft.FM).kamikaze)
return 0;
}
Squadron squadron = aircraft.getSquadron();
if (squadron == null)
return 0;
Wing wing = null;
Object object = null;
if (i == 3 || i == 0) {
if (aircraft.isNet() && !aircraft.isNetMaster())
return 0;
float f = 0.0F;
for (int i_1_ = 0; i_1_ < squadron.wing.length; i_1_++) {
if (squadron.wing[i_1_] != null)
f += (float) squadron.wing[i_1_].aircReady();
}
if (f < 2.0F)
return 0;
}
switch (i) {
case 3: {
for (int i_2_ = 0; i_2_ 0 && wing.airc[0] != null)
aircraft_3_ = wing.airc[0];
else
return 0;
if (!Actor.isAlive(aircraft_3_))
return 0;
Aircraft aircraft_4_ = aircraft_3_;
World.cur();
if (aircraft_4_ == World.getPlayerAircraft())
return 0;
if (aircraft_3_.FM.AS.astatePilotStates[0] > 50)
return 0;
return 1;
}
case 1: {
Aircraft aircraft_5_ = War.getNearestFriend(aircraft);
if (!Actor.isAlive(aircraft_5_))
return 0;
if (aircraft_5_ == World.getPlayerAircraft())
return 0;
if (Mission.isDogfight())
return 0;
return pilotVoice[(aircraft_5_.getWing().indexInSquadron() * 4
+ aircraft_5_.aircIndex())];
}
case 4:
if (!Actor.isAlive(aircraft))
return 0;
if (aircraft == World.getPlayerAircraft()
&& aircraft.FM.turret[0].bIsAIControlled)
return 5;
return 0;
case 0:
if (!Actor.isAlive(aircraft))
return 0;
if (aircraft == World.getPlayerAircraft())
return 0;
if (aircraft.FM.AS.astatePilotStates[0] > 50)
return 0;
return pilotVoice[(aircraft.getWing().indexInSquadron() * 4
+ aircraft.aircIndex())];
case 6:
return 2;
case 5:
return 4;
default:
return 0;
}
}

public static void new_speak(int i, int i_6_, String string, int[] is,
int i_7_) {
speak(i, i_6_, string, is, i_7_, true, true);
}

public static void speak(int i, int i_8_, String string, int[] is,
int i_9_) {
speak(i, i_8_, string, is, i_9_, true, false);
}

public static void speak(int i, int i_10_, String string, int[] is,
int i_11_, boolean bool, boolean bool_12_) {
int i_13_ = syncMode;
syncMode = 0;
if (i != 0) {
if (bool && i != 5)
((NetUser) NetEnv.host()).speekVoice(syncMode, i, i_10_,
string, is, i_11_,
bool_12_);
if (Config.isUSE_RENDER()) {
int i_14_ = World.getPlayerArmy();
if (Main3D.cur3D().ordersTree.frequency()) {
if (i_10_ != i_14_)
return;
} else if (i_10_ == i_14_)
return;
play(i_13_, i, i_10_, string, is, bool_12_);
if (World.cur().isDebugFM()) {
String string_15_ = "";
for (int i_16_ = 0; i_16_ < is.length && is[i_16_] != 0;
i_16_++)
string_15_ += " " + VoiceBase.vbStr[is[i_16_]];
System.out.print("AN: ");
System.out.print(i);
System.out.print(" Army: ");
System.out.print(i_10_);
System.out.println(" : " + string_15_);
}
for (int i_17_ = 0; i_17_ < is.length && is[i_17_] != 0;
i_17_++)
is[i_17_] = 0;
}
}
}

public static void play(int i, int i_18_, int i_19_, String string,
int[] is, boolean bool) {
if (Main3D.cur3D().gameTrackPlay() == null) {
if (Main3D.cur3D().gameTrackRecord() != null) {
try {
NetMsgGuaranted netmsgguaranted = new NetMsgGuaranted();
netmsgguaranted.writeByte(4);
netmsgguaranted.writeInt(i);
netmsgguaranted.writeInt(i_18_);
netmsgguaranted.writeInt(i_19_);
netmsgguaranted.writeBoolean(bool);
int i_20_ = is.length;
netmsgguaranted.writeInt(i_20_);
for (int i_21_ = 0; i_21_ < i_20_; i_21_++)
netmsgguaranted.writeInt(is[i_21_]);
if (string != null)
netmsgguaranted.write255(string);
Main3D.cur3D().gameTrackRecord().postTo
(Main3D.cur3D().gameTrackRecord().channel(),
netmsgguaranted);
} catch (Exception exception) {
/* empty */
}
}
HUD.message(is, i_18_, i_19_, bool);
VoiceFX.play(i, i_18_, i_19_, string, is);
}
}

public static boolean netInputPlay(NetMsgInput netmsginput)
throws IOException {
int i = netmsginput.readInt();
int i_22_ = netmsginput.readInt();
int i_23_ = netmsginput.readInt();
boolean bool = netmsginput.readBoolean();
int i_24_ = netmsginput.readInt();
int[] is = new int[i_24_];
for (int i_25_ = 0; i_25_ 0)
string = netmsginput.read255();
HUD.message(is, i_22_, i_23_, bool);
VoiceFX.play(i, i_22_, i_23_, string, is);
return true;
}

public static void speak(int i, int i_26_, String string, int i_27_,
int i_28_) {
str[0] = i_27_;
str[1] = 0;
speak(i, i_26_, string, str, i_28_);
}

public static void new_speak(int i, int i_29_, String string, int i_30_,
int i_31_) {
str[0] = i_30_;
str[1] = 0;
new_speak(i, i_29_, string, str, i_31_);
}

public static void speakRandom(int i, int i_32_, String string, int[] is,
int i_33_) {
int i_34_;
for (i_34_ = 0; i_34_ = 1) {
int i_35_ = rnd.nextInt(0, i_34_ - 1);
speak(i, i_32_, string, is[i_35_], i_33_);
}
}

public static void speakNewRandom(int i, int i_36_, String string,
int[] is, int i_37_) {
int i_38_;
for (i_38_ = 0; i_38_ = 1) {
int i_39_ = rnd.nextInt(0, i_38_ - 1);
new_speak(i, i_36_, string, is[i_39_], i_37_);
}
}

public static void airSpeaksArray(Aircraft aircraft, int i, int[] is,
int i_40_) {
int i_41_ = actorVoice(aircraft, i);
if (i_41_ != 0) {
int i_42_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speak(i_41_, i_42_, string, is, i_40_);
}
}

public static void airSpeaksNewArray(Aircraft aircraft, int i, int[] is,
int i_43_) {
int i_44_ = actorVoice(aircraft, i);
if (i_44_ != 0) {
int i_45_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
new_speak(i_44_, i_45_, string, is, i_43_);
}
}

public static void airSpeaks(Aircraft aircraft, int i, int i_46_,
int i_47_) {
str[0] = i_46_;
str[1] = 0;
airSpeaksArray(aircraft, i, str, i_47_);
}

public static void airSpeaks(Aircraft aircraft, int i, int i_48_) {
str[0] = i;
str[1] = 0;
airSpeaksArray(aircraft, 0, str, i_48_);
}

public static void airSpeaksNew(Aircraft aircraft, int i, int i_49_) {
str[0] = i;
str[1] = 0;
airSpeaksNewArray(aircraft, 0, str, i_49_);
}

public static void speakRandomArray(Aircraft aircraft, int[][] is, int i) {
for (int i_50_ = 0; i_50_ < is.length && is[i_50_] != null; i_50_++) {
if (is[i_50_][0] != 0) {
if (is[i_50_][1] == 0)
airSpeaks(aircraft, is[i_50_][0], i);
else {
int i_51_;
if (is[i_50_][2] == 0)
i_51_ = 2;
else
i_51_ = 3;
airSpeaks(aircraft, is[i_50_][rnd.nextInt(0, i_51_ - 1)],
i);
}
}
}
reset();
}

public static void speakRandom(Aircraft aircraft, int[] is, int i) {
int i_52_;
for (i_52_ = 0; i_52_ = 1) {
int i_53_ = rnd.nextInt(0, i_52_ - 1);
airSpeaks(aircraft, is[i_53_], i);
}
}

public static void speakNewRandom(Aircraft aircraft, int[] is, int i) {
int i_54_;
for (i_54_ = 0; i_54_ = 1) {
int i_55_ = rnd.nextInt(0, i_54_ - 1);
airSpeaksNew(aircraft, is[i_55_], i);
}
}

public static void speakAltitude(Aircraft aircraft, int i) {
if (Actor.isAlive(aircraft)) {
int i_56_ = (int) (Time.current() / 1000L);
int i_57_ = aircraft.getArmy() - 1 & 0x1;
if (i_56_ >= cur().SpeakAltitude[i_57_]) {
cur().SpeakAltitude[i_57_] = i_56_ + 20;
str[0] = 118;
if (i > 10000)
i = 10000;
if (i < 1)
i = 1;
str[1] = altitudes[i / 500];
str[2] = 0;
airSpeaksNewArray(aircraft, 3, str, 3);
}
}
}

public static void speakHeading(Aircraft aircraft, Vector3f vector3f) {
float f = 57.32484F * (float) Math.atan2((double) vector3f.x,
(double) vector3f.y);
int i = (int) f;
i = (i + 180) % 360;
speakHeading(aircraft, i);
}

public static void speakHeading(Aircraft aircraft) {
Vector3d vector3d = aircraft.FM.Vwld;
float f = 57.32484F * (float) Math.atan2(vector3d.x, vector3d.y);
int i = (int) f;
i = (i + 180) % 360;
speakHeading(aircraft, i);
}

public static void speakHeadingToHome(Aircraft aircraft, Point3d point3d) {
float f = 57.32484F * (float) Math.atan2(point3d.x, point3d.y);
int i = (int) f;
for (i = (i + 180) % 360; i = 360; i -= 360) {
/* empty */
}
i /= 30;
int i_58_ = actorVoice(aircraft, 5);
int i_59_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
new_speak(i_58_, i_59_, string, 235, 2);
str[0] = 165;
str[1] = headings[i];
str[2] = 0;
airSpeaksArray(aircraft, 5, str, 2);
speak(i_58_, i_59_, string, 252, 2);
}

public static void speakHeadingToTarget(Aircraft aircraft,
Point3d point3d) {
float f = 57.32484F * (float) Math.atan2(point3d.x, point3d.y);
int i = (int) f;
for (i = (i + 180) % 360; i = 360; i -= 360) {
/* empty */
}
i /= 30;
int i_60_ = actorVoice(aircraft, 5);
int i_61_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
str[0] = 165;
str[1] = headings[i];
str[2] = 0;
airSpeaksNewArray(aircraft, 5, str, 2);
speak(i_60_, i_61_, string, 252, 2);
}

public static void speakHeading(Aircraft aircraft, int i) {
if (Actor.isAlive(aircraft)) {
int i_62_ = (int) (Time.current() / 1000L);
int i_63_ = aircraft.getArmy() - 1 & 0x1;
if (i_62_ >= cur().SpeakHeading[i_63_]) {
cur().SpeakHeading[i_63_] = i_62_ + 20;
for (/**/; i = 360; i -= 360) {
/* empty */
}
i /= 30;
str[0] = 165;
str[1] = headings[i];
str[2] = 0;
airSpeaksNewArray(aircraft, 3, str, 3);
}
}
}

public static void speak5minutes(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 1000L);
int i_64_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().Speak5minutes[i_64_]) {
cur().Speak5minutes[i_64_] = i + 40;
str[0] = 81;
if (rnd.nextFloat() = cur().Speak1minute[i_65_]) {
cur().Speak1minute[i_65_] = i + 40;
str[0] = 81;
if (rnd.nextFloat() = 2) {
int i = actorVoice(aircraft, 3);
if (i != 0) {
int i_66_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
new_speak(i, i_66_, string, 81, 1);
speak(i, i_66_, string, 169, 1);
if (aircraft.FM instanceof Pilot) {
Pilot pilot = (Pilot) aircraft.FM;
if (Actor.isValid(pilot.target_ground)) {
Actor actor = pilot.target_ground;
if (actor instanceof CarGeneric)
str[0] = 162;
else if (actor instanceof TankGeneric)
str[0] = 152;
else if (actor instanceof AAA)
str[0] = 111;
else if (actor instanceof Wagon)
str[0] = 161;
else if (actor instanceof Train)
str[0] = 161;
else if (actor instanceof TgtShip)
str[0] = 99;
str[1] = 0;
speak(i, i_66_, string, str[0], 1);
speak(i, i_66_, string, 75, 1);
}
Squadron squadron = aircraft.getSquadron();
Wing wing = aircraft.getWing();
Wing wing_67_ = null;
for (int i_68_ = 0; i_68_ 0) {
for (int i_69_ = 0; i_69_ < wing.airc.length;
i_69_++) {
if ((wing_67_ != wing || i_69_ != 0)
&& wing.airc[i_69_] != null)
speakAttackGround(wing.airc[i_69_]);
}
}
}
}
}
}

public static void speakLeaderEndGattack() {
if (Actor.isValid(internalAir)) {
str[0] = 81;
str[1] = 153;
str[2] = 136;
str[3] = 0;
airSpeaksNewArray(internalAir, 3, str, 1);
}
}

public static void speakLeaderRepeatGattack() {
if (Actor.isValid(internalAir)) {
str[0] = 81;
str[1] = 138;
str[2] = 136;
str[3] = 0;
airSpeaksNewArray(internalAir, 3, str, 1);
}
}

public static void speakEndGattack(Aircraft aircraft) {
if (Actor.isAlive(aircraft) && aircraft.aircIndex() = 2) {
int i = (int) (Time.current() / 1000L);
int i_70_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakEndGattack[i_70_]) {
cur().SpeakEndGattack[i_70_] = i + 60;
if (aircraft.FM instanceof Pilot) {
Pilot pilot = (Pilot) aircraft.FM;
internalAir = aircraft;
if (Actor.isValid(pilot.target_ground))
new MsgAction(10.0) {
public void doAction() {
speakLeaderRepeatGattack();
}
};
else
new MsgAction(10.0) {
public void doAction() {
speakLeaderEndGattack();
}
};
}
}
}
}

public static void speakAttackByRockets(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 1000L);
int i_71_ = aircraft.getArmy() - 1 & 0x1;
int i_72_ = aircraft.aircIndex();
if (i >= cur().SpeakAttackByRockets[i_71_][i_72_]) {
cur().SpeakAttackByRockets[i_71_][i_72_] = i + 60;
setSyncMode(2);
speakThisIs(aircraft);
str[0] = 108;
str[1] = 79;
str[2] = 141;
speakRandom(aircraft, str, 1);
}
}
}

public static void speakAttackByBombs(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 1000L);
int i_73_ = aircraft.getArmy() - 1 & 0x1;
int i_74_ = aircraft.aircIndex();
if (i >= cur().SpeakAttackByBombs[i_73_][i_74_]) {
cur().SpeakAttackByBombs[i_73_][i_74_] = i + 60;
setSyncMode(2);
speakThisIs(aircraft);
str[0] = 85;
str[1] = 0;
airSpeaksArray(aircraft, 0, str, 1);
}
}
}

public static void speakNearBombers(Aircraft aircraft) {
int i = (int) (Time.current() / 60000L);
int i_75_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakNearBombers[i_75_]) {
cur().SpeakNearBombers[i_75_] = i + 300;
int i_76_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
str[0] = 219;
str[1] = 220;
str[2] = 221;
str[3] = 136;
str[4] = 0;
airSpeaksNewArray(aircraft, 6, str, 3);
}
}

public static void speakCheckFire(Aircraft aircraft,
Aircraft aircraft_77_) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 1000L);
int i_78_ = aircraft.getArmy() - 1 & 0x1;
int i_79_ = aircraft.aircIndex();
if (i >= cur().SpeakCheckFire[i_78_][i_79_]) {
cur().SpeakCheckFire[i_78_][i_79_] = i + 15;
int i_80_ = (aircraft_77_.getWing().indexInSquadron() * 4
+ aircraft_77_.aircIndex());
if (i_80_ = cur().SpeakClearTail[i_90_][i_89_]) {
cur().SpeakClearTail[i_90_][i_89_] = i + 37;
setSyncMode(2);
speakThisIs(aircraft);
float f = rnd.nextFloat();
if (f < 0.33F)
str[0] = 90;
else if (f < 0.66F)
str[0] = 218;
else
str[0] = 146;
f = rnd.nextFloat();
if (f = cur().SpeakBombing[i_91_]) {
cur().SpeakBombing[i_91_] = i + 1;
reset();
str2[0][0] = 81;
str2[1][0] = 232;
str2[1][1] = 231;
str2[1][2] = 85;
speakRandomArray(aircraft, str2, 1);
}
}

public static void speakEndBombing(Aircraft aircraft) {
int i = (int) (Time.current() / 60000L);
int i_92_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakEndBombing[i_92_]) {
cur().SpeakEndBombing[i_92_] = i + 300;
int i_93_ = aircraft.getRegiment().diedBombers;
str[0] = 107;
if (i_93_ > 1)
str[1] = 222;
else if (i_93_ == 1)
str[1] = 223;
else
str[1] = 224;
str[2] = 0;
airSpeaksNewArray(aircraft, 6, str, 2);
}
}

public static void speakDeviateSmall(Aircraft aircraft) {
int i = (int) (Time.current() / 60000L);
int i_94_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakDeviateSmall[i_94_]) {
cur().SpeakDeviateSmall[i_94_] = i + 4;
str[0] = 170;
str[1] = 150;
str[2] = 0;
airSpeaksNewArray(aircraft, 3, str, 2);
Wing wing = aircraft.getWing();
if (wing.airc.length > 0) {
speakHeading(wing.airc[0]);
speakAltitude(aircraft, (int) wing.airc[0].FM.Loc.z);
str[0] = 136;
str[1] = 0;
airSpeaksArray(aircraft, 3, str, 2);
}
}
}

public static void speakDeviateBig(Aircraft aircraft) {
int i = (int) (Time.current() / 60000L);
int i_95_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakDeviateBig[i_95_]) {
cur().SpeakDeviateBig[i_95_] = i + 10;
if (rnd.nextFloat() < 0.5F) {
if (rnd.nextFloat() < 0.5F)
str[0] = 90;
else
str[0] = 214;
} else if (rnd.nextFloat() 0) {
speakHeading(wing.airc[0]);
speakAltitude(aircraft, (int) wing.airc[0].FM.Loc.z);
}
}
}

public static void speakEnemyDetected(Aircraft aircraft,
Aircraft aircraft_96_) {
int i = (int) (Time.current() / 1000L);
int i_97_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakEnemyDetected[i_97_]) {
cur().SpeakEnemyDetected[i_97_] = i + 40;
if (aircraft.FM instanceof Pilot && aircraft.aircNumber() >= 2) {
Aircraft aircraft_98_ = aircraft_96_;
if (aircraft_98_ != null) {
str[0] = 81;
if (aircraft_98_ instanceof TypeFighter)
str[1] = 107;
else if (aircraft_98_ instanceof TypeBomber)
str[1] = 84;
else if (aircraft_98_ instanceof TypeDiveBomber)
str[1] = 84;
else
str[1] = 83;
str[2] = speakTarget_O_Clock(aircraft, aircraft_98_);
str[3] = 0;
int i_99_ = actorVoice(aircraft, 3);
if (i_99_ != 0)
airSpeaksNewArray(aircraft, 3, str, 1);
}
}
}
}

private static int speakTarget_O_Clock(Aircraft aircraft, Actor actor) {
int i = aircraft.target_O_Clock(actor);
if (i 36)
return 0;
return clkstr[i];
}

public static void speakCheckYour6(Aircraft aircraft,
Aircraft aircraft_100_) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 60000L);
int i_101_ = aircraft.getArmy() - 1 & 0x1;
int i_102_ = aircraft.aircIndex();
if (i >= cur().SpeakHint[i_101_][i_102_]) {
cur().SpeakHint[i_101_][i_102_] = i + 2;
if (aircraft.aircNumber() >= 2) {
int i_103_ = (aircraft.getWing().indexInSquadron() * 4
+ aircraft.aircIndex());
if (i_103_ = cur().SpeakToReturn[i_104_][i_105_]) {
cur().SpeakToReturn[i_104_][i_105_] = i + 5;
if (aircraft.aircNumber() >= 2) {
int i_106_ = (aircraft.getWing().indexInSquadron() * 4
+ aircraft.aircIndex());
if (i_106_ = cur().SpeakBailOut[i_107_][i_108_]) {
cur().SpeakBailOut[i_107_][i_108_] = i + 1;
if (aircraft.aircNumber() >= 2) {
int i_109_ = (aircraft.getWing().indexInSquadron() * 4
+ aircraft.aircIndex());
if (i_109_ 0.5F
|| aircraft == World.getPlayerAircraft())) {
airSpeaksNew(aircraft_111_, aNumber[i_109_], 1);
str[0] = 82;
str[1] = 116;
str[2] = 120;
str[3] = 0;
setSyncMode(2);
speakRandom(aircraft_111_, str, 1);
} else if (aircraft != World.getPlayerAircraft()) {
speakThisIs(aircraft);
str[0] = 121;
str[1] = 123;
str[2] = 125;
str[3] = 0;
setSyncMode(2);
speakRandom(aircraft, str, 1);
}
}
}
}
}
}

public static void speakMayday(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 60000L);
int i_112_ = aircraft.getArmy() - 1 & 0x1;
int i_113_ = aircraft.aircIndex();
if (i >= cur().SpeakMayday[i_112_][i_113_]) {
cur().SpeakMayday[i_112_][i_113_] = i + 1;
setSyncMode(2);
speakThisIs(aircraft);
str[0] = 122;
str[1] = 91;
str[2] = 126;
str[3] = 0;
speakRandom(aircraft, str, 1);
}
}
}

public static void speakMissionAccomplished(Aircraft aircraft) {
int i = actorVoice(aircraft, 3);
if (i != 0) {
int i_114_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
new_speak(i, i_114_, string, 81, 1);
if (aircraft.getRegiment().diedAircrafts == 0)
speak(i, i_114_, string, 128, 1);
else
speak(i, i_114_, string, 127, 1);
str[0] = 139;
str[1] = 105;
str[2] = 168;
str[3] = 0;
speakRandom(i, i_114_, string, str, 1);
speakHeading(aircraft);
speakAltitude(aircraft, (int) aircraft.FM.Loc.z);
if (!(aircraft instanceof TypeFighter)) {
Aircraft aircraft_115_
= War.getNearestFriendlyFighter(aircraft, 50000.0F);
if (aircraft_115_ != null)
speakEndBombing(aircraft);
}
}
}

public static void speakThisIs(Aircraft aircraft) {
if (aircraft != null) {
int i = aircraft.getWing().indexInSquadron();
int i_116_ = aircraft.aircIndex();
int i_117_ = aircraft.aircNumber();
int i_118_ = i * 4 + i_116_;
if (i_118_ 1)
str[0] = thisIsSwarm[i];
}
str[1] = 0;
int i_124_ = syncMode;
airSpeaksNewArray(aircraft, 0, str, 1);
setSyncMode(i_124_);
}
}
}

public static void speakNumber_same_str(int i, Aircraft aircraft) {
if (aircraft != null) {
int i_125_ = aircraft.getWing().indexInSquadron();
int i_126_ = aircraft.aircIndex();
int i_127_ = i_125_ * 4 + i_126_;
if (i_127_ = cur().SpeakCoverMe[i_139_][i_140_]) {
cur().SpeakCoverMe[i_139_][i_140_] = i + 15;
speakThisIs(aircraft);
str[0] = 341;
str[1] = 0;
airSpeaksArray(aircraft, 0, str, 1);
}
}

public static void speakTargetAll(Aircraft aircraft) {
int i = (int) (Time.current() / 60000L);
int i_141_ = aircraft.getArmy() - 1 & 0x1;
int i_142_ = aircraft.aircIndex();
if (i >= cur().SpeakTargetAll[i_141_][i_142_]) {
cur().SpeakTargetAll[i_141_][i_142_] = i + 1;
int i_143_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_144_ = actorVoice(aircraft, 0);
speakThisIs(aircraft);
str[0] = 324;
str[1] = 320;
str[2] = 277;
str[3] = 0;
speakRandom(i_144_, i_143_, string, str, 1);
}
}

public static void speakAttackFighters(Aircraft aircraft) {
int i = (int) (Time.current() / 1000L);
int i_145_ = aircraft.getArmy() - 1 & 0x1;
int i_146_ = aircraft.aircIndex();
if (i >= cur().SpeakTargetAll[i_145_][i_146_]) {
cur().SpeakTargetAll[i_145_][i_146_] = i + 30;
int i_147_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_148_ = actorVoice(aircraft, 0);
speakThisIs(aircraft);
str[0] = 323;
str[1] = 306;
str[2] = 267;
str[3] = 0;
speakRandom(i_148_, i_147_, string, str, 1);
}
}

public static void speakAttackBombers(Aircraft aircraft) {
int i = (int) (Time.current() / 1000L);
int i_149_ = aircraft.getArmy() - 1 & 0x1;
int i_150_ = aircraft.aircIndex();
if (i >= cur().SpeakAttackBombers[i_149_][i_150_]) {
cur().SpeakAttackBombers[i_149_][i_150_] = i + 30;
int i_151_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_152_ = actorVoice(aircraft, 0);
speakThisIs(aircraft);
str[0] = 307;
str[1] = 264;
str[2] = 0;
speakRandom(i_152_, i_151_, string, str, 1);
}
}

public static void speakAttackMyTarget(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str2[0][0] = 278;
str2[0][1] = 264;
speakRandomArray(aircraft, str2, 1);
}
}

public static void speakAttackGround(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str2[0][0] = 262;
str2[0][1] = 264;
speakRandomArray(aircraft, str2, 1);
}
}

public static void speakDropTanks(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str2[0][0] = 322;
str2[0][1] = 275;
speakRandomArray(aircraft, str2, 1);
}
}

public static void speakHelpNeeded(Aircraft aircraft, int i) {
if (Actor.isAlive(aircraft)) {
int i_153_ = (int) (Time.current() / 1000L);
int i_154_ = aircraft.getArmy() - 1 & 0x1;
int i_155_ = aircraft.aircIndex();
if (i_153_ >= cur().SpeakHelpNeeded[i_154_][i_155_])
cur().SpeakHelpNeeded[i_154_][i_155_] = i_153_ + 30;
}
}

public static void speakCoverProvided(Aircraft aircraft,
Aircraft aircraft_156_) {
if (Actor.isAlive(aircraft) && Actor.isAlive(aircraft_156_)) {
int i = (int) (Time.current() / 1000L);
int i_157_ = aircraft.aircIndex();
int i_158_ = aircraft.getArmy() - 1 & 0x1;
if (i >= cur().SpeakCoverProvided[i_158_][i_157_]) {
cur().SpeakCoverProvided[i_158_][i_157_] = i + 30;
int i_159_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_160_ = actorVoice(aircraft, 0);
speakThisIs(aircraft);
if (World.Rnd().nextBoolean())
speakNumber_same_str(i_160_, aircraft_156_);
str[0] = 310;
str[1] = 309;
str[2] = 268;
str[3] = 0;
speakRandom(i_160_, i_159_, string, str, 1);
}
}
}

public static void speakHelpNeededFromBase(Aircraft aircraft,
boolean bool) {
if (Actor.isAlive(aircraft)) {
int i = aircraft.getArmy() - 1 & 0x1;
int i_161_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_162_ = actorVoice(aircraft, 5);
new_speak(i_162_, i_161_, string, 235, 1);
if (bool) {
str[0] = 237;
str[1] = 239;
str[2] = 0;
speakRandom(i_162_, i_161_, string, str, 1);
} else {
str[0] = 234;
str[1] = 233;
str[2] = 0;
speakRandom(i_162_, i_161_, string, str, 1);
}
}
}

public static void speakHelpFromAir(Aircraft aircraft, int i) {
if (Actor.isAlive(aircraft)) {
int i_163_ = (int) (Time.current() / 1000L);
int i_164_ = aircraft.getArmy() - 1 & 0x1;
int i_165_ = aircraft.aircIndex();
if (i_163_ >= cur().SpeakCoverProvided[i_164_][i_165_]) {
cur().SpeakCoverProvided[i_164_][i_165_] = i_163_ + 45;
speakThisIs(aircraft);
switch (i) {
case 1:
str[0] = 291;
str[1] = 294;
str[2] = 291;
break;
case 2:
str[0] = 341;
str[1] = 342;
str[2] = 342;
break;
default:
str[0] = 295;
str[1] = 339;
str[2] = 340;
}
str[3] = 0;
speakRandom(aircraft, str, 1);
}
}
}

public static void speakRearGunKill() {
int i = (int) (Time.current() / 1000L);
if (i >= cur().SpeakRearGunKill) {
cur().SpeakRearGunKill = i + 20;
int i_166_ = World.getPlayerArmy();
String string = World.getPlayerAircraft().getRegiment().speech();
setSyncMode(2);
new_speak(5, i_166_, string, 258, 1);
}
}

public static void speakRearGunShake() {
int i = (int) (Time.current() / 1000L);
if (i >= cur().SpeakRearGunShake) {
cur().SpeakRearGunShake = i + 20;
int i_167_ = World.getPlayerArmy();
String string = World.getPlayerAircraft().getRegiment().speech();
setSyncMode(2);
if (rnd.nextFloat() = cur().SpeakNiceKill[i_168_][i_169_]) {
cur().SpeakNiceKill[i_168_][i_169_] = i + 5;
if (aircraft != null) {
float f = rnd.nextFloat();
int i_170_ = actorVoice(aircraft, 1);
setSyncMode(2);
if (aircraft == World.getPlayerAircraft())
f = 0.0F;
else if (i_170_ == 0)
f = 1.0F;
if (f > 0.5F) {
speakThisIs(aircraft);
str[0] = 293;
str[1] = 290;
str[2] = 0;
speakRandom(aircraft, str, 2);
} else {
int i_171_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(i_170_, aircraft);
str[0] = 289;
str[1] = 288;
str[2] = 296;
str[3] = 0;
speakRandom(i_170_, i_171_, string, str, 1);
}
}
}
}
}

public static void speakRearGunTargetDestroyed() {
Aircraft aircraft = World.getPlayerAircraft();
if (Actor.isAlive(aircraft)) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
setSyncMode(2);
str[0] = 153;
str[1] = 93;
str[2] = 154;
str[3] = 0;
speakNewRandom(5, i, string, str, 2);
str[0] = 257;
str[1] = 261;
str[2] = 0;
speakRandom(5, i, string, str, 2);
}
}

public static void speakTargetDestroyed(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 1000L);
int i_172_ = aircraft.getArmy() - 1 & 0x1;
int i_173_ = aircraft.aircIndex();
if (i >= cur().SpeakTargetDestroyed[i_172_][i_173_]) {
cur().SpeakTargetDestroyed[i_172_][i_173_] = i + 60;
if (aircraft == World.getPlayerAircraft()
&& aircraft.FM.turret.length > 0
&& (aircraft.FM.AS.astatePilotStates
[aircraft.FM.turret.length]) = cur().SpeakEndOfAmmo[i_174_][i_175_]) {
cur().SpeakEndOfAmmo[i_174_][i_175_] = i + 5;
setSyncMode(2);
speakThisIs(aircraft);
str[0] = 292;
str[1] = 124;
str[2] = 0;
speakRandom(aircraft, str, 2);
}
}
}

public static void speakBreak(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 60000L);
int i_176_ = aircraft.getArmy() - 1 & 0x1;
int i_177_ = aircraft.aircIndex();
if (i >= cur().SpeakBreak[i_176_][i_177_]) {
cur().SpeakBreak[i_176_][i_177_] = i + 1;
speakIAm(aircraft);
str[0] = 302;
str[1] = 298;
str[2] = 266;
str[3] = 0;
speakRandom(aircraft, str, 2);
}
}
}

public static void speakRejoin(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 318;
str[1] = 317;
str[2] = 274;
str[3] = 0;
speakRandom(aircraft, str, 2);
}
}

public static void speakTightFormation(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 300;
str[1] = 301;
str[2] = 279;
str[3] = 0;
speakRandom(aircraft, str, 2);
}
}

public static void speakLoosenFormation(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
str[0] = 299;
str[1] = 299;
str[2] = 265;
str[3] = 0;
speakNewRandom(aircraft, str, 2);
}
}

public static void speakOk(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
airSpeaks(aircraft, 298, 1);
}
}

public static void speakUnable(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 339;
str[1] = 340;
str[2] = 0;
speakRandom(aircraft, str, 1);
}
}

public static void speakNextWayPoint(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 314;
str[1] = 271;
str[2] = 0;
speakRandom(aircraft, str, 1);
}
}

public static void speakPrevWayPoint(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 316;
str[1] = 319;
str[2] = 272;
str[3] = 0;
speakRandom(aircraft, str, 1);
}
}

public static void speakReturnToBase(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 325;
str[1] = 305;
str[2] = 276;
str[3] = 0;
speakRandom(aircraft, str, 1);
}
}

public static void speakHangOn(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
speakIAm(aircraft);
str[0] = 308;
str[1] = 269;
str[2] = 0;
speakRandom(aircraft, str, 1);
}
}

public static void speakEchelonRight(Aircraft aircraft) {
speakIAm(aircraft);
airSpeaks(aircraft, 304, 2);
}

public static void speakEchelonLeft(Aircraft aircraft) {
speakIAm(aircraft);
airSpeaks(aircraft, 303, 2);
}

public static void speakLineAbreast(Aircraft aircraft) {
speakIAm(aircraft);
airSpeaks(aircraft, 312, 2);
}

public static void speakLineAstern(Aircraft aircraft) {
speakIAm(aircraft);
airSpeaks(aircraft, 313, 1);
}

public static void speakVic(Aircraft aircraft) {
speakIAm(aircraft);
airSpeaks(aircraft, 321, 1);
}

public static void speakPullUp(Aircraft aircraft) {
int i = (int) (Time.current() / 1000L);
if (i >= cur().SpeakPullUp) {
cur().SpeakPullUp = i + 30;
int i_178_ = actorVoice(aircraft, 1);
int i_179_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
setSyncMode(2);
speakNumber(i_178_, aircraft);
str[0] = 137;
str[1] = 172;
str[2] = 167;
str[3] = 0;
speakRandom(i_178_, i_179_, string, str, 3);
}
}

public static void speakLandingPermited(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = (int) (Time.current() / 60000L);
int i_180_ = aircraft.getArmy() - 1 & 0x1;
int i_181_ = aircraft.aircIndex();
if (aircraft == World.getPlayerAircraft()
|| i >= cur().SpeakLandingPermited[i_180_][i_181_]) {
cur().SpeakLandingPermited[i_180_][i_181_] = i + 60;
int i_182_ = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(4, aircraft);
str[0] = 240;
str[1] = 243;
str[2] = 248;
str[3] = 0;
speakRandom(4, i_182_, string, str, 2);
}
}
}

public static void speakLandingDenied(Aircraft aircraft) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(4, aircraft);
str[0] = 250;
str[1] = 236;
str[2] = 0;
speakRandom(4, i, string, str, 2);
}

public static void speakWaveOff(Aircraft aircraft) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(4, aircraft);
str[0] = 236;
str[1] = 238;
str[2] = 0;
speakRandom(4, i, string, str, 2);
}

public static void speakLanding(Aircraft aircraft) {
speakThisIs(aircraft);
airSpeaks(aircraft, 134, 1);
}

public static void speakGoAround(Aircraft aircraft) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
int i_183_ = actorVoice(aircraft, 0);
speakThisIs(aircraft);
str[0] = 135;
str[1] = 117;
str[2] = 0;
speakRandom(i_183_, i, string, str, 1);
}

public static void speakGoingIn(Aircraft aircraft) {
airSpeaks(aircraft, 130, 1);
}

public static void testTargDestr(Actor actor, Actor actor_184_) {
if (Actor.isValid(actor_184_)
&& (!actor_184_.isNet() || actor_184_.isNetMaster())) {
try {
if (actor instanceof Aircraft) {
if (!(actor instanceof TypeFighter)) {
((Wing) actor.getOwner()).regiment().diedBombers++;
if (actor_184_ instanceof TypeFighter)
speakBombersUnderAttack((Aircraft) actor, true);
}
((Wing) actor.getOwner()).regiment().diedAircrafts++;
if (actor_184_ instanceof Aircraft
&& actor.getArmy() != actor_184_.getArmy()
&& !((Aircraft) actor).buried)
speakNiceKill((Aircraft) actor_184_);
} else if (actor_184_ instanceof Aircraft) {
int i = actor.getArmy();
if (i == 0) {
actor.pos.getAbs(P3d);
i = Front.army(P3d.x, P3d.x);
}
if (i != actor_184_.getArmy())
speakTargetDestroyed((Aircraft) actor_184_);
}
} catch (Exception exception) {
System.out.println(exception.getMessage());
exception.printStackTrace();
}
}
}

public static void speakTakeoffPermited(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(4, aircraft);
str[0] = 241;
str[1] = 0;
speakRandom(4, i, string, str, 1);
}
}

public static void speakTakeoffDenied(Aircraft aircraft) {
if (Actor.isAlive(aircraft)) {
int i = aircraft.getArmy();
String string = aircraft.getRegiment().speech();
speakNumber(4, aircraft);
str[0] = 253;
str[1] = 0;
speakRandom(4, i, string, str, 1);
}
}

static {
reset();
syncMode = 0;
P3d = new Point3d();
}
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 4 Guest(s)