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.

Akarias

Members
  • Content count

    464
  • Joined

  • Last visited

Everything posted by Akarias

  1. Woo reach is on PC now! Time to mod the living hell out of it. Before we get started, make sure to make a backup of your game files, for steam users you will find them under: 'C:\Program Files (x86)\Steam\steamapps\common\Halo The Master Chief Collection\haloreach\maps' Assembly: https://www.nexusmods.com/halothemasterchiefcollection/mods/1 Only download assembly precompiled from the above link Modding MCC is actually rather straight forward if we are just talking about map files, its business as usual if you have experience modding previous titles both on console and PC; Simply navigate to the map file in assembly and open it up. You can poke, save & of course extract and inject tags between maps! If you are looking for tutorials there are plenty of them here on the websites, I will admit most of them are quite old now but their ideas still apply and there is much to be learnt from reading them. Check out the various tutorial sections. One thing to remember is that the Halo games are very similar when it comes to their tag systems, most methods / ideas can be applied to multiple games so dont be afraid to explore and adapt old information that you find kicking around. I've never modded halo before, what should I do? Experiment of course! Each of the levels that you play in game are stored in .map files. You can use a program like assembly to open these files and tinker around with its inner workings. When you open a map you will be greeted by a screen that looks like this: Looks pretty scary right? Wrong! Welcome to tag modding! Every single thing that you see in game has something called a "tag", on the left hand side of the screen you will see the various "classes" of tags that comprise the map. Take a look at the [bipd]Biped class, its where all the various bipeds that are used for players and AI etc are stored. If you have a campaign map open, you can open the spartans biped tag to see some infomation. For multiplayer open the spartans_mp biped tag, or if you are playing as an elite... I think you get the idea. Now take a look at the new screen that has opened up, we call this the meta editor. To make a long story very short its just a very fancy looking hex editor that makes your life easy when it comes to finding and editing tags. You can scroll down using the scroll bar on the side, but far more efficient to search for what you are looking for. Press Ctrl+F to open up the search bar and you can then type in the name of what you are looking for. Lets look for "jump": You can click on the drop down box to choose from the various found items, it will take you straight to them. Neato. We can see the jump velocity and that it is stored in the tag as a single-precision floating-point value. Let's do something silly like change it to 5. You can then press save and start the map in MCC... or if you already have the game running and open on that exact map you can do something called "poking"; poking lets you make changes in real time so there is no need to save and reload the map. (Please note that having a map open in MCC means you will not be able to save to it, so return back to the lobby before you save any changes.) Poked changes only exist while the map is running. After you end the game the changes are lost. Note: poking can cause crashes but it depends. That's it! Your first ever MCC mod done. Why not explore the [weap]weapons tag class and see what you can cook up? Perhaps some vehicles? There is too much to cover in a single post so carefully explore around the various tags, see what interests you and play around for a while. When you feel ready take a look at some of the tutorials that are kicking around and have a go at them, build your knowledge and it will be second nature to you. You wont be creating AI, forging in campaign or doing complex things just yet. Learn how the system works first. (Feel free to download patches for these though, nothing wrong with that) I hope this helped you out if you are new around here or to modding in general. Not many people have stuck around to mod reach over the years but perhaps that will change now. Go make some cool stuff! You can also refer to zedd's older posts, ignore anything console related. I dont feel like rewriting it all.
  2. General

    Its much easier to do on ReachMCC. Just inject the various globals and add some entrys to the sandbox pallet. Go ham.
  3. Modding

    No they are they can actually be accessed in retail builds with a button combination. Haven't tried it in MCC though.
  4. Sound injection is not finished yet, you can still inject them manually if you are really desperate. I dont have the thread on hand but someone wrote a guide for it on here a few years ago iirc.
  5. Modding

    I've just been using my previously ripped BSPs from the console maps in 3DS.
  6. General

    Well an entry radius of 0 wont work. Well... anything? Snipping Tool? ShareX? WindowsKey+Print Screen? https://getsharex.com/
  7. General

    Could you show us a screenshot of what you have setup? Have you set the entry radius and cone angles?
  8. Reach has two scripting systems, one of them is the map scripting system that is used for campaign and firefight. There is no public script compiler that is feature complete, snipe style has been working on some bits but I haven't taken the time to see what hes actually been working on. I haven't checked to see if scripting synchronizes in multiplayer so it may not be of any real use as the states of scripts wouldn't be synced between clients, things fall out of sync and it all goes to hell. Scripts are ran in multiplayer but are relegated to triggering garbage cleanup. The other is called megalo. This is used in gametypes in multiplayer and is actually quite powerful but you wont be able to achieve what you describe with megalo alone. I'm not too familiar with it as it does not interest me, see some of the megalo threads and tutorials.
  9. The quick and dirty way to load directly into other zonesets. USE SCRIPTS YA FUCKIN' DEGENERATES REEE Useful for campaign to multiplayer conversions. Unless its for multiplayer, thats fine. Those with experience can meld together multiple zonesets/bsp related data to load more BSPs. IF you understand how zonesets work of course. 1. Find your desired zoneset. Traditionally you would see the blue text pop up in the activity feed on the lower left of the screen saying "Loading... Done.", this means a zoneset change has taken place and new assets and BSPs have been loaded into the simulation along with unneeded assets and BSPs being unloaded. This all existed because of memory constraints on the xbox, duh. These are normally triggered by... triggers... You can find the settings for these triggers under the "Zone Set Triggers" block in your scenario tag. If you haven't it out: zonesets define what BSPs are loaded or unloaded at any given time. So work out what zoneset you want to load. I know pretty much all the zonesets, tends to happen after plenty of years staring at them. You can always look at what BSPs are loaded in the zoneset from the "Loaded BSPs 1/2" bitfields and reference them as indexes to the structure BSPs block. If you own the xbox 360 version you can use adjutant to load the BSPs etc. <-- I'll be loading set_facility on m35. 2. Modify the Scenario Zoneset Groups block Now that you have decided on a zoneset to load, goto its index and rick click on the plugin entry for "name" & click "View value as...". A new window will open, copy the memory address. Click on the little 'i' at the end of the block, this will open additional information on the block and allow us to overwrite the block address. <-- Copy the "Memory Address" and paste it into the "Address", set the "Count" 1 and press enter. Save changes. 3. Disabling scripts (optional, but recommended) If you load your map file now some weird things may happen, you will either spawn outside of the loaded BSPs thus not actually spawning at all or you will have scripts attempting to run causing all sorts of issues depending on the map and what your insertion point is set to. (Insertion points trigger the loading of different zonesets, as defined in the mission startup script). I recommend you disable any scripts from running unless you have the ability to modify them and resolve any issues that pop up as a result of doing some screwy things that the scripts will not be expecting. Goto the script decompiler, enable "Show extra information" option from the options menu on the bottom left, press Ctrl+F and search for the word "startup". Move through the results until you find the main missions startup script. <-- You will know it when you see it. Typically it will have the mission name in the script name. Make note of the "Index: x" number and go back to your scenario tag. Goto the scripts block and navigate to the index you just noted down. You can click on the index and then type the number to jump directly to it. When you are at the startup script index set its " Script Type" to static. <-- Startup scripts are now disabled. The mission wont load any AI or cut scenes etc. 4. Moving/creating player spawns For single player and co-op you can use the "Player Starting Locations" block to set the spawn locations for players, some maps will already have these present for your zoneset (Such as in Halo 3), if not you will need to find a place within the loaded BSPs to spawn the players. If you are doing this for multiplayer & or forge you will need to use a spawn point object instead, extract a scenery tag like "respawn_point_invisible.scenery" and place it via the Scenery block in your scenario tag. Again, you can use something like Adjutant to get the XYZ coordinates or if you have dumped the BSP you can use 3DSMax by setting your "Unit Setup" to 100 inches. See below for specifics on that. <-- adjust these values to reflect a location within the loaded BSPs. Well that is it. Load the map up and you will now spawn in your desired zoneset. More work will need to be done if you wish to convert the campaign map into a functioning multiplayer map, specifically you will need to fixup the various globals. Those familiar with scripting can alter the existing scripts to trigger and work correctly, even with the forced zoneset. if you know how to do that then why the hell are you not using the switch_zone_set opcode, jesus.
  10. Support

    Please check the date of threads before you reply to them. Depending on where you are in the level, the asset may not be loaded. If you dont fancy loading the assets correctly you can force them to be added to the global zoneset. Right click on the tag, so in your case the projectile tag and click forceload. It should now work regardless of where you are in the level. Be warned that loading too much can cause problems.
  11. Make a backup copy first of course, launch without the anti cheat and mod to your hearts content.
  12. You need to use a different branch of assembly for MCC Reach support. https://github.com/XboxChaos/Assembly/tree/dev_mcc
  13. Assembly does not have support for content manipulation like that yet. Everything game related is stored in the map files. The MCC-WindowsNoEditor.pak is for the unreal engine menu system and has nothing to do with actual blam content. If you don't fancy waiting around you can do it manually. Of course you will need to use your initiative due to the various changes in MCCReach. I'd advise just waiting unless you want to learn more about the inner workings of the raw resource system.
  14. Offtopic but the datums for anything script related need to be corrected, they are back to front for obvious reasons. Just a name change.
  15. You can omit the xbdm references etc. and still build it.
  16. I wasnt in any of the flights, so I'm still getting used to things with MCC PC. I've been loading in extra BSPs one at a time, so far so good. Some quick SP to MP conversion while I play around with things:
  17. Modding

    Goto your desired biped tag, goto the seats block and add a new block to it. Give the seat a marker & entry marker. Check the render model tag of the biped for the various markers you can use. Provide a valid animation, wathog_d for example will do. You can enable some seat flags such as "Make the player invisible" etc.
  18. .MAP

    Holy necro post. Take a loot at the dam dates yo
  19. Modding

    (IIRC) Reticles are stored in a spire sheet bitmap, this bitmap is used by the chdt along with an index to choose the sprite from the bitmap. If you want to change a crosshair outright for a custom one then you must edit/replace the sprite sheet bitmap with a custom one. You can also change various widgets here too or add additional widgets to the hud. You can do some fun stuff here.
  20. I already said, look into animation inheriting. Take a look at the map scripts and see what animations are used. It wont be a fun process.
  21. You cant just swap things and expect them to work. For cutscenes everything is a premade animation. If some of these fail it screws around with the scripts and as a result the scripts may not run, it depends. No you cant just "fix" these things without having the correct animations present.
  22. Thats because most of the animations dont exist for the marines. You pretty much have no other choice but to inherit the animations onto the marines. Fuck dat (Unless mr zedd has made something to automate it)
  23. The ai_allegiance opcode does the job too. You can directly associate the player (team 0) with any other team(s) should you wish. The team expressions are just an integer, 0 being player, 1 human, 2 covenant... etc.
  24. Creating custom maps, the old school way. A quick overview on how custom maps were made back in the Halo 2 Xbox days, applied to Halo 3. This isn't a tutorial just a glance over. We will be going through the process of creating a custom map but in the old school way of mulling out BSP geometry and using any objects that we can salvage from the single player campaign maps. So the first thing we need is some objects to actually use. Back in the days of Halo 2 we would use machines from the campaign as custom geometry and the basis for our custom map. So image a map from Halo 3, remove all its native geometry and you suddenly have a blank canvas that you can populate. It's important to note the bounds of the BSP and use the largest possible map and also take into account the maps physics size on the disc, as I want to have quite a lot of single player assets injected, namely quite a lot of AI related tags. An example of using this method is shown in the platforms map that I showed a few months ago, the platforms are actually machines from 110_hc.map. Ditto, in engine. Note missing pieces. Something to take into account is lighting, broken lighting can be resolved by using fake light maps. Replace the existing bitmaps with blank ones, experiment for the best outcome. Plan things out. You can use a program such as 3DSMax for this along with Adjutant's import script to get all the objects you may need into a scene and pieced together. Set your unit setup to 100 inches and you will have one to one coordinates just like in engine. By far the best maps to use my opinion would be those from the DLC maps as they tend to contain all the weapons and vehicles that you may want. Don't forget about file sizes! The last thing you want is to be half way through a maps creation and run out of space from being a idiot and injecting too much garbage... Yikes. Don't forget you can always scale and object's render model and physics model to make it larger or smaller! Lots of things can be built doing this. So you have a target map and some objects to use for the basis of your maps geometry, lovely. Lets remove all the existing BSP geometry so we can get down to populating our map with new geometry. Take a look at your map's SBSP tag, before you can go about clearing it out you need to understand how the map is constructed. The bulk of a map is created from two things: Clusters and Instanced Geometry. Clusters are typically used for the displaced terrain of a map, think of the sand dunes on shrine. Instanced Geometry tends to be all the more complex and convex pieces of geometry, the multiple pieces of the tombs on shrine and the scattered parts of the crashed phantom are all instanced pieces of geometry. To give you a better idea I was working on a map called Thunderdome until I reached space issues (Hint Hint) and ended up moving away from it. Thunder dome is actually made from a single player BSP injected into sandbox and given a nice back drop with a enlarged scenery piece to fill up the backdrop. But on this BSP is a big ugly ass half of a boat that takes up a lot of space, I actually removed it from the BSP. How you ask? Instanced geometry. This ugly thing. Poof. No more ugly boat. If you extract a BSP using Adjutant and import it to 3DSMax you can see all the various pieces of Instanced Geometry and various Clusters that actually make the map. Following this information you can selectively remove the geometry from the map just by scaling it down to 0. This also removes the collisions thankfully so no need to panic about dealing with MOPPs. With clusters things are slightly different and we will talk about them later. But as a quick experiment you can find a piece of Instanced Geometry in 3DSMax and then goto its block in Assembly, make a few changes and finally poke or save. Load up the map and observe the changes you have made. So with this logic in your head you can simply set the scale of all instanced geometry in a map to 0 as a means of removing almost all of its geometry, after that you can either manually remove the clusters or just set their rmtr bitmaps to invisible ones. You will now have a big empty map. Remove any extra spawned items like vehicles from their relevant blocks in the SCNR tag. Now its starting to feel really empty indeed. Shrine with all its Instanced Geometry removed. You can now get onto the hard part, building a new map from only things that you have injected or salvaged. Machines... objects... anything that has proper collisions will work. Add in some spawn points and you are on your way. Set a custom sky dome up add some weather effects and now you have something truly unique. This is how I used to do things years ago, there was very little information on forums combined with good old dial up I had to figure most of this out on my own back in the days of Halo 2. It's kind of stuck when since then so I thought I'd write out my process here for all of you to enjoy or mock. Yikes. No one seems to really have done this for any of the modern games, so why not give it a go? make some stuff!
  25. there was a symbolic link exploit that allowed drive access https://github.com/Xenomega/xsymlink iirc