Thread: No animations ingame after adding 634 animations[WITH GIF]

Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1 No animations ingame after adding 634 animations[WITH GIF] 
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Hello
    I'm trying to add 634 animations, but ingame I don't have any animations at all?
    Attached image
    This is what I did:
    *Downloaded the 634 data from this link: https://www.rune-server.ee/runescape...634-667-a.html
    *Repacked all animation files in .gz format with galkon's index repacking way using index 2
    *Replaced the seq.dat in the cache using tom's cache suite in config.jag
    *Replaced method531 in class36
    *Replaced load method in class36
    *Replaced method528 in class36
    *Replaced class18
    *Replaced unpackConfig in Animation.java
    *Replaced readValues in Animation.java
    *Added public static client instance; in client.java and added instance = this; in init method
    *Changed
    Code:
    if(onDemandData.dataType == 1 && onDemandData.buffer != null)
    					Class36.load(onDemandData.buffer);
    to
    Code:
    if(onDemandData.dataType == 1 && onDemandData.buffer != null)
    					Class36.load(onDemandData.ID, onDemandData.buffer);
    in onDemandQueue
    *made onDemandFetcher in client.java public
    *in startup method in client.java I removed:
    Code:
    drawLoadingText(65, "Requesting animations");
    			int k = onDemandFetcher.getVersionCount(1);
    			for(int i1 = 0; i1 < k; i1++)
    				onDemandFetcher.method558(1, i1);
    
    			while(onDemandFetcher.getNodeCount() > 0)
    			{
    				int j1 = k - onDemandFetcher.getNodeCount();
    				if(j1 > 0)
    					drawLoadingText(65, "Loading animations - " + (j1 * 100) / k + "%");
    				processOnDemandQueue();
    				try
    				{
    					Thread.sleep(100L);
    				}
    				catch(Exception _ex) { }
    				if(onDemandFetcher.anInt1349 > 3)
    				{
    					loadError();
    					return;
    				}
    			}
    Attached image
    Reply With Quote  
     

  2. Thankful user:


  3. #2  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Bump


    Verzonden vanaf mijn iPhone met Tapatalk
    Attached image
    Reply With Quote  
     

  4. #3  
    Registered Member
    Join Date
    Aug 2013
    Posts
    15
    Thanks given
    0
    Thanks received
    1
    Rep Power
    14
    Why remove requesting animations from startup? Do you have crc disabled?
    Reply With Quote  
     

  5. #4  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Quote Originally Posted by ImReece View Post
    Why remove requesting animations from startup? Do you have crc disabled?
    Because I got an error when I kept it added, so I'll add it back again and show you the error.

    I added it and I got this error, but nothing more than this:
    Code:
    Error: loaderror Loading animations - 15% 65
    Attached image
    Reply With Quote  
     

  6. #5  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Bump


    Verzonden vanaf mijn iPhone met Tapatalk
    Attached image
    Reply With Quote  
     

  7. #6  
    Registered Member
    Join Date
    Aug 2013
    Posts
    15
    Thanks given
    0
    Thanks received
    1
    Rep Power
    14
    Well this is the load method I'm using for 667 anims, could work for you?
    Code:
    	public static void load(int file, byte[] fileData) {
    		try {
    			Stream stream = new Stream(fileData);
    			skinList class18 = new skinList(stream);
    			int k1 = stream.readUnsignedWord();
    			animationlist[file] = new animationFrames[k1];
    			int ai[] = new int[500];
    			int ai1[] = new int[500];
    			int ai2[] = new int[500];
    			int ai3[] = new int[500];
    			for (int l1 = 0; l1 < k1; l1++) {
    				int i2 = stream.readUnsignedWord();
    				animationFrames animationFrames = animationlist[file][i2] = new animationFrames();
    				animationFrames.aClass18_637 = class18;
    				int j2 = stream.readUnsignedByte();
    				int l2 = 0;
    				int k2 = -1;
    				for (int i3 = 0; i3 < j2; i3++) {
    					int j3 = stream.readUnsignedByte();
    
    					if (j3 > 0) {
    						if (class18.anIntArray342[i3] != 0) {
    							for (int l3 = i3 - 1; l3 > k2; l3--) {
    								if (class18.anIntArray342[l3] != 0)
    									continue;
    								ai[l2] = l3;
    								ai1[l2] = 0;
    								ai2[l2] = 0;
    								ai3[l2] = 0;
    								l2++;
    								break;
    							}
    
    						}
    						ai[l2] = i3;
    						short c = 0;
    						if (class18.anIntArray342[i3] == 3)
    							c = (short) 128;
    
    						if ((j3 & 1) != 0)
    							ai1[l2] = (short) stream.readShort2();
    						else
    							ai1[l2] = c;
    						if ((j3 & 2) != 0)
    							ai2[l2] = stream.readShort2();
    						else
    							ai2[l2] = c;
    						if ((j3 & 4) != 0)
    							ai3[l2] = stream.readShort2();
    						else
    							ai3[l2] = c;
    						k2 = i3;
    						l2++;
    					}
    			
    				}
    
    				animationFrames.anInt638 = l2;
    				animationFrames.anIntArray639 = new int[l2];
    				animationFrames.anIntArray640 = new int[l2];
    				animationFrames.anIntArray641 = new int[l2];
    				animationFrames.anIntArray642 = new int[l2];
    				for (int k3 = 0; k3 < l2; k3++) {
    					animationFrames.anIntArray639[k3] = ai[k3];
    					animationFrames.anIntArray640[k3] = ai1[k3];
    					animationFrames.anIntArray641[k3] = ai2[k3];
    					animationFrames.anIntArray642[k3] = ai3[k3];
    				}
    
    			}
    		} catch (Exception exception) {
    		}
    	}
    Reply With Quote  
     

  8. #7  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Quote Originally Posted by ImReece View Post
    Well this is the load method I'm using for 667 anims, could work for you?
    Code:
    	public static void load(int file, byte[] fileData) {
    		try {
    			Stream stream = new Stream(fileData);
    			skinList class18 = new skinList(stream);
    			int k1 = stream.readUnsignedWord();
    			animationlist[file] = new animationFrames[k1];
    			int ai[] = new int[500];
    			int ai1[] = new int[500];
    			int ai2[] = new int[500];
    			int ai3[] = new int[500];
    			for (int l1 = 0; l1 < k1; l1++) {
    				int i2 = stream.readUnsignedWord();
    				animationFrames animationFrames = animationlist[file][i2] = new animationFrames();
    				animationFrames.aClass18_637 = class18;
    				int j2 = stream.readUnsignedByte();
    				int l2 = 0;
    				int k2 = -1;
    				for (int i3 = 0; i3 < j2; i3++) {
    					int j3 = stream.readUnsignedByte();
    
    					if (j3 > 0) {
    						if (class18.anIntArray342[i3] != 0) {
    							for (int l3 = i3 - 1; l3 > k2; l3--) {
    								if (class18.anIntArray342[l3] != 0)
    									continue;
    								ai[l2] = l3;
    								ai1[l2] = 0;
    								ai2[l2] = 0;
    								ai3[l2] = 0;
    								l2++;
    								break;
    							}
    
    						}
    						ai[l2] = i3;
    						short c = 0;
    						if (class18.anIntArray342[i3] == 3)
    							c = (short) 128;
    
    						if ((j3 & 1) != 0)
    							ai1[l2] = (short) stream.readShort2();
    						else
    							ai1[l2] = c;
    						if ((j3 & 2) != 0)
    							ai2[l2] = stream.readShort2();
    						else
    							ai2[l2] = c;
    						if ((j3 & 4) != 0)
    							ai3[l2] = stream.readShort2();
    						else
    							ai3[l2] = c;
    						k2 = i3;
    						l2++;
    					}
    			
    				}
    
    				animationFrames.anInt638 = l2;
    				animationFrames.anIntArray639 = new int[l2];
    				animationFrames.anIntArray640 = new int[l2];
    				animationFrames.anIntArray641 = new int[l2];
    				animationFrames.anIntArray642 = new int[l2];
    				for (int k3 = 0; k3 < l2; k3++) {
    					animationFrames.anIntArray639[k3] = ai[k3];
    					animationFrames.anIntArray640[k3] = ai1[k3];
    					animationFrames.anIntArray641[k3] = ai2[k3];
    					animationFrames.anIntArray642[k3] = ai3[k3];
    				}
    
    			}
    		} catch (Exception exception) {
    		}
    	}
    Still no animations

    It looks like they are not loaded when I comment that part out, but with that part I get errors. Very weird.
    Attached image
    Reply With Quote  
     

  9. #8  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    I retried it, but still no luck ;(
    I'm using this data btw:
    https://www.rune-server.ee/runescape...634-667-a.html
    Attached image
    Reply With Quote  
     

  10. #9  
    Registered Member
    Join Date
    Aug 2013
    Posts
    15
    Thanks given
    0
    Thanks received
    1
    Rep Power
    14
    Well heres my entire class36, if this doesn't work then I'm sorry but I don't know what's wrong

    Code:
    public final class animationFrames {
    
    	public static void method528(int i) {
    		animationlist = new animationFrames[7000][0];
    	}
    
    	public static void load(int file, byte[] fileData) {
    		try {
    			Stream stream = new Stream(fileData);
    			skinList class18 = new skinList(stream);
    			int k1 = stream.readUnsignedWord();
    			animationlist[file] = new animationFrames[k1];
    			int ai[] = new int[500];
    			int ai1[] = new int[500];
    			int ai2[] = new int[500];
    			int ai3[] = new int[500];
    			for (int l1 = 0; l1 < k1; l1++) {
    				int i2 = stream.readUnsignedWord();
    				animationFrames animationFrames = animationlist[file][i2] = new animationFrames();
    				animationFrames.aClass18_637 = class18;
    				int j2 = stream.readUnsignedByte();
    				int l2 = 0;
    				int k2 = -1;
    				for (int i3 = 0; i3 < j2; i3++) {
    					int j3 = stream.readUnsignedByte();
    
    					if (j3 > 0) {
    						if (class18.anIntArray342[i3] != 0) {
    							for (int l3 = i3 - 1; l3 > k2; l3--) {
    								if (class18.anIntArray342[l3] != 0)
    									continue;
    								ai[l2] = l3;
    								ai1[l2] = 0;
    								ai2[l2] = 0;
    								ai3[l2] = 0;
    								l2++;
    								break;
    							}
    
    						}
    						ai[l2] = i3;
    						short c = 0;
    						if (class18.anIntArray342[i3] == 3)
    							c = (short) 128;
    
    						if ((j3 & 1) != 0)
    							ai1[l2] = (short) stream.readShort2();
    						else
    							ai1[l2] = c;
    						if ((j3 & 2) != 0)
    							ai2[l2] = stream.readShort2();
    						else
    							ai2[l2] = c;
    						if ((j3 & 4) != 0)
    							ai3[l2] = stream.readShort2();
    						else
    							ai3[l2] = c;
    						k2 = i3;
    						l2++;
    				}
    				}
    
    				animationFrames.anInt638 = l2;
    				animationFrames.anIntArray639 = new int[l2];
    				animationFrames.anIntArray640 = new int[l2];
    				animationFrames.anIntArray641 = new int[l2];
    				animationFrames.anIntArray642 = new int[l2];
    				for (int k3 = 0; k3 < l2; k3++) {
    					animationFrames.anIntArray639[k3] = ai[k3];
    					animationFrames.anIntArray640[k3] = ai1[k3];
    					animationFrames.anIntArray641[k3] = ai2[k3];
    					animationFrames.anIntArray642[k3] = ai3[k3];
    				}
    
    			}
    		} catch (Exception exception) {
    		}
    	}
    
    	public static void nullLoader() {
    		animationlist = null;
    	}
    
    	public static animationFrames method531(int int1) {
            try {
                int int2 = int1 >> 16;
                int1 = int1 & 0xffff;
                if (animationlist[int2].length == 0) {
                	client.instance.onDemandFetcher.method558(1, int2);
                    return null;
                }
                return animationlist[int2][int1];
            }
            catch (Exception ex) {
                ex.printStackTrace();
                return null;
            }
        }
    
    	public static boolean method532(int i) {
    		return i == -1;
    	}
    
    	private animationFrames() {
    	}
    
    	private static animationFrames animationlist[][];
    	public int anInt636;
    	public skinList aClass18_637;
    	public int anInt638;
    	public int anIntArray639[];
    	public int anIntArray640[];
    	public int anIntArray641[];
    	public int anIntArray642[];
    
    }
    Reply With Quote  
     

  11. #10  
    Registered Member Rememberm3's Avatar
    Join Date
    Aug 2013
    Posts
    1,716
    Thanks given
    56
    Thanks received
    108
    Rep Power
    129
    Quote Originally Posted by ImReece View Post
    Well heres my entire class36, if this doesn't work then I'm sorry but I don't know what's wrong

    Code:
    public final class animationFrames {
    
    	public static void method528(int i) {
    		animationlist = new animationFrames[7000][0];
    	}
    
    	public static void load(int file, byte[] fileData) {
    		try {
    			Stream stream = new Stream(fileData);
    			skinList class18 = new skinList(stream);
    			int k1 = stream.readUnsignedWord();
    			animationlist[file] = new animationFrames[k1];
    			int ai[] = new int[500];
    			int ai1[] = new int[500];
    			int ai2[] = new int[500];
    			int ai3[] = new int[500];
    			for (int l1 = 0; l1 < k1; l1++) {
    				int i2 = stream.readUnsignedWord();
    				animationFrames animationFrames = animationlist[file][i2] = new animationFrames();
    				animationFrames.aClass18_637 = class18;
    				int j2 = stream.readUnsignedByte();
    				int l2 = 0;
    				int k2 = -1;
    				for (int i3 = 0; i3 < j2; i3++) {
    					int j3 = stream.readUnsignedByte();
    
    					if (j3 > 0) {
    						if (class18.anIntArray342[i3] != 0) {
    							for (int l3 = i3 - 1; l3 > k2; l3--) {
    								if (class18.anIntArray342[l3] != 0)
    									continue;
    								ai[l2] = l3;
    								ai1[l2] = 0;
    								ai2[l2] = 0;
    								ai3[l2] = 0;
    								l2++;
    								break;
    							}
    
    						}
    						ai[l2] = i3;
    						short c = 0;
    						if (class18.anIntArray342[i3] == 3)
    							c = (short) 128;
    
    						if ((j3 & 1) != 0)
    							ai1[l2] = (short) stream.readShort2();
    						else
    							ai1[l2] = c;
    						if ((j3 & 2) != 0)
    							ai2[l2] = stream.readShort2();
    						else
    							ai2[l2] = c;
    						if ((j3 & 4) != 0)
    							ai3[l2] = stream.readShort2();
    						else
    							ai3[l2] = c;
    						k2 = i3;
    						l2++;
    				}
    				}
    
    				animationFrames.anInt638 = l2;
    				animationFrames.anIntArray639 = new int[l2];
    				animationFrames.anIntArray640 = new int[l2];
    				animationFrames.anIntArray641 = new int[l2];
    				animationFrames.anIntArray642 = new int[l2];
    				for (int k3 = 0; k3 < l2; k3++) {
    					animationFrames.anIntArray639[k3] = ai[k3];
    					animationFrames.anIntArray640[k3] = ai1[k3];
    					animationFrames.anIntArray641[k3] = ai2[k3];
    					animationFrames.anIntArray642[k3] = ai3[k3];
    				}
    
    			}
    		} catch (Exception exception) {
    		}
    	}
    
    	public static void nullLoader() {
    		animationlist = null;
    	}
    
    	public static animationFrames method531(int int1) {
            try {
                int int2 = int1 >> 16;
                int1 = int1 & 0xffff;
                if (animationlist[int2].length == 0) {
                	client.instance.onDemandFetcher.method558(1, int2);
                    return null;
                }
                return animationlist[int2][int1];
            }
            catch (Exception ex) {
                ex.printStackTrace();
                return null;
            }
        }
    
    	public static boolean method532(int i) {
    		return i == -1;
    	}
    
    	private animationFrames() {
    	}
    
    	private static animationFrames animationlist[][];
    	public int anInt636;
    	public skinList aClass18_637;
    	public int anInt638;
    	public int anIntArray639[];
    	public int anIntArray640[];
    	public int anIntArray641[];
    	public int anIntArray642[];
    
    }
    I made it exactly the same as you.
    no luck ;(
    I hope someone can help me as I really want this to work.
    Attached image
    Reply With Quote  
     

Page 1 of 2 12 LastLast

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. Replies: 3
    Last Post: 01-12-2017, 12:54 AM
  2. Replies: 5
    Last Post: 12-23-2015, 03:05 AM
  3. Replies: 3
    Last Post: 09-14-2013, 08:10 PM
  4. Replies: 2
    Last Post: 07-12-2013, 03:20 AM
  5. Replies: 3
    Last Post: 11-06-2011, 04:36 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •