Jump to content


  • Content Count

  • Joined

  • Last Visited

About 11241036

  • Rank

Profile Information

  • Gender
  • Location
    Bregenz, Austria
  • City-building game(s)
    SimCity 4
    SimCity 2000

Recent Profile Visitors

1,615 Profile Views
  1. How to make/edit a tree controller

    How to Make/Edit a Tree Controller Table of Contents 1 Introduction 1a What this is about 1b Difficulty 1c Credits 2 Requirements 2a Software and other plugins 2b What to consider before starting 2c Terminology 3 How does a TC work? 4 How to actually make a TC 4a Disable Maxis trees 4b All necessary properties 4b1 Flora: Wild, FloraFamily, Special Case Only 4b2 Exemplar Name 4b3 Exemplar ID 4b4 ResourceKeyType (1 or 4) 4b5 FloraPreferences 4b6 FloraParameters 4b7 Clustering (Flora: Cluster type; Flora: Cluster max radius; Flora: Cluster max height) 4b8 Orient To Slope 4b9 Other properties 4c How to make a brush consisting of several trees 4d Empty slots 4e Relevance of files outside of the TC itself 5 How to switch between tree controllers 6 Links 1 Introduction 1a What this is about In this tutorial, I’ll explain how to create or modify a tree controller (short: TC) by explaining you as many properties as possible and talking about the main considerations and planning you should make. All of this information here is either based upon my own experience or posts I’ve found on the STEX and the LEX; if you are familiar with this topic or at least have researched the internet about this topic, you might recall some of this content. Please keep in mind that some functions related to tree controllers and their exemplar file properties are unknown to date. Also, please feel free to post me suggestions on how to improve this article and point out errors; since English is not my native language, it’s difficult for me to write an article this long. 1b Difficulty Creating a TC is a difficult task; you need much patience and be familiar with iLive’s Reader. However, most of the work will be editing properties and copying/modifying RKT’s from other plugins, so it’s actually not something for real pros with the reader. For the sake of this tutorial, I assume that you know how to do that. The main difficulty will be organizing yourself and trying a lot of things out; more about that later. 1c Credits My special thanks go to @blunder and @vortext for providing me with valuable info about tree controllers, both by conversation and writing articles and posts on both Simtropolis and sc4devotion.com. Without their information, both making my own TC and this tutorial would have been almost impossible. 2 Requirements 2a Software and other plugins You only need iLive’s Reader for making a tree controller. About the necessary plugins: Make sure that after thinking about which trees you want to have in your region, download the necessary plugins. It’s recommended to look into their files and make sure you know where to find the exemplar files containing the RKT (the property which links an exemplar file to the graphics for whatever item it describes). Most important: You need MUCH time. Making a TC requires a god amount of trial and error regarding aspects I cannot just explain in detail or "do for you" because that depends on which trees you actually want to use for your TC. 2b What to consider before starting Firstly, of course, you need to think about which trees you actually want to use for your TC. Aspects you might want to consider are: How good will the result look? Do not only let your thoughts focus on looks, the size of the trees (especially how much space they take up visually) plays an important role (in fact, modifying the space a tree takes up in-game will be the most time-consuming part of creating a TC). How realistic will it be? Some trees, for instance, only grow up to a certain altitude, or in special climates, so you don’t want to combine trees only growing in alpine areas with rainforest trees. Item "limit": While there is theoretically no limit in how much different flora items you can stack into your TC, please keep in mind that balancing out multiple items in a brush (see below about what this word means) becomes RAPIDLY increasingly difficult the more items you use. In my TC, I’ve mostly been using 5-6 flora items per brush, which basically means that I’m using not more than 5-6 different types of trees on 1 type of forest. You might want to write down your thoughts somewhere, along with the info which trees in particular meet your thoughts. Secondly, figure out a way to organize yourself. Surely I don’t need to tell this to you twice, but at first you might not know how. This will become more clear the further you have read this tutorial. 2c Terminology Brush: A chain of exemplar files containing one combination of trees that you want your TC to plant. Only the first of these items will be planted “from scratch”, the others will be created by upgrading already existing trees. All brushes can have (and must have) different requirements – more about that below. Clustering: The process of upgrading trees while planting trees with the TC is called clustering. RKT (short for ResourceKeyType): A property consisting of 3 (or 8, 16, or 24 reps in case of RKT4) reps linking an exemplar file (aka any in-game item, such as a prop or flora) to its corresponding graphics. Slot: Only under certain circumstances a brush becomes active. These circumstances are a product of two factors: altitude and moisture. There are 16 altitude and 16 moisture levels, making a total of 256 combinations possible. One such altitude-moisture combination is called slot. There must be a brush for all slots; please read more about that in chapter 4d. 3 How does a tree controller work? Some of you might already have opened files related to tree controllers and might have been disappointed by the fact that they only contain exemplar files that you can’t make heads nor tails with it. I, by myself, was no exception at first. This has one main reason (and with that, I’ll already start listing up the main properties of a TC): A TC is a hard-coded feature (thus, it can’t be modified by legal means) that searches for suitable exemplar files in the game itself and your Plugins folder, and if it finds them and the necessary requirements are met, it plants trees. Therefore, there's just no exemplar file that would be a TC, and it's impossible to make one. To make a “tree controller”, we therefore need to tell the hard-coded TC which exemplar files to use. Every tree needs an exemplar file; thus, any TC that you will download (or develop on your own) is just a collection of flora exemplar files. A single brush of a TC can – under the same circumstances – only plant the same number of different tree types: exactly 1. However, if it tries to plant a tree within a certain radius of an already existing tree, it can upgrade it to another tree according to an order that you determine. This is the ONLY known way of making forests with several different types of trees. A single brush can (and must) be made depending on certain circumstances in your city tile to become active. More about that later. Long story short: Designing a TC is all about deciding which trees to use together in a brush, defining their clustering order, determining the circumstances under which a brush can become active, and making sure that the brush behaves the way you want (this is the most tedious part). 4 How to actually make a TC 4a Disable Maxis trees The first step is: The Maxis trees that are being planted by the TC are hard-coded as well and need to be deactivated first before adding a new TC, or else unwanted side effect may occur, up to the point that the game will just ignore your files and stick to planting Maxis trees. Fortunately, this is nothing that you need to do on your own: I’ve attached a file to this tutorial that will do the job (it contains all necessary exemplar files). 4b All necessary properties In this chapter, I shall explain all properties that play an important role in designing a TC. Let’s start with a picture of an exemplar file that lists all properties of a flora item that will be recognized as a God-Mode tree. I’ve labeled the most important properties with numbers which correspond to the numbers in the paragraph titles below (click to enlarge): 4b1 Flora: Wild, FloraFamily, Special Case Only Make sure that these three properties are set as shown in the pictures: Flora: Wild >> True (enter 0x01) FloraFamily >> 0xE8F02106,0x48F02107 Special Case Only >> False (enter 0x00) Only if the Flora: Wild property is set to True, this exemplar file will be recognized as a tree that will be planted in God-Mode. Else, it will be ignored. The FloraFamily property must also be set to these two reps; I haven’t tested what happens if you change the values but since it works with Maxis God-Mode planted trees, it seems that it works with all other trees as well. I also haven’t tested what happens if you set the Special Case Only property to true; but since I can plant God-Mode trees when this property is set to false, it obviously works. 4b2 Exemplar Name This property just gives an item a name for your convenience; it doesn’t affect any in-game functions. Most likely you want to enter a name that helps you recognizing the flora item. It’s recommended to refrain from using special characters like äöü, because sometimes they are being replaced by nonsensical characters. 4b3 Exemplar ID This property must match the Instance ID of the flora item (see red markers) or else the item entry won’t work. 4b4 ResourceKeyType (1 or 4) This is one of the most important properties: It will link the flora item you are creating with its corresponding graphics. Without it, the flora item will be invisible; with a wrong code, you will only be able to plant brown boxes (or something that you don’t want to plant if the code happens to match existing graphics). The RKT will, however, only affect the visual result – not any in-game functions. Unless you make graphics on your own, there’s little need to worry about which values to enter exactly – but of course, you need to know where to get an RKT: Look into the dependency files of the tree you want to have (in this case: Girafe’s seasonal ash flora item type D is located in the file Grfe_ashes_seasonal.dat). Look for the RKT property there. Copy&Paste it over to your new God-Mode flora item. Seasonal vs. non-seasonal flora items: For God-Mode planted items, the same rules regarding seasonal flora apply as for Mayor-Mode planted items: They should be planted at the same time of the year (in most cases in the in-game month of August), and they require an RKT4 property (with 16 or 24 reps) to work, as opposed to non-seasonal items, which requires an RKT1 property (with only 3 reps). In most cases, you will anyway get the RKT you need; however, an interesting exception may occur: Girafe’s Mayor-Mode planted trees are known as being tree clusters rather than single trees in several cases. If you might be interested in planting single trees, then his flora items may not be useful for you, while his trees still may be of interest for you. However, Girafe’s ash props come as single trees – but props can not themselves be part of any TC, and albeit they are seasonal, they only come with an RKT4 with 8 reps, and you need to put 3 props, each from a different season, on a lot to enjoy the seasonal changing of a tree in-game. Fortunately, it is possible to use the graphics of these props by combining the RKT4’s that come with the props for your TC flora item to one single RKT4 with 24 reps: Search for the 3 props that “belong together” (for example: Grfe_ash_D_autumn, Grfe_ash_D_summer, and Grfe_ash_D_winter; they can be found in Grfe_props_pack_LE_ashes.dat). Now think about which season comes first: If you are using Lowkee’s Seasonal Flora Patch and want to use Girafe’s trees, fall comes first, followed by winter and then summer. Next, edit the RKT4 property in the flora item of your new TC. You need 24 reps; they are understood this way: A group of 8 reps forms an entry for one season. Copy the 8 reps from the fall tree first and leave everything unchanged. Next, copy the 8 reps from the winter tree into the same property. But before that, edit the first rep of this 8-rep group from 0x00000000 to 0x00000001. This tells the game that the second group of 8 reps will be the second state of this flora item. Do the same with the summer tree, but change the first rep of this 8-rep group to 0x00000002. The window Values as text should in this case now show 24 reps: 0x00000000,0x00000000,0x00000000,0x00000000,0x27812821,0x5AD0E817,0x7DD101DA,0x00030000,0x00000001,0x00000000,0x00000000, 0x00000000,0x27812821,0x5AD0E817,0x3DAC2AE2,0x00030000,0x00000002,0x00000000,0x00000000,0x00000000,0x27812821,0x5AD0E817, 0xFD06549F,0x00030000 Red/green/blue: Each of these groups contains information about one season of this flora item. 4b5 FloraPreferences This property controls at which circumstances – determined by the terrain in a city tile – trees will be placed in a city. These circumstances are a product of two factors: altitude and moisture. This will result in an interesting question arising before making a TC: Which forest would be suitable for which altitude/moisture value? (Please also see chapter 4c below about when you actually need to deal with this property in the first place.) Which values to use? The FloraPreferences property consists of no less than 256 reps. Entering any value higher than 0 (zero) and up to 1 in one particular rep will enable this flora item to be placed by the TC – entering 0 will disable it. I’m only using 0 or 1; it’s possible to use other values (between 0 and 1) but I haven’t been able to figure out what will happen if you use these. Please note that one slot (one altitude-moisture combination) can only be used for one brush – if there are two brushes or more on the same slot, the game will only use one and ignore the others. Please note furthermore that there must be a brush for EVERY slot - more about that in chapter 4d. Which rep controls which requirement? The 256 reps are organized in groups of 16 reps. Each of these groups represents one altitude level; with the first group being just above sea level and the last group being located above “snow level” (more about that later). Within each group, the reps are sorted by moisture level, starting with driest and ascending to most humid. I’ve created a table to visualize it; imagine the rows as altitude levels and the columns as moisture levels. Altitude Two values are important here: Sea level, defined by your terrain mod, and “snow line”, which is defined by the property Flora: elevation scale range, located in the Flora Tuning Parameters exemplar file (you can find this exemplar file in the file SimCity_1.dat, with the TGI 6534284a-7a4a8458-1a2fdb6a; a modified version also comes with the Seasonal Flora Patch from Lowkee). The value in the Flora: elevation scale range property is in metres above sea level. The TC divides the space between these two values into 15 equally large zones; these are represented by the lower 15 rows in the table above (the first 240 reps). Everything above snow line is represented by the 16th row. (It is not necessary to release a modified version of a terrain mod and the Flora Tuning Parameters; in the first case, this will conflict with any other terrain mod, anyway, and in the second case, the default Maxis settings will do.) Moisture Unless your city tile is entirely flat, all sloped areas of your city tile have different moisture values. By normal means, the different moisture values cannot be seen in-game, but there is a mod which allows you to make them visible (download link below). To this day, I haven’t been able to completely understand how the game handles moisture in your city tile, let alone using it to my advantage, even after trying the moisture viewer mod – therefore, I can’t help you much on this topic. In my own TC, I’ve just ignored this whole moisture thingy, with the only exception that on lower altitude levels, I’ve made some minor modifications the forest combinations which will merely result in minor graphical changes, mostly during fall. I can only tell you that the left-most column (as seen in the table above) represents the driest moisture level, and the right-most column the most humid one. To my knowledge, the in-game handling of the reps in the FloraPreferences property, regarding moisture, seems to depend on the following factors: Orientation of the hillside – this means, if it faces north, east, south, or west Proximity to the sea Month of the year Intensity of the slope (flat land to cliffside; the most important part) 4b6 FloraParameters This property, along with the Clustering properties, will be the most time-consuming part of designing a TC. It controls a variety of parameters, especially with the placement of a tree. Please note that any MMP flora requires this property as well, and it makes sense to just copy it along with the RKT into your new TC flora item and then modify some settings. I’ve found most of the information below in various topics on both STEX and LEX and carried it together. The FloraParameters property consists of 14 reps as follows: Reps 1, 6, and 7: These values control how often and in which time intervals seasonal trees are changing. This only applies to seasonal trees, and with most trees I’ve found so far in various plugins, the 1st value is set to 180 (in half-days, which equals to 90 days), the 6th to 363 (close to 365, which is the amount of days in a year), and the 7th to 15,050 (I don’t know why). The 1st value seems to control the length of the first two stages of a seasonally changing tree; with the other two values, I’m not sure. Reps 2, 3, and 12 are unknown. Reps 4, 5, 9, and 10 have to do with spreading seedlings. If values 4 and 5 are set to any value higher than 0, then as long as you are in God Mode, trees will automatically be planted every 24 months. I haven’t tested this feature at all, and I’ve only found little information about this, so I can’t tell you much about it. Rep 8: This value is more interesting, because it controls at which maximum slope you can place a tree. You can set a value ranging from 0 (only flat land) to 1 (even highest cliffs). It may require a bit of trial and error; however, this value corresponds to the property MaxNormalYForCliff in any terrain mod in the way that 1 – MaxNormalYForCliff = Value 8. Rep 11 and 13: These will be the most important reps because they control how much space (circular, radius in m) a tree takes up. Please note the difference: Rep 11 controls how much space a tree takes up after it has already been planted. This means: After being planted, no other flora can be planted within this radius. However, there’s a special exception made possible by rep 14 (see below). Rep 13 controls how much free space a tree requires before it is being planted. These two reps are important because, along with the clustering properties, they enable you to string several trees together in a brush and therefore create a forest from several different types of trees. Both values control the density of a forest, and they do not need to be the same. Please also see chapter 4c about this topic. Rep 14: This value is in metres. If the height difference between the existing flora and the flora that is being plopped exceeds this amount (in the newly plopped flora), the rep 11 of the already existing flora is being ignored. I haven’t tested it so far, I can’t even tell you for sure which value controls the height of an existing flora. 4b7 Clustering (Flora: Cluster type; Flora: Cluster max radius; Flora: Cluster max height) These three properties control the most important function required for you to plant forests with several different types of flora: As already mentioned, an existing flora can be upgraded to another one. The properties work this way: Flora: Cluster type: This property consists of one value, and it is simply the Exemplar ID of the next flora item that will replace this flora. Theoretically, you can make unlimited chains, but do not make a cycle, that means, do not point one tree back to a previous tree. As far as I’ve heard, this will freeze SC4 at some point during planting trees. You might write down which tree points to which tree – this is the property that helps you defining which trees belong into a brush. More about that later in chapter 4c. Flora: Cluster max radius: If a new flora is being plopped within this radius, the existing tree will be upgraded to the next tree (defined by the property Flora: Cluster type). Flora: Cluster max height: I don’t actually know what this one does. I’d be glad if someone would shed some light on this. 4b8 Orient To Slope If set to true, then the game rotates the graphics of an object to adapt to the slope (it will be perpendicular to the slope), if set to false, it always remains vertical. Decide yourself if this makes sense; with trees, I usually leave it at false, but with flat objects, such as gravel or moss, I would set it to true. 4b9 Other properties The following properties are not necessary about defining which trees will be part of the TC and how they are being balanced, but they may be of interest: Pollution at centre: This is mostly self-explanatory. It consists of 4 reps: Air – Water – Garbage – Radiation. It works the same as its equivalent in buildings. A negative value will reduce pollution. Yes, you can make God-Mode trees reduce (or create) pollution. Pollution radius: Works in tandem with Pollution at centre. The values are in city tiles (radius) and the effect will decrease the farther away from the tree it is. Flammability: Should be self-explanatory: How likely a tree will catch fire. MaxFireStage: If a tree catches fire, this property controls (only visually) how high the fire will reach. 4c How to make a brush consisting of several trees You might recall that I’ve pointed to this chapter at three parts of this tutorial. In fact, after you’ve gotten familiar with the relevant properties, I shall explain the main process that you will be going through while designing a TC step by step: Making sure that a brush (a group of different flora objects) works properly, which basically means, all types of trees are present, and they take up the right amount of space. Step 1, of course, is thinking: Which trees shall belong together, and at which altitude/moisture level should they be placed? The highest amount of different objects in a single brush I’ve ever used on my own is 8, but I’m pretty sure you can use a higher amount. Remember: Any newly planted tree is the first tree of a tree chain, and you can’t skip a tree in the clustering order; therefore, it might be increasingly difficult to handle a high amount of trees. Step 2: Simply tie the trees together by defining the next tree with the Flora: Cluster type property. The last tree in a brush doesn’t require this property, you can skip it. In general, it is recommended to use the tree that requires the lowest amount of space first in this row because clustering only works if the first tree requires the lowest amount of space; if that doesn’t matter, use the tree that you want to occur the most often. Step 3: Think about at which slot you want this brush to be active, and modify the settings in the FloraPreferences property of the first tree in a brush accordingly. In all following trees, just leave all 256 reps of this property at 0 – they will follow suit. Step 4: Now comes the most time-consuming part: Balancing the trees. This is done by modifying the reps 11 and 13 of the FloraParameters property, as well as the Flora: Cluster max radius property. The general rules are: The 1st tree of a brush must have the lowest values in reps 11 and 13 of the FloraParameters property, the values of the following trees must be increasing. The 1st tree of a brush must have the highest value in the Flora: Cluster max radius property, the values of the following trees must be decreasing. By changing by how much the values will be increasing/decreasing, you can modify how likely a tree will be replaced by another one. This can be interesting if you, for instance, want a certain tree only to occur rarely and another one rather often. Generally speaking, the lower the difference, the more likely a tree will be upgraded. The following issues may occur: If two trees will have identical values, the first tree will most likely not be represented at all and eventually be completely replaced by the second tree. If the difference is only low, the first tree may rarely be present at all. This may result in only the later trees being present and the TC running through the first trees too quickly. If the difference between the values is too high, it may be very difficult to get the later trees of a brush to be planted. This may result in almost only the earlier trees being present. Other than that, it’s of course interesting to consider which flora item you are using, anyway. Of course, you can use other objects than trees, and they may use up less space, such as bushes. Please note that if you decrease the space that items require too much, this will rapidly fill up your city with items and thus increase your file size quickly. All of this chapter is what I meant with organizing yourself: Write down, for instance, which trees are in which brush, at which slots a brush becomes active, and which values at rep 11/13 and clustering values you are using, and, if necessary, write down the results of your experiments – I haven’t found a perfect formula for which values exactly to use, not least because that depends on the visual size of the flora items you are using, so creating the ideal brush requires a good amount of trial and error. 4d Empty slots As we’ve already seen, there are 256 slots that can make a brush becomes active. You might be interested in keeping some of these slots empty (for example, no trees in very dry environment, or no trees above snow line). The most logical assumption (and in fact, it will partly work) would be just making sure that there is no item that has these slots set to 1. Unfortunately, there is a nasty issue: If you are using a TC at a specific location where there is no flora item at all set to 1, the TC will start planting nonsensical objects there. This is actually very likely to occur; since the TC cursor is most likely large enough that you may accidentally at least partly touch such a location while planting. To prevent that from occurring, there’s only one way to do so: You need to create one flora item for all these slots which you want to be empty, and set some requirements in a way that it is practically impossible for a TC to plant a tree at this location. The only relevant property, aside from the FloraPreferences property, is (in my opinion) the FloraParameters property: I’m setting both the rep 11 and rep 13 to a value that is larger than the maximum distance on a large city tile in metres (the length of a diagonal line connecting two opposite corners of a large city tile is 5,792.62 m; therefore, I’m setting rep 11 and rep 13 to 5,800). This way, the TC cannot place a tree if there’s any other item within a radius of 5,800 m (which is very likely to occur and it’s the case anytime as soon you place any object on a city tile, be it an MMP, a God-Mode planted tree, a lot, or a traffic network). 4e Relevance of files outside of the TC itself The following exemplar files are not necessary to balance brushes in a TC, and you probably won’t find it necessary to modify them, let alone share them in public, but they at least partly affect the way tree controllers work. They can be found in the file SimCity_1.dat, as well as in various uploads in the internet. Since they have a unique TGI, they can only exist once and every new version you’ll upload will conflict with all available existing versions of the same file. The only thing you can do, if modifying these files is part of an upload you are intending, is either only resort to modifying the original files in your Plugins folder and sharing your knowledge in public and hoping other people are resourceful with iLive’s Reader – or uploading the modified files and risking that they will conflict with the mods other people are using. TerrainBrush exemplar file TGI: 6534284a-6a01fc2a-2a31304e This file may be part of some terrain mods. Among other features, it controls the size and strength of the TC cursor in game by the properties DefaultRadius1 and DefaultStrength1. Both properties have 5 reps each, one for every zoom level (beginning at 1) Terrain exemplar file TGI: 6534284a-88cd66e9-00000001 This file is part of every terrain mod. The only interesting property there is MaxNormalYForCliff. As already mentioned, you can modify rep 9 in the FloraParameters property to prevent trees from growing on cliffs. For that, you need to know at which slope a cliff occurs. The game treats a tile as a cliff when its y-component is less than the value in the MaxNormalYForCliff. The higher this value is, the more cliffs you will get (because less steep sloes will already become cliffs). To prevent trees from growing on cliffs, set the rep 9 in the FloraParameters property to 1 – the value found in MaxNormalYForCliff. (Please note that the terrain mod itself may also be of interest when creating a TC: You may not want trees to grow in alpine snowy areas. Unfortunately, I don’t have any clue about modifying these settings so I can’t help you.) Flora Tuning Parameters exemplar file TGI: 6534284a-7a4a8458-1a2fdb6a This file is part of the Seasonal Flora Patch by Lowkee. It controls if trees can spread seedlings and at which intervals, but I don’t know how this works. It also defines the height of the “snow line” in the property Flora: elevation scale range (in metres above sea level – not metres in total terrain altitude!), which has an influence on the FloraPreferences property. Everything above the height defined by the Flora: elevation scale range property will be part of the reps 241 to 256 of the FloraPreferences, and the zone between snow line and sea level is divided into 15 equal zones, with each zone being controlled by one 16-rep group of the FloraPreferences. If this value is low, then the zones are correspondingly small. This might be interesting to consider if you want to prevent trees to grow in snowy areas (for instance, you may want to already keep row 14-15 empty), but this also depends on the settings in your terrain, like mentioned above. 5 How to switch between tree controllers Yes, you read this right: Contrarily to popular belief and some posts on the internet, and while it is impossible to combine tree controllers, it is at least possible to switch to another TC while still keeping all the trees of your former TC in your cities. Now before trying that: Read this carefully to prevent serious issues, such as CTD's, in your region! Which issues can occur if you just switch to another TC, install two or more TC’s, or uninstall one: Uninstalling a TC works the same as uninstalling any other plugin such as MMP’s or lots: Just remove all trees you have already planted, and then remove the files of your old TC from your Plugins folder. This is something that you can safely do. If you just remove the files without removing the trees, they will still be in your cities (you just can’t plant new ones). However, it has been reported, that if the trees are destroyed by, let’s say, disaster, and the game can’t find their corresponding exemplar files, your game will crash to desktop. Trying to combine two TC will basically be impossible: If there are two flora items on one slot defined by the 256 reps of the FloraPreferences property, only one of them will be planted. I haven’t figured out the rules about which one so far, but this basically means that one TC will cancel out the other. Let’s next point out some possible reasons for changing your TC: As you may have thought already, we are now talking about thousands of trees in a lot of cities, and it may even be impossible to find out which trees have been planted in God Mode and which in Mayor Mode, since you may have planted some MMP’s that look the same as the trees planted in God Mode. Therefore, you may want to be on the safe side in case you accidentally forget to remove a tree from an old TC. There may also be two TC that you like, and you want to have more possibilities to design your cities, and you may not want to be restricted to height differences. (This can, BTW, cause an unpleasant effect called banding in your cities: Two entirely different types of forests meet each other and it will literally create a border between them with no transition at a certain height.) Fortunately, the measurements are really simple: You only need to set all 256 values in the FloraPreferences property in all of the flora item exemplar files to 0 and keep the files of the old TC in your Plugins folder until you’ve removed all trees planted by it. (I call such a file disabler file.) Issues like CTD’s can only occur if the game cannot find an exemplar file of an item already being present in a city. This way, the hard-coded TC cannot plant these flora items anymore, but since the exemplar files are still there, the game will work properly. If you are sure that you want to remove all trees planted by a certain TC you want to get rid of, there’s an easy way to do so: Replace all of the RKT’s in the TC by a RKT1 with three reps and enter: 0x6534284a,0xffffffff,0xffffffff. This is a nonsensical code that will replace all God-Mode planted trees with brown boxes while still keeping their functions intact, as well as Mayor-Mode planted trees. This way, you can easily recognize God-Mode planted trees and remove them. By the way, I'd like to recommend that if you are planning to release a new TC, please include a disabler file with your upload that disables your TC like mentioned above . It's just more convenient for everyone. 6 Links Seasonal Flora Patch by Lowkee http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=2612 Cori’s Dataview Moisture List of available tree controllers Maxis TC Disabler.zip
  2. SM2 Concrete Sound Barriers

    Excellent work, and glad that you thought of the mirrored FA-3 walls!
  3. SM2 Concrete Sound Barriers

    Those highway soundwalls look very good! Not too high, and finally one that covers FA-3 networks. However, there are two points of criticism: You forgot to make a mirrored version of the FA-3 soundwalls. You only made a version for highways running from bottom-left to top-right; you need to include a version for highways that are running from top-left to bottom-right. With fractionally angled networks, you need to make a mirrored version, because merely by rotating, you cannot place a soundwall next to a highway running from top-left to bottom-right. Perhaps this is only my opinion, but I think you should make prop families for the graffiti walls. I think 12 lots for just the same wall is a bit too many when everything just revolves about the graffiti.
  4. Cori's Tree Shoppe

    @CorinaMarie There's an easier way to do so: If you download my tree controller, there's a file named Maxis TC Disabler.dat. This file disables Maxis God-Mode trees. It allows you to keep God-Mode planted Maxis trees in your region without worrying about the game returning to desktop when adding a new TC or bulldozing the trees while preventing them from being planted any further. If you only install this file, you won't be able to plant any new trees anymore. Side note: To me, due to the in-game mechanics, it seems mandatory to create exemplar files that disable Maxis God-Mode trees before adding new ones, so most likely any tree controller should come with the ability to disable Maxis Trees while still allowing you to keep them. I don't know it for sure, but at least the Cascadia TC comes with such a file. If you want to install a new TC and want to be on the safe side: You can open the file Maxis TC Disabler.dat from my TC and open all files from your new TC in a second window and do the following: Compare the IID's of the exemplar files and see if you can find exemplar files with a corresponding IID. If yes: Check the property FloraPreferences. This property contains 256 (yes, it's really that many) reps that are only 0 or 1. They should all be 0. If you can't find corresponding exemplar files, or if one of the reps mentioned before is 1, or if you are not sure, just keep the file Maxis TC Disabler.dat and make sure it loads last, because the worst thing that could happen would be twice the same files.
  5. Show Us What You're Working On

    @Edvarz These are some really good pictures, especially the apartment complexes on the first and the wall-to-wall development on the second picture. Pictures these good make me forgive you the grid.
  6. Show us your rural scenes!

    I haven't been posting in a while, because RL keeps me busy. Anyway, here's my contribution to this topic: I've tried to create more traditional farmland. To me, this means: Farmhouses scattered all over the place, smaller farms but more diversity, everything is making use of the hillside while adapting to it; farms are separated by lines of trees and stone walls. I've turned a few ploppable farmhouses that I've found somewhere on STEX/LEX into growables. The farm fields are partly grown (especially those located next to a gravel road), partly plopped.
  7. Can't find it?... Ask here!

    Does anybody know where to find this diagonal apartment building?
  8. Version 1


    Short description: You can find them in any village in my native country: Small public sites called ”Wertstoffsammelstelle“ (small recycling site), where people can dispose of the garbage they produce at home by sorting it according to material and putting it into the respective containers. I’ve lotted such a public recycling site for SimCity 4 (since I couldn’t find a believable English translation, I’ve just kept its German name), especially to provide a small garbage disposal facility for village-like settings. In-game, it works like an incineration plant – it basically just removes trash from your city – just with lower values and without producing power. Unfortunately, the stench makes sure that this building has a negative park effect, thus, it shouldn’t be placed near high-wealth estates. Yet pollution values are kept low and it does its job. The public recycling site provides 4 low-wealth civil jobs, therefore, it requires road access. It can be found in the sanitation menu. Please refer to the Readme for further information. Available languages: English, German (both Readme and files). The name of the plugin is in German, however, both readme and description are available entirely in English. Dependencies: SFBT Essentials: required for the trash containers. http://www.simcityplaza.de/index.php/props-und-texturen/essentials?download=162:sfbt-essentials-dezember-2015-(windows) (Windows) http://www.simcityplaza.de/index.php/props-und-texturen/essentials?download=161:sfbt-essentials-dezember-2015-(mac) (Mac) Installation: Move or copy the file Wertstoffsammelstelle.SC4Lot that comes with this download into your Plugins folder. To uninstall, bulldoze all recycling sites (all instances from this plugin) and remove said file.
  9. @HORSEY That's strange, I've tried out the CETC combined with the God Mode Tools Mod and the Berner Oberland Terrain Mod, but they work fine. Since you haven't installed any other mod, I can only imagine the same explanation I told to vocar: Starting at a certain height, the CETC doesn't plant trees anymore. You might have installed a map with very high average terrain where probably almost no parts of the terrain are below snow level. If you are playing on a custom map and you are not sure about this, please post me the link to the map you are playing on. Edit: It's also possible that you just installed ALL files that come with the download of the CETC. Do not do this. If you keep the disabler file and/or the uninstallation helper file, you won't be able to plant new trees as the purpose of these two files is helping people uninstall the CETC if they so desire.
  10. Show us Your Oddities!

    A village under development just got its first bus stop (not pictured) - in the middle of nowhere, just to connect a few remote farmhouses to a village that hasn't even been built yet. The result: The first traffic jam ever seen made entirely by buses. Where do all these people come from? The adjacent city tiles, BTW, don't even have anywhere near 31,000 inhabitants. And this city, albeit having a lot of farm fields, surely doesn't offer 31,000 jobs, nor do the adjacent cities. At least the money is good although the heavy traffic might prevent farm fields from developing.
  11. Show Us What You're Working On

    This is surely the weirdest project I've ever been working on, and it took me weeks to complete it, and sharing it will be complicated due to tons of dependencies, as well as textures that I've copied from people that are no longer active on the STEX, and I'll probably only use it once in an entire region. However, this has been really funny to make, I simply had to do it. I hereby present to you: The legendary Temple of Seasons Inspired by its pendant in Oracle of Seasons, a game where there's a temple where you obtain the ability to alter the seasons of another country, I created a 13x13 complex, composed of 7 modular lots where I've duplicated a good amount of props and modified them to make them non-seasonal.
  12. Show Us Your Small Towns

    This is Karlsklause, a small city between the sea and the mountains where time has stood still over the last 100 years. I think I should add a few modern buildings every now and then, but other than that, I think it turned out OK. Hope you like it. Click to enlarge (1366x1400).
  13. Show Us What You're Working On

    A little something I'm working on: I'm trying to build a seaside village in a bay, complete with a harbor village on boardwalks. I don't know if this is good or not, I've barely ever been to the seaside.
  14. Table of content 1 Introduction 2 Requirements 3 How to develop building blockers 1 Introduction It is widely known that, at least in-game, there is no way to control which buildings exactly will grow in your city. Sometimes, this can be a pain – for instance, there’s always the same building growing repetitively, or a complete chaos of buildings is growing in the center of a city. Restricting growth to certain building styles doesn’t help much, since there can be only 4 building styles. Furthermore, it has been found out recently that the command “Build all tilesets at once” doesn’t actually work (please read this topic for more information); therefore, randomizing the look of your city can become even more difficult. Fortunately, contrarily to popular belief, there really is a way to have some control about which buildings in particular will be growing – and I literally mean: You can make sure that at this damn corner a certain building and none else will show up, or a certain building that would look out of place will not grow at all. This is possible. Even without the Buildingplop cheat. Even without letting the game run for 3 hours until it gracefully decides to grow the building you want. How shall this be done? Just removing certain plugins from your Plugins folder won’t do the job, since there may be some buildings left in your region that won’t work properly anymore if you just remove their files. However: As some of you may know, there are some building blocker plugins out there on the STEX, like this one… … that will prevent vanilla Maxis buildings from growing. So, theoretically, you only need to develop building blockers for all residentials in your Plugins folder and actually keep them outside from your Plugins folder until you need them. (This will, by the way, just make sure there won’t be new buildings growing – the existing ones will still work normally, they will spawn traffic and pay taxes.) In other words or for instance: If you want a certain building to grow, just block all others. If you want a certain building not to grow, just put its respective building blocker into your Plugins folder. Advantages: You have a certain degree of control about what will grow in your city. Disadvantages: Every change in your growth preferences (unless you find a way to skillfully use the Tilesets feature along with the blockers, but that is not part of this tutorial) requires you to leave SimCity 4, move some files around in your Plugins folder, and get back to the game. 2 Requirements You need iLive’s Reader to develop the blockers. You need some advanced modding skills, although you do not need to be a real pro. Most important: You need to find out the Lot configuration exemplar files of all your growables. Most crucial: You need to know EXACTLY what is going on in your Plugins folder. I mean, you need to be perfectly organized. You may need to literally open every single file in your Plugins folder, check if it contains a Lot configuration exemplar file of a growable, extract and duplicate it, and modify it. Furthermore, you need order and structure in your Plugins folder to make sure your blockers will load last so they can work. And, also very important: This will take time. I mean it. Last year, I sorted out all of my plugins, putting all resource files into one folder and all lot files into another; I did this with both ploppables and growables. This took me three months. But it was worth it – it’s much easier to make improvements to your lots if you can find them faster. 3 How to develop building blockers Step 1: Recognizing and getting the growable files As already pointed at, first of all, you need the appropriate files. And that really means: Check every plugin in your Plugins folder if it contains growable buildings. This will, of course, be made easier by thinking about it (a hospital, for instance, will most likely be a ploppable), but there is a way to recognize growables via Reader if you are not sure: Check for exemplar files with the Group ID a8fbd372. These are always lot configuration files. You only need these files, by the way. These exemplar files will contain a property with the name LotConfigPropertyZoneTypes. This property will have up to three reps, expressed by a number ranging from 00 to 0F. If the reps have numbers ranging from 01 to 09, you are dealing with a growable. (Check the screenshot farther below.) Step 2: Creating a blocker After finding out a file that contains a lot configuration exemplar file, copy this file to a location outside of your Plugins folder so that it won't do anything until you need it. Give it a name that will help you recognizing it, for instance, the name of the plugin you are actually dealing with. Next, open this file with Reader again. Remove all entries that are not lot configuration exemplar files, and also remove all lot configuration exemplar files that are not growables. Next, look at the Growth Stage property, and just change the value from whatever number to 0xFF. This will change its growth stage to 255, which means that it cannot grow in-game because the highest possible growth stage in vanilla SimCity 4 is 8 (I don’t know it for CAM, but I’m pretty sure it’s not 255). Important: Do NOT modify any other setting, such as slope tolerance, let alone textures or props! If you already have some of these buildings in your cities, this may have unwanted side effects. That’s it. Step 3: Using blockers properly If you want to prevent a building from growing, just copy your blocker file into your Plugins folder. Here comes the point where you need a bit of structure in your Plugins folder: You need to make sure that the blocker loads AFTER the original growable file to override them (without actually completely disabling them, they will still work, spawn traffic and pay taxes, there just won’t be new buildings growing anymore). I have created a folder with the title zBuilding Blockers which is currently the last folder in the loading order, but of course, you can do it differently. Some side note: Keep in mind that residentials and commercials are sometimes restricted to less than 4 tilesets. This means that sometimes a building won’t grow although you have blocked all others – because you have enabled more than one tileset and the building is limited to only one. Furthermore, as already mentioned, the in-game command “Build all tilesets at once” does not work properly, which means that the game just rotates between tilesets as usual. For you, this means that you need to only enable one tileset if you want to grow a particular building that is limited to only this one tileset – or you need to modify the tileset settings of a growable building. Step 4 (optional): Modifying tilesets I’m surely not the first one to write a tutorial on this topic, but while I’m at it, I thought I might repeat this knowledge for your convenience. Open a file corresponding to a residential or commercial and check its exemplar files (it’s not with the lot configuration exemplar files). If there is an exemplar file with the property OccupantGroups, you are at the right place. Growable residentials and commercials need at least 1 tileset so they can grow. Add the following codes to the OccupantGroups, separated by a comma, to enable the tilesets (or remove these codes to disable them): 0x00002000: Chicago 0x00002001: New York 0x00002002: Houston 0x00002003: Euro By the way: Removing all tilesets from the OccupantGroups property is another way to prevent residentials from growing. Decide yourself which way you want to use.