• Welcome to SC4 Devotion Forum Archives.

Tutorial:How to T-21 the Avenue and Road Curves

Started by sithlrd98, April 16, 2009, 07:06:18 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

sithlrd98


How to T-21 the Avenue and Road Curves

OK , I will be the first to admit that my mods are slightly prop heavy! Well , I was trying to make them so there were no dependencies , yet look somewhat eye pleasing , with the hopes of doing some other types. This is proabaly not going to happen as it is somewhat time consuming (for me as I am not an expert modder) but so that anyone who may want to do some different variations , I will share all of the knowledge I have on how to T-21 these.First things first , I would never have gotten anywhere with out the help of Swampers tutorial...would still be treading water without Buddybuds help , and even though I have not implemented different placement values,the help that Smoncrie has given has made me just a little bit closer to understanding one of the most "cool"things that we can do to mod this game. I will post links to some of these excellent threads at the end of this.

Please understand that this is how I did these...there may be easier/better ways of doing these , and I was just trying to make something that others could use.
I also realize that some of this info has already been covered in other tutorials , but I thought it best to try and keep as much info in one place as possible.

I will start this by saying that this ,to me , is still not an easy task, so with that being said , lets begin!
As you will see,the avenues and road curves are set up completely different from each other.The Avenues are rather simple and don't require as much to get them to work correctly , where as the Road curves are a little tricky , so it might be an idea to try the avenues before you go nuts with the roads!.

PART ONE: Getting Started


The first thing you need to do is get your props to be where you want them and the easiest way to do this (since I already side walked the curves)is to download one of my mods off the STEX , this way , you can get an idea or  template so that you can visualize what the prop will look like in-game on the curves and so that you can get prop placement values for your T-21 prop mod.

Open whichever file that you are wanting to mod in Reader. You are looking for the 3 headers (Type , Group ,Instance(also known as TGI)
the value for Group needs to be changed from 1abe787d to 0986135e in order for you to see them in LE
To do this , you need to click Toolsthen TGI editor


Once you enter 0986135e , highlight the first entry and , while pressing Ctrl,left click your mouse to continue selecting all files that you want to change and then hit Apply.
Now , name this file as something you can remember and save it.
------------------------------------------------------------------------------------------------------------------------------------------------------------------

OK , at this point you need to ,if you haven't already, figure out what props that you want to T-21.
You will need to change the IID of your prop so that it will not interfere with any other lots/mods that are using the same props. I will show you what I did for one so you can see how to do it.
I am using the Dirt Circle as an example:
Using Reader , navigate over to Simcity DAT and choose Simcity_1 dat (this is only to illustrate how to change maxis props , as changing Custom created props is easier)
Now , this next step will show you 2 things. First , what a T-21 exemplar looks like and secondly , how you can get this into your own .dat.




Navigate over to Simcity DAT#1
After loading Simcity_1.dat #2, look at the top and you will see an Analyser button #3. Select it and then navigate over to Filter#4.


Now,on the left menu pane #5, I would only leave a check mark next to the things you are looking to find , and on the right menu pane , you will want to leave a check mark next to 21 Network Lots as those are the Type 21 exemplars(T-21)

After you close out that window,hit search and you will see some exemplars load up. Now , since I already know the IID of the prop I am looking for , under Exemplar,I am going to select find #7 and enter it.



Unfortunately,it is not a T-21 exemplar , so I will search for one that has the prop in it , as this may be easier than creating one from scratch.


Now , just to make sure that this is the exemplar I want , I right click on the LotConfigPropertyLotObjectData and open it up.




Yep,that's the one.OK , now I have to get that exemplar out of Simcity_Dat_1 .I do this by navigating over to Exemplar and selecting "Sync.with file?"





Now , I can see exactly where the exemplar is in the Simcity_1_Dat. Now,right click the exemplar and select "copy file(s). Now do you remember the Blank.dat that accompanies reader? select it and then right click "paste file(s)".



Now save it , and you have a T-21 exemplar to mess around with!


sithlrd98

#1
PART TWO: Making your Prop Exemplar

OK, now the prop that I was looking for is actually called "Street 2x2x1_DirtCircle" and I want to make it a T-21 prop.But we also want to make sure that our new prop doesn't interfere with any other Lot/Mod that has the same prop ,  This is how you do it.



Right click the exemplar and select"Generate new instance" and then save your .Dat again.



Now there is one important step that needs to be done. Since this prop is going to be placed on curves, we need to make sure that the prop will rotate accordingly to the piece that it is being added. Looking at the exemplar we have created , locate the property "Resource Key Type 1". Now we need to add a "mirrored"resource key so , right click somewhere in the right pane of reader and select "Add Property" , then scroll down to "Resource Key Type 1xm"....(Some times , instead of Resource Key Type 1 , you may see 3 or 4 after the type, so you would select the "xm" property accordingly)



Next, we need to copy the values from the original Resource Key over to our new one by :Right clicking the original Resource Key and selecting "Edit Property". Then we want to copy all the info at the bottom and then open our new "xm" property and paste to that one. Click Apply and we're done.


OK,so lets copy this exemplar to the T-21 .dat we created earlier,and making sure that we put it in our plugins folder , lets check it out in LE.



As you can see , the original Maxis prop IID of 0x2a8a0000 is accompanied by our new one ,0xb68498dc. We now have a new prop.
OK now that you ,

  • Have textures to create a template in LE
  • Have a T-21 exemplar as a basis
  • Have a new prop exemplar

Making a Mock-up

Its time to start creating a visual in order to see what we will end up with in-game. make sure that the texture.dat that was created earlier along with the .dat that has your new prop exemplars is loaded into your plugins folder and open LE.(This part is all thanks to Swampers excellent tutorial, as it makes it so much easier to T-21 these!)
Open up any of the 1x1 park lots , and remove all props and textures. Now, select your base texture.I am showing the 45 degree Avenue base texture ID#0x542bf120. You will notice that LE loads textures differently than you might expect.It also loads the number of the first zoom level numbers...ie 0x542bf120 would correspond to 0x542bf124(the largest zoom).
Place your props accordingly as this is somewhat trial and error , but at least you can see what you are doing. I would recommend a naming practice that also corresponds to exactly what this piece is(Texture # and props)in the name.



Just to help you out , I created a "mock-up"pic of both the 45 & 90 degree ave.curves,and since this was for my own use the numbering may be confusing.However ,it did come in quite handy!




Now that you have a lot with the props you want , lets fire reader back up and see what we need to do.

Setting up the new Exemplar




OK, you remember the .dat we created with our prop information and the T-21 exemplar we extracted out of Simcity_Dat1...lets open that up and then open our new "mock-up"lot .You will see , 2 exemplars in this mock-up lot. One is for the Building info and the other is for the lot info. We need to create an exemplar with the prop info so we select the one with the lot info and navigate down to where we see the "LotConfigPropertyLotObject" and the "LotConfigPropertyLotObjectData" values. We only want the prop info so we will highlight the values that end in 01. We right click and select "copy properties".



Now open up your T-21 exemplar , and remove the LotConfigPropertyLotObject & LotConfigPropertyLotObjectData and then paste the data from the lot.



This is what we should have now:



OK , now we need to know what IID our T-21 should be , so lets open up NetworkAddonMod_WideRadiusCurves_Avenues_Plugin.dat in reader and scroll down to 0x542bf120.



As we can see , there aren't any other T-21 exemplars associated with this piece , so we can safely re-number our exemplar 542bf120 , since the only other associated exemplar has a different Group ID.
So lets change our IID for the new exemplar we are creating. Open the exemplar you have been working with and navigate over to "Tools" and then "Info File"
A new window opens and click "Edit"
Navigate down to "Instance" and put our IID # (without the 0x prefix") and then click "Apply"
Now it may look like nothing has changed , but if you right click the exemplar and then select "Reindex",you will see the changes as well as the creation of a .dir file.



Now we need to change some values for our exemplar , namely the "Exemplar Name","Exemplar ID",and "kPropertyID_LotConfigNetworkTileId".
To do so , right click Exemplar Name and select "edit". Enter a name that you can remember as you may need to come back to this exemplar to do some edits , then click "apply".Do the same for "Exemplar ID and kPropertyID_LotConfigNetworkTileId except we want to enter the actual piece number "0x542BF120".


Now comes the hard part...we need to figure out how we want the props to appear , at what wealth we want the props to appear and how frequent.
I chose the easiest path with my mods as it can get kinda confusing , but very rewarding when it works when messing with these values:
"kPropertyID_NetworkPlacementPattern","LotConfigPropertyZoneTypes","LotConfigPropertyWealthTypes", "Pattern Size","kPropertyID_FlipsAllowed",and "kPropertyID_RotationsAllowed"



Here are some links that cover this more in depth:
LotConfigPropertyLotObject
How to create T21 exemplars (Swamper77's way)
How To Create and Modify T21s (Xyloxadoria's Way)

As I said before , there are other tutorials on T-21ing , but I am trying to get as much info in one place so that anyone who wants to , can make their own Curve mods.

So lets save our .dat , I recommend placing a few "zzz" in front of the name and make sure that it loads after the Wide radius curves. Remove any of your "mock-up" lots from your plugins , and try in-game.



sithlrd98

#2
PART THREE: Road Curves

As I said before , the Avenue and Road curves are set up differently. Both are model based , but that is where it ends. Some road curve pieces have at least one "mirrored" model with a "mirrored"texture (and the same texture is referenced multiple times by different exemplars) ,so it can get quite confusing when setting these up , namely because the textures are "mirrored" and this means you usually will make two "mock-ups"for each piece...for simplicity.

As you have seen with the Avenue curves , there was only one texture for each piece,thus only one exemplar was needed for each piece. Looking at the NetworkAddonMod_WideRadiusCurves_Roads_Plugin.dat , you can see what I mean.

Using the S curve as an example , scroll down to IID #50460005. This is the preview piece and it shows all the textures associated with it.(0x504600f4,0x504601f4 & 0x504602f4)



But wait a minuet...there are only 3 textures referenced .....actually if you continue scrolling down to IID#50460200 , you will see that it is also referencing the S curve. So we need to figure out the other 3 pieces .



So if you look at the next exemplars...50460210 & 50460310 we see that they also reference the S curve. Here is something different from the avenue curves...with those we used the texture IID numbers to create the exemplars. But , with the road curves , we choose whatever  IID that corresponds to the exemplar.

Example:we want to put a light onto piece #0x504600f4. When we create the exemplar , it needs to be 50460000 , since it is the main exemplar that is referencing the puzzle piece , not the texture.

I created a "cheat sheet" for doing the road curves mod to make things easier.

S curve

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x504600f4[/data][data]50460000 [/data][/row]
[row][data]0x504601f4[/data][data]50460100 [/data][/row]
[row][data]0x504602f4[/data][data]50460110[/data][/row]
[row][data]0x504602f4 (mirrored)[/data][data]50460200[/data][/row]
[row][data]0x504601f4 (mirrored)[/data][data]50460210[/data][/row]
[row][data]0x504600f4 (mirrored)[/data][data]50460310[/data][/row]
[/tabular]                                                                                                                                   

45 Degree Curve

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x50461504[/data][data]50461000 [/data][/row]
[row][data]0x50461604[/data][data]50461100 [/data][/row]
[row][data]0x50461704[/data][data]50461200[/data][/row]
[row][data]0x50461804 [/data][data]50461110[/data][/row]
[row][data]0x50461904 [/data][data]50461210[/data][/row]
[row][data]0x50461a04 [/data][data]50461310[/data][/row]
[/tabular]                                           

90 Degree Curve

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x50462504[/data][data]50462000 [/data][/row]
[row][data]0x50462604[/data][data]50462100 [/data][/row]
[row][data]0x50462704[/data][data]50462200[/data][/row]
[row][data]0x50462804 [/data][data]50462210[/data][/row]
[row][data]0x50462904 [/data][data]50462300[/data][/row]
[row][data]0x50462a04 [/data][data]50462310[/data][/row]
[row][data]0x50462504 (Mirrored)[/data][data]50462440 [/data][/row]
[row][data]0x50462604 (Mirrored)[/data][data]50462430 [/data][/row]
[row][data]0x50462704 (Mirrored)[/data][data]50462420[/data][/row]
[row][data]0x50462804 (Mirrored)[/data][data]50462320[/data][/row]
[row][data]0x50462904 (Mirrored) [/data][data]50462410[/data][/row]
[/tabular]

FAR Straight

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x5046300e[/data][data]50463000 [/data][/row]
[row][data]0x5046310e[/data][data]50463100 [/data][/row]
[row][data]0x5046320e[/data][data]50463010[/data][/row]
[row][data]0x5046300e (Mirrored) [/data][data]50463210[/data][/row]
[row][data]0x5046310e (Mirrored) [/data][data]50463100[/data][/row]
[row][data]0x5046320e (Mirrored) [/data][data]50463200[/data][/row]
[/tabular]

Straight to FAR

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x5046300e [/data][data]50463610[/data][/row]
[row][data]0x5046310e[/data][data]50463500 [/data][/row]
[row][data]0x5046320e[/data][data]50463410 [/data][/row]
[row][data]0x5046330e[/data][data]50463300[/data][/row]
[row][data]0x5046340e [/data][data]50463400[/data][/row]
[row][data]0x5046310e (Mirrored) [/data][data]50463510[/data][/row]
[row][data]0x5046320e (Mirrored) [/data][data]50463600[/data][/row]
[/tabular] 

FAR 67.5 Degree

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x5046370e[/data][data]50463700[/data][/row]
[row][data]0x5046380e[/data][data]50463800 [/data][/row]
[row][data]0x5046381e[/data][data]50463810 [/data][/row]
[row][data]0x5046390e[/data][data]50463900[/data][/row]
[row][data]0x5046391e[/data][data]50463910[/data][/row]
[row][data]0x5046392e[/data][data]50463920[/data][/row]
[row][data]0x50463a1e[/data][data]50463a10[/data][/row]
[row][data]0x50463a2e[/data][data]50463a20[/data][/row]
[/tabular]

Small 90 Degree Curve

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x5046400e[/data][data]50464000[/data][/row]
[row][data]0x5046401e[/data][data]50464010 [/data][/row]
[row][data]0x5046410e[/data][data]50464100 [/data][/row]
[row][data]0x5046400e (Mirrored)[/data][data]50464110[/data][/row]
[/tabular]

45 to FAR

[tabular type=2]
[row][head]Texture IID[/head][head]Exemplar IID[/head][/row]
[row][data]0x5046600a[/data][data]50466000[/data][/row]
[row][data]0x5046610a[/data][data]50466010 [/data][/row]
[row][data]0x5046611a[/data][data]50466110 [/data][/row]
[row][data]0x5046620a[/data][data]50466020[/data][/row]
[row][data]0x5046621a[/data][data]50466120[/data][/row]
[/tabular]


sithlrd98

PART FOUR: Other useful information

Sometimes , especially with the road curves , you will have props not going where you want.It could be that the exemplar is set up wrong or you need to "tweak" the prop placement. Instead of having to completely re-do or copy and paste multiple entries into your exemplar,you simply need to copy one entry.After you make your mock up and decide to move a prop on it , simply open up whichever LotConfigPropertyLotObjectData entry you need to change and copy the 4th entry in the list.



Also , if you plan on using an off-set prop ...such as a tree or light , you will need to create a new prop , and exemplars for that prop. Not to mention permission from the original creator to re-distribute the props with your mod.For more information , this tutorial should help.

Tutorial: MODding rendered SC4Models

I hope I didn't forget anything,but please feel free to add to this if needed. Have fun!

Jayson