import jagdx.IDirect3DDevice;
import jagdx.IDirect3DTexture;
import java.nio.ByteBuffer;

public class Class329_Sub2 extends Class329 implements Interface33 {

   boolean aBool8084;
   int anInt8085;
   float aFloat8086;
   float aFloat8087;
   boolean aBool8088;
   int anInt8089;


   public boolean method213() {
      return false;
   }

   Class329_Sub2(Class545_Sub2_Sub1 var1, Class98 var2, Class91 var3, int var4, int var5, int var6, int var7) {
      super(var1, var2, var3, false, var4 * var5);
      if(!this.aClass545_Sub2_Sub1_4080.aBool10303) {
         this.anInt8089 = Class468.method7880(var4, (byte)-59);
         this.anInt8085 = Class468.method7880(var5, (byte)-103);
         this.aFloat8086 = (float)var4 / (float)this.anInt8089;
         this.aFloat8087 = (float)var5 / (float)this.anInt8085;
      } else {
         this.anInt8089 = var4;
         this.anInt8085 = var5;
         this.aFloat8086 = 1.0F;
         this.aFloat8087 = 1.0F;
      }

      this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, var4, var5, 0, var6, Class545_Sub2_Sub1.method15855(this.aClass98_4079, this.aClass91_4082), var7);
   }

   public int method95() {
      return this.anInt8089;
   }

   Class329_Sub2(Class545_Sub2_Sub1 var1, Class98 var2, int var3, int var4, boolean var5, byte[] var6, int var7, int var8) {
      super(var1, var2, Class91.aClass91_897, var5 && var1.aBool10316, var3 * var4);
      if(!this.aClass545_Sub2_Sub1_4080.aBool10303) {
         this.anInt8089 = Class468.method7880(var3, (byte)-23);
         this.anInt8085 = Class468.method7880(var4, (byte)-102);
         this.aFloat8086 = (float)var3 / (float)this.anInt8089;
         this.aFloat8087 = (float)var4 / (float)this.anInt8085;
         if(var3 != this.anInt8089 || var4 != this.anInt8085) {
            var6 = this.method13049(var3, var4, this.anInt8089, this.anInt8085, var6, var7, var8, var2.anInt996 * 1946169797);
            var7 = 0;
            var8 = this.anInt8089;
         }
      } else {
         this.anInt8089 = var3;
         this.anInt8085 = var4;
         this.aFloat8086 = 1.0F;
         this.aFloat8087 = 1.0F;
      }

      if(var5) {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 0, 1024, Class545_Sub2_Sub1.method15855(this.aClass98_4079, Class91.aClass91_897), 1);
      } else {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 1, 0, Class545_Sub2_Sub1.method15855(this.aClass98_4079, Class91.aClass91_897), 1);
      }

      if(var8 == 0) {
         var8 = this.anInt8089;
      }

      ByteBuffer var9 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
      var9.clear();
      Class98 var10001 = this.aClass98_4079;
      if(this.aClass98_4079 == Class98.aClass98_993) {
         var9.put(var6, var7, this.anInt8085 * this.anInt8089 / 2);
         IDirect3DTexture.Upload(this.aLong4078, 0, 0, 0, this.anInt8089, this.anInt8085 / 4, this.anInt8089 / 4 * 8, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         var10001 = this.aClass98_4079;
         if(this.aClass98_4079 == Class98.aClass98_986) {
            var9.put(var6, var7, this.anInt8085 * this.anInt8089);
            IDirect3DTexture.Upload(this.aLong4078, 0, 0, 0, this.anInt8089, this.anInt8085 / 4, this.anInt8089 / 4 * 16, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         } else {
            var9.put(var6, var7, var8 * this.anInt8085);
            IDirect3DTexture.Upload(this.aLong4078, 0, 0, 0, this.anInt8089, this.anInt8085, var8 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         }
      }

   }

   Class329_Sub2(Class545_Sub2_Sub1 var1, Class98 var2, int var3, int var4, boolean var5, float[] var6, int var7, int var8) {
      super(var1, var2, Class91.aClass91_897, var5 && var1.aBool10316, var3 * var4);
      if(!this.aClass545_Sub2_Sub1_4080.aBool10303) {
         this.anInt8089 = Class468.method7880(var3, (byte)-106);
         this.anInt8085 = Class468.method7880(var4, (byte)-127);
         this.aFloat8086 = (float)var3 / (float)this.anInt8089;
         this.aFloat8087 = (float)var4 / (float)this.anInt8085;
         if(var3 != this.anInt8089 || var4 != this.anInt8085) {
            var6 = this.method13046(var3, var4, this.anInt8089, this.anInt8085, var6, var7, var8, var2.anInt996 * 1946169797);
            var7 = 0;
            var8 = this.anInt8089;
         }
      } else {
         this.anInt8089 = var3;
         this.anInt8085 = var4;
         this.aFloat8086 = 1.0F;
         this.aFloat8087 = 1.0F;
      }

      if(var5) {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 0, 1024, Class545_Sub2_Sub1.method15855(this.aClass98_4079, Class91.aClass91_902), 1);
      } else {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 1, 0, Class545_Sub2_Sub1.method15855(this.aClass98_4079, Class91.aClass91_902), 1);
      }

      if(var8 == 0) {
         var8 = this.anInt8089;
      }

      ByteBuffer var9 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
      var9.clear();
      var9.asFloatBuffer().put(var6, var7, var8 * this.anInt8085 * this.aClass98_4079.anInt996 * 1946169797);
      IDirect3DTexture.Upload(this.aLong4078, 0, 0, 0, this.anInt8089, this.anInt8085, var8 * this.aClass98_4079.anInt996 * 1946169797 * 4, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
   }

   public int method30() {
      return this.anInt8089;
   }

   public int method194() {
      return this.anInt8085;
   }

   public float method184(float var1) {
      return var1 / (float)this.anInt8089;
   }

   Class329_Sub2(Class545_Sub2_Sub1 var1, int var2, int var3, boolean var4, int[] var5, int var6, int var7) {
      super(var1, Class98.aClass98_992, Class91.aClass91_897, var4 && var1.aBool10316, var2 * var3);
      if(!this.aClass545_Sub2_Sub1_4080.aBool10303) {
         this.anInt8089 = Class468.method7880(var2, (byte)-109);
         this.anInt8085 = Class468.method7880(var3, (byte)-40);
         this.aFloat8086 = (float)var2 / (float)this.anInt8089;
         this.aFloat8087 = (float)var3 / (float)this.anInt8085;
         if(var2 != this.anInt8089 || var3 != this.anInt8085) {
            var5 = this.method13048(var2, var3, this.anInt8089, this.anInt8085, var5, var6, var7);
            var6 = 0;
            var7 = this.anInt8089;
         }
      } else {
         this.anInt8089 = var2;
         this.anInt8085 = var3;
         this.aFloat8086 = 1.0F;
         this.aFloat8087 = 1.0F;
      }

      if(var4) {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 0, 1024, 21, 1);
      } else {
         this.aLong4078 = IDirect3DDevice.CreateTexture(this.aClass545_Sub2_Sub1_4080.aLong10294, this.anInt8089, this.anInt8085, 1, 0, 21, 1);
      }

      if(var7 == 0) {
         var7 = this.anInt8089;
      }

      ByteBuffer var8 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
      var8.clear();
      var8.asIntBuffer().put(var5, var6, var7 * this.anInt8085);
      IDirect3DTexture.Upload(this.aLong4078, 0, 0, 0, this.anInt8089, this.anInt8085, var7 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
   }

   float[] method13046(int var1, int var2, int var3, int var4, float[] var5, int var6, int var7, int var8) {
      float[] var9 = new float[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            float[] var15 = new float[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   public void method206(boolean var1, boolean var2) {
      this.aBool8088 = var1;
      this.aBool8084 = var2;
   }

   public float method191() {
      return this.aFloat8087;
   }

   long method6066() {
      return this.aLong4078;
   }

   public void method224(Class353 var1) {
      super.method224(var1);
   }

   byte[] method13047(int var1, int var2, int var3, int var4, byte[] var5, int var6, int var7, int var8) {
      byte[] var9 = new byte[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            byte[] var15 = new byte[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   public float method193(float var1) {
      return var1 / (float)this.anInt8089;
   }

   public void method205(int var1, int var2, int var3, int var4, byte[] var5, Class98 var6, int var7, int var8) {
      if(this.aClass98_4079 == var6 && this.aClass91_4082 == Class91.aClass91_897) {
         if(var8 == 0) {
            var8 = var3;
         }

         ByteBuffer var9 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var9.clear();
         var9.put(var5, var7, var8 * var4);
         IDirect3DTexture.Upload(this.aLong4078, 0, var1, var2, var3, var4, var8 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         throw new RuntimeException();
      }
   }

   public void method200(int var1, int var2, int var3, int var4, int[] var5, int var6, int var7) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         if(var7 == 0) {
            var7 = var3;
         }

         ByteBuffer var8 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var8.clear();
         var8.asIntBuffer().put(var5, var6, var7 * var4);
         IDirect3DTexture.Upload(this.aLong4078, 0, var1, var2, var3, var4, var7 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         throw new RuntimeException();
      }
   }

   public void method228() {
      this.aClass545_Sub2_Sub1_4080.method15859(this);
   }

   public boolean method209() {
      return false;
   }

   int[] method13048(int var1, int var2, int var3, int var4, int[] var5, int var6, int var7) {
      int[] var8 = new int[var3 * var4];
      if(var7 == 0) {
         var7 = var1;
      }

      for(int var9 = 0; var9 < var4; ++var9) {
         int var10;
         int var11;
         if(var9 < var2) {
            var10 = var6 + var9 * var7;

            for(var11 = 0; var11 < var1; ++var11) {
               var8[var3 * var9 + var11] = var5[var10 + var11];
            }

            var11 = var5[var10 + (var1 - 1)];

            for(int var12 = var1; var12 < var3; ++var12) {
               var8[var3 * var9 + var12] = var11;
            }
         } else {
            var10 = var3 * (var2 - 1);

            for(var11 = 0; var11 < var3; ++var11) {
               var8[var3 * var9 + var11] = var8[var10 + var11];
            }
         }
      }

      return var8;
   }

   public boolean method186() {
      return true;
   }

   byte[] method13049(int var1, int var2, int var3, int var4, byte[] var5, int var6, int var7, int var8) {
      byte[] var9 = new byte[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            byte[] var15 = new byte[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   public void method10() {
      super.method10();
   }

   public float method198(float var1) {
      return var1 / (float)this.anInt8085;
   }

   public void method9() {
      super.method10();
   }

   public int method35() {
      return this.anInt8085;
   }

   public void method189(int var1, int var2, int var3, int var4, int[] var5, int var6) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         ByteBuffer var7 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var7.clear();
         IDirect3DTexture.Download(this.aLong4078, 0, var1, var2, var3, var4, var3 * 4, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         var7.asIntBuffer().get(var5, var6, var3 * var4);
      } else {
         throw new RuntimeException();
      }
   }

   public void method208(int var1, int var2, int var3, int var4, int[] var5, int var6) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         ByteBuffer var7 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var7.clear();
         IDirect3DTexture.Download(this.aLong4078, 0, var1, var2, var3, var4, var3 * 4, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         var7.asIntBuffer().get(var5, var6, var3 * var4);
      } else {
         throw new RuntimeException();
      }
   }

   public float method185(float var1) {
      return var1 / (float)this.anInt8085;
   }

   public int method176() {
      return this.anInt8085;
   }

   public boolean method199() {
      return true;
   }

   public float method197(float var1) {
      return var1 / (float)this.anInt8089;
   }

   public boolean method211() {
      return false;
   }

   public int method94() {
      return this.anInt8089;
   }

   public void method203(boolean var1, boolean var2) {
      this.aBool8088 = var1;
      this.aBool8084 = var2;
   }

   public void method202(boolean var1, boolean var2) {
      this.aBool8088 = var1;
      this.aBool8084 = var2;
   }

   public void method8() {
      super.method10();
   }

   public void method210(int var1, int var2, int var3, int var4, int[] var5, int var6, int var7) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         if(var7 == 0) {
            var7 = var3;
         }

         ByteBuffer var8 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var8.clear();
         var8.asIntBuffer().put(var5, var6, var7 * var4);
         IDirect3DTexture.Upload(this.aLong4078, 0, var1, var2, var3, var4, var7 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         throw new RuntimeException();
      }
   }

   public void method204(int var1, int var2, int var3, int var4, byte[] var5, Class98 var6, int var7, int var8) {
      if(this.aClass98_4079 == var6 && this.aClass91_4082 == Class91.aClass91_897) {
         if(var8 == 0) {
            var8 = var3;
         }

         ByteBuffer var9 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var9.clear();
         var9.put(var5, var7, var8 * var4);
         IDirect3DTexture.Upload(this.aLong4078, 0, var1, var2, var3, var4, var8 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         throw new RuntimeException();
      }
   }

   public void method201(int var1, int var2, int var3, int var4, byte[] var5, Class98 var6, int var7, int var8) {
      if(this.aClass98_4079 == var6 && this.aClass91_4082 == Class91.aClass91_897) {
         if(var8 == 0) {
            var8 = var3;
         }

         ByteBuffer var9 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var9.clear();
         var9.put(var5, var7, var8 * var4);
         IDirect3DTexture.Upload(this.aLong4078, 0, var1, var2, var3, var4, var8 * this.aClass98_4079.anInt996 * 1946169797, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
      } else {
         throw new RuntimeException();
      }
   }

   public void method188(int var1, int var2, int var3, int var4, int[] var5, int var6) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         ByteBuffer var7 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var7.clear();
         IDirect3DTexture.Download(this.aLong4078, 0, var1, var2, var3, var4, var3 * 4, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         var7.asIntBuffer().get(var5, var6, var3 * var4);
      } else {
         throw new RuntimeException();
      }
   }

   public void method207(int var1, int var2, int var3, int var4, int[] var5, int var6) {
      if(this.aClass98_4079 == Class98.aClass98_992 && this.aClass91_4082 == Class91.aClass91_897) {
         ByteBuffer var7 = this.aClass545_Sub2_Sub1_4080.aByteBuffer9763;
         var7.clear();
         IDirect3DTexture.Download(this.aLong4078, 0, var1, var2, var3, var4, var3 * 4, 0, this.aClass545_Sub2_Sub1_4080.aLong9730);
         var7.asIntBuffer().get(var5, var6, var3 * var4);
      } else {
         throw new RuntimeException();
      }
   }

   public float method190() {
      return this.aFloat8086;
   }

   public float method196() {
      return this.aFloat8086;
   }

   public float method192() {
      return this.aFloat8087;
   }

   Class329_Sub2(Class545_Sub2_Sub1 var1, Class98 var2, Class91 var3, int var4, int var5) {
      this(var1, var2, var3, var4, var5, 0, 1);
   }

   public boolean method212() {
      return false;
   }

   public void method227() {
      this.aClass545_Sub2_Sub1_4080.method15859(this);
   }

   public void method187(boolean var1, boolean var2) {
      this.aBool8088 = var1;
      this.aBool8084 = var2;
   }

   public int method195() {
      return this.anInt8085;
   }

   public void method226() {
      this.aClass545_Sub2_Sub1_4080.method15859(this);
   }

   long method6070() {
      return this.aLong4078;
   }

   long method6071() {
      return this.aLong4078;
   }

   long method6068() {
      return this.aLong4078;
   }

   int[] method13050(int var1, int var2, int var3, int var4, int[] var5, int var6, int var7) {
      int[] var8 = new int[var3 * var4];
      if(var7 == 0) {
         var7 = var1;
      }

      for(int var9 = 0; var9 < var4; ++var9) {
         int var10;
         int var11;
         if(var9 < var2) {
            var10 = var6 + var9 * var7;

            for(var11 = 0; var11 < var1; ++var11) {
               var8[var3 * var9 + var11] = var5[var10 + var11];
            }

            var11 = var5[var10 + (var1 - 1)];

            for(int var12 = var1; var12 < var3; ++var12) {
               var8[var3 * var9 + var12] = var11;
            }
         } else {
            var10 = var3 * (var2 - 1);

            for(var11 = 0; var11 < var3; ++var11) {
               var8[var3 * var9 + var11] = var8[var10 + var11];
            }
         }
      }

      return var8;
   }

   float[] method13051(int var1, int var2, int var3, int var4, float[] var5, int var6, int var7, int var8) {
      float[] var9 = new float[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            float[] var15 = new float[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   float[] method13052(int var1, int var2, int var3, int var4, float[] var5, int var6, int var7, int var8) {
      float[] var9 = new float[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            float[] var15 = new float[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   float[] method13053(int var1, int var2, int var3, int var4, float[] var5, int var6, int var7, int var8) {
      float[] var9 = new float[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            float[] var15 = new float[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   public void method225(Class353 var1) {
      super.method224(var1);
   }

   byte[] method13054(int var1, int var2, int var3, int var4, byte[] var5, int var6, int var7, int var8) {
      byte[] var9 = new byte[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            byte[] var15 = new byte[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }

   byte[] method13055(int var1, int var2, int var3, int var4, byte[] var5, int var6, int var7, int var8) {
      byte[] var9 = new byte[var3 * var4 * var8];
      if(var7 == 0) {
         var7 = var1 * var8;
      }

      for(int var10 = 0; var10 < var4; ++var10) {
         int var11;
         int var12;
         int var13;
         if(var10 < var2) {
            var11 = var6 + var10 * var7;

            for(var12 = 0; var12 < var1; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var5[var11 + var12 * var8 + var13];
               }
            }

            byte[] var15 = new byte[var8];

            for(var13 = 0; var13 < var8; ++var13) {
               var15[var13] = var5[var11 + (var1 - 1) * var8 + var13];
            }

            for(var13 = var1; var13 < var3; ++var13) {
               for(int var14 = 0; var14 < var8; ++var14) {
                  var9[var3 * var10 * var8 + var13 * var8 + var14] = var15[var14];
               }
            }
         } else {
            var11 = var3 * (var2 - 1) * var8;

            for(var12 = 0; var12 < var3; ++var12) {
               for(var13 = 0; var13 < var8; ++var13) {
                  var9[var3 * var10 * var8 + var12 * var8 + var13] = var9[var11 + var12 * var8 + var13];
               }
            }
         }
      }

      return var9;
   }
}
