User avatar
Gernot66

Posted Tue Nov 08, 2022 5:17 pm

Disclaimer: i'm not responsible for damages to your city files (or any other files, you computer, your mind) due to the use of my scripts, use them at your own risk.

SIMCITY ADDITIONS

The intentional idea i borrowed from a MS-DOS program named "EDITCITY" with which you can change certain values in SimCity city file. EDITCITY allows to change churches and hospitals to either an empty residential, a high value high density residential or a high value high density commercial. You can of course change the amount of cash and the tax rate. Further EDITCITY can alter the values for residential-, commercial-, industrial population, crime- and pollution ramp, the latter five values are dynamic and will be changed as soon as the game runs though they have little value and i don't care about them here. Also you can change the external market size with EDITCITY.

A few thoughts to the "external market size", the manual describes this as a variable which will raise with the growth of your city but this isn't the case no matter how big or how old a city is this value stays as it was stored at beginning of the game. MS-DOS SimCity stores here a "6", Amiga SimCity stores a "4" and both TerrainEditor store a "4". After i experimented even with rediculous high values like 0x7F i came to the conclusion that this must reflect something little else as one can guess by the description in the manual. I assume this reflects the connectivity of a tile. You might know that SC2K shows a connectivity from 1 to 8 for each tile personally i assume a "4" is following connectivity 1,2,3,4,1,2,3,4... with "4" as 100% connectivity in the same manner as in SC2K thus a 6 will result in 1,2,3,4,5,6 with 6 as 100% connectivity, this would at lest explain why i don't experienced noteable differences if i changed this value. Nonetheless for all my generated terrains i used a value of "7" whatever the cost might be ;) Still i'm not sure here what exactly it reflects but a growing market size it can't be this is obvious since this value never changes.

User avatar
Gernot66

Posted Tue Nov 08, 2022 5:18 pm

Let's describe what's in a SimCity city file:

NOTE: All data in a SimCity city file is little endian no matter MS-DOS or Amiga release (or any else).

At 0x01 is the length of the city name string stored, this is only valid for
the Amiga release, the DOS release always writes here a 0x0D (13) while as
you might know MS-DOS only accepts 8 characters for a file name, a city can
have a longer name stored here but it will be always stripped down to 8
characters for the MS-DOS release, for the Amiga release the limit is 14
(if i remember this right).

At 0x41 follows the identifier "CITYMCRP", i use this to check if a file is a
SimCity city file or any else.

What follows the identifier is some gibberish which most probably declares the
slight differences between MS-DOS and Amiga release city files. This data gets
changed when you load a city from a different OS to the TerrainEditor.

At 0xBC3 is the "external market size" stored, use it as described above.

User avatar
Gernot66

Posted Tue Nov 08, 2022 5:19 pm

-------------------------------------------------------------------------------
following values change as soon as the game starts
-------------------------------------------------------------------------------
0x0BC4 residintial population x 10, value changes while playing (change has no real influence)
0x0BC6 commercial population x 10, value changes while playing (change has no real influence)
0x0BC8 industrial population x 10, value changes while playing (change has no real influence)
these values are special calculated, however 3300 equals 330 0x14A while only 4A is stored?

0x0BCA residential value, value changes while playing (change has no real influence)
0x0BCC commercial value, value changes while playing (change has no real influence)
0x0BCE industrial value, value changes while playing (change has no real influence)
-------------------------------------------------------------------------------

0x0BD0 - 0x0BD3 weeks since january 1st 1900, NOTE: one year equals 48 weeks

-------------------------------------------------------------------------------
following values change as soon as the game starts
-------------------------------------------------------------------------------
0x0BD5 crime ramp, value changes while playing (change has no real influence)
0x0BD7 pollute ramp, value changes while playing (change has no real influence)
-------------------------------------------------------------------------------

0x0BDF difficulty level 0 - 2

0x0BE2 overall city score (max. 0x03E8, 1000), value changes as soon as the game starts

0x0C24 - 0x0C27 cash

0x0C29 auto bulldoze 0/1
0x0C2B auto budget 0/1
0x0C2D auto goto 0/1
0x0C2F sound 0/1
0x0C31 tax rate 0% - 20% (0x00 - 0x14)
0x0C33 speed 0 - 4 (amiga 1 - 3, unfortunately "0 pause" is fast (3) and "4 fastest" is fast as well)

0x0C35 - 0x0C37 % police stations founding
0x0C39 - 0x0C3B % fire stations founding
0x0C3D - 0x0C3F % traffic founding
Amiga: 0x0C35 0x64 = 100% 0x1 = 1 %
MS-DOS 0x0C35 - 0xC37 0x010000 = 100% 0x28F = 1% (MS-DOS TerrainEditor writes 00 FF FF)
NOTE: SimCity will know the difference the data will be interpreted proper no matter how it is stored.
Also the MS-DOS TerrainEditor will double here the cash amount (weird error).

These is all static data which is of interest (or even not of interest), i listed here all i know so far
(except for the map data itself). Most of this i don't use in the scripts i offer.
They won't be as comfortable as "EDITCITY" but will do the same job.
One is a special MS-DOS to Amiga - Amiga to MS-DOS script which isn't part of "EDITCITY"

User avatar
Gernot66

Posted Tue Nov 08, 2022 5:20 pm

(pardon me for posting this in snippets but else i have problems)

Software you need for the scripts (except of course SimCity and an appropriate city file to change the values of):

- SPLITQ (further simply named SPLIT), splits a file at a given address into a snippet of a given size.

- REPSTRING, replaces ascii or hex data in a file

- JMENU, a multiple choice requester for OS1.3/OS2.x

- The usual sound player (SOUND) and some SFX (alternative)

Scripts i recently use:

- MS-DOS_Fix, MS-DOS and Amiga release have exchanged use of Church and Hospital
this script changes simply all churches to hospitals and all hospitals to churches.
If used twice it will revert the city to its original state. Use this script if you import
a MS-DOS (or windoze) city to the Amiga or vice-versa.

- ExChange, this script changes churches or hospitals
to either an empty residential, high density residential or high density commercial.
The use is somewhat limited, you can boost population at least a bit for a little while.

- ClearChannel, clears all "channel" data to "river", useful if you generated a terrain
and like to change the channels path, very useful if you used the MS-DOS program
"TERAFORM" to generate a terrain and forgot to raise the channel level (the whole
river/sea will be channel then, more about TERAFORM later since it produces realistic
terrains quite different to SimCity or the TerrainEditor).

User avatar
Gernot66

Posted Tue Nov 08, 2022 5:35 pm

MS-DOS_Fix

Script to fix the Church <-> Hospital issue between Amiga and MS-DOS stored SimCity city files.

Code: Select all

.KEY PATH,SFX
.BRA {
.KET }
.DEF SFX "D:SOUND DH1:Games/SimCity/SFX/classic/"
.
{SFX}08honk Q D
.
IF "{PATH}" EQ ""
  ECHO "*E[1mSHIFT CLICK ON A CITY ICON!"
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
D:SPLIT >NIL: "{PATH}.info" T:FIX{$$}A 48 1
TYPE >T:FIX{$$}B T:FIX{$$}A HEX
D:SPLIT >NIL: T:FIX{$$}B ENV:FIX{$$} 7 1
IF NOT $FIX{$$} EQ 4
  ECHO "NOT A PROJECT ICON!"
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
D:SPLIT >NIL: "{PATH}" ENV:FIX{$$} 65 8 
IF NOT $FIX{$$} EQ CITYMCRP
  ECHO "NOT A SIMCITY CITY FILE!"
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
COPY >NIL: "{PATH}" RAM:FIX{$$}A
D:REPSTRING RAM:FIX{$$}A RAM:FIX{$$}B $E195E198E19B $FFF0FFF0FFF0
D:REPSTRING RAM:FIX{$$}B RAM:FIX{$$}A $E196F599E19C $FFF1FFF1FFF1
D:REPSTRING RAM:FIX{$$}A RAM:FIX{$$}B $E197E19AE19D $FFF2FFF2FFF2
.
D:REPSTRING RAM:FIX{$$}B RAM:FIX{$$}A $E19EE1A1E1A4 $E195E198E19B
D:REPSTRING RAM:FIX{$$}A RAM:FIX{$$}B $E19FF5A2E1A5 $E196F599E19C
D:REPSTRING RAM:FIX{$$}B RAM:FIX{$$}A $E1A0E1A3E1A6 $E197E19AE19D
.
D:REPSTRING RAM:FIX{$$}A RAM:FIX{$$}B $FFF0FFF0FFF0 $E19EE1A1E1A4
D:REPSTRING RAM:FIX{$$}B RAM:FIX{$$}A $FFF1FFF1FFF1 $E19FF5A2E1A5
D:REPSTRING RAM:FIX{$$}A RAM:FIX{$$}B $FFF2FFF2FFF2 $E1A0E1A3E1A6
.
COPY >NIL: RAM:FIX{$$}B "{PATH}"
.
{SFX}04explosion Q D
LAB #EXIT#
DELETE >NIL: RAM:FIX{$$}#? T:FIX{$$}#? ENV:FIX{$$}

The script first copies the city file to a temp file in ram. This file will be sequentially edited, first the churches (hospital for Amiga release) will be changed to unique temporary values then it changes all hospitals to churches and as last all temporary overwritten churches to hospitals (vice versa if you change an Amiga city for MS-DOS).
If you run the script twice the city file will be in its original state again.

If you select any other as a SimCity city file the script will exit
If you select anything else as a project icon the script will also exit
If you select nothing the script will exit as well

The few SFX are extractions of "SimCity Classic"

Recently i use the little clumsy method to split the files to get to the relevant data until i found a good program with which i can read/write a value from/to a given address.

User avatar
Gernot66

Posted Tue Nov 08, 2022 5:50 pm

Next...
ExChange

Script to change Churches or Hospitals to either empty residential, high-density residential or high density commercial.
Unlike for "EDITCITY" you can't do here both at once thus if you like to change churches and hospitals you need to run the script twice. It opens with JMENU which let's you select between the possible actions (and at last but not at least "i slipped" if you slipped...)

Likewise "MS-DOS_Fix" this script works only by use of shift-click on the city icon (pardon, i forgot to state this in the previous post). I decided not to use the filerequester because these changes you will perform on actively played cities, other scripts are meant for no yet played terrains and since them can be many (256 in my case) shift click isn't very handy.

What's the use?
Well it will at least boost population for a little while, it can be a help.
Mainly i wrote this script after i wrote "MS-DOS_Fix" which makes some sense for me, this is rather to see as an addition to the addition ;) It gives you the same power as "EDITCITY" will even i that probably makes only little sense.
(the "MS-DOS-Fix" you can use i.e. also on a single church in your city to chhange it to a hospital as long as you have no hospitals in your city, might be you dislike churches as much as me... one could strip down "MS-DOS_Fix" to only change churches to hospitals, it's no big deal just comment the proper section out)

Code: Select all

.KEY PATH,SFX
.BRA {
.KET }
.DEF SFX "D:SOUND DH1:Games/SimCity/SFX/classic/"
.
{SFX}08honk D Q
.
IF "{PATH}" EQ ""
  ECHO "*E[1mSHIFT CLICK ON A CITY ICON!"
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
D:SPLIT >NIL: "{PATH}.info" T:EX{$$}A 48 1
TYPE >T:EX{$$}B T:EX{$$}A HEX
D:SPLIT >NIL: T:EX{$$}B ENV:EX{$$} 7 1
IF NOT $EX{$$} EQ 4
  ECHO "NOT A PROJECT ICON!"
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
D:SPLIT >NIL: "{PATH}" ENV:EX{$$} 65 8 
IF NOT $EX{$$} EQ CITYMCRP
  ECHO "NOT A SIMCITY CITY FILE!"
  SKIP #EXIT#
ENDIF
.
COPY >NIL: "{PATH}" RAM:EX{$$}A
.
ECHO  >T:EX{$$}JM "TITLE Exchange Church & Hospital *NMENU Church to Empty Residential *NEXEC SETENV EX{$$} C2ER *NMENU Church to Hi-Density Residential "
ECHO >>T:EX{$$}JM "EXEC SETENV EX{$$} C2HR *NMENU Church to Hi-Density Commercial *NEXEC SETENV EX{$$} C2HC *NMENU Hospital to Empty Residential*N*NEXEC SETENV EX{$$} H2ER "
ECHO >>T:EX{$$}JM "MENU Hospital to Hi-Density Residential *NEXEC SETENV EX{$$} H2HR *NMENU Hospital to Hi-Density Commercial *NEXEC SETENV EX{$$} H2HC"
ECHO >>T:EX{$$}JM "MENU I slipped *NEXEC SETENV EX{$$} CANCEL"
D:JMENU >NIL: T:EX{$$}JM
{SFX}01bleep Q D
IF $EX{$$} EQ C2ER
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E195E198E19B $E0F0E0F3E0F6
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E196F599E19C $E0F1F4F4E0F7
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E197E19AE19D $E0F2E0F5E0F8
ENDIF                                 
IF $EX{$$} EQ C2HR                    
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E195E198E19B $E18CE18FE192
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E196F599E19C $E18DF590E193
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E197E19AE19D $E18EE191E194
ENDIF                                 
IF $EX{$$} EQ C2HC                    
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E195E198E19B $E25BE25EE261
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E196F599E19C $E25CF65FE262
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E197E19AE19D $E25DE260E263
ENDIF
IF $EX{$$} EQ H2ER
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E19EE1A1E1A4 $E0F0E0F3E0F6
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E19FF5A2E1A5 $E0F1F4F4E0F7
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E1A0E1A3E1A6 $E0F2E0F5E0F8
ENDIF                                 
IF $EX{$$} EQ H2HR                    
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E19EE1A1E1A4 $E18CE18FE192
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E19FF5A2E1A5 $E18DF590E193
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E1A0E1A3E1A6 $E18EE191E194
ENDIF                                 
IF $EX{$$} EQ H2HC                    
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E19EE1A1E1A4 $E25BE25EE261
  D:REPSTRING RAM:EX{$$}B RAM:EX{$$}A $E19FF5A2E1A5 $E25CF65FE262
  D:REPSTRING RAM:EX{$$}A RAM:EX{$$}B $E1A0E1A3E1A6 $E25DE260E263
ENDIF
IF $EX{$$} EQ CANCEL
  {SFX}06monster Q D
  SKIP #EXIT#
ENDIF
.
COPY >NIL: RAM:EX{$$}B "{PATH}"
{SFX}04explosion D Q
LAB #EXIT#
DELETE >NIL: T:EX{$$}#? ENV:EX{$$} RAM:EX{$$}#?

If you select any other as a SimCity city file the script will exit
If you select anything else as a project icon the script will also exit
If you select nothing the script will exit as well

Software:
SPLIT(Q)
REPSTRING

SFX:
SimCity Classic

User avatar
Gernot66

Posted Tue Nov 08, 2022 6:19 pm

ClearChannel

ClearChannel performs a very simple task it clears all channel data to river, this makes sense if you generated a terrain and like to add an own path for the ship, or if you used the MS-DOS program "TERAFORM" and forgot to raise the channel level (all or almost all water will be channel then). Fortunately "river" 0x0002 and "channel" 0x0004 are quite unique.
Except for tax rate which can be 0x0004 but is usually 0x0007 at start and the default external market size which is unfortunately 0x0004 for Amiga SimCity and the TerrainEditor, one might like to change this value in advance to avoid that it will be changed to 0x0002, a script which will do this little job for you will follow, i don't need this since i changed all my empty terrains to "7" for the "external market size" using a hex-editor.

This script is "unedited" means it isn't safe and doesn't checks if the selected file is really a SimCity city file (ach was? - du Hirni!),
further the filerequester acts sometimes weird and can hang (experiences are appreciated).
It will work by shift click as the previous two scripts and if run without argument it will open a filerequester.
Recently the script comes in two parts because i felt the problems i have with the filerequester came from IconX (which isn't the case, or not only).

If used only with shift click it won't fail.

The scripts makes use of my sub-script "reqfile" (i will add this here to)

Invoke ClearChannel:

Code: Select all

.KEY PATH
.
ECHO >T:CCH{$$} "CLS*NEXECUTE CLEARCHANNEL.S *"<PATH>*"*NWAIT 3*NENDCLI >NIL:"
NEWSHELL FROM T:CCH{$$} WINDOW CND:0/10/480/192/ClearChannel/dms
ClearChannel:

Code: Select all

.KEY PATH,SFX
.BRA {
.KET }
.DEF SFX "D:SOUND DH1:Games/SimCity/SFX/classic/"
.
{SFX}08honk Q D
IF "{PATH}" EQ ""
  EXECUTE S:REQFILE "Select city file" DH1:Games/SimCity/ OUT T:CC{$$}CITY
  IF $SRC GE 5
    SKIP #EXIT#
  ENDIF
ELSE
  ECHO >T:CC{$$}A "{PATH}/"
  SEARCH >NIL: T:CC{$$}A :/
  IF NOT WARN
    D:REPSTRING T:CC{$$}A T:CC{$$}CITY /
  ELSE
    COPY >NIL: T:CC{$$}A T:CC{$$}CITY
  ENDIF
ENDIF
.
ECHO >T:CC{$$}A "D:SPLIT >NIL: " NOLINE
D:FILTER >>T:CC{$$}A T:CC{$$}CITY
ECHO >>T:CC{$$}A " ENV:CC{$$} 65 8"
EXECUTE T:CC{$$}A
IF NOT $CC{$$} EQ CITYMCRP
  RUN >NIL: EXECUTE ENV:SYS/SFX.BOGUS NORUN
  ECHO "Not a SimCity city file!"
  SKIP #EXIT#
ENDIF
.
ECHO >T:CC{$$}A "D:REPSTRING *"" NOLINE
D:FILTER >>T:CC{$$}A T:CC{$$}CITY
ECHO >>T:CC{$$}A "*" RAM:CC{$$}CITY $0004 $0002*NCOPY >NIL: RAM:CC{$$}CITY TO *"" NOLINE
D:FILTER >>T:CC{$$}A T:CC{$$}CITY
ECHO >>T:CC{$$}A "*""
EXECUTE T:CC{$$}A
.
{SFX}04explosion Q D
LAB #EXIT#
DELETE >NIL: T:CC{$$}#? RAM:CC{$$}CITY

SOFTWARE:
SPLIT(Q)
REPSTRING
BATCHREQUESTER (reqfile script)

SFX:
SimCity Classic

This script needs a revision, i will add more checks (check if project icon when use shift click) and most of all i will split the source file to its raw city data to avoid that any other data in the file can be changed.

User avatar
Gernot66

Posted Tue Nov 08, 2022 6:30 pm

ReqFile

Just that you have this script as well

Code: Select all

.KEY TITLE,DIR,OUT/K,Q/S,H/S,CLI/K,PAUSE,SETSRC
.BRA {
.KET }
.DEF TITLE "Select File"
.DEF DIR RAM:
.DEF OUT ENV:REQ{CLI}FILE
.DEF PAUSE "FAILAT 11*NWAIT >NIL: 60*NFAILAT 10"
.DEF SETSRC "ECHO >ENV:SRC NOLINE "
.
. --------------------------------------------------------------------------
. $V.REQFILE20221003
. Batchrequester helper, loops if selection empty, returns RC 5 if cancel
. --------------------------------------------------------------------------
.
IF {H} EQ H
  EXECUTE ENV:SYS/SFX.WARN
  ECHO  >T:BR{$$} "*"REQFILE [TITLE] [DIR] [OUT]/K, [CLI]/K [Q]/S [H]/S\\TITLE: requester title (def. Select file)\DIR  : start directory (def. RAM:)\" NOLINE
  ECHO >>T:BR{$$} "OUT  : variable path/name (def. ENV:REQ[CLI]FILE)\CLI  : invoking process nr. (break if script is run)\Q    : no sound\H    : this help*" *" OK *" -P3"
  D:QUICKREQ T:BR{$$}
  EXECUTE ENV:SYS/SFX.OUT NORUN
  DELETE >NIL: T:BR{$$}
  WAIT
  {SETSRC} 0
  QUIT
ENDIF
.
LAB #RFSTART#
.
{SETSRC} 20
.
IF "{Q}" EQ ""
  D:RUNBACK >NULL: C:EXECUTE ENV:SYS/SFX.DOPEN NORUN
ENDIF
.
DELETE >NIL: ENV:BR#?
.
D:BATCHREQ >NIL: ENV:BR{$$} "{TITLE}" "{DIR}"
.
{SETSRC} 10
.
IF "$BR{$$}" EQ "{DIR}"
  IF "{Q}" EQ ""
    RUN >NIL: EXECUTE ENV:SYS/SFX.NO CLI {$$}
    {PAUSE}
  ENDIF
  SKIP #RFSTART# BACK
ENDIF
.
IF "$BR{$$}" EQ ""
  IF "{Q}" EQ ""
    EXECUTE ENV:SYS/SFX.BOGUS NORUN
  ENDIF
  ECHO >"{OUT}" ""
  {SETSRC} 5
  SKIP #EXIT#
ENDIF
.
IF "{Q}" EQ ""
  RUN >NIL: EXECUTE ENV:SYS/SFX.DCLOSE CLI {$$}
  {PAUSE}
ENDIF
.
D:FILTER >"{OUT}" ENV:BR{$$}
.
DELETE >NIL: ENV:BR{$$}
.
{SETSRC}
.
LAB #EXIT#
.
IF NOT "{CLI}" EQ ""
  BREAK >NIL: {CLI} C
ENDIF

SFX and things i will bundle and attach to this thread, and a version of this script which doesn't makes use of my ENV:SYS/...SFX
However if you have the patience it isn't hard to change it also you can use the BATCHEQUESTER directly in the main script it doesn't needs that much code the most here is needed to return to the requester if you made an empty selection and to exit the requester when you selected "cancel" since this dude forgot to return an error level.
If you can forgo "empty selection" and "cancel" you can use "BATCHREQUESTER" in following manner:
BATCHREQUESTER "variable name" "Title" "directory/file" ("no file" leaves field file empty, "no directory" defaults to RAM:) that's it. If you make an empty selection it will return the default values you entered, if you select cancel the variable will be empty.

User avatar
Gernot66

Posted Tue Nov 08, 2022 7:27 pm

Whatfor all this?

Well for this....
https://photos.app.goo.gl/tjwkLhrqbMLwt3p1A
(pardon some images are in the wrong colors, dunno why they appear proper in my windoze and all files are made in the same manner)

Something like this (8 of 256):
Tepeeuqu.png
Shioalub.png
Pippodga.png
Mioaorgi.png
Domouxia.png
Chiboice.png
Chajalbo.png
Achramio.png
The terrains you see here are generated using "TERAFORM" which is a MS-DOS Program to generate fractal terrains for SimCity. Teraform outputs a wide range of different terrains (there are similarities possible check the google pic album, some are almost doeble not exactly but almost even when i made them in different sessions). Most terrains i use "normal" and "inverted" (to invert a terrain is possible while it's generated using TERAFORM).

You might wonder about the weird exactly 8 characters long city names, they are generated from a syllable list sometimes well sometimes less.

might be one likes to have the (hand selected ;) ) 256 Terrains:
(slightly to large to attach)

Amiga SimCity:
https://1drv.ms/u/s!AhX1Ed1178sOkCnDLXZ ... K?e=ClpvTt

MS-DOS SimCity:
https://1drv.ms/u/s!AhX1Ed1178sOkCpP5A4 ... q?e=S1lVRG

TERAFORM
(i'm aware it's a doze proggy but there is no similar else, also it is shareware but i don't guess that he still expects after 30 years the $10 for the program if that dude is still alive at all or at least to reach at his old address).
TERAFORM.zip
(62.09 KiB)
However you won't need that you can use the 256 terrains which all have a channel for the ship because TERAFORM won't generate a channel it rather differs between shallow and deep water, deep water will be channel and this will result in that the ship maneuvers over the whole river/sea, it's not very senseful.
(either set all channel in TERAFORM to river or if you forgot this you can still use the "ClearChannel" script - exactly for this occasion i wrote it)
Further Channels are rather a decorative thing, at least they have no influence on how well your seaport functions, it won't matter if a channel is close to a seaport. What makes the differences is rather random, you can see that when you place a seaport that the pollution varies i simply assume highest pollution equals to highest traffic and this is totally unrelated to the presence of a channel. The only thing a channel really affects is road traffic because it forces lift-bridges.
And yes occasional ship wrecking.

Why not spice up SimCity with some music?
SC-Classic loop (8SVX stereo 12kHz 8bit, source Fatboy, Munt):
https://1drv.ms/u/s!AhX1Ed1178sOkCuwE14 ... l?e=nFv3bU

SC-Win16 loop (8SVX stereo 12kHz 8bit, source Fatboy, Munt):
https://1drv.ms/u/s!AhX1Ed1178sOkCxiA0N ... 4?e=XviZez

take a soundplayer (e.g. SOUND) and loop infinite...

User avatar
Gernot66

Posted Tue Nov 08, 2022 7:41 pm

You might like the extracted SFX (extracted from classic graphics set)?: (sure yes, a signed raw)

To extract the SFX wasn't that easy and nonetheless it was easy.
The tools i have to extract such data didn't recognized the stream (probably since it is headerless raw one after the other) but i simply feeded the whole "classic graphics set" to "Audacity" as a signed raw, sure most is junk since that is graphic data, but a little bit is sound and this will be displayed by "Audacity" proper as a sound stream.
One can do this with any graphics set of SimCity.





Return to “Software”