Welcome to Open Carnage

A resource for Halo Custom Edition and MCC modding, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time! - EST. 2012


  • Content count

  • Joined

  • Last visited

  • Raffle Tickets



About Zatarita

Extra Information

  • Gender
  • Location
  • Occupation
  • Contributed
    $20 (US) to Open Carnage

Contact Methods

  • Discord

Recent Profile Visitors

3,912 profile views
  1. UPDATE: Fixed load from dds. May still be slightly buggy. (see original post for updated example. Thank you s3 for letting me use your golden gun) This should maintain bump maps and such for the texture that otherwise wouldn't be referenced correctly with a new texture name. Fixed crash on canceling save/load Fixed export function to actually let you designate a location and name. Fixed autofilling file name known bugs: Old data still wont clear when you load new data. For some reason it wont clear the list.
  2. I don't think I understand. It's possible they convert the dds textures to easier to use formats, but these textures are uncompressed. If you add the right header to the file you get texture, no extra tweaking needed. As far as compression goes, they already have the formatting applied. It's not just raw rbga channels like a bitmap (except argb/xrgb.)
  3. What do you mean by uncompressed? The Texture its self is just a headless dds. If you're talking about block compression it does support argb8888 which doesn't have block compression. The ipak is compressed with zlib, so you COULD compress with 0 compression level. Which would basically look uncompressed with some bloat
  4. It'll get easier once I figure out what's wrong with overwriting textures. It's just tough now cause we need to create a new texture and link it to the template. Once I fix over writing it should be just load, import, save Imeta, save ipak. As far as newer textures, I only see support for: Dxt1/3/5, argb/xrgb8888 (meaning light maps need to be covered from 16 bit), ati1/ati2, and ai88(greyscale)
  5. Tex Mod is the second public release proof of concept tool from SeT. The process is still slightly complicated; however, due to how much I've seen people wanting custom textures. I decided to rush the build. BACK THINGS UP, USE AT YOUR OWN RISK. The program is still incomplete, things will get easier with time. I also can't guarantee it will work as intended every time. As of now this is a slightly more advanced example. Some things still required hex editing, though minimal. Let's go over how to use it: EDIT: Update has enabled "load from dds" and fixed some minor bugs. making a lot of this null. You can now just load the ipak, bind the imeta, and overwrite the original texture if you desire. Note** overwriting a texture means you'll need to rebuilt every imeta that uses that texture. Since the file size might change. This will be addressed in the next update open the ipak that holds the texture (alphabetical split at "p") bind the imeta for the level find the texture you wish to replace. Click "load from DDS" (Click save to dds for a reference texture to edit) load custom texture build the imeta (since there may be more mip maps and such, or changes in dimensions) Save the changes Our final result. Sorry for the rushed tutorial. I had like 30 mins to make these screenshots, build the project, upload, and fix post. for custom template textures follow original tutorial: THERE IS STILL A LOT OF WORK NEEDED TO GET THIS WORKING RIGHT. Please please post bugs, this has been a long time coming, and a few months of work. I want to get this working perfectly. There are a few ui bugs here and there that need to be fixed, but I wont have much time to dedicate to it this week coming. Hopefully this should give people some time to play with it, and I can get an idea what direction to take things before I dump too much work into "my way" and have to move back on some progress. The final source hasn't been pushed to the github repo yet. tex_mod.rar
  6. SMI Beta In an ode to the old days of PMI, I introduce SMI. Saber model injector. This program will handle extracting contents from s3dpaks, and reimporting them. SMI is SuPs big brother with a degree. It can recursively extract tags, and it can also handle reimporting them as well. This makes injecting templates from other s3dpaks significantly easier. After watching S3's tutorial it gave me a few ideas on how to make modding easier for the end user. S3 gave me permission to use his test map that he used in his tutorial to demonstrate it's strengths. Taking a look at this scene, it doesn't seem like much is going on; however, in classic there are a few objects present. (ignore the white boxes, it's supposed to be rain, we wont be fixing that texture in this example) There are objects present in classic, that aren't present in anniversary. This is because anniversary is missing the templates for this level. We're going to fix that with SMI. first we're going to open the s3dpaks we need to edit/extract from. The example above needs a wraith, a sniper, a c gun turret, and the longsword. For these templates, I'm going to load b30 (the map we're working with), a10, and b40. I'm going to expand a10, and select the fighterbomber (longsword) template I'm going to click extract recursive from the edit menu, and navigate to a directory I have named "Extracts" Once I select the folder, a subdirectory will be made with the name of the extracted templates. I'll repeat the same process with the sniper rifle, sniper rifle projectile, wraith, and c gun turret. now going back to SMI, I'm going to ensure the scope is set to the map that I want to edit: and I'm going to click "Inject Recursive" and select each directory in my extracts I wish to import: As you can see the templates are now a part of the s3dpak. Next we need to build the imeta so the templates textures will carry over(only for aniversary. I will make a script to simplify classic soon) To do this we go to Edit>Build Imeta(or hit F2) Save the imeta, and then we'll save the s3dpak with the standard file>Save As (I haven't implemented save. It'll be in final release) And that's it! SMI will handle compression, decompression, updating the Imeta, updating the SceneData, and the s3dpak. Our final result: significantly faster, easier, and more accessible to new modders c: this is a beta version, and any bugs will be squashed! please post them below. Currently, the source can be found in the SeT GitHub, under "tools" Bug fix update(10/9): Bug fix update(10/18): SMI.zip
  7. Some progress has also been made on importing textures to IPAKs. "Tex mod" is another proof of concept program for SeT that will be replaced. It's implementation is almost complete; however, there are still bugs needing squashed. Keep your eyes peeled. I'm going to try and stream line this due to popular demand. Hopefully I'll have it done by the end of next week. But I tend to set due dates too soon, so let's say the end of the month of I hit too many speed bumps
  8. More progress made! Fixed a compression bug, implemented h2a decompression, and compression (still needs to be tested) also added the beginnings of a tool "SMI" an ode to the nightmare fuel days of PMI with HMT. it's for injecting templates into different s3dpaks. The functionality has been added to recursively extract templates, and their coresponding Imeta entries. Making injecting templates as simple as extract, import. It also adds the templates, and the textures to the SceneData. Automating the process almost entirely. Currently SMI only has extracting programmed in; however, it shouldn't be too difficult to finish. This is more of a "proof of concept" than anything. The tool is designed to hold people over until the full release of SeK.
  9. Another update! SeT got updated (and is now in desperate need of some house keeping.) sadly progress has been slow. I had an infected tooth and only really had the chance to work on this like 4/5 days this month. Still looking for help c: added: Bugs (probably) DirectX support Importing from dds (still kinda broken; however, it has been pushed) dds definitions for the used types Converter for 16 bit argb to 32 bit A basic beginning to a texture tool Compression (which needs to be threaded) imagine is a test of importing custom dds textures.
  10. So, things have been a bit quiet from my front this past month, but I figured I’d post an update to some of the progress that’s been getting made. When I say “team” I currently mean myself; however, I am looking for people to join. If you’re interested shoot me a dm onto the updates! SeT had a major revision. I refactored everything to utilize polymorphism a bit more. Hopefully to keep things a bit more organized. There have been 2 major updates to SeT. One is SEK. Which is a saber editing kit. It’s a hek style set of tools that will be used to modify saber files. this is going to replace SuP. Planned tools are: S-edit - a guerillaesque program used to edit the files inside the saber paks. s-tool - a tool-esque program used to compile new files. P-arc: this will let us pack All the mod files into one file (.s3dpak, .ipak, .imeta, .fmeta, .map). It also lets us send only the modded files, greatly reducing file size. File size comparison (desert hog mod): my hopes is this will simplify modding cea, and make it more user friendly. besides planned programs, my hopes is to create an export/importer with templates to blender. Coordinates, texture coordinates, and faces have been mapped out for cea. This means I can extract most of the model data; however, this is only for “simple” meshes. I have not found rigging data. Research is still being done. I’m going to attempt to manually build a model into a template to test building soon. lastly, While the primary focus is for h1, I have been poking around with h2a as well. I managed to extract the contents of the h2a pck files. I have a lot of templates from there as well. I figured out some of the model data for them as well; however, I wasn’t able to figure out texture coordinates, or rigging information for that either. is your interested in helping out, I could really use a hand. I only have ~2 days a week that I can dedicate to this.
  11. Found out today that there are more types for the Xbox version. So it's not compete complete. Will update with Xbox specifics later this week
  12. SeT Saber editing Toolkit is a set of python scripts dedicated towards editing saber files. While i was working on SuP, i realized that the path I was going down would limit the abilities I have to work with the data. I decided I would migrate to a more generalized toolkit, and use this as a backbone to program a more versatile set of tools. I intend to write a full SEK for editing saber files once I have fully mapped out the structures. hopefully, this may be useful to others who would like to create their own modding tools as well. It will be an ongoing project until everything is mapped out. The github has a readme that explains how to use it. Basically it allows programmatic access to the contents of saber files saving others the stress of having to reinvent the wheel every time they want to make a modding program. https://github.com/Zatarita/SeT Currently I have s3dpak, ipak, fmeta, imeta, TexturesInfo, and SceneData defined; however, ipak, and imeta are partially implimented. I am willing to accept any help if you wish to contribute to the project. join the discord for smaller updates. major updates will be brought to this post. You don't have to be a programmer to help! Anyone willing to poke around with a hex editor can be a big help c:
  13. I honestly don't feel this needs to be made; however, for sake of completeness: The fmeta format: The fmeta file format simply links dependent files together. It is as follows: 4 bytes : child count 4 byte : padding string (256 bytes) : name 8 bytes : padding 4 bytes : type (-1 for s3dpak, 1 for .map) 4 bytes : decompressed size (if file is a .map) the decompressed size is -1 (ffff ffff) if it's a s3dpak I guess I should also point out it's a fixed size file coming in at a whopping 18 kb
  14. Interesting, I actually haven't looked into the blam side of things yet; however, I'll look into it see what I can figure out. That could explain the other "size" variables
  15. I don't know what you mean, I haven't noticed any discrepancies. I ran into an issue originally with SuP, and I found out the issue was rawtex. It didn't extract mipmap, and face data so it would be cut off.