home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.applet.Applet; import java.awt.Color; import java.awt.Component; import java.awt.Cursor; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.RenderingHints; import java.awt.Toolkit; import java.awt.image.ColorModel; import java.awt.image.ImageObserver; import java.awt.image.MemoryImageSource; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; public class WillFun extends Component { static final float OPAQUE = 1.0F; static final RenderingHints aaOn; static final RenderingHints aaOff; public static final Color[] tranBlack; public static final int itl = 2; public static final int bld = 1; public static final int pln = 0; public static final Cursor cHair; public static final Cursor cHand; public static final Cursor cMove; public static final Cursor cDefault; static boolean isStandalone; // $FF: renamed from: ap java.applet.Applet static Applet field_0; // $FF: renamed from: t java.awt.MediaTracker static MediaTracker field_1; static int imageNo; static final ColorModel rgbCM; // $FF: renamed from: f java.awt.Frame public static Frame field_2; // $FF: renamed from: fG java.awt.Graphics public static Graphics field_3; public static final String newL = " \b "; public static final String ital = " \u0000 "; public static final String unItal = " \u0001 "; public static final String sup = " \u0002 "; public static final String unSup = " \u0003 "; public static final String sub = " \u0004 "; public static final String unSub = " \u0005 "; public static final String tRom = " \u0006 "; public static final String helv = " \u0007 "; public static final String greek = " \t "; public static final String back = " \u000b "; public static final String bold = " \f "; public static final String unBold = " \r "; public static final String from = " \u000e "; // $FF: renamed from: to java.lang.String public static final String field_4 = " \u000f "; public static final String endTo = " \u0010 "; public static final String larger = " \u0011 "; public static final String smaller = " \u0012 "; // $FF: renamed from: up java.lang.String public static final String field_5 = " \u0013 "; public static final String down = " \u0014 "; public static final String drawImage = " \u0015 "; public static final String tab = " \u0016 "; public static final String infinity = "∞"; public static final String integral = "∫"; public static final String minus = "−"; public static Image textIm; // $FF: renamed from: x int public static int field_6; public static int xOffset; public static double lineSpacing; public static int tabWidth; public static void imageWait() { try { field_1.waitForAll(); } catch (InterruptedException var1) { } } public static Image setImage(int var0, int var1) { Image var2 = field_0.createImage(var0, var1); field_1.addImage(var2, imageNo++); return var2; } public static Image loadImage(String var0) { Image var1 = null; if (isStandalone) { var1 = Toolkit.getDefaultToolkit().getImage(var0); } else { URL var2 = field_0.getDocumentBase(); try { var1 = field_0.getImage(new URL(var2, var0)); } catch (MalformedURLException var4) { } } field_1.addImage(var1, imageNo++); return var1; } public static Image scaleImage(Image var0, double var1) { return var0.getScaledInstance((int)((double)var0.getWidth((ImageObserver)null) * var1), (int)((double)var0.getHeight((ImageObserver)null) * var1), 4); } public static void delay(int var0) { long var1 = System.currentTimeMillis(); long var3; do { var3 = System.currentTimeMillis(); } while(var3 - var1 <= (long)var0); } public static int[] rotatePointIn3D(int var0, int var1, int var2, int var3, int var4, int var5, double var6, double var8, double var10, double var12, double var14) { double var18 = (double)(var0 - var3); double var20 = (double)(var1 - var4); double var24 = (double)var2; double var16 = var18 * var6 - var20 * var8; double var22 = var18 * var8 + var20 * var6; var20 = var22 * var10 - var24 * var12; var24 = var22 * var12 + var24 * var10; double var26 = (double)500.0F / (var24 + var14); int var28 = (int)(var16 * var26) + var3; int var29 = (int)(var20 * var26) + var5; int[] var30 = new int[]{var28, var29, (int)var24}; return var30; } public static void rotate2DLineIn3D(int[] var0, int var1, int var2, int[] var3, int[] var4, int var5, int var6, int var7, int var8, int var9, double var10, double var12, double var14, double var16, double var18, int var20) { for(int var37 = 0; var37 < var9; ++var37) { double var23 = (double)(var3[var37] - var6); double var25 = (double)(var4[var37] - var7); double var29 = (double)var5; double var21 = var23 * var10 - var25 * var12; double var27 = var23 * var12 + var25 * var10; var25 = var27 * var14 - var29 * var16; var29 = var27 * var16 + var29 * var14; double var31 = (double)500.0F / (var29 + var18); int var34 = (int)(var21 * var31) + var6; int var35 = (int)(var25 * var31) + var8; if (var34 >= 0 && var34 < var1 && var35 >= 0 && var35 < var2) { int var33 = var34 + var35 * var1; if (var0[var33] < 220) { if (var0[var33] < var20) { var0[var33] = var20; } else { var0[var33] += 30; } } else { var0[var33] = 250; } } } } public void drawPixels(Graphics var1, int[] var2, int var3, int var4, double var5) { if (var5 == (double)1.0F) { var1.drawImage(((Component)this).createImage(new MemoryImageSource(var3, var4, rgbCM, var2, 0, var3)), 0, 0, (ImageObserver)null); } else { var1.drawImage(scaleImage(((Component)this).createImage(new MemoryImageSource(var3, var4, rgbCM, var2, 0, var3)), var5), 0, 0, (ImageObserver)null); } } public static int[] rainbow(int var0) { int[] var1 = new int[256]; for(int var2 = 0; var2 < 256; ++var2) { var1[var2] = -16777216 | Color.HSBtoRGB((float)((var0 == -1 ? (double)var2 : (double)(256 - var2)) * 0.64 / (double)256.0F), 1.0F, 1.0F); } return var1; } public static void drawArrow(Graphics var0, int var1, int var2, int var3, int var4, boolean var5) { if (var3 <= -5 || var3 >= 5 || var4 <= -5 || var4 >= 5) { var1 -= var3 >> 1; var2 += var4 >> 1; int var6 = var1 + var3; int var7 = var2 - var4; var0.drawLine(var1, var2, var6, var7); double var10; double var14; if (var5) { var0.drawLine(var1, var2 + 1, var6, var7 + 1); var0.drawLine(var1 + 1, var2, var6 + 1, var7); var0.drawLine(var1, var2 - 1, var6, var7 - 1); var0.drawLine(var1 - 1, var2, var6 - 1, var7); double var8 = Math.sqrt((double)(var3 * var3 + var4 * var4)); var14 = (var8 - (double)6.0F) / var8; var10 = ((double)1.0F - var14) * (double)0.75F; } else { var14 = 0.8; var10 = 0.15; } var0.drawLine(var6, var7, var1 + (int)(var14 * ((double)var3 - (double)var4 * var10)), var2 - (int)(var14 * ((double)var4 + (double)var3 * var10))); var0.drawLine(var6, var7, var1 + (int)(var14 * ((double)var3 + (double)var4 * var10)), var2 - (int)(var14 * ((double)var4 - (double)var3 * var10))); } } public static void drawThinArrow(Graphics var0, int var1, int var2, int var3, int var4) { var3 -= var1; var4 = var2 - var4; if (var3 <= -5 || var3 >= 5 || var4 <= -5 || var4 >= 5) { int var5 = var1 + var3; int var6 = var2 - var4; var0.drawLine(var1, var2, var5, var6); double var7 = Math.sqrt((double)(var3 * var3 + var4 * var4)); var7 = (var7 - (double)6.0F) / var7; double var9 = ((double)1.0F - var7) * (double)0.75F; var0.drawLine(var5, var6, var1 + (int)(var7 * ((double)var3 - (double)var4 * var9)), var2 - (int)(var7 * ((double)var4 + (double)var3 * var9))); var0.drawLine(var5, var6, var1 + (int)(var7 * ((double)var3 + (double)var4 * var9)), var2 - (int)(var7 * ((double)var4 - (double)var3 * var9))); } } public static void drawDoubleArrow(Graphics var0, int var1, int var2, int var3, int var4) { var3 -= var1; var4 = var2 - var4; if (var3 <= -5 || var3 >= 5 || var4 <= -5 || var4 >= 5) { int var5 = var1 + var3; int var6 = var2 - var4; var0.drawLine(var1, var2, var5, var6); double var7 = Math.sqrt((double)(var3 * var3 + var4 * var4)); var7 = (var7 - (double)6.0F) / var7; double var9 = ((double)1.0F - var7) * (double)0.75F; double var11 = var9 * (double)var3; double var13 = var9 * (double)var4; var0.drawLine(var5, var6, var1 + (int)(var7 * (double)var3 - var13), var2 - (int)(var7 * (double)var4 + var11)); var0.drawLine(var5, var6, var1 + (int)(var7 * (double)var3 + var13), var2 - (int)(var7 * (double)var4 - var11)); var7 = (double)1.0F - var7; var0.drawLine(var1, var2, var1 + (int)(var7 * (double)var3 - var13), var2 - (int)(var7 * (double)var4 + var11)); var0.drawLine(var1, var2, var1 + (int)(var7 * (double)var3 + var13), var2 - (int)(var7 * (double)var4 - var11)); } } public static void drawPanel(Graphics var0, int var1, int var2) { Color var3 = var0.getColor(); var0.setColor(var3.brighter().brighter()); var0.fillRect(0, 0, var1, var2); for(int var4 = 0; var4 < 2; ++var4) { --var2; --var1; var0.setColor(var3.darker()); var0.drawLine(var4, 0, var4, var2); var0.drawLine(0, var4, var1, var4); var0.setColor(var3.brighter()); var0.drawLine(var4 + 1, var2, var1, var2); var0.drawLine(var1, var4 + 1, var1, var2); } } public static void drawPanel(Graphics var0, int var1, int var2, int var3, int var4) { Color var5 = var0.getColor(); var0.setColor(var5.brighter().brighter()); var0.fillRect(var1, var2, var3, var4); int var6 = var1 + var3; int var7 = var2 + var4; for(int var8 = 0; var8 < 2; ++var8) { --var4; --var3; int var9 = var1 + var8; int var10 = var2 + var8; var0.setColor(var5.darker()); var0.drawLine(var9, var2, var9, var7); var0.drawLine(var1, var10, var6, var10); var0.setColor(var5.brighter()); var0.drawLine(var9 + 1, var7, var6, var7); var0.drawLine(var6, var10 + 1, var6, var7); } } public static void drawShadow(Graphics var0, int var1, int var2, int var3, int var4) { --var4; --var3; int var5 = 1; for(int var6 = 0; var6 < 3; ++var6) { if (var6 == 2) { var5 = 3; } else { var5 = var6; } ++var1; ++var2; var0.setColor(tranBlack[var6]); var0.drawLine(var1 + 1, var2 + var4, var1 + var3 - var5, var2 + var4); var0.drawLine(var1 + var3, var2 + var4 - var5, var1 + var3, var2 + 1); } } public static void drawBorder(Graphics var0, int var1, int var2) { --var2; --var1; var0.setColor(Color.white); var0.drawLine(0, var2, 0, 0); var0.drawLine(0, 0, var1, 0); var0.setColor(Color.darkGray); var0.drawLine(var1, 0, var1, var2); var0.drawLine(var1, var2, 0, var2); } public static void showMessage(String var0, String var1, String var2) { field_2.setVisible(true); field_2.setState(0); drawPanel(field_3, field_2.getSize().width - 20, field_2.getSize().height - 40); method_0(field_3, 0); field_3.setColor(Color.black); field_3.drawString(var0, 10, 20); field_3.drawString(var1, 10, 35); field_3.drawString(var2, 10, 50); } // $FF: renamed from: TF (java.awt.Graphics, int) void public static void method_0(Graphics var0, int var1) { var0.setFont(new Font("TimesRoman", var1, 12)); } // $FF: renamed from: HF (java.awt.Graphics, int) void public static void method_1(Graphics var0, int var1) { var0.setFont(new Font("SansSerif", var1, 12)); } // $FF: renamed from: TF (java.awt.Graphics, int, int) void public static void method_2(Graphics var0, int var1, int var2) { var0.setFont(new Font("TimesRoman", var1, var2)); } // $FF: renamed from: HF (java.awt.Graphics, int, int) void public static void method_3(Graphics var0, int var1, int var2) { var0.setFont(new Font("Helvetica", var1, var2)); } public static int sWidth(Graphics var0, String var1) { return var0.getFontMetrics().stringWidth(var1); } public static int dString(Graphics var0, String var1, int var2, int var3) { var0.drawString(var1, var2, var3); return var2 + sWidth(var0, var1); } public static int dString(Graphics var0, String var1, int var2, int var3, int var4) { Font var5 = var0.getFont(); var0.setFont(new Font(var5.getName(), var4, var5.getSize())); var0.drawString(var1, var2, var3); var0.setFont(new Font(var5.getName(), var5.getStyle(), var5.getSize())); return var2 + sWidth(var0, var1); } public static int subS(Graphics var0, String var1, int var2, int var3) { var3 += 4; Font var4 = var0.getFont(); var0.setFont(new Font(var4.getName(), var4.getStyle(), var4.getSize() - 2)); var2 = dString(var0, var1, var2, var3); var0.setFont(new Font(var4.getName(), var4.getStyle(), var4.getSize())); var3 -= 4; return var2; } public static int supS(Graphics var0, String var1, int var2, int var3) { var3 -= 4; Font var4 = var0.getFont(); var0.setFont(new Font(var4.getName(), var4.getStyle(), var4.getSize() - 2)); var2 = dString(var0, var1, var2, var3); var0.setFont(new Font(var4.getName(), var4.getStyle(), var4.getSize())); var3 += 4; return var2; } public static int symb(Graphics var0, String var1, String var2, int var3, int var4) { method_0(var0, 2); var3 = dString(var0, var1, var3, var4); var3 = subS(var0, var2, var3, var4); method_1(var0, 0); return var3; } public static String decimalPlaces(double var0, int var2) { int var3 = 1; double var4 = Math.abs(var0); for(int var6 = 0; var6 < var2; ++var6) { var3 *= 10; } return var0 > (double)0.0F ? Double.toString((double)((int)(var0 * (double)var3 + (double)0.5F)) / (double)var3) : Double.toString((double)((int)(var0 * (double)var3)) / (double)var3); } public static double[] getGridLimits(double[] var0) { return getGridLimits(var0[0], var0[1], var0[2], var0[3]); } public static double[] getGridLimits(double var0, double var2, double var4, double var6) { MAxisScaling var8 = MAxisScaling.getAxisScaling(var4, var6, false); var4 = var8.axisMin; var6 = var8.axisMax; var8 = MAxisScaling.getAxisScaling(var0, var2, false); var0 = var8.axisMin; var2 = var8.axisMax; double[] var9 = new double[]{var0, var2, var4, var6}; return var9; } public static double[] drawGrid(Graphics var0, double[] var1, boolean var2, int var3, int var4, int var5, int var6, int var7) { return drawGrid(var0, var1[0], var1[1], var1[2], var1[3], var2, var3, var4, var5, var6, var7); } public static double[] drawGrid(Graphics var0, double var1, double var3, double var5, double var7, boolean var9, int var10, int var11, int var12, int var13, int var14) { MAxisScaling var15 = MAxisScaling.getAxisScaling(var5, var7, false); var5 = var15.axisMin; var7 = var15.axisMax; Color var18 = var0.getColor(); for(int var19 = 0; var19 < (int)((var7 - var5) / var15.ticInterval); ++var19) { double var16 = var5 + (double)(var19 + 1) * var15.ticInterval; int var20 = var12 + var14 - (int)((var16 - var5) * (double)var14 / (var7 - var5)); var0.drawLine(var11, var20, var11 + var13, var20); if (var9) { var0.setColor(Color.black); dSigFigs(var0, var16, var10, var11 - 48, var20 + 5); var0.setColor(var18); } } var15 = MAxisScaling.getAxisScaling(var1, var3, false); var1 = var15.axisMin; var3 = var15.axisMax; if ((int)((var3 - var1) / var15.ticInterval) > 5) { var15.ticInterval *= (double)2.0F; } double var30 = var1; int var22 = 3; for(int var23 = 0; var23 < (int)((var3 - var1) / var15.ticInterval); ++var23) { var30 += var15.ticInterval; int var24 = var11 + (int)((var30 - var1) * (double)var13 / (var3 - var1)); var0.drawLine(var24, var12, var24, var12 + var14); if (var9) { var22 = 3 - var22; var0.setColor(Color.black); dSigFigs(var0, var30, var10, var24 - 20, var12 + var14 + 15 + var22); var0.setColor(var18); } } var0.drawLine(var11 + var13, var12, var11 + var13, var12 + var14); var0.setColor(Color.black); var0.drawLine(var11, var12 + var14, var11 + var13, var12 + var14); var0.drawLine(var11, var12, var11, var12 + var14); var0.setColor(var18); double[] var31 = new double[]{var1, var3, var5, var7}; return var31; } public static double[] sigFigs(double var0, int var2) { if (var0 > (double)0.0F) { --var2; } boolean var3 = false; int var4 = (int)Math.pow((double)10.0F, (double)var2); double var5 = Math.abs(var0); int var7 = (int)(Math.log(var5) * 0.434294481903252); double var8 = Math.pow((double)10.0F, (double)var7); var0 /= var8; if (var7 == -1) { var0 /= (double)10.0F; var7 = 0; } else if (var7 == 2) { var0 *= (double)100.0F; var7 = 0; } else if (var7 == 1 || var7 < 0) { var0 *= (double)10.0F; --var7; } if (var0 > (double)0.0F) { var0 = (double)((int)(var0 * (double)var4 + (double)0.5F)) / (double)var4; } else { var0 = (double)((int)(var0 * (double)var4)) / (double)var4; } if (Math.abs(var0) == (double)10.0F && var7 != 0) { var0 /= (double)10.0F; ++var7; } double[] var10 = new double[]{var0, (double)var7}; return var10; } public static int dSigFigs(Graphics var0, double var1, int var3, int var4, int var5) { if (var1 == (double)0.0F) { return dString(var0, "0.0", var4 + 26, var5); } else { double[] var6 = new double[2]; Font var7 = var0.getFont(); var6 = sigFigs(var1, var3); var1 = var6[0]; int var8 = (int)var6[1]; if (var8 == 0) { var4 += 15; } if (var1 < (double)0.0F) { var4 -= 4; } var4 = dString(var0, Double.toString(var1), var4, var5); if (var8 != 0) { method_1(var0, 0); ++var4; var4 = dString(var0, "x", var4, var5); ++var4; var0.setFont(var7); var4 = dString(var0, "10", var4, var5); var4 = supS(var0, Integer.toString(var8), var4, var5); } return var4; } } public static String getWord(String var0, int var1) { if (var1 < 1) { return ""; } else { var0 = var0 + " "; int var2 = 0; int var4; for(int var5 = 0; var2 >= 0; var2 = var4) { int var3 = var2; var4 = var0.indexOf(32, var2 + 1); if (var4 > 0) { if (var0.charAt(var2) == ' ') { var3 = var2 + 1; } String var6 = var0.substring(var3, var4); ++var5; if (var5 == var1) { return var6; } } } return ""; } } public static int getWordCount(String var0) { var0 = var0 + " "; int var1 = 1; int var2; for(var2 = 0; var1 >= 0; var1 = var0.indexOf(32, var1 + 1)) { if (var0.charAt(var1 - 1) != ' ') { ++var2; } } return var2 - 1; } public static int drawPara(Graphics var0, String var1, int var2, int var3, int var4) { var1 = var1 + " "; Font var5 = var0.getFont(); String var6 = var5.getName(); int var7 = var5.getStyle(); int var8 = var5.getSize(); field_6 = var2 + xOffset; xOffset = 0; int var9 = 0; int var10 = var2 + var4; int var11 = (int)((double)var0.getFontMetrics().getHeight() * lineSpacing); boolean var12 = true; boolean var13 = false; boolean var14 = false; int var18; for(int var16 = 0; var16 >= 0; var16 = var18) { var18 = var1.indexOf(32, var16 + 1); if (var18 > 0) { String var15 = var1.substring(var16, var18); var12 = true; int var19 = var18 > 1 ? 1 : 0; if (var18 - var16 > 1) { var12 = false; switch (var15.charAt(var19)) { case '\u0000': var7 |= 2; break; case '\u0001': var7 &= -3; break; case '\u0002': var8 -= 2; var3 -= 4; field_6 -= 2; break; case '\u0003': var8 += 2; var3 += 4; field_6 -= 2; break; case '\u0004': var8 -= 2; var3 += 4; field_6 -= 2; break; case '\u0005': var8 += 2; var3 -= 4; field_6 -= 2; break; case '\u0006': var6 = "TimesRoman"; var13 = false; break; case '\u0007': var6 = "SansSerif"; var13 = false; break; case '\b': field_6 = var2 - var0.getFontMetrics().stringWidth(" "); var3 += var11; break; case '\t': var6 = "TimesRoman"; var13 = true; break; case '\n': default: var12 = true; break; case '\u000b': field_6 -= 6; break; case '\f': var7 |= 1; break; case '\r': var7 &= -2; break; case '\u000e': var8 -= 4; var3 += (int)((double)var8 * 0.7); field_6 -= var8 / 3; var9 = field_6; break; case '\u000f': var3 -= (int)((double)var8 * 0.7) + var8; field_6 = var9; break; case '\u0010': var3 += var8 * 1; var8 += 2; break; case '\u0011': var8 += 2; break; case '\u0012': var8 -= 2; break; case '\u0013': var3 -= var11 / 2; break; case '\u0014': var3 += var11 / 2; break; case '\u0015': var14 = true; break; case '\u0016': field_6 = (field_6 + tabWidth) / tabWidth * tabWidth; } } if (var12) { if ((var7 & 2) != 0) { var15 = var15 + " "; } int var20 = var0.getFontMetrics().stringWidth(var15); if (field_6 + var20 > var10) { var3 += var11; field_6 = var2 - var0.getFontMetrics().stringWidth(" "); } if (var13) { for(int var21 = 1; var21 < var15.length(); ++var21) { String var22 = "" + (char)(var15.charAt(var21) + 848); var0.drawString(var22, field_6, var3); field_6 += var0.getFontMetrics().stringWidth(var22); } } else { var0.drawString(var15, field_6, var3); field_6 += var20; } } else { if (var14 && textIm != null) { var0.drawImage(textIm, field_6, var3 - var11 * 3 / 4, (ImageObserver)null); field_6 += textIm.getWidth((ImageObserver)null); var14 = false; } var0.setFont(new Font(var6, var7, var8)); } } } var0.setFont(var5); return var3; } public static String stripVowelsSpaces(String var0) { String var1 = ""; for(int var2 = 0; var2 < var0.length(); ++var2) { char var3 = var0.charAt(var2); if (var3 != 'a' && var3 != 'e' && var3 != 'i' && var3 != 'o' && var3 != 'u' && var3 != ' ' && var3 != 'A' && var3 != 'E' && var3 != 'I' && var3 != 'O' && var3 != 'U') { var1 = var1 + var3; } } return var1; } public static boolean checkAnswer(String var0, String var1) { if (var0.length() < 1) { return false; } else { String var2 = stripVowelsSpaces(var0); String var3 = stripVowelsSpaces(var1); int var4 = var3.length(); int var5 = var2.length(); if (var3.charAt(var4 - 1) == '*') { --var4; if (var5 < var4) { return false; } var5 = var4; } else if (var5 != var4) { return false; } return var2.substring(0, var5).equalsIgnoreCase(var3.substring(0, var4)); } } public static double max(double[] var0) { double var1 = -1.0E99; for(int var3 = 0; var3 < var0.length; ++var3) { if (var0[var3] > var1) { var1 = var0[var3]; } } return var1; } public static double min(double[] var0) { double var1 = 1.0E99; for(int var3 = 0; var3 < var0.length; ++var3) { if (var0[var3] < var1) { var1 = var0[var3]; } } return var1; } public static double log10(double var0, double var2) { if (var0 == (double)0.0F) { return var2; } else { double var4 = Math.log(var0) * 0.434294481903252; return var4 < var2 ? var2 : var4; } } public static double log10(double var0) { return Math.log(var0) * 0.434294481903252; } public double perp(double[] var1, double[] var2) { double var3 = Math.sqrt(var1[0] * var1[0] + var1[1] * var1[1]); double var5 = Math.sqrt(var2[0] * var2[0] + var2[1] * var2[1]); return var3 != (double)0.0F && var5 != (double)0.0F ? (var1[0] * var2[1] - var1[1] * var2[0]) / var3 / var5 : (double)0.0F; } public double[] vector(double var1, double var3) { double[] var5 = new double[]{var1, var3}; return var5; } public double[][] linInterp(double[] var1, double[] var2, double[] var3, int var4, int var5) { double var6 = (var3[var4] - var3[0]) / (double)(var5 - 1); double[] var14 = new double[2]; double[][] var15 = new double[2][var5]; double var16 = var3[0]; int var18 = 0; int var19 = var5 - 1; for(int var20 = 0; var18 < var19; ++var20) { for(double[] var21 = this.vector(var1[var20 + 1] - var1[var20], var2[var20 + 1] - var2[var20]); var16 < var3[var20 + 1] && var16 >= var3[var20]; var16 += var6) { double var10 = (var16 - var3[var20]) / (var3[var20 + 1] - var3[var20]); var15[0][var18] = var1[var20] + var10 * var21[0]; var15[1][var18++] = var2[var20] + var10 * var21[1]; } } var15[0][var19] = var1[var4]; var15[1][var19] = var2[var4]; return var15; } public double[] linInterp(double[] var1, double[] var2, int var3, int var4) { double var5 = (var2[var3] - var2[0]) / (double)(var4 - 1); double[] var15 = new double[var4]; double var16 = var2[0]; int var18 = 0; int var19 = var4 - 1; for(int var20 = 0; var18 < var19; ++var20) { for(double var13 = var1[var20 + 1] - var1[var20]; var16 < var2[var20 + 1] && var16 >= var2[var20]; var16 += var5) { double var9 = (var16 - var2[var20]) / (var2[var20 + 1] - var2[var20]); var15[var18++] = var1[var20] + var9 * var13; } } var15[var19] = var1[var3]; return var15; } public String readIniFile(String var1, String var2) { int var3 = var2.length(); try { BufferedReader var4 = new BufferedReader(new FileReader(var1)); for(String var5 = var4.readLine(); var5 != null; var5 = var4.readLine()) { if (var5.length() >= var3 && var5.substring(0, var3).equalsIgnoreCase(var2)) { return var5.substring(var5.indexOf(61) + 1, var5.length()); } } return null; } catch (IOException var6) { return null; } } public void writeFile(String var1, String[] var2) { try { File var3 = new File(var1); if (var3.exists()) { var3.delete(); } BufferedWriter var4 = new BufferedWriter(new FileWriter(var1)); for(int var5 = 0; var5 < var2.length; ++var5) { var4.write(var2[var5], 0, var2[var5].length()); var4.newLine(); } var4.close(); } catch (IOException var6) { System.out.println("couldn't write to " + var1); } } static { aaOn = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); aaOff = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); tranBlack = new Color[]{new Color(0, 0, 0, 240), new Color(0, 0, 0, 160), new Color(0, 0, 0, 80)}; cHair = new Cursor(1); cHand = new Cursor(12); cMove = new Cursor(13); cDefault = new Cursor(0); rgbCM = ColorModel.getRGBdefault(); xOffset = 0; lineSpacing = (double)1.0F; tabWidth = 30; } }