Thread: Request OSRS 173 animations in 317 format

Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17
  1. #11  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    Quote Originally Posted by Elvarg317 View Post
    https://pastebin.com/raw/sEm7GRLR

    Straight from 174 deob


    Edit:
    Your Opcode 12 may be wrong~

    You need to bitshift to the left 16.
    Code:
    } else if (opcode == 12) {
    				int len = buffer.readUByte();
    
    				for (int i = 0; i < len; i++) {
    					buffer.readUShort();
    				}
    
    				for (int i = 0; i < len; i++) {
    					buffer.readUShort() << 16;
    				}
    Shifting the value makes no difference if you don't actually use the value for anything lol. If you're not using, you could simplify this shit simply by getting rid of the second loop and changing the short into an int in the first.

    Quote Originally Posted by A Mage View Post
    They don't usually tend to add item models till day of the update, I've learnt this from past experience. Also, the only reason the divine was in there is because they did it at the same time the other shields were released, but the divine failed the poll so it never made it in-game.
    In addition to this, divine is actually used in-game. It's one of the items that moderators can transform themselves into; this may add more of a reason behind why the shield was found in the cache in the first place.
    The PvP armour isn't in the current cache yet FYI, here's a list of the current item ids(based on cache released on 30th august: https://gist.github.com/f2bf85f68b63...eadbcb0399a297
    Attached image
    Reply With Quote  
     

  2. Thankful users:


  3. #12  
    Donator

    Jason's Avatar
    Join Date
    Aug 2009
    Posts
    6,092
    Thanks given
    2,402
    Thanks received
    2,823
    Rep Power
    4550
    Spooky Are you sure that 820KB seq.dat file is correct? The 173 client build seems to load around 985KB of .seq information (8186 animations). The .dat files themselves seem fine though at the moment.

    https://www.dropbox.com/s/l0wc1106slxv963/seq.dat?dl=1
    Last edited by Jason; 09-12-2018 at 08:04 PM.
    Reply With Quote  
     

  4. #13  
    Banned

    Join Date
    Oct 2012
    Posts
    4,710
    Thanks given
    1,679
    Thanks received
    1,105
    Rep Power
    0
    Quote Originally Posted by Jason View Post
    Spooky Are you sure that 820KB seq.dat file is correct? The 173 client build seems to load around 985KB of .seq information (8186 animations). The .dat files themselves seem fine though at the moment.

    https://www.dropbox.com/s/l0wc1106slxv963/seq.dat?dl=1
    What readvalues are you using?
    Reply With Quote  
     

  5. #14  
    Donator

    Jason's Avatar
    Join Date
    Aug 2009
    Posts
    6,092
    Thanks given
    2,402
    Thanks received
    2,823
    Rep Power
    4550
    Quote Originally Posted by _Patrick_ View Post
    What readvalues are you using?
    OSRS read values which are practically the same as 317, aside from from bitshifting. I'd share but it's not mine to share. However, you can checkout this OSRS snippet of code that mine replicates;

    Code:
       void y(gg var1, int var2) {
          int var3;
          int var4;
          if (var2 == 1) {
             var3 = var1.f(1876346029); // un short
             this.l = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.l[var4] = var1.f(1876346029); // un short
             }
    
    
             this.i = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.i[var4] = var1.f(1876346029); // un short
             }
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.i[var4] += var1.f(1876346029) << 16; // un short
             }
          } else if (2 == var2) {
             this.o = var1.f(1876346029) * 262123655; // un short
          } else if (var2 == 3) {
             var3 = var1.y(309561664); // un byte
             this.s = new int[1 + var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.s[var4] = var1.y(-709968764); // un byte
             }
    
    
             this.s[var3] = 9999999;
          } else if (4 == var2) {
             this.k = true;
          } else if (5 == var2) {
             this.v = var1.y(-1313363544) * 1503246477; // un byte
          } else if (var2 == 6) {
             this.p = var1.f(1876346029) * -226204147; // short
          } else if (var2 == 7) {
             this.n = var1.f(1876346029) * 184707387; // short
          } else if (var2 == 8) {
             this.t = var1.y(-2085834204) * 855417221; // un byte
          } else if (var2 == 9) {
             this.r = var1.y(160475940) * -1217731645; // un byte
          } else if (var2 == 10) {
             this.x = var1.y(-1036172195) * -588824783; // un byte
          } else if (var2 == 11) {
             this.b = var1.y(205207427) * 346255421; // un byte
          } else if (var2 == 12) {
             var3 = var1.y(-253120332); // un byte
             this.h = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.h[var4] = var1.f(1876346029); // short
             }
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.h[var4] += var1.f(1876346029) << 16; // short
             }
          } else if (var2 == 13) {
             var3 = var1.y(-1380369513); // byte
             this.d = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.d[var4] = var1.ay(835238020); // 24 bits (tri byte)
             }
          }
    
    
       }
    I've indicated the types of information being read.
    Reply With Quote  
     

  6. #15  
    Banned

    Join Date
    Oct 2012
    Posts
    4,710
    Thanks given
    1,679
    Thanks received
    1,105
    Rep Power
    0
    Quote Originally Posted by Jason View Post
    OSRS read values which are practically the same as 317, aside from from bitshifting. I'd share but it's not mine to share. However, you can checkout this OSRS snippet of code that mine replicates;

    Code:
       void y(gg var1, int var2) {
          int var3;
          int var4;
          if (var2 == 1) {
             var3 = var1.f(1876346029); // un short
             this.l = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.l[var4] = var1.f(1876346029); // un short
             }
    
    
             this.i = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.i[var4] = var1.f(1876346029); // un short
             }
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.i[var4] += var1.f(1876346029) << 16; // un short
             }
          } else if (2 == var2) {
             this.o = var1.f(1876346029) * 262123655; // un short
          } else if (var2 == 3) {
             var3 = var1.y(309561664); // un byte
             this.s = new int[1 + var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.s[var4] = var1.y(-709968764); // un byte
             }
    
    
             this.s[var3] = 9999999;
          } else if (4 == var2) {
             this.k = true;
          } else if (5 == var2) {
             this.v = var1.y(-1313363544) * 1503246477; // un byte
          } else if (var2 == 6) {
             this.p = var1.f(1876346029) * -226204147; // short
          } else if (var2 == 7) {
             this.n = var1.f(1876346029) * 184707387; // short
          } else if (var2 == 8) {
             this.t = var1.y(-2085834204) * 855417221; // un byte
          } else if (var2 == 9) {
             this.r = var1.y(160475940) * -1217731645; // un byte
          } else if (var2 == 10) {
             this.x = var1.y(-1036172195) * -588824783; // un byte
          } else if (var2 == 11) {
             this.b = var1.y(205207427) * 346255421; // un byte
          } else if (var2 == 12) {
             var3 = var1.y(-253120332); // un byte
             this.h = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.h[var4] = var1.f(1876346029); // short
             }
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.h[var4] += var1.f(1876346029) << 16; // short
             }
          } else if (var2 == 13) {
             var3 = var1.y(-1380369513); // byte
             this.d = new int[var3];
    
    
             for(var4 = 0; var4 < var3; ++var4) {
                this.d[var4] = var1.ay(835238020); // 24 bits (tri byte)
             }
          }
    
    
       }
    I've indicated the types of information being read.
    Mine posted in OP match, but still gives issues reading the file?

    Code:
    private void decode(Buffer buffer) {
    		while(true) {
    			final int opcode = buffer.readUByte();
    
    			if (opcode == 0) {
    				break;
    			} else if (opcode == 1) {
    				frameCount = buffer.readUShort();
    				primaryFrames = new int[frameCount];
    				secondaryFrames = new int[frameCount];
    				durations = new int[frameCount];
    
    				for (int i = 0; i < frameCount; i++) {
    					durations[i] = buffer.readUShort();
    				}
    
    				for (int i = 0; i < frameCount; i++) {
    					primaryFrames[i] = buffer.readUShort();
    					secondaryFrames[i] = -1;
    				}
    
    				for (int i = 0; i < frameCount; i++) {
    					primaryFrames[i] += buffer.readUShort() << 16;
    				}
    			} else if (opcode == 2) {
    				loopOffset = buffer.readUShort();
    			} else if (opcode == 3) {
    				int len = buffer.readUByte();
    				interleaveOrder = new int[len + 1];
    				for (int i = 0; i < len; i++) {
    					interleaveOrder[i] = buffer.readUByte();
    				}
    				interleaveOrder[len] = 9999999;
    			} else if (opcode == 4) {
    				stretches = true;
    			} else if (opcode == 5) {
    				forcedPriority = buffer.readUByte();
    			} else if (opcode == 6) {
    				playerOffhand = buffer.readUShort();
    			} else if (opcode == 7) {
    				playerMainhand = buffer.readUShort();
    			} else if (opcode == 8) {
    				maxLoops = buffer.readUByte();
    			} else if (opcode == 9) {
    				animatingPrecedence = buffer.readUByte();
    			} else if (opcode == 10) {
    				walkingPrecedence = buffer.readUByte();
    			} else if (opcode == 11) {
    				replayMode = buffer.readUByte();
    			} else if (opcode == 12) {
    				int len = buffer.readUByte();
    
    				for (int i = 0; i < len; i++) {
    					buffer.readUShort();
    				}
    
    				for (int i = 0; i < len; i++) {
    					buffer.readUShort();
    				}
    			} else if (opcode == 13) {
    				int len = buffer.readUByte();
    
    				for (int i = 0; i < len; i++) {
    					buffer.read24Int();
    				}
    			}
    		}
    
    		if (frameCount == 0) {
    			frameCount = 1;
    			primaryFrames = new int[1];
    			primaryFrames[0] = -1;
    			secondaryFrames = new int[1];
    			secondaryFrames[0] = -1;
    			durations = new int[1];
    			durations[0] = -1;
    		}
    
    		if (animatingPrecedence == -1) {
    			animatingPrecedence = (interleaveOrder == null) ? 0 : 2;
    		}
    
    		if (walkingPrecedence == -1) {
    			walkingPrecedence = (interleaveOrder == null) ? 0 : 2;
    		}
    	}
    Reply With Quote  
     

  7. #16  
    Donator

    Jason's Avatar
    Join Date
    Aug 2009
    Posts
    6,092
    Thanks given
    2,402
    Thanks received
    2,823
    Rep Power
    4550
    Quote Originally Posted by _Patrick_ View Post
    Mine posted in OP match, but still gives issues reading the file?
    Try this; https://www.dropbox.com/s/l0wc1106slxv963/seq.dat?dl=1

    edit; You need all 2221/2220 animation files as well for it to work properly. The ones provided by Spooky aren't all of them.
    Reply With Quote  
     

  8. #17  
    Banned

    Join Date
    Oct 2012
    Posts
    4,710
    Thanks given
    1,679
    Thanks received
    1,105
    Rep Power
    0
    Quote Originally Posted by Jason View Post
    Try this; https://www.dropbox.com/s/l0wc1106slxv963/seq.dat?dl=1

    edit; You need all 2221/2220 animation files as well for it to work properly. The ones provided by Spooky aren't all of them.
    Do you have them, if so mind sharing i had a hunch the once provided where not all.

    Edit: also i tried ur seq file didn't work, mind looking over my readvalues are they correct or not if so mind pointing me where to look:

    Code:
    	private void decode(Buffer buffer) {
    		while(true) {
    			final int opcode = buffer.readUByte();
    
    			if (opcode == 1) {
    				frameCount = buffer.readUShort();
    				duration = new int[frameCount];
    
    				for (int i = 0; i < frameCount; i++) {
    					duration[i] = buffer.readUShort();
    				}
    
    				primaryFrames = new int[frameCount];
    				
    				for (int i = 0; i < frameCount; i++) {
    					primaryFrames[i] = buffer.readUShort();
    				}
    
    				for (int i = 0; i < frameCount; i++) {
    					primaryFrames[i] += buffer.readUShort() << 16;
    				}
    			} else if (opcode == 2) {
    				padding = buffer.readUShort();
    			} else if (opcode == 3) {
    				int len = buffer.readUByte();
    				interleaveOrder = new int[len + 1];
    				for (int i = 0; i < len; i++) {
    					interleaveOrder[i] = buffer.readUByte();
    				}
    				interleaveOrder[len] = 9999999;
    			} else if (opcode == 4) {
    				allowsRotation = true;
    			} else if (opcode == 5) {
    				forcedPriority = buffer.readUByte();
    			} else if (opcode == 6) {
    				rightHandEquip = buffer.readUShort();
    			} else if (opcode == 7) {
    				leftHandEquip = buffer.readUShort();
    			} else if (opcode == 8) {
    				resetCycle = buffer.readUByte();
    			} else if (opcode == 9) {
    				runFlag = buffer.readUByte();
    			} else if (opcode == 10) {
    				walkFlag = buffer.readUByte();
    			} else if (opcode == 11) {
    				type = buffer.readUByte();
    			} else if (opcode == 12) {
    				int len = buffer.readUByte();
    				opcode12 = new int[len];
    
    				for (int i = 0; i < len; i++) {
    					opcode12[i] = buffer.readUShort();
    				}
    
    				for (int i = 0; i < len; i++) {
    					opcode12[i] = buffer.readUShort() << 16;
    				}
    			} else if (opcode == 13) {
    				int len = buffer.readUByte();
    				opcode13 = new int[len];
    
    				for (int i = 0; i < len; i++) {
    					opcode13[i] = buffer.triByte();
    				}
    			}
    		}
    	}
    	
    	private int opcode12[], opcode13[];
    Should match 100% created two local variables. for 12 and 13.

    KK readvalues are solved, now i only need the animation files and graphics.
    Last edited by _Patrick_; 09-12-2018 at 08:41 PM.
    Reply With Quote  
     

Page 2 of 2 FirstFirst 12

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. OSRS Object Definitions in 317 format
    By Poesy700 in forum Help
    Replies: 1
    Last Post: 02-24-2016, 04:46 PM
  2. [PI] 602 Animations in 317
    By Jupiterx in forum Help
    Replies: 0
    Last Post: 07-30-2012, 10:14 AM
  3. [Paying] - 602 Animations in 317 - [15$]
    By Bradko in forum Buying
    Replies: 1
    Last Post: 10-30-2011, 07:02 PM
  4. 474 godwars maps in 317 format
    By natsu in forum Requests
    Replies: 10
    Last Post: 12-12-2010, 12:46 AM
  5. How to get the 474 anim in 317
    By 2O15 in forum Help
    Replies: 5
    Last Post: 01-18-2010, 09:14 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
  •