• Welcome to SC4 Devotion Forum Archives.

How to build a bridge exactly the length you want it--not one tile longer

Started by noahclem, May 26, 2011, 12:10:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

noahclem

Ever been in a situation like this?




You want to place a bridge with its ends on the tiles directly adjacent to the water but the game requires the bridge take up an extra tile on the far side of the water. This may irritate you because you wanted to run transit networks on those tiles adjacent to the water along their length or because it makes your otherwise beautiful bridge look stupid. As a user that prefers "real" water to canal lots and mayor-mode-ploppable water this problem has long been a source of frustration for me and I opened my photobucket account and my first-ever thread here at SC4D and my in an abortive attempt to correct it.

Now finally, I've developed the "technology" to fix the problem which I'd be happy to share. Someone else has probably discovered this before but I figured there were enough people who might benefit from my knowledge to warrant a tutorial.

The idea is to lower the sealevel in such a way that the bridge can be placed how you want it. Essentially, the game just seems to require that one empty tile of land be on the opposite side of where the bridge starts when it is placed. The two ways to accomplish this are to either remove the sea water and use the rain tool or to lower the sea level enough to be able to terraform the way you want and place the bridge. I believe it's easier and more practical to do the second technique and that's what I'll teach here.

For this technique you will need (besides SC4+Rush Hour):

A terrain mod--I'm using cycledog's meadowshire found here: http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=58

ilive's reader found here: http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=656

The area I'll demonstrate on started like this:



Without using any tricks I wouldn't have been able to make it the length I wanted


Or I'd have to settle for this length (imagine the edges filled in)


Instead I'll close SC4 and lower the sea level in ilive's reader. Instructions for this are in the next post here: http://sc4devotion.com/forums/index.php?topic=13185.msg380688;topicseen#msg380688.

Set the sea level to a number just a few meters lower than the desired elevation of the sea floor below your bridge. Normally water is translucent down to 40 or so meters and for best appearance you'll probably want the sea bottom slightly lower than that.

I set my translucency to 9 meters because I think it looks better--and coincidentally it makes this trick easier. Thus for my city I set the sea level to 235 meters (250 being default)--unless I'm working with an area that has a deeper sea floor. I've included instructions for changing translucency in the next post alongside explaining sea level changes if anyone is interested.


Once you've set your sea level to the desired level open up SC4 again. Assuming you've set it just below the sea bottom your bridge area should look something like this. Select the "lower terrain" tool and then press "shift"+"1" to make it as small as possible. Then click somewhere in the middle of your future bridge space just enough to get a tiny spot of water.



After than you should be able to drag a bridge of just the length you want:



Here's what my bridge looks like after being placed:



That old road bridge by jeronij benefits particularly from this type of placement. Xannepan's new ones are another great example:

(pretend this one is long enough to look right. notice the edges look perfect)


After the bridge is placed quit SC4, change the sea level back to "250" (default) in the reader, and reopen SC4. Here's how mine looks after:


And with a bit of eye candy:


Hope you found this useful!

And remember, instructions for editing sea level in the reader are in the following post  ;)

And feel free to add corrections, additions, or any other feedback--I'd love to know what you think.

noahclem

#1
Editing sea level in ilive's reader has a number of useful functions. Most obviously, you can get rid of water without losing all of your bridges and tunnels like using the "setsealevel 0" cheat. Some functions of this can be duplicated by the sealevel=0 temporary patch but I often find it useful to edit it to a level between "0" and "250" (default) and setting an intermediate sea level is required for this tutorial. 

To edit your sea level, first open up your terrain controller in the reader. If you use one of CP's terrain mods the file should be located here. If you don't normally use the reader you may have to right-click and manually select the reader as the program to open it with.


Once you've opened the file in the reader click "fill the list" if you don't have auto-fill enabled.
Next, click on the first exemplar file (light highlight in the left column).
Then choose the "sealevel" property highlighted at right here by double-clicking.




Edit the field (circled next to the "1") with a different sea level than the default 250 meters. For my tutorial above the idea is to set the level just below the sea floor below the future site of your bridge. If you're not sure the elevation of your sea floor use the "terrain query" cheat from buggi's extra cheats.

After you've entered your desired sea level press the apply button circled next to the "2" and then the apply button circled next to the "3"


I use 235 meters but that's because I've edited my water to be opaque below 9 meters--in many cases it will look best if the sea floor below the bridge is lower than the point where your water becomes opaque.

The property that controls the elevation of water opaqueness is "WaterDepthForMaxAlpha"--edit it in the same way I explained above to modify your sea level opaqueness (the value for mine is "9" [not 241]).


After you've edited your sea level you should see the new value in the right column of reader next to "sea level".
Next save your terrain mod controller, overwriting the old one (make a backup first if you're worried about screwing something up).
Finally, quit the reader.

Next time you open SC4 the sea level will be at the level you've entered. To revert to the default sea level use the same process outlined above but set the value to "250" (default).

Again, I hope you've found this information useful!

sumwonyuno

Thanks for the tip, it's certainly helpful.  Now I have more flexibility in bridges!


The City & County of Honolulu, a Mayor Diary based on Honolulu, Hawai'i.

mark's memory address - I've created a blog!

io_bg

First of all, sorry for bumping this old thread :-[
I've a small problem. I decided to try this method but unfortunately I'm unable to lower the sea level. I've attached a screenshot showing how my terrain controller looks like. I did everything as explained but when I run the game there's no difference in the sea level. Any ideas what I'm doing wrong? %confuso
Visit my MD, The region of Pirgos!
Last updated: 28 November

noahclem

No worries about the bump--it's great for me to know people are using this  ;D

Your screenshot looks perfect to me. The only possibilities I can think of are:

1) Are you sure you're saving correctly? Just going to "file", "save", and choosing to "overwrite the old file" when it asks you to should be enough.

2) Is it possible that there's another file loading after this one that could be causing a conflict? I know that in most cases having more than one of the same type of terrain mod file causes a crash but perhaps that's not true of the controller file. I think that certain snow mods (modifying the height where snow starts), beach mods, or maybe even water mods could include their own controller that might cause a conflict. If you find another controller file that loads after either try editing the sealevel property in that controller or remove the second controller.

Let me know if that helps and if anyone else has any relevant information be sure to post  :thumbsup:

EDIT: I'm sure it's possible to have multiple files controlling the sealevel--the NAM DBE is another example.

io_bg

As for the first, I'm absolutely sure - I already did it a few times to ensure this isn't the problem. I decided to put "zzz" in front of my terrain mod's folder to make it load last - fortunately it worked! My "B plan" was to use the DBE, fortunately I didn't have to use it ;D
Thanks for your help!
Visit my MD, The region of Pirgos!
Last updated: 28 November

cmdp123789

I dont get it... I tried it with the CP italian terrain mod... I changed it to 235... but it doesnt work... I dont understand it... is there anything else I have to edit??

noahclem

Glad that worked for you Ioan  :thumbsup:  One quick caution though: it might be better to just make the controller load last, rather than the whole folder. For example, LowKey33's seasonal terrain flora tuning parameters file might not work if it doesn't load after the rest of your terrain mod (not sure but he has it install to a "z" folder so I figure there's some reason for it). Or you could just put that file inside your terrain mod file and put "z"s or a "~" at the beginning of its file name.

@ cmdp123789 - I suggest trying the same solution as io_bg (or better yet what I recommended above). You're both using the CP Italian terrain mod so I suspect you're having similar problems. Hope that works!

cmdp123789

Well... what I did is set it to 235, and changed to 9... as you did... and then I changed the folder name and added the zzzz to load it at last... oh and I changed the file and added a z too... but I dont know... Im working on the London map... and the terrain is not flat... and it is not at the same level as in the pic... its deeper... is that it probably?

ultrasu

I was having the same problem, and after half an hour of quitting and reloading SC4 to figure out what was wrong, I opened the Diagonal Jagged Edges Mod (filename: zzENN_CP_MissouriBreaks_Terrain_DJEM.dat or similar) in the Reader, and found out it alters the same values, so if you're using this mod as well, you can get the job done by altering this file instead of the main terrain controller.