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



117 posts in this topic

I've added threading to invader-sound. This will allow you to take advantage of modern, multi-threaded CPUs when resampling multiple sounds or encoding lots of sounds or split permutations.


Here's an example graph:




I included tool.exe as a baseline. Here are some notes about it:

  • This test is being done on the latest version of Wine. When running the same tests on Windows 10, I've found it to be, on average, about 5% slower to compile sounds on Windows 10. Not really a significant discrepancy, and it does ultimately make tool.exe look better, but it's an unfair comparison nonetheless.
  • tool.exe was not able to do entire albums. It'd fail to do some tracks, and the massive number of permutations due to being split exceeded its maximum permutation count of 256.

Edit: Fixed an issue with invader-sound -j 1 being more than 4x slower than four threads.

Tucker933 and ST34MF0X like this

Share this post

Link to post
Share on other sites


Some news today!


I've reworked some bitmap-related things, including some details about mipmap generation and error handling. This isn't going to affect most bitmaps, but accuracy is accuracy!


The GitHub repository has also been moved to https://github.com/SnowyMouse/invader. If you currently have the master branch of the Invader repository checked out using git, you can switch to the new upstream URL by running these commands:

git remote set-url origin https://github.com/SnowyMouse/invader.git
git pull

People have requested tutorials for using Invader on the Invader Discord, so I've made the first tutorial: how to create a bitmap tag. You can find this at https://github.com/SnowyMouse/invader/wiki/Creating-a-bitmap.


I'm planning on posting more there, later, such as a tutorial on how to make a map (after some prerequisite tools are finished). I probably won't post any of them here, as most people on this forum don't really use Invader.


Sunstriker7, ST34MF0X and Tucker933 like this

Share this post

Link to post
Share on other sites

I've been working on a new model compiler. It'll be a while before we see it, but nevertheless, I have plans for it!


I've also done some more work on the wiki!


The bitmap tutorial has been updated with information regarding cube maps and bitmap formats.


I've also added a new tutorial for creating sounds. The sound tag tutorial discusses:

  • Setting up your data folder structure
  • Sound classes
  • Split permutations
  • Audio formats
  • Resampling
  • Remixing
  • Sound tag generation
  • Pitch ranges

I've yet to see a sound tag tutorial quite as in-depth as mine, so check it out at https://github.com/SnowyMouse/invader/wiki/Creating-a-sound


More tutorials are on the way.

Sunstriker7, Tucker933 and ST34MF0X like this

Share this post

Link to post
Share on other sites

I haven't posted an update in a couple months, but that doesn't mean I haven't been working on things all this time!


I added mcc-custom as a build target for invader-build. This builds a Custom Edition map compressed with MCC-style compression and it generates a .fmeta file in the same directory.


A number of small changes have been made:

  • invader-build now automatically swizzled/deswizzles bitmaps based on the target engine.
  • invader-build now overwrites the leading width as tool.exe does (as such you cannot edit this field anymore)
  • invader-build now defaults a number of values it didn't before
  • invader-build now allows for heat loss per second greater than 1
  • invader-bitmap has been refactored, and a lot of stuff has been rewritten. This was to fix a few edge cases for certain color plates.
  • invader-bludgeon --all now has multithreading support and uses your CPU thread count by default
  • invader-sound now uses your CPU thread count by default


For more information regarding MCC support, see this post: 


Tucker933 and ST34MF0X like this

Share this post

Link to post
Share on other sites

The nightly builds of Invader no longer have any dlls in it! Oh, and this is even with Six Shooter. This does mean that the sizes of the exe files are a lot larger (about 240 MiB) but the folder's certainly a LOT cleaner. I might add libinvader.dll (Invader's core functionality) which would cut about 180 MiB off of the file size, though this may result in user error when updating Invader, namely with mismatched .exe files and .dlls. A few people have suggested I add an installer, though I dunno if that's a great idea at this point.


Also, I've fixed some issues with postprocessing with invader-bitmap, notably with blurring and sharpness. It's PRETTY close to tool.exe's output (although you should probably just sharpen/blur in whatever image editor you use anyway). Speaking of which, I've decided to let invader-bitmap produce .bitmap tags with dithering after all. In fact, the whole -x (--extended) stuff has been dropped altogether!


And... wow, the year is almost over, so I'm looking into maybe making a post soon about the year in review, as Invader has improved so much across the year 2020!


Anyway, I'm working on the following stuff right now:

  • Accurate Xbox map tag extraction
  • Improving invader-build's accuracy
  • More features for Six Shooter
  • Xbox map compilation

And, goodness, there are quite a lot of things I have planned for 2021 that I'd love to do. One thing in particular I'd like to maybe try working on is a scenario editor. It MIGHT just make more than three people want to test Invader. MIGHT.


Um... probably not, though...

Sunstriker7, Tucker933 and ST34MF0X like this

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.