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.

Lord Zedd

Modding
Tag Injection Announcement - Part 2

41 posts in this topic

the mp maps probably load little stuff from the campaign.map. 

mp maps have no affiliation with campaign.map, In fact trying to load something from them will cause a freeze. Go to AMD's raw pages tut. It'll help a lot on this topic.

Share this post


Link to post
Share on other sites

the mp maps probably load little stuff from the campaign.map. 

i also though bake in halo 2 the shard.map had campaign stuff in them.

 

mp maps have no affiliation with campaign.map, In fact trying to load something from them will cause a freeze. I'm telling you. go to AMD's raw pages tut. It'll help a lot on this topic.

 

I should point out that the firefight maps and some of the campaign maps are able to import resources from all three shared maps. The issue, as far as we're aware, is that entries in the "Shared Caches" reflexive in play can't be copied between maps without causing a freeze. It isn't necessarily that it just "doesn't work" like we initially thought, we just don't know enough about it. This is being looked into.

 

Skype log from a conversation I had with DeadCanadian for those who are interested:

 

[9:17:24 PM] Jordan Mueller: i plan on testing later to see if we can use another multiplayer map however such as the mainmenu is used for a reference

[9:17:33 PM] Jordan Mueller: even that will allow some more things

[9:17:35 PM] Aaron Dierking: zedd tried loading campaign and it didn't work apparently

[9:17:39 PM] Aaron Dierking: no clue what he did to do that though

[9:17:43 PM] Jordan Mueller: yea, campaign didnt work for me either

[9:17:59 PM] Jordan Mueller: theres a certain variable when you set the map that is different for most maps

[9:18:06 PM] Jordan Mueller: which might be why it isnt working

[9:18:24 PM] Jordan Mueller: since there is maps that load all 3 shared maps

[9:18:34 PM] Aaron Dierking: could copy the campaign.map chunk from another map

[9:18:40 PM] Jordan Mueller: i tried

[9:18:54 PM] Jordan Mueller: but the values set in the shared references are different for each map

[9:18:59 PM] Aaron Dierking: oh

[9:19:02 PM] Aaron Dierking: yeah idk what those are

[9:19:05 PM] Jordan Mueller: but are the extact same for each reflexive on that map, just one value is different

[9:19:28 PM] Jordan Mueller: so you can copy the values from say the mainmenu to add the campaign.map. but one thing is different and i cant figure it out

[9:19:51 PM] Aaron Dierking: could have to do with where to load the map in memory maybe

[9:19:53 PM] Jordan Mueller: int16 ive seen set to 1,3,7,9

[9:20:03 PM] Aaron Dierking: oh, hmm

[9:20:06 PM] Jordan Mueller: maybe

[9:20:19 PM] Jordan Mueller: so ill try setting its number to something the other two dont use

[9:20:23 PM] Aaron Dierking: i haven't looked much at it except the filename strings

[9:20:34 PM] Aaron Dierking: and what map loads from all 3?

[9:20:41 PM] Jordan Mueller: all the firefight maps

[9:20:47 PM] Aaron Dierking: interesting

[9:21:01 PM] Jordan Mueller: simply from that we can determine its possible

[9:22:20 PM] Aaron Dierking: right

[9:27:01 PM] Jordan Mueller: yea, compairing the files from ff10 its only the last 8 bytes that changes in the shared caches reflexive

[9:29:15 PM] Jordan Mueller: appears in firefight so far that the first int16 is always 0 for mainmenu, 41 for shared, and 599 for campaign

[9:30:51 PM] Jordan Mueller: oh, even campaign maps reference all 3 resource files

[9:34:42 PM] Jordan Mueller: so it would seem in play for the shared caches

 <enum16 name="Map Type?" offset="0x100" visible="true" >

   <option value="0" name="MainMenu" />

   <option value="41" name="Shared" />

   <option value="599" name="Campaign" />

  </enum16>

Share this post


Link to post
Share on other sites

I should point out that the firefight maps and some of the campaign maps are able to import resources from all three shared maps. The issue, as far as we're aware, is that entries in the "Shared Caches" reflexive in play can't be copied between maps without causing a freeze. It isn't necessarily that it just "doesn't work" like we initially thought, we just don't know enough about it. This is being looked into.

wait, so could we put like a scarab into fire fight since it uses campaign.map?

Share this post


Link to post
Share on other sites

wait, so could we put like a scarab into fire fight since it uses campaign.map?

Yes sir. I'm not sure as to what extent though - I haven't looked, but sometimes jmad resources in particular are stored in the local raw table even if the model is shared.

Share this post


Link to post
Share on other sites

Yes sir. I'm not sure as to what extent though - I haven't looked, but sometimes jmad resources in particular are stored in the local raw table even if the model is shared.

that was just an example, but yeah cool.

Share this post


Link to post
Share on other sites

Y u Mad bro

not mad, just my brain is loading what the hell did i just watch.

Share this post


Link to post
Share on other sites

nope. there is no pelican in shared.map. The ones in campaign and firefight are in campaign.map, and the one in spire is local. Same with the Sabre in countdown.

The second tag block in the cache_file_resource_layout_table ('play') tag contains the shared cache files list. It may actually be trivial to either A) add a new element to this block to reference a cache file with a non-shared resource in it or B) replace an existing cache file element to reference a non-shared cache (eg, replacing the campaign reference to something else in a MP map...assuming it doesn't use anything from campaign). It's been forever since I messed with resources in the 3rd generation engines, but I don't recall it being limited (ie, hard coded) to three different types of shared cache files like Halo2 was.

 

Of course, the engine may index that tag block in a hard coded manner. So it would assuming the first is 'shared', second is 'campaign, etc. This would enable them to avoid having to hard code any shared cache paths (as block elements contain the path itself).

Share this post


Link to post
Share on other sites

sounds extremely difficult :/ 

 

If everyone said that, nothing would ever get done.

Share this post


Link to post
Share on other sites

sounds extremely difficult :/ 

They can already do the work needed to reference resource data from stock shared cache files. What I'm suggesting would only involve adding new elements to the shared cache files and pages block in the 'play' tag (the latter is something they should already be doing in the case of the Longsword).

 

It's a rather trivial process with a framework for working with tag data. However, if you're doing it all by hand, then yes it would be extremely tedious.

Share this post


Link to post
Share on other sites