Thread: RSDataSuite by Xaves [Packs data from 508-717 cache in a few clicks]

Page 1 of 20 12311 ... LastLast
Results 1 to 10 of 196
  1. #1 RSDataSuite by Xaves [Packs data from 508-717 cache in a few clicks] 
    PokeNation! Xaves's Avatar
    Join Date
    Dec 2007
    Age
    31
    Posts
    3,478
    Thanks given
    356
    Thanks received
    788
    Rep Power
    646




    I'm basically quitting rsps for good so I can keep focused on PokeNation. While I clean my hard drive from this crap I'm releasing shit that I think it's cool

    The last unpacker updated was npcs, the other I don't know if still work. If you need them updated post and I'll see if I have some time to update them.

    I'm not releasing it open-source and no-one is allowed to distribute modified versions of it.



    Current Features:

    • Cache Loading
      • Support for all new engine revisions
      • Support for larger range of files
      • Checks if cache folder has revision number on it else
        you can set manually
    • Animation Def.
      • Support for all new engine revisions
      • Packs seq.dat
      • Customizable dumps
    • Graphics Def.
      • Support for all new engine revisions
      • Packs spotanim.dat
      • Customizable dumps
      • Preview available
      • Save all gfx models
    • NPC Def.
      • Support for all new engine revisions
      • Packs npc.dat/.idx
      • Customizable dumps
      • Preview available
      • Save all npc models
      • Button to check possible anims used by npc
    • Item Def.
    • Objects Def.
    • Anim. Files
      • Support for all new engine revisions
      • Options to pack single files
      • Options to pack all frames, all skins or all files already combined
    • Models
      • Renders all models
      • Buttons to save single model or all models
      • Button to find the usages of the selected model
    • IDK Def.
      • Support for all new engine revisions
      • Customizable dumps
      • Packs idk.dat
      • Save all IDK part models
      • Preview available
    • I'll add more features once these are completed





    Readers/Unpackers:

    Spoiler for IdentityKit/ IDK/ idk.dat:


    Code:
    	private void readValues(Stream stream) {
            do
            {
                int i = stream.readUnsignedByte();
                if(i == 0)
                    return;
                if(i == 1) {
                    bodyPartId = stream.readUByte();
                } else if(i == 2) {
                    int j = stream.readUByte();
                    bodyModelIds = new int[j];
                    for(int k = 0; k < j; k++)
                        bodyModelIds[k] = stream.getUShort();
                } else if(i == 3)
                    notSelectable = true;
                else if(i >= 40 && i < 50)
                    originalColors[i - 40] = stream.getUShort();
                else if(i >= 50 && i < 60)
                    modifiedColors[i - 50] = stream.getUShort();
                else if(i >= 60 && i < 70)
                    headModelIds[i - 60] = stream.getUShort();
                else
                    System.out.println("Error unrecognised config code: " + i);
            } while(true);
        }
    //or if packed from 696+

    Code:
    	
    	private void readValues(Stream stream) {
            do
            {
                int i = stream.readUnsignedByte();
                if(i == 0)
                    return;
                if(i == 1) {
                    bodyPartId = stream.readUByte();
                } else if(i == 2) {
                    int j = stream.readUByte();
                    bodyModelIds = new int[j];
                    for(int k = 0; k < j; k++)
                        bodyModelIds[k] = stream.getInt();
                } else if(i == 3)
                    notSelectable = true;
                else if(i >= 40 && i < 50)
                    originalColors[i - 40] = stream.getUShort();
                else if(i >= 50 && i < 60)
                    modifiedColors[i - 50] = stream.getUShort();
                else if(i >= 60 && i < 70)
                    headModelIds[i - 60] = stream.getInt();
                else
                    System.out.println("Error unrecognised config code: " + i);
            } while(true);
        }


    Spoiler for SpotAnim / GFX / spotanim.dat:

    Quote Originally Posted by d3mons dead View Post
    Got it to work, the correct one is below

    readvalues:

    Code:
    		private void readValues(Stream stream) {
    		do {
    			int i = stream.readUnsignedByte();
    			if (i == 0)
    				return;
    			if (i == 1)
    				anInt405 = stream.readInt();
    			else if (i == 2) {
    				anInt406 = stream.readInt();
    				if (Animation.anims != null)
    					aAnimation_407 = Animation.anims[anInt406];
    			} else if (i == 4)
    				anInt410 = stream.readUnsignedWord();
    			else if (i == 5)
    				anInt411 = stream.readUnsignedWord();
    			else if (i == 6)
    				anInt412 = stream.readUnsignedWord();
    			else if (i == 7)
    				anInt413 = stream.readUnsignedByte();
    			else if (i == 8)
    				anInt414 = stream.readUnsignedByte();
    			else if (i == 40) {
    				int j = stream.readUnsignedByte();
    				for (int k = 0; k < j; k++) {
    					anIntArray408[k] = stream.readUnsignedWord();
    					anIntArray409[k] = stream.readUnsignedWord();
    				}
    			} else
    				System.out.println("Error unrecognised spotanim config code: "
    						+ i);
    		} while (true);
    	}
    yes that's for 700+, older caches use getUShort on opcode 1 and 2


    Spoiler for AnimFrame / Class36 / anim files:



    Didn't test this, got from another thread that somneone posted. In red is the part that you may need to modify depending on your cache.


    Code:
      public static void load(int file){
        try {
    	    Stream stream = new Stream(FileOperations.ReadFile(signlink.findcachedir() + "/Data/Animation/frames/"+file+".dat"));
    		Class18 class18 = new Class18(stream, 0);
            int k1 = stream.readUnsignedWord();
    		animationlist[file] = new Class36[(int)(k1*1.5)];
    	    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();
                Class36 class36 = animationlist[file][i2] = new Class36();
                class36.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++;
                	}
    	}
    
                class36.anInt638 = l2;
                class36.anIntArray639 = new int[l2];
                class36.anIntArray640 = new int[l2];
                class36.anIntArray641 = new int[l2];
                class36.anIntArray642 = new int[l2];
                for(int k3 = 0; k3 < l2; k3++)
                {
                    class36.anIntArray639[k3] = ai[k3];
                    class36.anIntArray640[k3] = ai1[k3];
                    class36.anIntArray641[k3] = ai2[k3];
                    class36.anIntArray642[k3] = ai3[k3];
                }
    
            }
          }catch(Exception exception) { }
        }


    Spoiler for AnimationSequence / seq.dat reader:



    Code:
    
    	
    	public void readValues(Stream stream)
    	{
    		do {
    			int i = stream.readUnsignedByte();
    			if(i == 0)
    				break;
    			if(i == 1) {
    				anInt352 = stream.readUnsignedWord();
    				anIntArray353 = new int[anInt352];
    				anIntArray354 = new int[anInt352];
    				anIntArray355 = new int[anInt352];
    				for(int i_ = 0; i_ < anInt352; i_++){
    					anIntArray353[i_] = stream.readDWord();
    					anIntArray354[i_] = -1;
    				}
    				for(int i_ = 0; i_ < anInt352; i_++)
    					anIntArray355[i_] = stream.readUnsignedByte();
    			}
    			else if(i == 2)
    				anInt356 = stream.readUnsignedWord();
    			else if(i == 3) {
    				int k = stream.readUnsignedByte();
    				anIntArray357 = new int[k + 1];
    				for(int l = 0; l < k; l++)
    					anIntArray357[l] = stream.readUnsignedByte();
    				anIntArray357[k] = 0x98967f;
    			}
    			else if(i == 4)
    				aBoolean358 = true;
    			else if(i == 5)
    				anInt359 = stream.readUnsignedByte();
    			else if(i == 6)
    				anInt360 = stream.readUnsignedWord();
    			else if(i == 7)
    				anInt361 = stream.readUnsignedWord();
    			else if(i == 8)
    				anInt362 = stream.readUnsignedByte();
    			else if(i == 9)
    				anInt363 = stream.readUnsignedByte();
    			else if(i == 10)
    				anInt364 = stream.readUnsignedByte();
    			else if(i == 11)
    				anInt365 = stream.readUnsignedByte();
    			else 
    				System.out.println("Unrecognized seq.dat config code: "+i);
    		} while(true);
    		if(anInt352 == 0)
    		{
    			anInt352 = 1;
    			anIntArray353 = new int[1];
    			anIntArray353[0] = -1;
    			anIntArray354 = new int[1];
    			anIntArray354[0] = -1;
    			anIntArray355 = new int[1];
    			anIntArray355[0] = -1;
    		}
    		if(anInt363 == -1)
    			if(anIntArray357 != null)
    				anInt363 = 2;
    			else
    				anInt363 = 0;
    		if(anInt364 == -1)
    		{
    			if(anIntArray357 != null)
    			{
    				anInt364 = 2;
    				return;
    			}
    			anInt364 = 0;
    		}
    	}



    Media:

    Identity Kit Definitions



    Loaded cache



    Animation Definitions



    Animation Files



    GFX/SpotAnim Definitions



    Models





    Downloads:

    Reply With Quote  
     


  2. #2  
    Registered Member
    Mr.Client's Avatar
    Join Date
    Jun 2010
    Posts
    2,094
    Thanks given
    100
    Thanks received
    317
    Rep Power
    251
    NICe!
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Jul 2011
    Posts
    251
    Thanks given
    136
    Thanks received
    51
    Rep Power
    26
    Holy shit, thank you so much






    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    Nov 2009
    Posts
    3,054
    Thanks given
    113
    Thanks received
    838
    Rep Power
    740
    are you kidding me?
    Now every1 will have all this shiz without having to do anything

    Well nice release anyways but i am dissapoint
    Reply With Quote  
     

  5. #5  
    Registered Member
    Mr.Client's Avatar
    Join Date
    Jun 2010
    Posts
    2,094
    Thanks given
    100
    Thanks received
    317
    Rep Power
    251
    you tested on 717 cache?
    Reply With Quote  
     

  6. #6  
    Donator

    Thock321's Avatar
    Join Date
    Jul 2011
    Posts
    1,804
    Thanks given
    706
    Thanks received
    363
    Rep Power
    416
    Thanks for this. Good luck on poke nation!
    Reply With Quote  
     

  7. Thankful user:


  8. #7  
    Registered Member
    natsu's Avatar
    Join Date
    Apr 2007
    Age
    31
    Posts
    3,449
    Thanks given
    1,084
    Thanks received
    676
    Rep Power
    1096
    nice work xavier to bad you didnt added interfaces



    Reply With Quote  
     

  9. #8  
    If you read this you're gay!
    Infexis's Avatar
    Join Date
    Aug 2009
    Age
    26
    Posts
    4,560
    Thanks given
    1,158
    Thanks received
    1,173
    Rep Power
    2949
    Quote Originally Posted by d3mons dead View Post
    you tested on 717 cache?
    It clearly says up to 717 cache.
    Reply With Quote  
     

  10. #9  
    Donator

    Tringan's Avatar
    Join Date
    Feb 2011
    Age
    25
    Posts
    2,103
    Thanks given
    381
    Thanks received
    334
    Rep Power
    297
    Brutal :O
    Reply With Quote  
     

  11. #10  
    MOD DESIGNER RM MORE COMING


    TheeRash's Avatar
    Join Date
    Dec 2010
    Age
    29
    Posts
    5,130
    Thanks given
    639
    Thanks received
    2,123
    Discord
    View profile
    Rep Power
    5000
    oh, noes.


    Feel free to message me with any questions you may have - any offers of work will not be considered unless details are in the subject.
    Reply With Quote  
     

  12. Thankful user:


Page 1 of 20 12311 ... 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. 717 Cache
    By Zaves in forum Downloads
    Replies: 17
    Last Post: 07-24-2012, 10:42 PM
  2. Replies: 56
    Last Post: 11-17-2011, 11:26 AM
  3. Replies: 10
    Last Post: 07-15-2011, 08:56 PM
  4. Replies: 6
    Last Post: 07-15-2011, 06:02 AM
  5. Replies: 6
    Last Post: 09-18-2010, 05:45 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
  •