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
(SBB) Storm liked a post in a topic by Hiralis in Halo PP Edition
Some of you may have already seen this posted on some Discord servers but here I am announcing Halo: PP Edition.
Have you ever thought to yourself "I think the plasma pistol is drastically underutilized and deserves more love.
Imagine no more. Halo PP Edition takes the classic Halo 1 plasma pistol and turns it on its head. This beta includes four modded original maps: Boarding Action, Chillout, Prisoner and Ratrace. Each map features the following weapons
- Original PP: unmodified original plasma pistol
- Uzy PP: Automatic plasma pistol that deals high rate of fire but low damage per overheat
- Big PP: Double shot plasma pistol that fires Fuel Rod projectiles
- Blue PP: Plasma pistol with a powerful, close range blast
- Gold PP: Headshot capable plasma pistol that fires rounds similar to the carbine
- Purple PP: Pseudo-grappling hook. Objects are launched toward you and you are launched in the direction you aim
Please download and enjoy!
(SBB) Storm liked a post in a topic by giraffe in [WIP] Testrun Remake
Testrun is an obstacle course map that you race through with other players. I never finished making the original and have since lost the level's original max files, so recently decided to remake it again.
You jump across lava onto platforms of varying heights and widths. There is a safe and slow crouch walk path for those who struggle, however it'll take significantly longer to reach the end of the area. No idea yet...
You can post suggestions for obstacles in this topic and I might include them if they're possible.
(SBB) Storm liked a post in a topic by Kavawuvi in Update: Floor decal fix
Yesterday, I fixed the floor decal on stock maps. This applies to any "double multiply" decal on an alpha tested layer.
Here's what it looks like without the fix:
Basically, you can't see it. The game does not appear to render it.
Here's what it should look like:
It should appear bright green.
Refined works around this issue by changing it to a regular multiply:
However, it now looks like a dark green instead of a light green. Granted, floor decals would probably look more like this in real life, but it doesn't match Xbox.
Chimera fixes the issue by making it follow the same code path as multiply but in a way where it's still rendered as double multiply:
Like all fixes that were worked around with tags, there is a caveat. Because this is an issue with the game's renderer and not the tag, if you use the Refined maps with the workaround decal, it will still look just as dark as usual as that's what the tag is telling the game to do. The issue will only be fixed if you're using the stock double multiply decal because that is the only case where the issue exists. Therefore, if you choose to make maps that utilize such decals, know that they won't be fixed unless you have Chimera. But if you would prefer the decal to be visible for all clients, then you'll have to use the workaround as always, and this will apply to all clients, even those with the fix.
(SBB) Storm liked a post in a topic by Conscars in Ghostbuster: a phantom BSP fixer
I did a deep dive on what causes phantom BSP a few weeks ago and was able to develop a tool to fix it in compiled scenario_structure_bsp tags. I still suggest you first use the classic tricks like adjusting geometry, ensuring faces in flat surfaces are co-planar, avoiding high poly dense geometry, and preferring 90 degree or shallower angles between faces. However, in a pinch you can use Ghostbuster to fix the tag for you. The tool works by looking for bad BSP3D nodes with dividing planes which incorrectly assume one side is outside the map, and sets that side's child to be the same as the opposite side of the plane. This doesn't have any negative side-effects because the fixes happen deep in the BSP tree where some additional collision checks are still cheap.
Ghostbuster is a Python command line tool based on Moses' Reclaimer library. You can find installation and usage instructions at the GitHub repo:
I've also created a c20 page for it:
I have tested the tool on Danger Canyon and Blood Gulch and observed it removed the known phantom BSP in those maps once recompiled. It has been used on 1 custom map to my knowledge. Given that this is fairly new and only tested for a few maps, exercise some caution and back up your BSP tag before modifying it. Let me know if you see any bugs and I'll try to bust those too
(SBB) Storm liked a post in a topic by Nickster5000 in Halo CE: Raids
More info here: https://github.com/Nickzster/Halo-Lua-Projects/tree/master/Raids
Hey everyone, so I've been working on this with my bud Ender (GoldyDeWise) for the past couple of weeks, and I think it is in a good state to demonstrate. You can watch the video here:
Feel free to leave any feedback or suggestions!
Documentation, copied from the github page:
What is Raids?
Raids is a dungeon-styled gametype for Halo Custom Edition, in which players must work together to defeat bosses. Classes
Each class in Raids serves a function that is essential to killing the boss. Each class has a set of weapons to choose from, and an ultimate ability. Players can also use equipment to enhance their player with passive effects, like damage boosting, damage reducing, dodging, and critical strike chance. Spartan (Tank)
Purpose: To hold agro, and have the boss attack them Max Health: 500 Ultimate Ability: God mode for 10 seconds Ultimate Ability cooldown: 90 seconds. Medic (Healer)
Purpose: To heal other players Max Health: 100 Ultimate Ability: Heal all players nearby to full health. Ultimate Ability cooldown: 75 seconds. Special Notes: Healers can shoot friendly players to heal them, and shoot bosses to deal damage. Soldier (DPS)
Purpose: To deal damage to the boss. Max Health: 100 Ultimate Ability: Bottomless clip for 10 seconds. Ultimate Ability cooldown: 60 seconds. Valiant (Gunslinger)
Purpose: To deal damage to the boss from a distance. Max Health: 100 Ultimate Ability: Active camoflage for 30 seconds. Ultimate Ability cooldown: 90 seconds Special Notes: Is an elite. Bandolier
Purpose: To deal sustained damage to the boss. Max Health: 100 Ultimate Ability: Fill all nearby player's ammo to full capacity Ultimate Ability cooldown: 75 seconds. COMMANDS
/class <classname> | changes your class to <classname> /loadout <primary> <secondary> | changes your current class's loadout to <primary> and <secondary> /equip <equipment> | equip <equipment> to your player /ult | Activates your ultimate ability. You can press flashlight key to activate this now! /greed | Perform a greed roll for a boss drop. /need | Perform a need roll for a boss drop. /whoami | Prints your current class /moreinfo <item> | Read more information about a specified item in the mod
The raid will automatically scale depending on the number of players present. Here are some metrics you can expect depending on the number of players Extra Small Raid
0 - 3 players 1 Tank Allowed 1 Healer Allowed 1 Bandolier Allowed Boss Health is scaled at 1.0 normal health. If a boss has 1000 health, then the boss will have 1000 health in an extra small raid. Small Raid
4 - 5 Players 1 Tank Allowed 1 Healer Allowed 1 Bandolier Allowed Boss Health is scaled at 1.5 normal health. If a boss has 1000 health, then the boss will have 1500 health in a small raid. Medium Raid
6 - 10 Players 1 Tank is allowed 2 Healers are allowed 1 Bandolier is allowed Boss Health is scaled at 3.0 normal health. If a boss has 1000 health, then the boss will have 3000 health in a medium raid. Large Raid
11 - 12 Players 2 Tanks are allowed 2 Healers are allowed 1 Bandolier is allowed Boss Health is scaled at 5.0 normal health If a boss has 1000 health, then the boss will have 5000 health in a large raid Extra Large Raid
13 - 15 Players 2 Tanks are allowed 2 Healers are allowed 2 Bandoliers are allowed Boss Health is scaled at 10.0 normal health If a boss has 1000 health, then they will have 10,000 health in an extra large raid. Crates
Crates are physical entities that players can find in the map. They come in three different flavors: Iron Crate
Drops Equipment based items. Gold Crate
Drops Armor based items. Crystal Crate
Drops Weapon based items.
(SBB) Storm liked a post in a topic by aLTis in Backpack weapons
This script will show player's secondary weapon.
Works on all unprotected maps that don't already have backpack weapons Automatically detects where weapon should be placed if the tag is not listed in the script
Only one backpack weapon is shown Some custom weapons may not be placed correctly Some custom weapons may not render when viewed at certain angles May cause issues on single-player maps when reloading checkpoints
(SBB) Storm liked a post in a topic by aLTis in Emoji chat helper
This script is for those who are using emoji chat only.
If you are tired of entering wrong emoji names and not knowing what emoji are there then this script is for you! It will show you suggested emoji as you're typing one in the chat.
update: fixed some issues with symbols
updated: fixed issues with special characters
If you don't have emoji chat first you need HAC2 with custom chat enabled. Then you need to download this emoji_chat.rar
Extract it to the controls folder in your Halo CE directory. Modify chat color and shadow using emoji_chat.ini if you'd like. Credits go to giraffe and me.
(SBB) Storm liked a post in a topic by Kavawuvi in Update: More controller configs, cleanup
I've added more controller configurations, partly in thanks to this topic:
We now have profiles for the following controllers:
Microsoft Xbox 360 Razer Serval (via Razer Synapse 2.0) Sony DualShock 4 (with or without DS4Windows) Steam Controller Xbox One Xbox One S
Feel free to continue submitting gamepad information in the above topic for easy tickets if you have any gamepads that are not listed!
I've also fixed a few issues with compiling Chimera from source, namely issues that occur if you don't have cURL installed.
(SBB) Storm liked a post in a topic by Kavawuvi in Update: Controller button text
Chimera now provides the option to substitute controller button names. Sadly, it's text only, but this should, at least, be an improvement over "Hold "BUTTON #3" to pick up...". You can configure this from within chimera.ini.
Here are some screenshots:
Because there are many different controllers, no default configuration is given. However, I've included an example controller configuration here: https://github.com/Kavawuvi/chimera/tree/master/controller_config
Note that I only have an Xbox One controller that I can plug into my PC, so this is currently the only config file available.
(SBB) Storm liked a post in a topic by Kavawuvi in Invader (MCC updates)
Invader is dropping direct support for Halo: Combat Evolved Anniversary (MCC) maps.
This means that Invader, itself, will not natively support building CEA maps or extracting tags anymore. There are a few reasons for this, but it mainly boils down to the fact that supporting both CEA and Gearbox Halo PC maps at the same time would be insane for a project developed by one person (me) while trying to add new features. I don't know how many times I've added a feature, only to break MCC or break Gearbox Halo PC maps and having to take time to fix that, too.
I am planning on writing a couple tools that use Invader and build/extract MCC maps, but they will not be a direct part of Invader by themselves.
Anyway, let's talk about why this change is being made.
It is impossible to identify a compressed CEA map without decompressing part of it, unlike every other type of map file.
Because CEA maps compress the header, it is impossible to determine what kind of map it is without decompressing it. This is a pretty big deal, because I can't be sure if, say, bitmaps.map, sounds.map, or loc.map files are actually MCC maps, so I have to attempt to decompress it. This makes things like map loading less efficient, as a result, and it also makes it prone to being broken by feature additions.
It is impossible to rationally tell the difference between a CEA map and a retail Halo PC map, and this is an IMPORTANT distinction.
Halo: CEA changes up the rules for map parsing in its format, yet for some reason, they decided to continue using engine version 0x00000007, the same as retail Halo PC. These are different formats, though! Here's a list of what they did:
CEA maps no longer use a fixed base memory address. Instead, they can have any base memory address, and this address is derived from the tag array address. It just so happens that there's a tool that does the EXACT same thing: Eschaton. This means that MCC maps cannot have their tag array moved, but Halo PC maps can. CEA maps (that are stock) use a different base memory address than Halo PC (0x40448000 instead of 0x40440000). CEA maps' BSP data can overlap the base tag data by address. Just going by the map alone, the tag space would appear to have been reduced to 16 MiB (in actuality it was increased). However, BSPs are loaded in separate buffers, and this 16 MiB window provides a high chance for an overlap. Halo PC maps cannot do this, thus Invader's map parser accounts for this when it comes to potential BSP data being placed in tag data (Invader's -O does this). CEA maps can have BSP data located outside of the BSP tag, itself. Maps are limited in what custom assets can be used.
Someone (likely Saber) changed the way bitmaps and sounds are loaded to a way that completely bypasses tag data. Basically, all of the bitmap data is located in the inplace1.ipak file and referenced in .imeta files, and the sound data is located in .fmod files. For whatever reason, CEA does NOT use tag data for determining the location or format of bitmap and sound data, even if that data were internal to the map, itself. This means custom lightmaps, textures, sounds, etc. are impossible by map file alone. You can use custom assets, but to do so, you'd need to replace the inplace1.ipak file, the fmod files, and the .imeta files of all maps. The inplace1.ipak file is a massive file, containing both CEA and classic CE assets. Unless you're okay with all of your other maps not working, you need to include that, too. Most CEA custom maps work around this massive limitation by deleting the lightmaps (so everything is fullbright - better than not being able to see anything I guess) and swapping textures with stock CE textures until it resembles the original.
What tag data is even used?
It appears that the way 343 Industries prefers to fix issues is through code. A quick look at the game executable confirms that they use a large number of hardcoded tag paths, thus some tags are directly referenced for some reason. From reading discussions from 343 Industries developers, this somewhat implies this. For modding, this limits us even further. This quote basically sums tag data in CEA up:
Getting custom maps to work on MCC is an error-prone process.
As seen in Storm's video, even correctly installing a map can fail, resulting in even 2v2s failing to work in some custom games.
Correctly installing a map requires replacing an existing map while modifying a file in a completely separate file. This is a far cry from Halo: Custom Edition (or Halo Trial / retail Halo PC with a mod like Chimera) simply letting you copy the map into the maps folder. Speaking of which, the game, by popular demand, has anticheat. Guess what anticheat does NOT like you doing? Replacing or modifying files. This limits how you can even play the game. Even a theoretical "Refined Anniversary" would have to be played with anticheat turned off, and you're only limited to singleplayer and custom games.
We don't know how modding support will work, assuming CEA will even support custom maps.
We don't even know how 343 Industries plans on supporting custom maps in the future, if at all. We assume that, if they wanted to, they would want to support Halo: Custom Edition maps, and if they do, Invader supports generating Halo: Custom Edition maps, anyway.
It's difficult to support a game that is actively and openly hostile towards custom content being loaded. Invader is developed by two people, with me being the only person who actually writes code. I do this in my spare time, and I do it for free. Maybe it'd be different if I was actually getting paid for this, but I'm not. Also, Invader's scope is tag data and maps that reference or have tags. Traditionally, a Halo map file is an archive of tags. However, this game actively disregards tag data, and its assets are stored in ipak/fmod files which do NOT use tag data to reference.
Supporting something that falls within the scope of Invader (Halo PC) and something that is well out of scope (CEA ipaks, etc.) at the same time in one project is insane, so this was the path we both agreed on.
(SBB) Storm liked a post in a topic by aLTis in How to install Chimera scripts
Only the old Chimera builds have Lua script support, scripts will not work with Chimera 1.0. I recommend downloading the -581 build: chimera_build_-581.zip
To install Chimera you need to extract it to Controls folder in your install directory. If you had Chimera 1.0 installed previously you must remove it!
To install scripts you must put them in Documents\My Games\Halo CE\chimera\lua\global\ folder. The scripts should work automatically once you start Halo. If Halo is already running, type "chimera_reload_lua" in the console to reload the scripts.
You can include a script in a map file! First of all, put the script in the map folder instead of global and name it the same as the map file. When you play on that map, the script will load. Use this tool chimera_ltool.zip to attach it to the map file once it's ready. in CMD type "chimera_ltool 'mapfile.map' 'script.lua' 'mapfile.map'" (make sure to use full directories) and it will be done! Whoever plays your map and has Chimera will run the script.