/* Class376 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import jagdx.IDirect3DDevice;
import jagdx.IDirect3DVertexBuffer;
import jagdx.IUnknown;

public class Class376 implements Interface33
{
    byte aByte4202;
    int anInt4203;
    Class151_Sub2_Sub1 aClass151_Sub2_Sub1_4204;
    boolean aBool4205;
    long aLong4206 = 0L;
    int anInt4207;
    
    public void method79() {
	if (((Class376) this).aLong4206 != 0L) {
	    IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206 = 0L;
	}
	((Class376) this).anInt4203 = 0;
	((Class376) this).anInt4207 = 0;
	((Class376) this).aClass151_Sub2_Sub1_4204.method8237(this);
    }
    
    public long method208(int i, int i_0_) {
	return IDirect3DVertexBuffer.Lock(((Class376) this).aLong4206, i, i_0_,
					  (((Class376) this).aBool4205 ? 8192
					   : 0));
    }
    
    int method4597() {
	return ((Class376) this).aByte4202;
    }
    
    public boolean method216(int i, int i_1_) {
	((Class376) this).anInt4207 = i;
	((Class376) this).aByte4202 = (byte) i_1_;
	if (((Class376) this).anInt4207 > ((Class376) this).anInt4203) {
	    int i_2_ = 8;
	    int i_3_;
	    if (((Class376) this).aBool4205) {
		i_3_ = 0;
		i_2_ |= 0x200;
	    } else
		i_3_ = 1;
	    if (((Class376) this).aLong4206 != 0L)
		IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206
		= (IDirect3DDevice.CreateVertexBuffer
		   (((Class151_Sub2_Sub1)
		     ((Class376) this).aClass151_Sub2_Sub1_4204).aLong11097,
		    ((Class376) this).anInt4207, i_2_, 0, i_3_));
	    ((Class376) this).anInt4203 = ((Class376) this).anInt4207;
	}
	return ((Class376) this).aLong4206 != 0L;
    }
    
    void method4598() {
	method4599();
    }
    
    public void method211() {
	IDirect3DVertexBuffer.Unlock(((Class376) this).aLong4206);
    }
    
    public boolean method209(int i, int i_4_, long l) {
	return Class326.method4295(IDirect3DVertexBuffer.Upload
				   (((Class376) this).aLong4206, i, i_4_,
				    ((Class376) this).aBool4205 ? 8192 : 0,
				    l));
    }
    
    public void method80() {
	if (((Class376) this).aLong4206 != 0L) {
	    IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206 = 0L;
	}
	((Class376) this).anInt4203 = 0;
	((Class376) this).anInt4207 = 0;
	((Class376) this).aClass151_Sub2_Sub1_4204.method8237(this);
    }
    
    void method4599() {
	if (((Class376) this).aLong4206 != 0L) {
	    ((Class376) this).aClass151_Sub2_Sub1_4204
		.method10197(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206 = 0L;
	    ((Class376) this).anInt4203 = 0;
	    ((Class376) this).anInt4207 = 0;
	}
    }
    
    public void finalize() {
	method4599();
    }
    
    public int method5() {
	return ((Class376) this).anInt4207;
    }
    
    public void method81() {
	if (((Class376) this).aLong4206 != 0L) {
	    IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206 = 0L;
	}
	((Class376) this).anInt4203 = 0;
	((Class376) this).anInt4207 = 0;
	((Class376) this).aClass151_Sub2_Sub1_4204.method8237(this);
    }
    
    void method4600() {
	method4599();
    }
    
    public boolean method213(int i, int i_5_, long l) {
	return Class326.method4295(IDirect3DVertexBuffer.Upload
				   (((Class376) this).aLong4206, i, i_5_,
				    ((Class376) this).aBool4205 ? 8192 : 0,
				    l));
    }
    
    public boolean method217(int i, int i_6_) {
	((Class376) this).anInt4207 = i;
	((Class376) this).aByte4202 = (byte) i_6_;
	if (((Class376) this).anInt4207 > ((Class376) this).anInt4203) {
	    int i_7_ = 8;
	    int i_8_;
	    if (((Class376) this).aBool4205) {
		i_8_ = 0;
		i_7_ |= 0x200;
	    } else
		i_8_ = 1;
	    if (((Class376) this).aLong4206 != 0L)
		IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206
		= (IDirect3DDevice.CreateVertexBuffer
		   (((Class151_Sub2_Sub1)
		     ((Class376) this).aClass151_Sub2_Sub1_4204).aLong11097,
		    ((Class376) this).anInt4207, i_7_, 0, i_8_));
	    ((Class376) this).anInt4203 = ((Class376) this).anInt4207;
	}
	return ((Class376) this).aLong4206 != 0L;
    }
    
    Class376(Class151_Sub2_Sub1 class151_sub2_sub1, boolean bool) {
	((Class376) this).aClass151_Sub2_Sub1_4204 = class151_sub2_sub1;
	((Class376) this).aBool4205 = bool;
	((Class376) this).aClass151_Sub2_Sub1_4204.method8379(this);
    }
    
    public long method210(int i, int i_9_) {
	return IDirect3DVertexBuffer.Lock(((Class376) this).aLong4206, i, i_9_,
					  (((Class376) this).aBool4205 ? 8192
					   : 0));
    }
    
    public boolean method215(int i, int i_10_) {
	((Class376) this).anInt4207 = i;
	((Class376) this).aByte4202 = (byte) i_10_;
	if (((Class376) this).anInt4207 > ((Class376) this).anInt4203) {
	    int i_11_ = 8;
	    int i_12_;
	    if (((Class376) this).aBool4205) {
		i_12_ = 0;
		i_11_ |= 0x200;
	    } else
		i_12_ = 1;
	    if (((Class376) this).aLong4206 != 0L)
		IUnknown.Release(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206
		= (IDirect3DDevice.CreateVertexBuffer
		   (((Class151_Sub2_Sub1)
		     ((Class376) this).aClass151_Sub2_Sub1_4204).aLong11097,
		    ((Class376) this).anInt4207, i_11_, 0, i_12_));
	    ((Class376) this).anInt4203 = ((Class376) this).anInt4207;
	}
	return ((Class376) this).aLong4206 != 0L;
    }
    
    public void method212() {
	IDirect3DVertexBuffer.Unlock(((Class376) this).aLong4206);
    }
    
    public int method206() {
	return ((Class376) this).anInt4207;
    }
    
    public boolean method214(int i, int i_13_, long l) {
	return Class326.method4295(IDirect3DVertexBuffer.Upload
				   (((Class376) this).aLong4206, i, i_13_,
				    ((Class376) this).aBool4205 ? 8192 : 0,
				    l));
    }
    
    public long method207(int i, int i_14_) {
	return IDirect3DVertexBuffer.Lock(((Class376) this).aLong4206, i,
					  i_14_,
					  (((Class376) this).aBool4205 ? 8192
					   : 0));
    }
    
    int method4601() {
	return ((Class376) this).aByte4202;
    }
    
    int method4602() {
	return ((Class376) this).aByte4202;
    }
    
    void method4603() {
	if (((Class376) this).aLong4206 != 0L) {
	    ((Class376) this).aClass151_Sub2_Sub1_4204
		.method10197(((Class376) this).aLong4206);
	    ((Class376) this).aLong4206 = 0L;
	    ((Class376) this).anInt4203 = 0;
	    ((Class376) this).anInt4207 = 0;
	}
    }
}
