144 posts in this topic


A lot of work with Invader has been done over the past month.

  • Support for the upcoming MCC: CEA format
  • Changes to invader-model (it only uses the legacy method - not the new method I added in the previous post)
  • Support for global_scripts extraction
  • Improvements to usability, such as Find/Save As in invader-edit-qt auto-expanding all directories to the tag's current directory
  • Fixes and more fixes

Check the changelog here: https://github.com/SnowyMouse/invader/blob/master/CHANGELOG.md

Takka, Enclusion and ST34MF0X like this

Share this post

Link to post
Share on other sites

I'm currently in the process of redoing Invader's C++ code generator. This should make Invader compile considerably faster and make it easier to maintain. I'm also working on a script compiler and a few other things to help with MCC support. I'm hoping this will be useful!


Unfortunately, the amount of time I have to work on this stuff might be significantly reduced soon as I might be finally finding myself in a programming job sometime soon!


I should be able to continue working on stuff on my free time, but as I do a lot of programming by myself, updates to Invader and Chimera will be a bit slower. Sorry, I gotta eat.

ST34MF0X, Enclusion, Takka and 1 other like this

Share this post

Link to post
Share on other sites

I'm sort of in the middle of a big refactoring/rewrite.

A key point is, last month during the flight, I added in support for the new CEA "Classic HUD".





However, while the tag definitions are backwards compatible with Halo Custom Edition, the tags are not, thus it'll need to be made clear which definitions work on what version of the game.


As such, some things related to the parser need changed or rewritten to facilitate being able to edit so many versions of the game.

Sunstriker7, ST34MF0X and Takka like this

Share this post

Link to post
Share on other sites

I fixed a bunch of issues with invader-model. It should now be able to properly handle models that have over 65535 vertices. Some issues with markers and regions were also fixed, too. I also fixed a few invader-bitmap issues.

Takka, ST34MF0X, Enclusion and 1 other like this

Share this post

Link to post
Share on other sites

I've added invader-script. You can now compile scripts for all versions of Halo without requiring Sapien, even Xbox and Custom Edition.


invader-build will also now compile scripts, too.




This will help determine if a given script will work in a game. For example, multiplayer_draw_teammates_names will crash anything except Halo Custom Edition and MCC.


Consequently, Invader now supports maps with scripts.

Takka, ST34MF0X and Sunstriker7 like this

Share this post

Link to post
Share on other sites

I've released Invader 0.45.0 (and then 0.46.0).


The main point of the 0.45.0 update is to provide full compatibility with the new Halo: Combat Evolved Anniversary tagset and tools. The 0.46.0 update further improved accuracy of the tools.


All scenarios that were released with the MCC Halo: CE Modding Tools now compile with invader-build with the new script compiler, though if you choose to use Invader with CEA tools and tags, there is one important thing to note: 343 Industries changed the way scripts are compiled with their tools. Basically, CEA's tool.exe loads and recompiles scripts from the data directory rather than the scenario tag, itself, on build.

It also drastically increases the performance of invader-build and invader-bludgeon, since Invader now uses the vorbisfile API to query sample count instead of decoding the entire Ogg Vorbis file. This yielded over 200% more performance on my Ryzen 5 2600 PC when building levels\d40\d40. The difference is staggering!


Most notably, this adds the invader-script tool, as well, allowing you to compile scripts without needing to use either Sapien or building a cache file with CEA's tool.exe. It will also make porting between versions of the game easier as it will take into account the functions and globals from different versions of the game, and it will properly size the node count.


This also adds a bunch of improvements and features, making Invader even more accurate than ever before! Besides a few negligible floating point precision differences, some inconsequential ordering differences, the usage of scenario tag scripts vs. data folder scripts (you can use invader-script for these!), and a few other remaining unknowns to explore, the entire CEA tagset should now be functionally identical when built by Invader as opposed to CEA's tool.exe.


And of course, Invader still supports all three major Gearbox releases of Halo PC: the disc version, Custom Edition, and trial! And the original Xbox version is also supported, too. Therefore, all of these versions naturally received a significant accuracy improvement as well!


As always, when modding CEA, please note that the following:

  • You will want to obtain the Halo: CE Mod Tools as it comes with a complete set of tags which, due to legal and size reasons, cannot be provided by Invader. It is free on Steam even if you do not own Halo: Combat Evolved Anniversary on Steam, so feel free to download it here.
  • Until Halo: Combat Evolved Anniversary receives custom map support, you will need to replace your stock maps to use custom maps. Therefore, it is recommended that you play custom maps with EAC off.
    • When playing with EAC off, you will be restricted to playing self-hosted Custom lobbies and singleplayer games. Matchmaking, the Custom Games Browser, and most game progression features will be disabled.
    • If you accidentally play with EAC on, you probably won't get EAC banned since it's unlikely EAC can tell the difference between a modded .map left in by accident, a corrupted .map file from a bad download, or a .map file with wallhacks, but you will almost certainly get kicked from matchmaking and quitbanned upon trying to load a modded map.
    • If you've accidentally messed up your MCC installation and you did not make backups, tell Steam to Verify Integrity. This will take a while depending on the speed of your computer, but if it finds a discrepancy, it will retrieve the correct file from the Internet.
  • As far as CEA releases go, this toolkit will only support the Steam version. If you want to mod the Xbox One or Microsoft Store version of CEA, you're on your own until 343 Industries provide a method to play custom maps on those versions, assuming they ever do. Luckily the official CEA tools are available off of Steam for free.
  • Lastly, as per version 3 of the GPL, this software has absolutely no warranty whatsoever. That also means that, just like with content made using the official CEA tools, if you get yourself Xbox Live banned because you cheated and/or griefed using content made with this software, that's on you. PLEASE don't be that guy.

Lastly, I'm working on an overhaul of the tag API to hopefully further help with porting between different versions of this game. I've noticed that maps made with CEA's tagset will crash on Halo Custom Edition (and it's most likely not because of the shaders).


Have fun!


for the entire changelog, go here: https://github.com/SnowyMouse/invader/blob/master/CHANGELOG.md

Takka 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.