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.

Sign in to follow this  
Followers 0
Lord Zedd

.MAP
Spawning Injected Things In Forge

6 posts in this topic

Edit: Yo yo yo read AMDs post, Assembly fixes this stuff automatically now, woo!

 

I notice a lot of people are unaware that you CAN spawn injected objects in forge. I've known what to do in general for a while but never really sat down with it until today. Luckily it is fairly simple, but could also be annoying if you are trying to do it to something extremely fancy.

 

Update 1: New method

 

The secret to spawning things is the Simulation Definition Table, which is hiding at the bottom-ish of scnr. This block is full of tag datums belonging to every object and their related jpt! and effe tags. [citation needed on "every"]

Initially, this looked scary, because there are a lot of things in there. But after doing some tests (all of 2 so beware) it looks like I've got a method down... Which wasn't reliable, but after fixing 2 maps for others I think I have something good now.

 

So, to get your object spawned, you'll want to add your main object tag to the table.

 

To achieve this you will need to duplicate/move the table to a fresh area so you can add to it.  This tutorial will get you there: http://www.xboxchaos.com/topic/3543-duplicating-reflexives/

 

Once you are moved you'll need to add each tag in datum index order to the end of it. Datum index referring to the value you see by opening your tag and going to the information tag at the bottom below the poke/save buttons. This part may be a pain if you have a lot of objects to do.

 

nGRpUgF.png

 

the first 4 characters/2 bytes will always be x4153 on injected tags, so only focus on the stuff after it.

 

After adding everything and saving (you might be able to poke but why would you/if you are, don't forget to do a revert.) you should be able to spawn your junk just fine.

 

--

 

If your tag(s) are giving you troubles please post it here and I'll look into it/update this post.

 

Here is me spawning a flamethrower on Last Resort if you think I'm playin'.

xiI2YGY.jpg

Share this post


Link to post
Share on other sites

just a note, since we have been testing this more. and it appears that this only works effectively for small amounts of objects, there seems to be more to it that we are hopefully figuring out currently about large amounts of objects. 

Share this post


Link to post
Share on other sites

PROTIP: If you are spawning something injected through scnr you're gonna have a bad time over system link if you don't add those injected things to the table. So this guide now applies to more than forge.

 

 

You'll know if you are having problems if the client is stuck at the scoreboard until the game times them out to the mainmenu.

Share this post


Link to post
Share on other sites

Just so everyone is aware, the master and rawpage_tag_container branches of Assembly will now update this table correctly when injecting tags. Meaning no extra work on your part. :)

 

As to how the table works, I reverse-engineered the related code in the XEX, and the game checks if tags are spawnable or not by performing a binary search on the table based on a tag's datum index. This means that the table has to be in sorted order. However, the catch is that the tag indices are treated as signed integers. By default, the tags in the table all end up having negative indices, which is why new tags are generally added at the end.

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0