Indeed goes deep it was the first time I look into code doing something like this done, Joe the original creator wrote a tutorial for his method whic:h helped me understand it a bit
https://www.j0e.io/tutorials/wad3-format/
I'm not that good when it comes to algorithms and such so I can't say I can replicate the method by myself in other languages for example, That's why my additions were only the redesign and minor features like search and exporting
Oh and maybe y'all can talk about the parsing etc, that's his website I linked above, when I emailed him he said he forgot about the project since no one ever mentioned it (despite being the only HL WAD editor that works online I found)
Ah, so this is a revamped UI for Joe's tool, I've seen his website before. I think the main reason why his tool didn't get much traction is that it didn't offer any tangible improvements over existing tools. Wally, one of the oldest available tools, set a pretty high standard right from the start. Later came Half-Life Texture Tools, which added sprite-making capabilities, so it became popular as well. And recently, I made WadMaker/SpriteMaker, which enables a much faster workflow by removing several tedious steps (no more exporting files, adjusting palettes, manually managing wad file contents, etc). People are finding it useful so it's slowly getting some traction, but it has also taken several months of working on updates, writing tutorials and helping people out.
The wad and sprite formats have already been documented by others (most notably by Yuraj), and if you're a bit familiar with the HL modding scene then it isn't hard to find source code that deals with these formats, so parsing was actually one of the easier parts. Figuring out how to convert true-color images to 256 colors without too much quality loss was much harder.
If you're interested, here's how I'm making palettes: https://github.com/pwitvoet/wadmaker/blob/master/Shared/Colo... . It starts with creating a color histogram (the 'frequency list'), and then it treats these colors as 3D points within a 256x256x256 'RGB cube'. It calculates the bounding box for these colors and then splits this box along the longest edge. It then takes the box with the most colors and splits it up, and repeats that process until it has created 256 boxes. Ideally, these boxes will all be fairly small, which means that they contain very similar colors. A palette can then be created by taking the average color of each box (weighted by color frequency). When combined with dithering this produces quite reasonable results: https://raw.githubusercontent.com/pwitvoet/wadmaker/master/d... (but clearly there is still room for improvement!)
I'm not that good when it comes to algorithms and such so I can't say I can replicate the method by myself in other languages for example, That's why my additions were only the redesign and minor features like search and exporting
Oh and maybe y'all can talk about the parsing etc, that's his website I linked above, when I emailed him he said he forgot about the project since no one ever mentioned it (despite being the only HL WAD editor that works online I found)