/* Class93 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import jaclib.memory.Buffer;

import jaggl.OpenGL;

public abstract class Class93
{
    Class151_Sub3 aClass151_Sub3_1258;
    static final int anInt1259 = 34963;
    boolean aBool1260 = false;
    int anInt1261;
    static final int anInt1262 = 34962;
    static int[] anIntArray1263 = new int[1];
    boolean aBool1264;
    int anInt1265;
    int anInt1266;
    
    void method1259() throws Throwable {
	if (!((Class93) this).aBool1260) {
	    ((Class93) this).aClass151_Sub3_1258.method8640((((Class93) this)
							     .anInt1266),
							    (((Class93) this)
							     .anInt1265));
	    ((Class93) this).aBool1260 = true;
	}
	super.finalize();
    }
    
    Class93(Class151_Sub3 class151_sub3, int i, Buffer buffer, int i_0_,
	    boolean bool) {
	((Class93) this).aClass151_Sub3_1258 = class151_sub3;
	((Class93) this).anInt1261 = i;
	((Class93) this).anInt1265 = i_0_;
	((Class93) this).aBool1264 = bool;
	OpenGL.glGenBuffersARB(1, anIntArray1263, 0);
	((Class93) this).anInt1266 = anIntArray1263[0];
	method1260();
	OpenGL.glBufferDataARBa(i, ((Class93) this).anInt1265,
				buffer.method2(),
				((Class93) this).aBool1264 ? 35040 : 35044);
	((Class151_Sub3) ((Class93) this).aClass151_Sub3_1258).anInt9261
	    += ((Class93) this).anInt1265;
    }
    
    abstract void method1260();
    
    Class93(Class151_Sub3 class151_sub3, int i, byte[] is, int i_1_,
	    boolean bool) {
	((Class93) this).aClass151_Sub3_1258 = class151_sub3;
	((Class93) this).anInt1261 = i;
	((Class93) this).anInt1265 = i_1_;
	((Class93) this).aBool1264 = bool;
	OpenGL.glGenBuffersARB(1, anIntArray1263, 0);
	((Class93) this).anInt1266 = anIntArray1263[0];
	method1260();
	OpenGL.glBufferDataARBub(i, ((Class93) this).anInt1265, is, 0,
				 ((Class93) this).aBool1264 ? 35040 : 35044);
	((Class151_Sub3) ((Class93) this).aClass151_Sub3_1258).anInt9261
	    += ((Class93) this).anInt1265;
    }
    
    public void finalize() throws Throwable {
	if (!((Class93) this).aBool1260) {
	    ((Class93) this).aClass151_Sub3_1258.method8640((((Class93) this)
							     .anInt1266),
							    (((Class93) this)
							     .anInt1265));
	    ((Class93) this).aBool1260 = true;
	}
	super.finalize();
    }
    
    void method1261(byte[] is, int i) {
	method1260();
	if (i > ((Class93) this).anInt1265) {
	    OpenGL.glBufferDataARBub(((Class93) this).anInt1261, i, is, 0,
				     (((Class93) this).aBool1264 ? 35040
				      : 35044));
	    ((Class151_Sub3) ((Class93) this).aClass151_Sub3_1258).anInt9261
		+= i - ((Class93) this).anInt1265;
	    ((Class93) this).anInt1265 = i;
	} else
	    OpenGL.glBufferSubDataARBub(((Class93) this).anInt1261, 0, i, is,
					0);
    }
    
    void method1262() throws Throwable {
	if (!((Class93) this).aBool1260) {
	    ((Class93) this).aClass151_Sub3_1258.method8640((((Class93) this)
							     .anInt1266),
							    (((Class93) this)
							     .anInt1265));
	    ((Class93) this).aBool1260 = true;
	}
	super.finalize();
    }
    
    abstract void method1263();
    
    abstract void method1264();
    
    void method1265(byte[] is, int i) {
	method1260();
	if (i > ((Class93) this).anInt1265) {
	    OpenGL.glBufferDataARBub(((Class93) this).anInt1261, i, is, 0,
				     (((Class93) this).aBool1264 ? 35040
				      : 35044));
	    ((Class151_Sub3) ((Class93) this).aClass151_Sub3_1258).anInt9261
		+= i - ((Class93) this).anInt1265;
	    ((Class93) this).anInt1265 = i;
	} else
	    OpenGL.glBufferSubDataARBub(((Class93) this).anInt1261, 0, i, is,
					0);
    }
}
