Had the idea a few days ago so decided to do it, used JavaFX for the GUI.
There are some more things i wanna do with this, make the GUI look better so i'll mostlikely update this post.
- Cache/Texture Loading for all/most 317 caches(tested like 5 or 6 different ones with no issues)
- Texture viewing(the image itself, data about it)
- Texture Adding
- Texture Replacing
- Texture Dumping
- Texture removing(gotta fix a small issue)
- Drag / Drop for loading the cache/textures
- Drag / Drop for adding new textures
- Mass packing works with both, so you can pack 100 textures @ once if you wish to.
- Checks that'll ensure that the textures archive won't corrupt(for example adding a texture with more than 255 unique colors)
NOTE: if you want to pack textures with a higher color palette/unique colors than 255, im going to add an option that rewrites all the textures, with 2 bytes(short) allocated for the palette(currently it's stored as an unsigned byte which can store up to 255 unique colors), with the palette written as short it can store up to 2^16 (65536) unique colors which is more than enough since a 128x128 texture can only represent a maximum of 16,384 unique colors and afaik 317 doesn't have bigger textures than that. Keep in mind you would have to update your texture image decoding method aswell, and potentially a few more things.
Spoiler for pics:
Spoiler for Updates:
Haledam/nhusa's post: https://www.rune-server.ee/runescape...mat-depth.html and rsam for some reference, some utility methods.
Displee's cache library: https://github.com/Displee/RS-Cache-Library
Greg for answering a few questions