Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Search the Community: Showing results for tags 'Halo: Reach'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Xbox Chaos
    • Announcements
    • Welcome Forum
  • Halo
    • Halo Tools & Utilities
    • General Halo Discussion
    • Halo 4
    • Halo: Reach
    • Halo 3
    • Halo 2
    • Halo: Combat Evolved
    • Halo: The Master Chief Collection
    • Halo 5: Guardians
  • Other Games
    • Destiny
    • Skyrim
    • Miscellaneous
  • All Xbox
  • General Chat
    • Xbox Discussion
    • Free Discussion
    • Software Development


  • Dovahkiin's Blog
  • SnipeStyle's Blog
  • AMD's Bit Bucket
  • Halo reach The blog
  • Site News Blog
  • The Intermittent Xevalous
  • How to download and play games on this site
  • Lord Zedd's Blog
  • alvarojulian's Blog
  • Pixel Art
  • halolordkiller3's Blog
  • Urbanmech's Blog
  • disposedman's Blog
  • Random Mods Blog
  • Halo Trivia
  • Modtacular!
  • test
  • julia008's Blog
  • MACKDUB's Blog
  • XxXDarkSoul25XxX's Blog
  • Stanford's Blog
  • OrangeMohawk's Blog
  • Blam Experiments
  • blogs_blog_40
  • sierra 238's Blog
  • .map modding help
  • IbizaClanProductions' Blog
  • seas and oceans' Blog
  • Teancum's Blog
  • Zerker24's Blog
  • nicoleanderson's Blog
  • ColleenMorris' Blog
  • Not Dual's Blog
  • Thilo's Blog
  • Gamecheat13's Blog
  • The404Spartan's Modding Blog
  • XboxChaos App
  • Assembly Plugins
  • Lehvak's fun blog
  • sarahred.01's Blog
  • Stu Pickles' Blog
  • Xoduel's Blog
  • Reach AI teams
  • broadbunny's Blog
  • MythicalRewards' .map mod Blog
  • Unspecified Project
  • Forerunner569's .MAP mod emporium
  • JenniferWhite's Blog
  • Adventures in the Blam! Engine
  • L337H4X0RZZ's Modding Adventures
  • luckyrui
  • Sports News and Updates
  • SUPER AntiSpyWare +1(419)-712-1O13 Customer Care Phone Number
  • 77577 Sports
  • thormas kelvin


  • Halo Mods
    • Halo 3
    • Halo: Reach
    • Halo 4
  • Modding Programs
  • Videos and Artwork
  • Other Xbox Stuff


There are no results to display.

Found 7 results

  1. Expanded Main Menu

    Version 2.0


    Here is Version 2 my expanded main menu. Inspired by recent megalo research and Zedd's Halo 4 Expanded Gametypes mod. This time around I included an Ascension patch just in case anyone is still using that instead of Assembly (but why would you?). This includes everything listed below: Thanks to: Lord Zedd for this post for the chest pieces, and helping me understand the sily/goof indexes (to be implemented later) Synth92 and anyone else who has done research on sily & goof tags Feel free to leave comments, questions, suggestions, etc.!
  2. .MAP

    File Name: Expanded Main Menu File Submitter: OrangeMohawk File Submitted: 16 Aug 2013 File Updated: 20 Aug 2013 File Category: .MAP Mods Here is Version 2 my expanded main menu. Inspired by recent megalo research and Zedd's Halo 4 Expanded Gametypes mod. This time around I included an Ascension patch just in case anyone is still using that instead of Assembly (but why would you?). This includes everything listed below: Thanks to: Lord Zedd for this post for the chest pieces, and helping me understand the sily/goof indexes Feel free to leave comments, questions, suggestions, etc.! Click here to download this file
  3. I feel like as a community we are lacking a bit on info for new-comers who want to get into modding. This topic can serve as a place for any questions on locales that anyone has and hopefully will help out a new modder or someone who has been modding but didn't know this information. What are locales?Locales are basically strings of text that will display in-game. There are multiple languages of locales (12 for Halo 3 - Reach, and 17 for Halo 4) and the language that displays in game will reflect the user's language and localization preferences on the xbox. On top of being split into languages, locales are also split into groups that the game will call upon for specific actions. These groups are determined by UNIC tags in the map file. For example, the group for text the forge menu will display is ui\cui\strings\forge_strings. If you take a look at one of these UNIC tags, you will see it has the index and count for each language. The index tells us which locale this group will start with for each language, and the count is how many locales this group has in total for each language. How do I know which group ____ uses?You might have to do some digging to find out which group is used for what you're trying to do. If it is UI-based like the forge menu, it'll likely be in the parent cusc tag (I won't be going over that here, it's pretty easy to guess by the tag name). Although other groups are implemented other ways, it's not very hard to find. How do I call upon a locale?The locale index table actually includes a StringID and an offset in the locale data to get the text from. Calling upon a locale is as simple as referencing the StringID tied to the locale, as long as it's in the group that the game uses for the area in which you are trying to implement it. Where does the map store the offsets for the different language tables?These are stored in a map's MATG (or PATG, if applicable) tag. If you're rocking the latest plugins, these will all be mapped out in those tags. However, those are not the true offsets, and are calculated using the index offset mask found in the header (which I won't go over here either). I created a program that will calculate the real offsets automatically if you need to find those offsets. How do I modify existing locales?Assembly has a kick-ass locale editor built-in. All you need to do is select the language you wish to change the locale for, find it (there's a search bar too!), double click the text, make your changes, and save. All the locales in this table are already being used so I can't modify an existing one. How do I add a new one?Take a look at this topic. This is currently the only way to add new locales, but in the future, there should be an automated method. Have a question that's not answered here, or need more clarification? Don't be afraid to ask in a comment!
  4. So this is something that I've been looking into for the last few months, on and off. Within the last couple of days, I hit a breakthrough after looking at the files in Assembly's "Formats" folder. Yes, Assembly does have the backend code necessary to automate this, so it will hopefully be implemented in a future release and you won't have to do it the "hard"/manual way. Since I prefer to apply my research more broadly, this tutorial will cover how to add locale entries to any 3rd generation Halo game (Halo 3 Beta coming later). In this tutorial, as an example, I will be adding locales to Forge World for the vehicles variants that can be accessed through modding. I figured this was appropriate, especially due to the following line in that post: Now, I'm no Lord Zedd, but for some reason that line was really funny to me. What you'll need:Assembly, with updated pluginsHex Editor (You can grab HxD free here if you don't have one.)Hex calculator (Hint: Alt+3 on Windows Calculator!)Stuff to know before you start In all 3rd engine games except Halo 3 Beta (Which I'll do a tut on later), the locale tables are located after the map's metadata. Unfortunately, in the header of the maps, there is no direct pointer to where these tables start. However, we can find the offset we're looking for by adding a few values together. (If you're looking for a good read on what stuff in the header does, I highly recommend AMD's blog post on expanding meta.) The values we need to add are "Offset of Asset Data", "Asset Data Size", & "Virtual Size". To make it easier, I have the location of these values for each game below. There is another way to get this offset that you will see later on, but that requires having your map open in Assembly. So, in simpler form, add the int32 values (0x4 bytes in length) you find at these locations: Halo 3 - 0x470 + 0x488 + 0x490 ODST - 0x470 + 0x488 + 0x490 Reach Beta - 0x470 + 0x488 + 0x490 Reach - 0x470 + 0x488 + 0x490 Halo 4 - 0x480 + 0x498 + 0x4A0 So for our example, if we add these values together with our hex calculator (again, Alt+3 on Windows Calculator): 0x001BC000 + 0x05B35000 + 0x01B30000, we get 0x7821000. So lets go to that offset! (Ctrl + G in your hex editor) *Note, this is the start of the tables, which means you are are looking at the English entry table. Now that we're here, you're probably wondering what all this data means. Well, each locale entry is 0x8 bytes in size. At 0x0, there is an int32 value which determines which StringID is referenced. The int32 value at 0x4 determines the offset of the locale table to load from, in other words, the offset in that table determines what text is loaded. You won't be needing to mess with that in this tutorial, as Assembly automatically relocates any new entry's text. The orange values are the strings, and the pink values are the offsets in the locale table. Now that you have some basic knowledge on locale tables, lets get started! Step One: Knowing which group to add to and which one to relocate Okay well, maybe you're not getting started yet. Before you start, you should know which locale group you want to add entries to. Since I want to add locales for objects to be accessed in the forge menu, I'm going to add to the group "ui\cui\strings\forge_strings". Pay special attention to the groups before and after it, because as a time saving solution, we will be relocating one of those groups' entries to the end of the table. You'd rather move 1 group instead of 7, right? Since I don't have very many entries I need to add, I will be fine moving the following group, "multiplayer\team_names", which has 9 entries. This is where to find the locale groups Step Two: Changing Count/Index Data Okay now it's time to really get started! Open up the UNIC tags of the group you want to add to, and the group you want to relocate. Note down the string index in the UNIC tag of the group you'll be relocating. You'll need it later. Now open up MATG, and do a search for the language you're adding locales to. *Please note that what you'll see will slightly differ from this, since Zedd just had to be proper and correct it to the true starting location of each group. The names and values will be the same you see here though. Copy the string count in MATG, and paste it into the string index of the group you're moving. Save. In the group you're adding to, add the string counts of the one you moved to it's current string count. Save. Reload both UNIC tags to make sure the changes stuck. If you're following along with my example, the new string index of "multiplayer\team_names" will be 8050, and the new string count of "ui\cui\strings\forge_strings" will be 557. Now, in MATG, add the amount of strings from the group you moved to the total string count. Save. Reload. Problem? Yes. The changes don't stick. You know what that means; time to open the hex editor! Right click on "String Count" and click "View Value As..." Copy the value you see in "Meta Offset". Close your map in Assembly and open it in your hex editor. Go to the meta offset value you copied. Notice, this 0x4 length value will be in hex, not decimal. So, to make sure we got the right value, we can copy this, and open our calculator, making sure "Hex" is ticked. Paste the value, then tick "Dec". You should see the total string count from MATG. Now add the string count from the group you relocated. Click "Hex" once more, and overwrite the value in the hex editor to match what your calculator shows. Open your map in Assembly, and check the string count in MATG to ensure it saved. If you're following along, we will need to go to the offset 0x612C33C, and overwrite 0x00001F72 (8050) with 0x00001F7B (8059) Step Three: Actually Adding the Entries The offsets you see in MATG aren't the physical location in the file. They are the location minus a value known as the "Locale Address Mask". You know what that means, time for some math! In your calculator, with "Dec" ticked, multiply the old string index of the group you moved (what you noted down earlier) by 8. Add the Locale Index Table Offset in MATG. Now, tick "Hex". Open the map in your hex editor. Add the Locale Address Mask, which can be found at 0x478 in Halo 3 - Halo: Reach maps, and at 0x488 in Halo 4 maps. Note this offset down, we will be coming back to it later. For our example: 6083 x 8 = 48664 - Multiply old count by 8 48664 + 103530496 = 103579160 - add locale index table offset 103579160 = 0x62C7E18 - convert to hex 0x62C7E18 + 0x01565000 = 0x782CE18 - add locale address mask Now, select 0x8 times the amount of strings from the group you moved. Copy it and paste in a new document for safekeeping. For the example, 0x8 * 9 would be 0x48 Now, take the final offset you went to to copy those entries, tick "Dec" again, and subtract your old count times 8. Now, add the old total count from MATG and multiply that by 8. Tick "Hex" and go to the offset given. This will bring you to the end of the table. If you're following the example; 0x782CE18 = 126012952 - convert to decimal 126012952 - (6083 x 8) = 125964288 - subtract old count * 8 125964288 + (8050 x 8) = 126028688 - add old total string count * 8 126028688 = 0x7830B90 - convert back to hex Take what you copied to the new document and paste (overwrite) it here. Save. Open your map in Assembly, and check out the Locales. You should have the correct new count listed under languages, and should see the locales from the group you moved at the bottom of the one you added them to, as well as in their own original group, just with new indexes. Step Four: Changing StringIDs This step is optional. If you want to reference the locales by the current strings, that will work fine (assuming that no string is in a group more than once). Just pop them in to whatever it is that references them, and you're done. However, if you want to have the strings match a little more closely to what your locale is, then this step is for you. So I'll start on how to find a locale's int32 value. Since there is currently no way to just view the values tied to the strings, you'll have to find out for yourself. What I do is open any tag that has a stringid value. I prefer to use bipd. So open a tag up, find where that string value is, right click and choose "Go to plugin line...". Copy this line and paste it just below, and change "stringid name" to "int32 name", making sure the offset is the same on both. So this: should now look like this and when you hit "Save and Refresh", you should something like see this... So now that you have that set up, type a name that will relate to your string, or will be easy for you to remember. Select a string, and hit save. Refresh. Copy the new number you see below the stringid, and convert that to Hex. Go to the offset of our old group's entries that you noted down earlier. Overwrite the value to match the hex value associated with the stringid. Save & open up the locales in Assembly to make sure you got it right. Do this until you have enough done for all the locales you need to reference For my example, the first thing I want to add is "Warthog, Troop", so let's see what the map has to offer. Cool! "warthog_troop" is perfect! So I'll take the value of 6460 and convert it to hex to get 0x193C. I'll overwrite that at the location of the first added locale to this group. Looks good in the locale editor, so I'll edit the locale and save! You'll find that not everything will be perfect, but you can make do with what the map has to offer. When all is said and done, it should look something like this: The order that they're in really doesn't affect how anything loads, so if you forget something the first time like I did, you're fine adding it after everything else. Step Five: Referencing Your New Locales I'm not gonna tell you what to do for this, because if you had any reason to follow this tutorial, you should know where to reference your new locales. However, in my example, I would now need to edit the sandbox menus in SCNR to allow for the new vehicles, and put the strings tied to my locales in the Name box. I hope you were successful in your locale adding journey! If you find any errors, better methods, solutions, etc., please leave a comment or send me a PM to let me know! Also, if you need any clarification or help, please comment as well! Thanks Thanks goes to the following people: AMD, for having pretty much all the info documented (and not telling anyone how to do this ), and for making that documentation public. Lord Zedd for updating plugins and fixing any mistakes I may have made.
  5. Modding

    Introducing The "Navigation Menu" Navigation Menu is the first and only menu EVER released for a Halo game designed specifically to cater to modders, advanced users, and XLink Kai players. With it's stunning visual features including: Realistic Falling Snow Halo 3 Style Layout Remastered Text Remastered Lighting Once you use "Navigation Menu" for the first time you will promise yourself that you will never leave it. The download for the Ascension patch is below. Navigation Menu V1.ascpatch
  6. Plugin

    File Name: jmad.asc File Submitter: Snipe File Submitted: 20 Nov 2011 File Updated: 21 Nov 2011 File Category: Taglists Updated Ascension plugin. Edited by Chrisco and Snipe. Click here to download this file
  7. Modding

    File Name: forge_halo.sidlist File Submitter: Snipe File Submitted: 20 Nov 2011 File Category: Taglists A stringid list for used by Ascension. Most of the strings were added by me. I´ll try to update this list as often as possible. Click here to download this file