Thread: Galkons - 508 Objects

Results 1 to 7 of 7
  1. #1  
    Banned
    Join Date
    Oct 2011
    Posts
    14
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Whenever I replace the loc.dat/loc.idx in the cache using toms cache suite, and adding an objectdef.java that supports higher revision of models, and try to login, it freezes me at loading - please wait. I'd be more than horny for help
    Last edited by Scu11; 11-08-2011 at 11:44 PM.
    Reply With Quote  
     

  2. #2  
    q.q


    Join Date
    Dec 2010
    Posts
    6,535
    Thanks given
    1,072
    Thanks received
    3,534
    Rep Power
    4752
    go to line 65 of class36 and paste the line
    Reply With Quote  
     

  3. #3  
    Banned
    Join Date
    Oct 2011
    Posts
    14
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by Harlan View Post
    go to line 65 of class36 and paste the line
    if(class18.anIntArray342[i3] != 0) {

    It doesnt have anything to do with the animations, its not an animation problem, its an object problem
    Reply With Quote  
     

  4. #4  
    Respected Member

    Revil's Avatar
    Join Date
    Nov 2010
    Age
    27
    Posts
    4,883
    Thanks given
    3,717
    Thanks received
    2,233
    Rep Power
    5000
    Code:
    public final class ObjectDef {
    
    	public static ObjectDef forID(int i) {
    		if (i > streamIndices.length)
    			i = streamIndices.length - 1;
    		for (int j = 0; j < 20; j++)
    			if (cache[j].type == i)
    				return cache[j];
    		cacheIndex = (cacheIndex + 1) % 20;
    		ObjectDef class46 = cache[cacheIndex];
    		try {
    		stream.currentOffset = streamIndices[i];
    		} catch(Exception e) {}
    		class46.type = i;
    		class46.setDefaults();
    		class46.readValues(stream);
    		if (class46.anInt781 == -1)
    			class46.anInt781 = 0;
    		return class46;
    	}
    
    	public void setDefaults() {
    		anIntArray773 = null;
    		anIntArray776 = null;
    		name = null;
    		description = null;
    		modifiedModelColors = null;
    		originalModelColors = null;
    		anInt744 = 1;
    		anInt761 = 1;
    		aBoolean767 = true;
    		aBoolean757 = true;
    		hasActions = false;
    		aBoolean762 = false;
    		aBoolean769 = false;
    		aBoolean764 = false;
    		anInt781 = -1;
    		anInt775 = 16;
    		aByte737 = 0;
    		aByte742 = 0;
    		itemActions = null;
    		anInt746 = -1;
    		anInt758 = -1;
    		aBoolean751 = false;
    		aBoolean779 = true;
    		anInt748 = 128;
    		anInt772 = 128;
    		anInt740 = 128;
    		anInt768 = 0;
    		anInt738 = 0;
    		anInt745 = 0;
    		anInt783 = 0;
    		aBoolean736 = false;
    		aBoolean766 = false;
    		anInt760 = -1;
    		anInt774 = -1;
    		anInt749 = -1;
    		childrenIDs = null;
    	}
    
    	public void method574(OnDemandFetcher class42_sub1) {
    		if (anIntArray773 == null)
    			return;
    		for (int j = 0; j < anIntArray773.length; j++)
    			class42_sub1.method560(anIntArray773[j] & 0xffff, 0);
    	}
    
    	public static void nullLoader() {
    		mruNodes1 = null;
    		mruNodes2 = null;
    		streamIndices = null;
    		cache = null;
    		stream = null;
    	}
    
    	public static void unpackConfig(StreamLoader streamLoader) {
    		stream = new Stream(streamLoader.getDataForName("loc.dat"));
    		Stream stream = new Stream(streamLoader.getDataForName("loc.idx"));
    		int totalObjects = stream.readUnsignedWord();
    		System.out.println("508 Object Amount: " + totalObjects);
    		streamIndices = new int[totalObjects];
    		int i = 2;
    		for (int j = 0; j < totalObjects; j++) {
    			streamIndices[j] = i;
    			i += stream.readUnsignedWord();
    		}
    		cache = new ObjectDef[20];
    		for (int k = 0; k < 20; k++)
    			cache[k] = new ObjectDef();
    		/*for (int I = 0; I < totalObjects; I++) {
    				ObjectDef D = ObjectDef.forID(I);
    			if (D.anIntArray773 != null) {
    				for (int i2 = 0; i2 < D.anIntArray773.length; i2++) {
    					byte[] Byte0 = FileOperations.ReadFile("525Models/" + D.anIntArray773[i2] + ".dat");
    					FileOperations.WriteFile("508 Models/" + D.anIntArray773[i2] + ".dat", Byte0);
    				}
    			}
    		}*/
    	}
    
    	public boolean method577(int i) {
    		if (anIntArray776 == null) {
    			if (anIntArray773 == null)
    				return true;
    			if (i != 10)
    				return true;
    			boolean flag1 = true;
    			for (int k = 0; k < anIntArray773.length; k++)
    				flag1 &= Model.method463(anIntArray773[k] & 0xffff);
    
    			return flag1;
    		}
    		for (int j = 0; j < anIntArray776.length; j++)
    			if (anIntArray776[j] == i)
    				return Model.method463(anIntArray773[j] & 0xffff);
    
    		return true;
    	}
    
    	public Model method578(int i, int j, int k, int l, int i1, int j1, int k1) {
    		Model model = method581(i, k1, j);
    		if (model == null)
    			return null;
    		if (aBoolean762 || aBoolean769)
    			model = new Model(aBoolean762, aBoolean769, model);
    		if (aBoolean762) {
    			int l1 = (k + l + i1 + j1) / 4;
    			for (int i2 = 0; i2 < model.anInt1626; i2++) {
    				int j2 = model.anIntArray1627[i2];
    				int k2 = model.anIntArray1629[i2];
    				int l2 = k + ((l - k) * (j2 + 64)) / 128;
    				int i3 = j1 + ((i1 - j1) * (j2 + 64)) / 128;
    				int j3 = l2 + ((i3 - l2) * (k2 + 64)) / 128;
    				model.anIntArray1628[i2] += j3 - l1;
    			}
    			model.method467();
    		}
    		return model;
    	}
    
    	public boolean method579() {
    		if (anIntArray773 == null)
    			return true;
    		boolean flag1 = true;
    		for (int i = 0; i < anIntArray773.length; i++)
    			flag1 &= Model.method463(anIntArray773[i] & 0xffff);
    		return flag1;
    	}
    
    	public ObjectDef method580() {
    		int i = -1;
    		if (anInt774 != -1) {
    			VarBit varBit = VarBit.cache[anInt774];
    			int j = varBit.anInt648;
    			int k = varBit.anInt649;
    			int l = varBit.anInt650;
    			int i1 = client.anIntArray1232[l - k];
    			i = clientInstance.variousSettings[j] >> k & i1;
    		} else if (anInt749 != -1)
    			i = clientInstance.variousSettings[anInt749];
    		if (i < 0 || i >= childrenIDs.length || childrenIDs[i] == -1)
    			return null;
    		else
    			return forID(childrenIDs[i]);
    	}
    
    	public Model method581(int j, int k, int l) {
    		Model model = null;
    		long l1;
    		if (anIntArray776 == null) {
    			if (j != 10)
    				return null;
    			l1 = (long) ((type << 6) + l) + ((long) (k + 1) << 32);
    			Model model_1 = (Model) mruNodes2.insertFromCache(l1);
    			if (model_1 != null)
    				return model_1;
    			if (anIntArray773 == null)
    				return null;
    			boolean flag1 = aBoolean751 ^ (l > 3);
    			int k1 = anIntArray773.length;
    			for (int i2 = 0; i2 < k1; i2++) {
    				int l2 = anIntArray773[i2];
    				if (flag1)
    					l2 += 0x10000;
    				model = (Model) mruNodes1.insertFromCache(l2);
    				if (model == null) {
    					model = Model.method462(l2 & 0xffff);
    					if (model == null)
    						return null;
    					if (flag1)
    						model.method477();
    					mruNodes1.removeFromCache(model, l2);
    				}
    				if (k1 > 1)
    					aModelArray741s[i2] = model;
    			}
    
    			if (k1 > 1)
    				model = new Model(k1, aModelArray741s);
    		} else {
    			int i1 = -1;
    			for (int j1 = 0; j1 < anIntArray776.length; j1++) {
    				if (anIntArray776[j1] != j)
    					continue;
    				i1 = j1;
    				break;
    			}
    
    			if (i1 == -1)
    				return null;
    			l1 = (long) ((type << 6) + (i1 << 3) + l) + ((long) (k + 1) << 32);
    			Model model_2 = (Model) mruNodes2.insertFromCache(l1);
    			if (model_2 != null)
    				return model_2;
    			int j2 = anIntArray773[i1];
    			boolean flag3 = aBoolean751 ^ (l > 3);
    			if (flag3)
    				j2 += 0x10000;
    			model = (Model) mruNodes1.insertFromCache(j2);
    			if (model == null) {
    				model = Model.method462(j2 & 0xffff);
    				if (model == null)
    					return null;
    				if (flag3)
    					model.method477();
    				mruNodes1.removeFromCache(model, j2);
    			}
    		}
    		boolean flag;
    		flag = anInt748 != 128 || anInt772 != 128 || anInt740 != 128;
    		boolean flag2;
    		flag2 = anInt738 != 0 || anInt745 != 0 || anInt783 != 0;
    		Model model_3 = new Model(modifiedModelColors == null, Class36
    				.method532(k), l == 0 && k == -1 && !flag && !flag2, model);
    		if (k != -1) {
    			model_3.method469();
    			model_3.method470(k);
    			model_3.anIntArrayArray1658 = null;
    			model_3.anIntArrayArray1657 = null;
    		}
    		while (l-- > 0)
    			model_3.method473();
    		if (modifiedModelColors != null) {
    			for (int k2 = 0; k2 < modifiedModelColors.length; k2++)
    				model_3.method476(modifiedModelColors[k2],
    						originalModelColors[k2]);
    
    		}
    		if (flag)
    			model_3.method478(anInt748, anInt740, anInt772);
    		if (flag2)
    			model_3.method475(anInt738, anInt745, anInt783);
    		model_3.method479(74, 1000, -90, -580, -90, !aBoolean769);
    		if (anInt760 == 1)
    			model_3.anInt1654 = model_3.modelHeight;
    		mruNodes2.removeFromCache(model_3, l1);
    		return model_3;
    	}
    
    	private void readValues(Stream stream) {
    		int i = -1;
    		label0: do {
    			int j;
    			do {
    				j = stream.readUnsignedByte();
    				if (j == 0)
    					break label0;
    				if (j == 1) {
    					int k = stream.readUnsignedByte();
    					if (k > 0)
    						if (anIntArray773 == null || lowMem) {
    							anIntArray776 = new int[k];
    							anIntArray773 = new int[k];
    							for (int k1 = 0; k1 < k; k1++) {
    								anIntArray773[k1] = stream.readUnsignedWord();
    								anIntArray776[k1] = stream.readUnsignedByte();
    							}
    						} else {
    							stream.currentOffset += k * 3;
    						}
    				} else if (j == 2)
    					name = stream.readString();
    				else if (j == 3)
    					description = stream.readBytes();
    				else if (j == 5) {
    					int l = stream.readUnsignedByte();
    					if (l > 0)
    						if (anIntArray773 == null || lowMem) {
    							anIntArray776 = null;
    							anIntArray773 = new int[l];
    							for (int l1 = 0; l1 < l; l1++)
    								anIntArray773[l1] = stream.readUnsignedWord();
    						} else {
    							stream.currentOffset += l * 2;
    						}
    				} else if (j == 14)
    					anInt744 = stream.readUnsignedByte();
    				else if (j == 15)
    					anInt761 = stream.readUnsignedByte();
    				else if (j == 17)
    					aBoolean767 = false;
    				else if (j == 18)
    					aBoolean757 = false;
    				else if (j == 19) {
    					i = stream.readUnsignedByte();
    					if (i == 1)
    						hasActions = true;
    				} else if (j == 21)
    					aBoolean762 = true;
    				else if (j == 22)
    					aBoolean769 = false; // change to false to fix gowwars waterfalls??
    				else if (j == 23)
    					aBoolean764 = true;
    				else if (j == 24) {
    					anInt781 = stream.readUnsignedWord();
    					if (anInt781 == 65535)
    						anInt781 = -1;
    				} else if (j == 28)
    					anInt775 = stream.readUnsignedByte();
    				else if (j == 29)
    					aByte737 = stream.readSignedByte();
    				else if (j == 39)
    					aByte742 = stream.readSignedByte();
    				else if (j >= 30 && j < 39) {
    					if (itemActions == null)
    						itemActions = new String[10];
    					itemActions[j - 30] = stream.readString();
    					if (itemActions[j - 30].equalsIgnoreCase("hidden"))
    						itemActions[j - 30] = null;
    				} else if (j == 40) {
    					int i1 = stream.readUnsignedByte();
    					modifiedModelColors = new int[i1];
    					originalModelColors = new int[i1];
    					for (int i2 = 0; i2 < i1; i2++) {
    						modifiedModelColors[i2] = stream.readUnsignedWord();
    						originalModelColors[i2] = stream.readUnsignedWord();
    					}
    				} else if (j == 60)
    					anInt746 = stream.readUnsignedWord();
    				else if (j == 62)
    					aBoolean751 = true;
    				else if (j == 64)
    					aBoolean779 = false;
    				else if (j == 65)
    					anInt748 = stream.readUnsignedWord();
    				else if (j == 66)
    					anInt772 = stream.readUnsignedWord();
    				else if (j == 67)
    					anInt740 = stream.readUnsignedWord();
    				else if (j == 68)
    					anInt758 = stream.readUnsignedWord();
    				else if (j == 69)
    					anInt768 = stream.readUnsignedByte();
    				else if (j == 70)
    					anInt738 = stream.readSignedWord();
    				else if (j == 71)
    					anInt745 = stream.readSignedWord();
    				else if (j == 72)
    					anInt783 = stream.readSignedWord();
    				else if (j == 73)
    					aBoolean736 = true;
    				else if (j == 74) {
    					aBoolean766 = true;
    				} else {
    					if (j != 75)
    						continue;
    					anInt760 = stream.readUnsignedByte();
    				}
    				continue label0;
    			} while (j != 77);
    			anInt774 = stream.readUnsignedWord();
    			if (anInt774 == 65535)
    				anInt774 = -1;
    			anInt749 = stream.readUnsignedWord();
    			if (anInt749 == 65535)
    				anInt749 = -1;
    			int j1 = stream.readUnsignedByte();
    			childrenIDs = new int[j1 + 1];
    			for (int j2 = 0; j2 <= j1; j2++) {
    				childrenIDs[j2] = stream.readUnsignedWord();
    				if (childrenIDs[j2] == 65535)
    					childrenIDs[j2] = -1;
    			}
    
    		} while (true);
    		if (i == -1) {
    			hasActions = anIntArray773 != null && (anIntArray776 == null || anIntArray776[0] == 10);
    			if (itemActions != null)
    				hasActions = true;
    		}
    		if (aBoolean766) {
    			aBoolean767 = false;
    			aBoolean757 = false;
    		}
    		if (anInt760 == -1)
    			anInt760 = aBoolean767 ? 1 : 0;
    	}
    
    	public ObjectDef() {
    		type = -1;
    	}
    
    	public boolean aBoolean736;
    	public byte aByte737;
    	public int anInt738;
    	public String name;
    	public int anInt740;
    	public static final Model[] aModelArray741s = new Model[4];
    	public byte aByte742;
    	public int anInt744;
    	public int anInt745;
    	public int anInt746;
    	public int[] originalModelColors;
    	public int anInt748;
    	public int anInt749;
    	public boolean aBoolean751;
    	public static boolean lowMem;
    	public static Stream stream;
    	public int type;
    	public static int[] streamIndices;
    	public boolean aBoolean757;
    	public int anInt758;
    	public int childrenIDs[];
    	public int anInt760;
    	public int anInt761;
    	public boolean aBoolean762;
    	public boolean aBoolean764;
    	public static client clientInstance;
    	public boolean aBoolean766;
    	public boolean aBoolean767;
    	public int anInt768;
    	public boolean aBoolean769;
    	public static int cacheIndex;
    	public int anInt772;
    	public int[] anIntArray773;
    	public int anInt774;
    	public int anInt775;
    	public int dummy;
    	public int[] anIntArray776;
    	public byte description[];
    	public boolean hasActions;
    	public boolean aBoolean779;
    	public static MRUNodes mruNodes2 = new MRUNodes(30);
    	public int anInt781;
    	public static ObjectDef[] cache;
    	public int anInt783;
    	public int[] modifiedModelColors;
    	public static MRUNodes mruNodes1 = new MRUNodes(500);
    	public String itemActions[];
    
    }
    Reply With Quote  
     

  5. #5  
    Banned
    Join Date
    Oct 2011
    Posts
    14
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by Revil View Post
    Code:
    public final class ObjectDef {
    
    	public static ObjectDef forID(int i) {
    		if (i > streamIndices.length)
    			i = streamIndices.length - 1;
    		for (int j = 0; j < 20; j++)
    			if (cache[j].type == i)
    				return cache[j];
    		cacheIndex = (cacheIndex + 1) % 20;
    		ObjectDef class46 = cache[cacheIndex];
    		try {
    		stream.currentOffset = streamIndices[i];
    		} catch(Exception e) {}
    		class46.type = i;
    		class46.setDefaults();
    		class46.readValues(stream);
    		if (class46.anInt781 == -1)
    			class46.anInt781 = 0;
    		return class46;
    	}
    
    	public void setDefaults() {
    		anIntArray773 = null;
    		anIntArray776 = null;
    		name = null;
    		description = null;
    		modifiedModelColors = null;
    		originalModelColors = null;
    		anInt744 = 1;
    		anInt761 = 1;
    		aBoolean767 = true;
    		aBoolean757 = true;
    		hasActions = false;
    		aBoolean762 = false;
    		aBoolean769 = false;
    		aBoolean764 = false;
    		anInt781 = -1;
    		anInt775 = 16;
    		aByte737 = 0;
    		aByte742 = 0;
    		itemActions = null;
    		anInt746 = -1;
    		anInt758 = -1;
    		aBoolean751 = false;
    		aBoolean779 = true;
    		anInt748 = 128;
    		anInt772 = 128;
    		anInt740 = 128;
    		anInt768 = 0;
    		anInt738 = 0;
    		anInt745 = 0;
    		anInt783 = 0;
    		aBoolean736 = false;
    		aBoolean766 = false;
    		anInt760 = -1;
    		anInt774 = -1;
    		anInt749 = -1;
    		childrenIDs = null;
    	}
    
    	public void method574(OnDemandFetcher class42_sub1) {
    		if (anIntArray773 == null)
    			return;
    		for (int j = 0; j < anIntArray773.length; j++)
    			class42_sub1.method560(anIntArray773[j] & 0xffff, 0);
    	}
    
    	public static void nullLoader() {
    		mruNodes1 = null;
    		mruNodes2 = null;
    		streamIndices = null;
    		cache = null;
    		stream = null;
    	}
    
    	public static void unpackConfig(StreamLoader streamLoader) {
    		stream = new Stream(streamLoader.getDataForName("loc.dat"));
    		Stream stream = new Stream(streamLoader.getDataForName("loc.idx"));
    		int totalObjects = stream.readUnsignedWord();
    		System.out.println("508 Object Amount: " + totalObjects);
    		streamIndices = new int[totalObjects];
    		int i = 2;
    		for (int j = 0; j < totalObjects; j++) {
    			streamIndices[j] = i;
    			i += stream.readUnsignedWord();
    		}
    		cache = new ObjectDef[20];
    		for (int k = 0; k < 20; k++)
    			cache[k] = new ObjectDef();
    		/*for (int I = 0; I < totalObjects; I++) {
    				ObjectDef D = ObjectDef.forID(I);
    			if (D.anIntArray773 != null) {
    				for (int i2 = 0; i2 < D.anIntArray773.length; i2++) {
    					byte[] Byte0 = FileOperations.ReadFile("525Models/" + D.anIntArray773[i2] + ".dat");
    					FileOperations.WriteFile("508 Models/" + D.anIntArray773[i2] + ".dat", Byte0);
    				}
    			}
    		}*/
    	}
    
    	public boolean method577(int i) {
    		if (anIntArray776 == null) {
    			if (anIntArray773 == null)
    				return true;
    			if (i != 10)
    				return true;
    			boolean flag1 = true;
    			for (int k = 0; k < anIntArray773.length; k++)
    				flag1 &= Model.method463(anIntArray773[k] & 0xffff);
    
    			return flag1;
    		}
    		for (int j = 0; j < anIntArray776.length; j++)
    			if (anIntArray776[j] == i)
    				return Model.method463(anIntArray773[j] & 0xffff);
    
    		return true;
    	}
    
    	public Model method578(int i, int j, int k, int l, int i1, int j1, int k1) {
    		Model model = method581(i, k1, j);
    		if (model == null)
    			return null;
    		if (aBoolean762 || aBoolean769)
    			model = new Model(aBoolean762, aBoolean769, model);
    		if (aBoolean762) {
    			int l1 = (k + l + i1 + j1) / 4;
    			for (int i2 = 0; i2 < model.anInt1626; i2++) {
    				int j2 = model.anIntArray1627[i2];
    				int k2 = model.anIntArray1629[i2];
    				int l2 = k + ((l - k) * (j2 + 64)) / 128;
    				int i3 = j1 + ((i1 - j1) * (j2 + 64)) / 128;
    				int j3 = l2 + ((i3 - l2) * (k2 + 64)) / 128;
    				model.anIntArray1628[i2] += j3 - l1;
    			}
    			model.method467();
    		}
    		return model;
    	}
    
    	public boolean method579() {
    		if (anIntArray773 == null)
    			return true;
    		boolean flag1 = true;
    		for (int i = 0; i < anIntArray773.length; i++)
    			flag1 &= Model.method463(anIntArray773[i] & 0xffff);
    		return flag1;
    	}
    
    	public ObjectDef method580() {
    		int i = -1;
    		if (anInt774 != -1) {
    			VarBit varBit = VarBit.cache[anInt774];
    			int j = varBit.anInt648;
    			int k = varBit.anInt649;
    			int l = varBit.anInt650;
    			int i1 = client.anIntArray1232[l - k];
    			i = clientInstance.variousSettings[j] >> k & i1;
    		} else if (anInt749 != -1)
    			i = clientInstance.variousSettings[anInt749];
    		if (i < 0 || i >= childrenIDs.length || childrenIDs[i] == -1)
    			return null;
    		else
    			return forID(childrenIDs[i]);
    	}
    
    	public Model method581(int j, int k, int l) {
    		Model model = null;
    		long l1;
    		if (anIntArray776 == null) {
    			if (j != 10)
    				return null;
    			l1 = (long) ((type << 6) + l) + ((long) (k + 1) << 32);
    			Model model_1 = (Model) mruNodes2.insertFromCache(l1);
    			if (model_1 != null)
    				return model_1;
    			if (anIntArray773 == null)
    				return null;
    			boolean flag1 = aBoolean751 ^ (l > 3);
    			int k1 = anIntArray773.length;
    			for (int i2 = 0; i2 < k1; i2++) {
    				int l2 = anIntArray773[i2];
    				if (flag1)
    					l2 += 0x10000;
    				model = (Model) mruNodes1.insertFromCache(l2);
    				if (model == null) {
    					model = Model.method462(l2 & 0xffff);
    					if (model == null)
    						return null;
    					if (flag1)
    						model.method477();
    					mruNodes1.removeFromCache(model, l2);
    				}
    				if (k1 > 1)
    					aModelArray741s[i2] = model;
    			}
    
    			if (k1 > 1)
    				model = new Model(k1, aModelArray741s);
    		} else {
    			int i1 = -1;
    			for (int j1 = 0; j1 < anIntArray776.length; j1++) {
    				if (anIntArray776[j1] != j)
    					continue;
    				i1 = j1;
    				break;
    			}
    
    			if (i1 == -1)
    				return null;
    			l1 = (long) ((type << 6) + (i1 << 3) + l) + ((long) (k + 1) << 32);
    			Model model_2 = (Model) mruNodes2.insertFromCache(l1);
    			if (model_2 != null)
    				return model_2;
    			int j2 = anIntArray773[i1];
    			boolean flag3 = aBoolean751 ^ (l > 3);
    			if (flag3)
    				j2 += 0x10000;
    			model = (Model) mruNodes1.insertFromCache(j2);
    			if (model == null) {
    				model = Model.method462(j2 & 0xffff);
    				if (model == null)
    					return null;
    				if (flag3)
    					model.method477();
    				mruNodes1.removeFromCache(model, j2);
    			}
    		}
    		boolean flag;
    		flag = anInt748 != 128 || anInt772 != 128 || anInt740 != 128;
    		boolean flag2;
    		flag2 = anInt738 != 0 || anInt745 != 0 || anInt783 != 0;
    		Model model_3 = new Model(modifiedModelColors == null, Class36
    				.method532(k), l == 0 && k == -1 && !flag && !flag2, model);
    		if (k != -1) {
    			model_3.method469();
    			model_3.method470(k);
    			model_3.anIntArrayArray1658 = null;
    			model_3.anIntArrayArray1657 = null;
    		}
    		while (l-- > 0)
    			model_3.method473();
    		if (modifiedModelColors != null) {
    			for (int k2 = 0; k2 < modifiedModelColors.length; k2++)
    				model_3.method476(modifiedModelColors[k2],
    						originalModelColors[k2]);
    
    		}
    		if (flag)
    			model_3.method478(anInt748, anInt740, anInt772);
    		if (flag2)
    			model_3.method475(anInt738, anInt745, anInt783);
    		model_3.method479(74, 1000, -90, -580, -90, !aBoolean769);
    		if (anInt760 == 1)
    			model_3.anInt1654 = model_3.modelHeight;
    		mruNodes2.removeFromCache(model_3, l1);
    		return model_3;
    	}
    
    	private void readValues(Stream stream) {
    		int i = -1;
    		label0: do {
    			int j;
    			do {
    				j = stream.readUnsignedByte();
    				if (j == 0)
    					break label0;
    				if (j == 1) {
    					int k = stream.readUnsignedByte();
    					if (k > 0)
    						if (anIntArray773 == null || lowMem) {
    							anIntArray776 = new int[k];
    							anIntArray773 = new int[k];
    							for (int k1 = 0; k1 < k; k1++) {
    								anIntArray773[k1] = stream.readUnsignedWord();
    								anIntArray776[k1] = stream.readUnsignedByte();
    							}
    						} else {
    							stream.currentOffset += k * 3;
    						}
    				} else if (j == 2)
    					name = stream.readString();
    				else if (j == 3)
    					description = stream.readBytes();
    				else if (j == 5) {
    					int l = stream.readUnsignedByte();
    					if (l > 0)
    						if (anIntArray773 == null || lowMem) {
    							anIntArray776 = null;
    							anIntArray773 = new int[l];
    							for (int l1 = 0; l1 < l; l1++)
    								anIntArray773[l1] = stream.readUnsignedWord();
    						} else {
    							stream.currentOffset += l * 2;
    						}
    				} else if (j == 14)
    					anInt744 = stream.readUnsignedByte();
    				else if (j == 15)
    					anInt761 = stream.readUnsignedByte();
    				else if (j == 17)
    					aBoolean767 = false;
    				else if (j == 18)
    					aBoolean757 = false;
    				else if (j == 19) {
    					i = stream.readUnsignedByte();
    					if (i == 1)
    						hasActions = true;
    				} else if (j == 21)
    					aBoolean762 = true;
    				else if (j == 22)
    					aBoolean769 = false; // change to false to fix gowwars waterfalls??
    				else if (j == 23)
    					aBoolean764 = true;
    				else if (j == 24) {
    					anInt781 = stream.readUnsignedWord();
    					if (anInt781 == 65535)
    						anInt781 = -1;
    				} else if (j == 28)
    					anInt775 = stream.readUnsignedByte();
    				else if (j == 29)
    					aByte737 = stream.readSignedByte();
    				else if (j == 39)
    					aByte742 = stream.readSignedByte();
    				else if (j >= 30 && j < 39) {
    					if (itemActions == null)
    						itemActions = new String[10];
    					itemActions[j - 30] = stream.readString();
    					if (itemActions[j - 30].equalsIgnoreCase("hidden"))
    						itemActions[j - 30] = null;
    				} else if (j == 40) {
    					int i1 = stream.readUnsignedByte();
    					modifiedModelColors = new int[i1];
    					originalModelColors = new int[i1];
    					for (int i2 = 0; i2 < i1; i2++) {
    						modifiedModelColors[i2] = stream.readUnsignedWord();
    						originalModelColors[i2] = stream.readUnsignedWord();
    					}
    				} else if (j == 60)
    					anInt746 = stream.readUnsignedWord();
    				else if (j == 62)
    					aBoolean751 = true;
    				else if (j == 64)
    					aBoolean779 = false;
    				else if (j == 65)
    					anInt748 = stream.readUnsignedWord();
    				else if (j == 66)
    					anInt772 = stream.readUnsignedWord();
    				else if (j == 67)
    					anInt740 = stream.readUnsignedWord();
    				else if (j == 68)
    					anInt758 = stream.readUnsignedWord();
    				else if (j == 69)
    					anInt768 = stream.readUnsignedByte();
    				else if (j == 70)
    					anInt738 = stream.readSignedWord();
    				else if (j == 71)
    					anInt745 = stream.readSignedWord();
    				else if (j == 72)
    					anInt783 = stream.readSignedWord();
    				else if (j == 73)
    					aBoolean736 = true;
    				else if (j == 74) {
    					aBoolean766 = true;
    				} else {
    					if (j != 75)
    						continue;
    					anInt760 = stream.readUnsignedByte();
    				}
    				continue label0;
    			} while (j != 77);
    			anInt774 = stream.readUnsignedWord();
    			if (anInt774 == 65535)
    				anInt774 = -1;
    			anInt749 = stream.readUnsignedWord();
    			if (anInt749 == 65535)
    				anInt749 = -1;
    			int j1 = stream.readUnsignedByte();
    			childrenIDs = new int[j1 + 1];
    			for (int j2 = 0; j2 <= j1; j2++) {
    				childrenIDs[j2] = stream.readUnsignedWord();
    				if (childrenIDs[j2] == 65535)
    					childrenIDs[j2] = -1;
    			}
    
    		} while (true);
    		if (i == -1) {
    			hasActions = anIntArray773 != null && (anIntArray776 == null || anIntArray776[0] == 10);
    			if (itemActions != null)
    				hasActions = true;
    		}
    		if (aBoolean766) {
    			aBoolean767 = false;
    			aBoolean757 = false;
    		}
    		if (anInt760 == -1)
    			anInt760 = aBoolean767 ? 1 : 0;
    	}
    
    	public ObjectDef() {
    		type = -1;
    	}
    
    	public boolean aBoolean736;
    	public byte aByte737;
    	public int anInt738;
    	public String name;
    	public int anInt740;
    	public static final Model[] aModelArray741s = new Model[4];
    	public byte aByte742;
    	public int anInt744;
    	public int anInt745;
    	public int anInt746;
    	public int[] originalModelColors;
    	public int anInt748;
    	public int anInt749;
    	public boolean aBoolean751;
    	public static boolean lowMem;
    	public static Stream stream;
    	public int type;
    	public static int[] streamIndices;
    	public boolean aBoolean757;
    	public int anInt758;
    	public int childrenIDs[];
    	public int anInt760;
    	public int anInt761;
    	public boolean aBoolean762;
    	public boolean aBoolean764;
    	public static client clientInstance;
    	public boolean aBoolean766;
    	public boolean aBoolean767;
    	public int anInt768;
    	public boolean aBoolean769;
    	public static int cacheIndex;
    	public int anInt772;
    	public int[] anIntArray773;
    	public int anInt774;
    	public int anInt775;
    	public int dummy;
    	public int[] anIntArray776;
    	public byte description[];
    	public boolean hasActions;
    	public boolean aBoolean779;
    	public static MRUNodes mruNodes2 = new MRUNodes(30);
    	public int anInt781;
    	public static ObjectDef[] cache;
    	public int anInt783;
    	public int[] modifiedModelColors;
    	public static MRUNodes mruNodes1 = new MRUNodes(500);
    	public String itemActions[];
    
    }
    still freeze at login..
    Reply With Quote  
     

  6. #6  
    Community Veteran

    Dust R I P's Avatar
    Join Date
    Jan 2008
    Posts
    2,556
    Thanks given
    183
    Thanks received
    198
    Rep Power
    561
    Not all objects are static non animated models.. You need the animations for them aswell.
    Reply With Quote  
     

  7. #7  
    Banned
    Join Date
    Oct 2011
    Posts
    14
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by Dust R I P View Post
    Not all objects are static non animated models.. You need the animations for them aswell.
    Updated animations to 602, still login freezes..
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. [Galkons] Error [Galkons]
    By MistaahSells in forum Help
    Replies: 0
    Last Post: 03-07-2011, 08:02 PM
  2. [GALKONS]Adding 508 maps 100% objects 80%
    By AFGscape in forum Tutorials
    Replies: 27
    Last Post: 09-03-2010, 09:45 PM
  3. [Objects] How to spawn objects
    By rb0opkz in forum Requests
    Replies: 4
    Last Post: 08-17-2009, 12:17 AM
  4. [Objects] How to spawn objects
    By rb0opkz in forum Help
    Replies: 8
    Last Post: 08-15-2009, 10:48 PM
  5. Replies: 7
    Last Post: 07-19-2009, 06:08 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •