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. 14th of February, 2012

Kavawuvi

Administrator
  • Content count

    4,251
  • Joined

  • Last visited

About Kavawuvi

Extra Information

  • Gender
    Male
  • Contributed
    $100 (US) to Open Carnage
  • Raffle Victor
    One-time

Computer Details

  • Name
    Dark Citadel
  • Central Processor
    AMD Ryzen 5 2600
  • Motherboard
    MSI B450M MORTAR
  • Graphics
    MSI GeForce GTX 1070 Gaming 8G
  • Memory
    32 GB [2x 16 GB] G.Skill Ripjaws V Series
  • Storage
    500 GB Samsung 970 EVO
  • Power Supply
    EVGA SuperNOVA 650 G3
  • Case
    Fractal Design Node 804
  • Display
    Acer G257HU smidpx 25" 2560x1440 60 Hz
  • Keyboard
    MAX Keyboard Nighthawk X9
  • Mouse
    Logitech M510 Wireless Mouse
  • Operating System
    Arch Linux

Recent Profile Visitors

86,249 profile views
  1. Since invader-build now makes campaign maps quite well, I've updated the list. That said, if you're using child scenarios that have scripts in them, you will still need to use tool.exe as Invader lacks a script compiler at the moment.
  2. All in good time
  3. I've done some work on script extraction. invader-extract now does it by default
  4. It's way too early to say for certain, but most people who responded have fairly decent setups.
  5. Have you tried connecting from outside your network?
  6. I decided to open another hardware survey similar to the one I posted a couple years ago. This one is intended to help me (and other developers) make mods, modding tools, or other content for Halo on the PC by gauging the systems that people use. The only thing that's required is the operating system part, but more information is helpful. Here's a link: https://docs.google.com/forms/d/e/1FAIpQLSe4j7b4WnJvnK3KmW9e5yn_Hv0hDtOintJp_qhxrJWtmrg25g/viewform As always, results will be posted in the form of some cool looking graphs.
  7. Probably not. It seems more likely that they probably Jason Jonesed it into the renderer. It really looks like 343 Industries is very hesitant to changing any of the tags in a map and are more likely to just change the tag data or game in code. If they weren't hesitant, maps like Assault on the Control Room wouldn't look messed up when looking at the sky.
  8. I've been looking into that. It's part of Chimera disabling Halo CE writing to the registry. Unfortunately, it writes the gamma values into the registry, too.
  9. Hey! As of today, I'm no longer going to be posting monthly updates into this topic. There are a few reasons why, but it mainly boils down to the fact that people in this community are generally not interested in testing or supporting unfinished, in-development software. I have heard from a lot of people that they are interested in the Invader project, but they are unwilling to use it due to it not being complete. For that, I completely understand, but know that hearing that is actually completely and utterly worthless for me. Funnily enough, there is equivalent software that people use that is far more buggy or broken (though somehow considered "complete"?). I have been upfront in stating that my project is, in fact, not complete, and I am not willing to be dishonest about the status of this project. Basically, I post these updates in the hopes that people will test my stuff. Since starting this project, numerous issues have been found, but almost none of these issues were reported from anyone on this forum (besides Vaporeon and myself, people already closely involved with this project), and some of these issues were present for months. Did you know that invader-build didn't work on Windows for over a month? I didn't until I found out and promptly fixed it within hours. In fact, nobody told me, and it was only until I randomly stumbled across it. Note that I'm not stopping or slowing development of this project. Updates will be posted as per usual on the Invader Discord server. Also, the MCC updates topic (https://opencarnage.net/index.php?/topic/7893-invader-mcc-updates/) will still get updates when that needs it. Oh, also, invader-edit-qt now has sound playback, so that's pretty cool!
  10. I had to disable CEA bitmap extraction due to some issues regarding how data doesn't match the actual stuff in the ipak. This doesn't prevent extraction in and of itself, but it may cause issues with rebuilding maps, so I'm looking into seeing if I can fix that. In the meantime, I began work on bitmap previewing in invader-edit-qt.
  11. The syntax is "chimera_fov 60" and "chimera_widescreen_fix 1". You put the underscores in the command name and you put spaces between arguments.
  12. Maybe give the latest Chimera build a try? Chimera's no longer in alpha, but it never has been truly "stable" in terms of feature completeness.
  13. Cheat Engine using a similar method of finding where to enable it which I did with Chimera so you could run Halo PC with a console without -console
  14. I figured that here would be a good place to put this here. Before someone asks for the difference between Custom Edition maps and CEA map files: aside from the ability to load tag data from external map files and different versions in the header, they're the same format as retail, so besides those two minor differences, all differences below also apply to Custom Edition maps. All of this information has been found from my work with Invader. Map Files Anyway, starting with the map file, itself, cache files are stored as 0x20000 byte (128 KiB) chunks which are each compressed using Deflate. This will signficantly negatively impact compression ratios, but it allows for threading for both compression and decompression. Unlike Xbox maps, the header is also compressed, so it is not possible to even identify a map file as a map file without decompressing it. The first number in the compressed file is a count (32-bit integer), followed by an array of file offsets to each block (32-bit integers). Each block is a size of the block when uncompressed (32-bit integer) followed by the Deflate stream. Using this, you can get the decompressed size by adding up the sizes. You can use Ceaflate to decompress and compress these files, but if you intend to use the map files with Invader, do not use Ceaflate to decompress them. Invader handles it automatically. Once you've got a decompressed map file, you may notice something: like retail maps, the engine version is 7, though the build string is different (01.00.01.0563 instead of either 01.00.00.0564 [maps that came with the retail disc] or 01.00.00.0563 [ui.map that came with the Halo PC dedicated server]). However, there is one key difference that will prevent many tag parsers from accessing the tag data in the map: the tag data address. Halo PC uses 0x40440000 and Halo CEA uses 0x40448000. Since the tag data header is the same size, tools that infer the tag data address based on the tag array pointer, such as Eschaton, will be able to work with the map as far as allowing you to view and edit tag data without having to update the tool. Also, there is another key difference that will prevent many tag parsers from accessing BSP tags in the map: BSP vertices are stored outside of the tag, and the lightmap pointers are meaningless here. Actually, the vertices are addressed based on file offset and size, so you'll have to use the offset values instead of the address values to find it. Fortunately, they're the same format, so they can be reintegrated back into a BSP tag and exported normally. invader-extract can already do this. There's one last difference: bitmaps and sounds are stored differently in CEA. They are not stored in bitmaps.map or sounds.map. All classic bitmaps are stored in inplace1.ipak (and referenced in the .imeta file), and all classic sounds are stored in fmod files. Also, the .fmeta contains information about file names and the uncompressed file size (which is read by the game and needs to be correct). These files not only store the data, itself, but also the actual attributes to the data. Therefore, the tag data for both the bitmap data and permutation data is actually not correct. Bitmap data can be determined by reading the .imeta and .ipak data and reading the data from that, and thankfully, MCC uses the same formats that Halo PC uses for classic bitmaps. However, sound data may not even use a format that stock Halo PC supports. How do I tell the difference between a Halo PC or CEA map? Technically, you can't safely do this if the maps are uncompressed. Here are a few scenarios: Yes, the build strings are different, but neither games read this value. Anyone can change these with a hex editor and it'd still be just as valid to either game. The only thing you can guarantee based on the header is whether or not something is a Custom Edition map. Yes, BSP vertices are stored differently, but the values used in one game aren't used in the other, so it is possible for either to be set to something that appears valid but isn't actually used. Yes, the tag data addresses are different, so usually the tag arrays will be different addresses, but this does not always have to be the case, and some map protections will exploit this for older, naive tag editors like Eschaton. The only reliable way I can think of for telling the difference between two maps is that CEA maps are compressed. invader-compress will also set its own 563 value in the header as the engine version when decompressed so it can still tell that the map is a CEA map. Ceaflate doesn't do that.