home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.image.ColorModel;
- import java.awt.image.ImageObserver;
- import java.io.InputStream;
- import java.net.URL;
-
- public final class Flash extends Applet implements Runnable {
- private boolean loop = true;
- private boolean play = false;
- // $FF: renamed from: ─å boolean
- private boolean field_0 = false;
- // $FF: renamed from: ─ç boolean
- private boolean field_1 = true;
- // $FF: renamed from: ─ê boolean
- private boolean field_2 = false;
- // $FF: renamed from: ─ë int
- private int field_3 = 0;
- // $FF: renamed from: ─è int
- private int field_4 = 16777215;
- // $FF: renamed from: ─ï boolean
- boolean field_5 = false;
- // $FF: renamed from: ─î java.awt.Image
- private Image field_6;
- // $FF: renamed from: Á ScriptPlayer
- private ScriptPlayer field_7;
- // $FF: renamed from: ─ì DisplayList
- DisplayList field_8;
- // $FF: renamed from: ─Ä Semaphore
- private Semaphore field_9;
- // $FF: renamed from: ─Å java.lang.Thread
- private Thread field_10;
- // $FF: renamed from: ─É boolean
- static boolean field_11;
- // $FF: renamed from: ─æ int
- private int field_12 = 1000;
- // $FF: renamed from: ─Æ int
- private int field_13;
- // $FF: renamed from: ─ô int
- private int field_14;
- // $FF: renamed from: ─ö int
- private int field_15;
- // $FF: renamed from: ─ò Flash
- static Flash field_16 = null;
- // $FF: renamed from: ─û java.lang.Object
- Object field_17 = new Object();
- // $FF: renamed from: ─ù int
- private int field_18;
- // $FF: renamed from: ─ÿ boolean
- boolean field_19;
-
- // $FF: renamed from: ─å () void
- private void method_0() {
- this.loop = true;
- this.play = false;
- this.field_0 = false;
- this.field_1 = true;
- this.field_2 = false;
- this.field_3 = 0;
- this.field_4 = 16777215;
- this.field_5 = false;
- field_11 = false;
- this.field_12 = 1000;
- this.field_13 = 0;
- this.field_14 = 0;
- this.field_15 = 0;
- field_16 = this;
- this.field_9 = new Semaphore(true);
- this.field_7 = new ScriptPlayer(this);
- this.field_8 = new DisplayList(this);
- this.field_7.─ì = this.field_8;
- this.field_6 = null;
- String var1 = ((Applet)this).getParameter("movie");
-
- try {
- if (var1 != null) {
- URL var2 = ((Applet)this).getDocumentBase();
- URL var3 = new URL(var2, var1);
- InputStream var4 = var3.openStream();
- if (var4 != null) {
- this.field_7.loadScript(var4);
- } else {
- System.err.println("FlashApplet - can't open movie stream");
- }
- }
- } catch (Exception var6) {
- }
-
- var1 = ((Applet)this).getParameter("loop");
- if (var1 != null) {
- this.loop = var1.equalsIgnoreCase("yes") || var1.equalsIgnoreCase("true");
- }
-
- var1 = ((Applet)this).getParameter("play");
- if (var1 != null) {
- if (!var1.equalsIgnoreCase("yes") && !var1.equalsIgnoreCase("true")) {
- this.field_9.Ɖ();
- } else {
- this.play = true;
- }
- } else {
- this.play = true;
- }
-
- var1 = ((Applet)this).getParameter("quality");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("low")) {
- this.field_0 = false;
- this.field_1 = false;
- } else if (var1.equalsIgnoreCase("autolow")) {
- this.field_0 = false;
- this.field_1 = true;
- } else if (var1.equalsIgnoreCase("autohigh")) {
- this.field_0 = true;
- this.field_1 = true;
- } else if (var1.equalsIgnoreCase("high") || var1.equalsIgnoreCase("best")) {
- this.field_0 = true;
- this.field_1 = false;
- }
- }
-
- var1 = ((Applet)this).getParameter("forcergb");
- if (var1 != null) {
- this.field_2 = var1.equalsIgnoreCase("yes") || var1.equalsIgnoreCase("true");
- }
-
- var1 = ((Applet)this).getParameter("allocateFullClug");
- if (var1 != null) {
- this.field_5 = var1.equalsIgnoreCase("yes") || var1.equalsIgnoreCase("true");
- }
-
- var1 = ((Applet)this).getParameter("scale");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("showall")) {
- this.field_3 = 0;
- } else if (var1.equalsIgnoreCase("noborder")) {
- this.field_3 = 1;
- } else if (var1.equalsIgnoreCase("exactfit")) {
- this.field_3 = 2;
- }
- }
-
- var1 = ((Applet)this).getParameter("bgcolor");
- if (var1 != null) {
- try {
- var1 = var1.replace('#', '0');
- this.field_4 = Integer.valueOf(var1, 16);
- this.field_8.SetBackgroundColor(this.field_4 | -16777216, 4);
- } catch (NumberFormatException var5) {
- }
- }
-
- var1 = ((Applet)this).getParameter("salign");
- if (var1 != null) {
- if (var1.indexOf(108) >= 0 || var1.indexOf(76) >= 0) {
- this.field_3 |= 16;
- }
-
- if (var1.indexOf(116) >= 0 || var1.indexOf(84) >= 0) {
- this.field_3 |= 64;
- }
-
- if (var1.indexOf(114) >= 0 || var1.indexOf(82) >= 0) {
- this.field_3 |= 32;
- }
-
- if (var1.indexOf(98) >= 0 || var1.indexOf(66) >= 0) {
- this.field_3 |= 128;
- }
- }
-
- Rectangle var16 = ((Component)this).bounds();
- this.field_8.SetImage(var16.width, var16.height, this.field_2 ? ColorModel.getRGBdefault() : ((Component)this).getColorModel());
- }
-
- public void init() {
- }
-
- void SetCamera(boolean var1) {
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, var1);
- }
-
- public String[][] getParameterInfo() {
- String[][] var1 = new String[][]{{"script", "url", "the Flash movie file"}, {"quality", "string", "turn on high quality rendering"}, {"loop", "boolean", "play in a contiuous loop"}, {"play", "boolean", "start playing automatically"}, {"scale", "string", "smoothing"}, {"salign", "string", "smoothing"}, {"bgcolor", "string", "#0xRGB (hex RGB value"}, {"Flash Ver", "2.0", "Build 13"}};
- return var1;
- }
-
- public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
- return true;
- }
-
- // $FF: renamed from: ─ç (boolean, int, int, int, int) boolean
- boolean method_1(boolean var1, int var2, int var3, int var4, int var5) {
- if (!var1) {
- ((Component)this).repaint();
- return true;
- } else {
- Graphics var6 = ((Component)this).getGraphics();
- if (var6 != null) {
- var6.clipRect(var2, var3, var4, var5);
- var6.drawImage(this.field_6, 0, 0, (ImageObserver)null);
- return true;
- } else {
- return false;
- }
- }
- }
-
- public void update(Graphics var1) {
- Rectangle var2 = ((Component)this).bounds();
- ScriptPlayer var3 = this.field_7;
- if (var3.┼╕) {
- Object var6 = this.field_17;
- synchronized(var6){}
-
- try {
- if (this.field_6 == null || this.field_8.UpdateImageSize(var2.width, var2.height)) {
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, false);
- this.field_6 = ((Component)this).createImage(this.field_8);
- }
- } catch (Throwable var5) {
- throw var5;
- }
- }
-
- if (this.field_6 != null) {
- var1.drawImage(this.field_6, 0, 0, (ImageObserver)null);
- } else {
- var1.setColor(new Color(-16777216 | this.field_4));
- var1.fillRect(0, 0, var2.width, var2.height);
- }
- }
-
- public void paint(Graphics var1) {
- ((Component)this).bounds();
- this.update(var1);
- }
-
- public static Frame getFrame(Component var0) {
- if (var0 instanceof Frame) {
- return (Frame)var0;
- } else {
- for(Container var1 = var0.getParent(); var1 != null; var1 = ((Component)var1).getParent()) {
- if (var1 instanceof Frame) {
- return (Frame)var1;
- }
- }
-
- return null;
- }
- }
-
- public void run() {
- long var1 = 0L;
- Thread var3 = Thread.currentThread();
-
- try {
- label430:
- while(true) {
- this.field_10.setPriority(4);
-
- while(true) {
- ScriptPlayer var4 = this.field_7;
- if (var4.Ÿ && this.field_7.Ů == 0) {
- Object var21 = this.field_17;
- synchronized(var21){}
-
- try {
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, false);
- if (this.field_6 == null) {
- this.field_6 = ((Component)this).createImage(this.field_8);
- }
-
- Graphics var6 = ((Component)this).getGraphics();
- if (var6 != null) {
- var6.drawImage(this.field_6, 0, 0, (ImageObserver)null);
- }
- } catch (Throwable var17) {
- throw var17;
- }
-
- ScriptPlayer var22 = this.field_7;
- if (var22.┼║ <= 0) {
- while(this.field_8.ê(this.field_7, 0) != 0) {
- var22 = this.field_7;
- if (var22.Ʃ != null && (var22.ů >= var22.Ű || false)) {
- break;
- }
-
- this.field_8.é();
- this.field_7.Ż.ƈ();
- }
-
- this.field_8.é();
- if (this.field_7.┼┤ == 1) {
- this.field_9.Ɖ();
- if (this.field_1) {
- this.field_0 = true;
- }
- }
-
- this.method_2(0);
- Thread.sleep((long)this.field_7.┼│);
- }
-
- this.field_10.setPriority(3);
-
- while(true) {
- boolean var24 = false;
- this.field_9.Ƈ();
- long var5 = System.currentTimeMillis();
- var1 = var5 + (long)this.field_7.┼│;
- Object var7 = this.field_17;
- synchronized(var7){}
-
- try {
- while(true) {
- ScriptPlayer var9 = this.field_7;
- int var26 = this.field_8.ê(this.field_7, var9.ź + 1);
- if (var26 != 1) {
- if (var26 < 0) {
- continue label430;
- }
-
- if (var26 == 2) {
- if (this.loop) {
- ScriptPlayer var10 = this.field_7;
- if (var10.┼║ != 0) {
- var26 = this.field_8.ê(this.field_7, 0);
- continue;
- }
- }
-
- this.field_9.Ɖ();
- continue label430;
- }
-
- if (this.field_7.nActions > 0) {
- this.method_2(0);
- }
- break;
- } else {
- this.field_7.Ż.ƈ();
- }
- }
-
- if (((Component)this).isShowing()) {
- var24 = this.field_8.é();
- }
- } catch (Throwable var18) {
- throw var18;
- }
-
- int var25 = (int)(var1 - System.currentTimeMillis());
- if (var25 > 0) {
- Thread.sleep((long)var25);
- }
-
- if (this.field_1 && var24) {
- if (-var25 * 4 > this.field_7.┼│) {
- ++this.field_13;
- } else if (var25 * 4 > this.field_7.┼│) {
- ++this.field_14;
- }
-
- ++this.field_15;
- if (this.field_15 > 4 && this.field_12 > 30) {
- if (this.field_0) {
- if (this.field_13 * 2 > this.field_15) {
- this.field_0 = false;
- this.field_12 = 0;
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, false);
- }
- } else if (this.field_14 * 2 > this.field_15) {
- this.field_0 = true;
- this.field_12 = 0;
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, false);
- }
- }
-
- ++this.field_12;
- }
- }
- }
-
- this.field_7.Ż.ƈ();
- }
- }
- } catch (Exception var19) {
- }
- }
-
- public synchronized void start() {
- Object var1 = this.field_17;
- synchronized(var1){}
-
- try {
- this.method_0();
- this.field_10 = new Thread(this);
- this.gotoFrame(0);
- if (this.play) {
- this.field_9.Î();
- }
-
- this.field_10.start();
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
-
- public synchronized void stop() {
- Object var1 = this.field_17;
- synchronized(var1){}
-
- try {
- this.field_7.ŭ();
- this.field_10.stop();
- this.field_10 = null;
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
-
- // $FF: renamed from: ─ê (int) int
- private int method_2(int var1) {
- ++this.field_18;
- int var2 = -1;
-
- for(int var3 = 0; var3 < this.field_7.nActions; ++var3) {
- SParser var4 = new SParser();
- byte[] var5 = this.field_7.Ʃ;
- int var6 = this.field_7.actionList[var3];
- var4.Ʃ = var5;
- var4.ƪ = var6;
- int var13 = 0;
-
- while(true) {
- var6 = var4.Ʃ[var4.ƪ++] & 255;
- if (var6 == 0) {
- break;
- }
-
- int var7 = 0;
- if ((var6 & 128) != 0) {
- var7 = var4.Ʃ();
- }
-
- int var8 = var4.ƪ + var7;
- if (var13 > 0) {
- --var13;
- } else {
- switch (var6) {
- case 6:
- var1 = 1;
- break;
- case 7:
- var1 = 2;
- break;
- case 9:
- this.field_7.ŭ();
- break;
- case 129:
- var2 = var4.Ʃ();
- break;
- case 131:
- try {
- String var15 = var4.╞░();
- String var10 = var4.╞░();
- ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getDocumentBase(), var15), var10);
- } catch (Exception var11) {
- }
- break;
- case 138:
- int var9 = var4.Ʃ();
- if (!this.field_7.┼╗(var9)) {
- var13 = var4.Ʃ[var4.ƪ++] & 255;
- }
- }
- }
-
- var4.ƪ = var8;
- }
- }
-
- this.field_7.nActions = 0;
- if (var2 >= 0) {
- ScriptPlayer var12 = this.field_7;
- if (var2 != var12.┼║) {
- this.field_8.gotoFrame(this.field_7, var2);
- if (this.field_18 < 4) {
- var1 = this.method_2(0);
- } else {
- this.field_7.nActions = 0;
- }
- }
- }
-
- if (var1 == 1) {
- this.field_9.Î();
- } else if (var1 == 2) {
- this.field_9.Ɖ();
- }
-
- --this.field_18;
- return var1;
- }
-
- public synchronized void gotoFrame(int var1) {
- this.field_9.Ɖ();
- ScriptPlayer var2 = this.field_7;
- if (var1 != var2.┼║) {
- this.field_8.gotoFrame(this.field_7, var1);
- this.method_2(0);
- this.field_8.é();
- }
-
- }
-
- public int currentFrame() {
- return this.field_7.┼║;
- }
-
- public void startPlay() {
- this.field_9.Î();
- }
-
- public void stopPlay() {
- this.field_9.Ɖ();
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- Object var4 = this.field_17;
- synchronized(var4){}
-
- try {
- SObject var6 = this.field_8.HitButton(var2, var3);
- Frame var7 = getFrame(this);
- if (var7 != null) {
- if (var6 != null) {
- var7.setCursor(12);
- this.field_19 = true;
- } else if (this.field_19) {
- var7.setCursor(0);
- this.field_19 = false;
- }
- }
-
- if (this.field_8.SetButtonState(var6, 2)) {
- Thread.yield();
- this.field_8.é();
- }
- } catch (Throwable var9) {
- throw var9;
- }
-
- return true;
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- Object var4 = this.field_17;
- synchronized(var4){}
-
- try {
- SObject var6 = this.field_8.HitButton(var2, var3);
- if (this.field_8.SetButtonState(var6, 4)) {
- Thread.yield();
- this.field_8.é();
- }
- } catch (Throwable var8) {
- throw var8;
- }
-
- return true;
- }
-
- public boolean mouseDrag(Event var1, int var2, int var3) {
- Object var4 = this.field_17;
- synchronized(var4){}
-
- try {
- if (this.field_8.Ý != null) {
- SObject var6 = this.field_8.HitButton(var2, var3);
- if (this.field_8.SetButtonState(this.field_8.Ý, var6 == this.field_8.Ý ? 4 : 2)) {
- Thread.yield();
- this.field_8.é();
- }
- }
- } catch (Throwable var8) {
- throw var8;
- }
-
- return true;
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- Object var4 = this.field_17;
- synchronized(var4){}
-
- try {
- if (this.field_8.Þ == 4 && this.field_8.Ý != null) {
- this.field_8.SetButtonState(this.field_8.Ý, 1);
- Thread.yield();
- this.field_8.é();
- SCharacter var6 = this.field_8.Ý.Ɗ;
- SParser var7 = new SParser();
- byte[] var8 = var6.Á.Ʃ;
- int var9 = var6.Ä;
- var7.Ʃ = var8;
- var7.ƪ = var9;
-
- while(true) {
- int var18 = var7.Ʃ[var7.ƪ++] & 255;
- if (var18 == 0) {
- var18 = 0;
-
- while(true) {
- var9 = var7.Ʃ[var7.ƪ++] & 255;
- if (var9 == 0) {
- return true;
- }
-
- int var10 = 0;
- if ((var9 & 128) != 0) {
- var10 = var7.Ʃ();
- }
-
- int var11 = var7.ƪ + var10;
- if (var18 > 0) {
- --var18;
- } else {
- switch (var9) {
- case 4:
- this.gotoFrame(this.field_7.┼║ + 1);
- break;
- case 5:
- this.gotoFrame(this.field_7.┼║ - 1);
- break;
- case 6:
- this.field_9.Î();
- break;
- case 7:
- this.field_9.Ɖ();
- break;
- case 8:
- this.field_0 = !this.field_0;
- this.field_1 = false;
- this.field_8.SetCamera(this.field_7.┼▒, this.field_0, this.field_3, true);
- break;
- case 9:
- this.field_7.ŭ();
- break;
- case 129:
- int var22 = var7.Ʃ();
- this.gotoFrame(var22);
- break;
- case 131:
- try {
- String var21 = var7.╞░();
- String var13 = var7.╞░();
- ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getDocumentBase(), var21), var13);
- } catch (Exception var16) {
- }
- break;
- case 138:
- int var12 = var7.Ʃ();
- if (!this.field_7.┼╗(var12)) {
- var18 = var7.Ʃ[var7.ƪ++] & 255;
- }
- }
- }
-
- var7.ƪ = var11;
- }
- }
-
- var7.Ʃ();
- var7.Ʃ();
- var7.Ư();
- }
- }
- } catch (Throwable var17) {
- throw var17;
- }
-
- return true;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- Object var4 = this.field_17;
- synchronized(var4){}
-
- try {
- if (this.field_8.SetButtonState((SObject)null, 0)) {
- Thread.yield();
- this.field_8.é();
- }
- } catch (Throwable var6) {
- throw var6;
- }
-
- return true;
- }
- }
-