SirenSorrento

H3 Brute Armor Fix

Jul 21st, 2020 (edited)
448
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Removing that Damn Blue from H3 Brutes - A Quickly Written Guide
  2.  
  3. Due to somewhat popular demand, I've written a quick guide on how to free Brute ranks in Halo 3 from all looking like some shade of blue. Or in the Captain Major's case, a greenish-yellow.
  4.  
  5. Firstly, you'll need the following shaders opened up in Assembly, and ensure that you have 'Show Invisibles' enabled under 'Options'.
  6.  
  7. - objects\characters\brutes\shaders\minor_major_armor.rmsh
  8.  
  9. This shader controls the armor for all Minor/Captain permutations as well as the leg plates on the Jumppack Brute. This is the shader that will be receiving the edits to get rid of the blue that plagues everything.
  10.  
  11. - objects\characters\brutes\shaders\chieftain_armor.rmsh
  12.  
  13. This shader controls the armor for all Chieftain permutations as well as the Stalker. This is the shader we will be pulling some hex code from in order to solve our blue hue problem.
  14.  
  15. With your two shaders open in Assembly (and the highly recommended presence of a pacified Brute, such as being spawned in via Crate Projectile or Impact Effect), ensure that the tag that will be receiving the edits first has its Asset Datum nulled. If the Asset Datum is not nulled, any edits you make will either not be visible or will do unexpected changes. The Asset Datum is located at the bottom of the tag. There is a handy button that will null the salt and index values for you. A nulled Asset Datum will have the value '65535' for both its salt and index.
  16.  
  17. With the Asset Datum nulled out, go back to the top of the tag. With 'Show Invisibles' enabled, you'll be able to see a block labled 'Parameters'. In this block, there is a sub-block labled 'Functions'. This block is what will be receiving edits. You will be editing the following blocks at these indexes for Parameters:
  18.  
  19. - 14-18 (19): specular_tint
  20. - 15-18 (19): fresnel_color
  21. - 16-18 (19): env_tint_color
  22.  
  23. These blocks are the cause of the blue hue problem: They effectively force a fixed colour to the armor shader's specular, fresnel, and environmental tints/colours. Adjusting each of these within the Float Constants block will do nothing until the Functions that handle this forced colour are adjusted.
  24.  
  25. Over in the chieftain_armor.rmsh tag, you will want to look at the Parameters blocks that share the same float constant strings:
  26.  
  27. - 15-17 (18)
  28. - 16-17 (18)
  29. - 17-17 (18)
  30.  
  31. Take note that when comparing the Functions blocks between these two shader tags, the blocks that belong to the chieftain_armor.rmsh tag have no reference to 'variant' and have a much shorter hex code value with a length of 32 rather than 68.
  32.  
  33. What you want to do back in the minor_major_armor.rmsh is remove the 'variant' string from each of the listed Parameters blocks' Functions block, and copy over the hex code from the chieftain_armor.rmsh's own Functions blocks, i.e. copying over the hex code from one specular_tint's function over to the other for all three.
  34.  
  35. There's one more step to do: Navigate down the minor_major_armor.rmsh tag to the following blocks:
  36.  
  37. - Entry Points
  38. - Passes
  39. - Routing Info
  40. - Overlays
  41.  
  42. For each of these blocks, press the '𝒾' button in the block header. You'll be able to see 'Count' for each of these blocks, and you want to set them all to 0. This will keep any values in the block intact for future use, should you need them.
  43.  
  44. After you've done this, poke or save the changes over and you should have blue-free Brutes! Mostly, after all there are some variants that were always some shade of blue by default. You will also be able to freely adjust the Float Constants for the specular, fresnel, and environmental tints/colours after completing these changes.
  45.  
  46. This can also be done to the '...brute_metal' shader, as it has somewhat similar functions that force a derivative specular/fresnel/environmental tint/colour.
  47.  
  48. Enjoy your noticeably less blue Brutes!
RAW Paste Data Copied