Search the Community: Showing results for tags 'H2 Tutorial'.
Found 4 results
-
Similar to the Tools Shortlist, you can find many of the most useful MCC tutorials listed here. MCC Compression Formats Detailed information on compression formats used by various files. Running MCC Modding Tools on Linux With Wine Tips on configuring wine for the MCC mod tools. Porting CE Maps To MCC Tips on how to port existing CE maps to MCC. Working With GBXModels Creating and working with models used by the engine. Editing Thumbnails and Loading Screen Map Names Modifying the main menu elements for MCC. S3dpaks Detailed information on the s3dpak and some of its contained files. Tutorials making it to this list earn 8 Raffle Tickets!
-
- HR Tutorial
- H1 Tutorial
-
(and 2 more)
Tagged with:
-
Halo MCC introduced compression to some of the game files. All of these formats are generally the same concept, but applied in different ways. In this topic, we're going to discuss the different forms of compression found in a few of the MCC halo versions. Primarily halo cea, and h2a pc. Compression on h1a standalone release for the 360 is different. Each of the compression algorithms use zlib compression. Generally the file gets broken up into certain size chunks, each chunk gets compressed and laid out sequentially. An offset to the beginning of each chunk is stored in the header. Each algorithm uses a variation of this technique, and I will cover the three main ones. H1A compression - Used in halo 1 anniversary files (*.map, *.s3dpak, *.ipak) * NOTE: due to a recent update, map files are no longer compressed * H2A compression - Used with halo 2 anniversary non-map files (*.pck) H2Am compression - Used with halo 2 anniversary map files (*.map) I have developed a tool for decompressing both generations of files with a quick right click shortcut. H1A Compression H2A Compression H2Am Compression EDIT: Some software uses a variation on the compression algorithms. MCC does not verify the first chunk offsets, This means we could leave the superfluous 0's out of the header. For example Invader only writes the offsets in the header needed for the file. Meaning the chunks start right after the last offset. This can reduce the header size significantly. This is not required for understanding; however, you may come across this variant in your hex adventures. When writing algorithms, I feel it is good practice to continue this way. EDIT 2: Fixed some information relating to h2am compression EDIT 3: They changed how h2am map compression works, I need to look into the format; however, until the next update assume the information for h2am is antiquated
-
To play Halo: The Master Chief Collection on Steam, with mods, you must disable Easy Anti-Cheat (EAC) or simply 'anticheat'. If you don't do this, you can get VAC banned on Steam which may lead to consequences like being unable to play multiplayer or worse. Option 1: Desktop shortcut. Here's how to get a desktop shortcut with the official icon. First get the original game shortcut which can be placed automatically as you install the game, or manually add it later by doing the following: Find Halo: The Master Chief Collection in your Steam games library list and right click it. Select Manage. Inside the Manage sub-menu, click Add desktop shortcut. Once you have a normal Halo MCC desktop shortcut, do the following: Copy and paste the shortcut Steam made for you, then rename it 'MCC NonAC' or whatever you like. Edit the properties of the shortcut. In the URL field, replace steam://rungameid/976730 with steam://launch/976730/option1. To finish, select OK. Be careful not to accidentally run the original if you have installed mods. Or just don't have the original at all. Option 2: Through the Steam games library. I personally find this method to be annoyingly repetitious but if you have lots of games, this can be a way to keep your desktop clean. Navigate to Halo: The Master Chief Collection in your Steam games library. Launch the game using the big green PLAY button. (Shown in the picture as blue CANCEL since I already clicked it.) Two windows will appear, one is a prompt. In the prompt, select the option that says "Play Halo: MCC Anti-Cheat Disabled (Mods and Limited ..." Press PLAY and enjoy your mods worry-free!
- 5 replies
-
- HR Tutorial
- H1 Tutorial
-
(and 2 more)
Tagged with:
-
With the release of unpck I feel it's a good time to give a more technical update on some h2a progress being made. to see these files we'll need to decompress, and extract a pck file for h2a, The format we're looking at today is located inside of the shared.pck file. The file format pct is for textures. Unlike CEA, h2a textures are broken up into individual files. These are all dds textures with their header stripped, and a new saber specific header stitched on. The layout is very similar to the imeta/ipak format in cea. to locate these files, after extacting shared.pck, navigate to the textures folder inside the shared subdirectory. In this folder we see every texture used in the game. If we open them in a hex editor we'll see a header 0x3A bytes wide, and the rest is all pixel data. The format is a sentinel based system with delimiters for file type. Before we continue, I want to touch of this a bit. Each file is broken up into structured objects. these objects are given a number to represent what it is. When the engine encounters one of these objects, it knows to load the preceding data into that objects variables. The contents of the sentinel can vary depending on intended use; however, there will be at lease: short: number reference for object structure int32: Pointer to end of chunk ... the actual data the object holds ... The pct format is no different. I like to think of this as an unfolded c-style class. sentinel 0x00F0 (File header/signature) { int32 end_of_block; string signature = "TCIP"; } sentinel 0x0102 (bitmap shape) { int32 end_of_chunk sint32 width, height, depth, faces; } sentinel 0x00f2 (dds format) { int32 end_of_block; pck_format type; (32 bit) } (See below for types) sentinel 0x00f9 (mipmap count) { int32 end_of_block; int32 mipmap count; } sentinel 0x00ff (pixel data) { int32 end_of_block; pixed_data; (the format changes depending on format type so this is pseudo-code) } sentinel 0x0001 (Footer) { int32 end_of_block } Format types: The header holds the dds format. From what I can tell these are the ones that are used in game, though since saber uses their engine for many different games, I wouldn't be surprised if there were more. Been researching some of their other games to see what I can find as well. for now, just h2a: A8R8G8B8 - 0x00 AI88 - 0x0A OXT1 - 0x0C AXT1 - 0x0D DXT3 - 0x0F DXT5 - 0x11 X8R8G8B8 - 0x16 DXN - 0x24 DXT5A - 0x25 A16B16G16R16 0x26 R9G9B9E5_SHAREDEXP, 0x2D wrapping all this together we have the entire block defined. I like to see things visually to help get a better grasp: All things in green are sentinels All things in blue are end of blocks. Orange is the header Yellow is bitmap dimensions, and face count Pink is format Purple is mipmap count White is pixel data here is also the footer. It is just a sentinel and end of block (or in this case end of file) with no extra data. Applied looks like this: