1 2 ** Welcome to lincity ** 3 4 5This is the README for lincity 1.13 (development version) 6 7 8WHAT IS LINCITY 9=============== 10 11Lincity is a city/country simulation game for Linux (SVGALIB and X), 12Solaris, FreeBSD, HPUX, AIX, SCO, IRIX, Compaq Tru64, BeOS, OS/2, VMS, 13OS X, AtheOS, and Win32 (Win95, Win98, ME, NT, 2000, XP). 14 15You are required to build and maintain a city. You must feed, house, 16provide jobs and goods for your residents. You can build a sustainable 17economy with the help of renewable energy and recycling, or you can go for 18broke and build rockets to escape from a pollution ridden and resource 19starved planet, it's up to you. Due to the finite resources available in any 20one place, this is not a game that you can leave for long periods of time. 21 22Lincity recently moved to sourceforge.net. This brings new CVS 23access, mailing lists, and web pages. If you are subscribed to 24lincity-users@floot.demon.co.uk, please also subscribe to the new 25list, shown below, and make all of your posts there. Please also note 26the new home page, which is not yet complete. Anyone with an eye for 27design and a desire to help is welcome to make suggestions or design a 28page to replace this one. 29 30The lincity home page is now located at: 31 32 http://lincity.sourceforge.net 33 34The official users mailing list (mailman) can be subscribed to by visiting: 35 36 http://lists.sourceforge.net/lists/listinfo/lincity-users 37 38CVS commit notification can be had at: 39 40 http://lists.sourceforge.net/lists/listinfo/lincity-commits 41 42Additionally, our sourceforge page is: 43 44 http://sourceforge.net/projects/lincity/ 45 46 47REQUIREMENTS 48============ 49 50 * SVGALIB 1.3.0 (or greater). 51 52 OR X11. 53 54 OR A Win32 OS. 55 56 * The libpng and libz libraries. 57 58 I have tested with libpng versions 1.0.12 and 1.2.5. These 59 libraries are included in the windows version. 60 61 * A graphics card supported by your above choice. 62 63 * You probably need at least a 486DX2-66. (Even better for the X version 64 I suspect.) 65 66 * You probably need at least 8 MB memory (16 MB for X or win32). 67 68 * Other things? Send us an email. 69 70 71INSTALLATION (UNIX) 72=================== 73 74To install lincity, (as root) untar the file lincity-1.12.0.gz 75 76 tar -xzvf lincity-1.12.0.tar.gz 77 78You now want to compile the source 79 80 cd lincity-1.12.0 81 ./configure 82 make 83 84Lincity will run out of the source directory. But if you want to install 85you can do this: 86 87 make install 88 89The old method choosing the install directory by setting LC_BINDIR and 90LC_LIBDIR in the makefile no longer applies. To install to a different 91directory, you must use the --prefix flag when you configure the package. 92For example: 93 94 ./configure --prefix=/usr/mylocal 95 96If you are installing a version downloaded from the cvs server, the 97timestamps may be incorrect, which will cause the "make" to fail. In this 98case, you need to run a script to fix the timestamps: 99 100 ./fix-timestamps.sh 101 ./configure 102 make 103 make install 104 105 106INSTALLATION (WIN32) 107==================== 108 109Simply unpack the archive, and double click on the LINCITY.EXE icon. 110You can get your free copy of UNZIP from the INFO-ZIP web page at 111 112 http://www.info-zip.org 113 114 115UNINSTALLING (UNIX) 116==================== 117 118If you still have the configured source directory, you can do this: 119 120 make uninstall 121 122Otherwise, do this (assuming you installed to /usr/local) 123 124 rm /usr/local/bin/lincity 125 rm /usr/local/bin/xlincity 126 rm /usr/local/man/man6/lincity.6 127 rm -rf /usr/local/share/lincity 128 129In addition, if you ran lincity, you should delete these: 130 131 rm -rf $HOME/.lincity 132 rm $HOME/.lincityrc 133 134If you have an older version, before 1.12pre54, you should delete this: 135 136 rm -rf $HOME/.Lin-city 137 138 139UNINSTALLING (WIN32) 140==================== 141 142Like all good DOS programs, lincity runs within a single directory. 143No files are copied to your "windows directory." The windows registry 144is not used. 145 146Simply delete the lincity directory to uninstall. 147 148 149RUNNING LINCITY (UNIX) 150====================== 151 152Usually you will invoke the game with 'lincity' or 'xlincity'. 153Typing 'lincity' will run the SVGA version, while typing 'xlincity' will 154run the X Windows version. The SVGA version will not run under X. 155 156 lincity [opts] 157 xlincity [opts] 158 159The following options apply to both. 160 161 -w Do some *crude* gamma correction to boost the red and blue. 162 This makes some 'washed out' displays a bit more colourful. 163 You have control of the individual values, see below. 164 165 -R <num> 166 -G <num> 167 -B <num> 168 These options allow you to boost the individual colours. 169 <num> is a number between 0.0 and 1.0 170 The default values for -w are 1.0 0.0 0.4 (ATTOW) 171 172This option only applies to lincity. 173 174 -m <num> 175 Set the VGA mode. See below for choices of mode. 176 177This option only applies to xlincity. 178 179 -r Add an extra border around the game. 180 -d Double the size of the window to 1280x960 181 182 -b *obsolete* omit border around game. Now on by default. 183 184 185RUNNING LINCITY (WIN32) 186====================== 187 188Double click the LINCITY.EXE icon. The WIN32 version does not accept 189command line arguments. 190 191 192UPGRADING FROM VERSION 1.11 193=========================== 194 195Lincity 1.12 is forward compatible with lincity 1.11, in the sense 196that 1.12 can read files generated in 1.11. However, please note 197that you may need to copy over the save files. Save files can 198be found in the following directories. UNIX users note the change! 199 200 Lincity 1.11 Lincity 1.12 201 ---------------- ---------------- 202UNIX $HOME/.Lin-city $HOME/.lincity 203WINDOWS %LINCITY_HOME%\SAVED_GAMES %LINCITY_HOME%\SAVED_GAMES 204 205 206THE LINCITY HOME DIRECTORY 207========================== 208 209If you get a message such as "Error. Can't find LINCITY_HOME", this 210means that lincity can't find its home directory. To find its 211home directory, lincity searches for the file "colour.pal" in 212the following three directories (in order): 213 214 The directory pointed to by the $LINCITY_HOME environment variable 215 The current working directory 216 The default directory 217 218 219LINCITY CONFIGURATION FILE 220========================== 221 222Lincity now has a configuration file for saving defaults. You can 223find it in the following location: 224 225UNIX: $HOME/.lincityrc 226WINDOWS: %LINCITY_HOME%\lincity.ini 227 228To reset to the "factory default" configuration, simply delete the 229file. Lincity will regenerate the file if it is missing. 230 231 232LINCITY ARTWORK 233=============== 234 235Starting with version 1.13, you can (more easily) customize the lincity 236buildings and animations. To modify the artwork simply edit the 237icon image file, located at opening/icons.png, with your favorite 238image editor. 239 240The icons.png file has a 256-color indexed format. The palette contained 241within icons.png, however, is ignored by lincity. Instead, lincity 242uses the file "Colour.pal" to determine the palette. 243 244 245NOTES FOR SVGALIB VERSION 246========================= 247 248It is now possible to run at higher resolution. You can use the command 249line to set the mode: 250 251 lincity ## default mode 252 lincity -m 10 ## mode 10, 640x480 253 lincity -m 11 ## mode 11, 800x600 254 lincity -m 12 ## mode 12, 1024x768 255 lincity -m 13 ## mode 13, 1280x1024 256 257If not specified, lincity uses the default mode. The default mode 258can be set according to the SVGALIB_DEFAULT_MODE environment variable. 259See "man svgalib" for details on the svgalib default graphics mode. 260If no default graphics mode has been specified, lincity will use 261mode 10 (640x480, 256 colors). 262 263As of version 1.12, lincity now uses the mouse settings in your 264svga configuration file (i.e. /etc/vga/vga.config). Please use 265this method to specify which make/model of mouse you are using, 266and other mouse parameters. 267 268 269NOTES FOR X VERSION 270=================== 271 272When playing in 256 colour (8bbp) display modes, when you go over the edge 273of your window, the window manager changes the colour palette back to the 274'normal' one, then back to the game's one when the mouse reenters the 275window. This is what is supposed to happen, but can be a bit annoying when 276trying to click on areas close to the edge and overshooting. For this 277reason, I have added an extra border around the game to give players a bit 278of 'breathing space'. 279 280You can disable this feature by starting the game with a '-b' switch. ie. 281 282 xlincity -b 283 284There is now a button that enables you to confine the mouse pointer within 285the X window. ( xlincity -b, then confining the pointer and changing the 286screen resolution to 640x480 gives you a 'full screen' game. :) ) 287 288 289NOTES FOR WIN32 VERSION 290======================= 291 292Lincity for Win32 automatically chooses whether or not to add a border 293and/or perform pix doubling, depending on your resolution. Furthermore, 294it will automatically maximize the window or even go into full screen 295mode. Here is what you should see for some of the more popular 296resolutions: 297 298 Resolution Window Style Border Pix Doubling 299 ------------ ------------ ------------ ------------ 300 640 x 480 Full screen None No 301 800 x 600 Window Yes No 302 1024 x 768 Window Yes No 303 1152 x 864 Window Yes No 304 1280 x 1024 Window None Yes 305 306If you are running 1280x1024, you may need to autohide the taskbar 307in order to see pix doubling. 308 309Lincity no longer uses a real windows font to draw text. Although this 310gives a considerable speed improvement (about 20%), it sometimes 311doesn't work correctly, for a reason that I haven't yet identified. 312 313Save files are gzip compatible with the UNIX version of lincity. That is, 314you will need to gzip/gunzip the save files when you transfer them to/from 315your UNIX box. 316 317The source code is distributed together with the binary distribution, 318in the file source.tgz. 319 320 321NOTES FOR CYGWIN 322================ 323 324Cygwin is fully supported. However, at the time of writing, 325performance is very slow when X Windows is started in multiwindow 326mode (which is the default setting). To fix this, you can 327edit startxwin.bat to choose a different setting. 328 329http://sources.redhat.com/ml/cygwin-xfree/2003-09/msg00485.html 330 331 332INTERNATIONALIZATION UNDER LINUX 333================================ 334 335Lincity supports a modest amount of internationalization. Only languages 336that can be represented using a iso8859-1 font are currently supported. 337I have created a lincity-compatible iso8859-2 font also, but have not used 338it yet because of no demand (send me an email if you would like to try). 339 340If you wish to make a translation for your language, you will need to 341download and install gettext 0.11.2 or higher. 342 343The first task is to get the sample Italian translation to display 344correctly. Download a fresh lincity (1.12pre53 or higher) from 345sourceforge. Do a configure, make, and make install. 346 347Next, download the Italian package. Install as described in README.it. 348Run as follows: 349 350 export LANG=it_IT ## (on bash and similar) 351 setenv LANG it_IT ## (on csh and similar) 352 xlincity -D 353 354Hopefully you will see something like this: 355 356 Setting entire locale to it_IT 357 Setting messages locale to it_IT 358 Query locale is it_IT 359 GUESS 1 -- intl_suffix is it_IT 360 Trying Message Path /home/gsharp/lincity/share/lincity/messages/it_IT/ 361 Trying Help Path /home/gsharp/lincity/share/lincity/help/it_IT/ 362 GUESS 2 -- intl_suffix is it 363 Trying Message Path /home/gsharp/lincity/share/lincity/messages/it/ 364 Set Message Path /home/gsharp/lincity/share/lincity/messages/it/ 365 Trying Help Path /home/gsharp/lincity/share/lincity/help/it/ 366 Set Help Path /home/gsharp/lincity/share/lincity/help/it/ 367 Bound textdomain directory is /home/gsharp/lincity/share/locale 368 Textdomain is lincity 369 DefaultVisual id=35 bp-rgb=8 map-entries=256 370 371 372If you see this, then everything worked perfectly. You should see perfect 373Italian. In particular, note the following: 374 375 (1) The opening screen (help page) is in Italian 376 (2) The month January will be written "Gen" instead of "Jan" 377 (3) Click on something that hasn't been invented yet, like a 378 power station or windmill. The message for "Not enough tech" 379 will be in Italian. 380 381It is possible that you see English for (1) and (3). If so, you 382are probably running from the directory you built from. Please cd 383out of that directory, and try again. 384 385If you are less lucky, maybe only (1) and (3) worked correctly and 386but not (2). If so, you probably saw something like this: 387 388 Setting entire locale to (null) 389 Setting messages locale to (null) 390 Query locale is C 391 GUESS 1 -- intl_suffix is it_IT 392 Trying Message Path /usr/local/lincity/messages/it_IT/ 393 Trying Help Path /usr/local/lincity/help/it_IT/ 394 GUESS 2 -- intl_suffix is it 395 Trying Message Path /usr/local/lincity/messages/it/ 396 Set Message Path /usr/local/lincity/messages/it/ 397 Trying Help Path /usr/local/lincity/help/it/ 398 Settling for help Path /usr/local/lincity/help/ 399 Bound textdomain directory is /lincity/share/locale 400 Textdomain is lincity 401 DefaultVisual id=35 bp-rgb=8 map-entries=256 402 403If this happens, it means that your system is missing some files which 404are require to "set the locale" of your system to "it_IT". Probably 405you are running Linux -- I don't think other Unix's have this peculiar 406requirement. 407 408To check if this is the problem (on Linux), look for the directory 409/usr/lib/locale/it_IT. If this directory doesn't exist, you have this 410problem. To fix it, do the following: 411 412 1) Make a backup of the directory /usr/share/i18n/charmaps 413 2) Make a backup of the directory /usr/share/i18n/locale 414 3) cd /usr/share/i18n/charmaps 415 4) gunzip UTF-8.gz 416 5) gunzip ISO-8859-1.gz 417 6) cd /usr/share/i18n/locale 418 7) localedef -f ../charmaps/UTF-8 -i it_IT it_IT.UTF-8 419 8) localedef -f ../charmaps/ISO-8859-1 -i it_IT it_IT 420 421Now check for the directory /usr/lib/locale/it_IT. It will be there. 422 423OK, now you are ready to make translations for a new language. 424There are three parts to making a translation: 425 making help files 426 making message files 427 making a .po file. 428 429The messages and help files are just a matter of editing the ASCII 430files, and installing them. If your language is "it", you should 431create two directories such as /usr/local/share/lincity/messages/it 432and /usr/local/share/lincity/help/it. Copy the English language 433help and message files to these directories, and translate them. 434 435The .po file is a matter of translating these and getting them to compile 436correctly. First, edit the file po/LINGUAS, and add your language 437(e.g. "it") to the list. Next, create the .po file. For the language 438"it", the command looks like this like this: 439 440 cd po 441 msginit -l it 442 443You should now see the file "it.po". Edit this file. Specifically, 444you should edit what comes after "msgstr". Don't erase any of the 445other stuff such as "msgid" or "#: cliglobs.c:54" or that stuff. 446If you are using emacs, there is a "po-mode" to facilitate 447(or obstruct) this task. 448 449When you are done editing this file, you need to compile this file. 450Simply type "make" in the po directory to compile. This will 451create the file "it.gmo". Finally, you will need to install this file. 452To install, you will copy this file to the following location: 453 454 cp it.gmo /usr/local/share/locale/it/LC_MESSAGES/lincity.mo 455 456Now, you are ready to go. Set the LANG environment variable and 457lincity should run using your translations. 458 459Email to gregsharp@geocities.com for comments about this process. 460 461 462INTERNATIONALIZATION UNDER WINDOWS 463================================== 464 465The situation under windows is similar. Download lincity 466binary package, version 1.12pre53 or newer, and also download 467the Italian translation pack. 468 469Install the Italian translation pack directly into the lincity 470directory. Then run the batch file: 471 472 c:\lincity> lincity-it 473 474Now, you should see: 475 476 (1) The opening screen (help page) is in Italian 477 (2) The month January will be written "Gen" instead of "Jan" 478 (3) Click on something that hasn't been invented yet, like a 479 power station or windmill. The message for "Not enough tech" 480 will be in Italian. 481 482If the above procedure doesn't work "out of the box", email 483to gregsharp@geocities.com. 484 485OK, now you are ready to make translations for a new language. 486There are three parts to making a translation: 487 making help files 488 making message files 489 making a .po file. 490 491The messages and help files are just a matter of editing the ASCII 492files, and installing them. If your language is "it", you should 493create two directories such as /usr/local/share/lincity/messages/it 494and /usr/local/share/lincity/help/it. Copy the English language 495help and message files to these directories, and translate them. 496 497The .po file is a matter of translating these and getting them to compile 498correctly. First, make copy the file lincity.pot to your language 499(e.g. "it.po" for Italian). If you do not have a lincity.pot file, 500email gregsharp@geocities.com to get the latest one (or get it 501directly from the CVS server on sourceforge). 502 503You should now see the file "it.po". Edit this file. Specifically, 504you should edit what comes after "msgstr". Don't erase any of the 505other stuff such as "msgid" or "#: cliglobs.c:54" or that stuff. 506If you are using emacs, there is a "po-mode" to facilitate 507(or obstruct) this task. 508 509When you are done editing this file, you need to compile this file. 510Use the executable "msgfmt.exe" which is distributed with lincity 511for this purpose: 512 513 c:\lincity> msgfmt it.po -o it.gmo 514 515This should create the file it.gmo. You need to copy it to a 516prespecified location, like this: 517 518 c:\lincity> copy it.gmo locale\it\LC_MESSAGES\lincity.mo 519 520Create the appropriate subdirectories as necessary. 521 522Now, you are ready to go. Set the LANG environment variable 523and lincity should run using your translations. 524 525 526INSTALLING PICEDIT 527================== 528 529Picedit is deprecated. It may or may not compile. It will be removed 530after the transition to png graphics is complete. 531 532picedit is a simple drawing program that was used to draw all the icons 533found within the game. You are free to play with this, and even send me 534new icons that you have designed - although I cannot guarantee that any 535icons sent to me will be included in later versions. If you intend to design 536some that you feel should be included, please e-mail me first, this may save 537a lot of wasted effort. The following commands 538 539 ./configure 540 make picedit (or make xpicedit) 541 make install 542 543will compile and install picedit (or xpicedit). Most likely, you will 544prefer to install picedit and lincity at the same time to avoid copying 545all of the help and message files multiple times, like this: 546 547 ./configure 548 make lincity 549 make picedit 550 make install 551 552By the way, xpicedit does not work on hi-color or full-color displays. 553 554 555COMPILATION UNDER WIN32 556======================= 557 558I use both MS VC++ 4.0 and MS VC++ 6.0 on Win95 and Win98. I no longer 559include the MSVC workspace files or makefiles, since these do not 560seem to be particularly useful. If you would like them, I'd be glad 561to send them to you. 562 563You may need to generate your own Makefile. The file Makefile.am 564contains the information about which files you need to compile. 565As of version 1.12, you no longer need to link with your vendor 566supplied versions VERSION.LIB or WSOCK32.LIB. 567 568Lincity 1.11 was patched to compile with the Borland compiler 569too. If this is not still working in 1.12, please send me a patch 570and I'll be happy to add it to the archive. 571 572 573RUNNING LINCITY (CLIENT/SERVER) 574=============================== 575 576Client/server version is disabled for this version. In fact, the code 577was completely removed as of version 1.12pre50, so the last version to 578contain the (non-functioning) network code was 1.12pre49. 579 580If you are interested in working on a client/server version, please send 581your email to the current maintainer or to the lincity mailing list. 582We are still interested in doing this! 583 584 585BUGS 586==== 587 588Many. See the file TODO. 589 590If you wish to report a bug, you can send to directly to the current 591maintainer or to the lincity mailing list. 592 593 594HISTORY 595======= 596 597Ian Peters started writing lincity in June 1995 as an exercise in 598mouse control in SVGALIB. It quickly became a usable, then even fun, 599game to play. Over the next 18+ months it evolved into a challenging 600and stable game which, in a number of people's opinion, is worth uploading 601to the net. 602 603In late 1997, lincity developers made grand plans for lincity version 2, 604an intergalactic space simulation with all the trimmings. But from 6051998-1999, lincity underwent a period of hibernation, with only minor 606patches being applied. 607 608Development was restarted in late 1999 by Greg Sharp to provide 609some moderate improvements, including networking support, GUI 610improvements and additional gameplay developments. Networking 611support was subsequently dropped in 2001. 612 613In mid-2001, Greg was joined by Corey Keasling, who helped to bring 614the game to sourceforge.net. In late 2001, Corey became 615co-maintainer. Version 1.12 was released in December 2003. 616 617 618COPYRIGHT 619========= 620Lincity is copyrighted software. 621Copyright (c) I J Peters 1995-1997. 622Copyright (c) Greg Sharp 1997-2003. 623Copyright (c) Corey Keasling 2000-2003. 624 625You may freely copy, distribute and modify lincity under the terms of the 626 627 GNU GENERAL PUBLIC LICENSE 628 629Please read the file COPYING for the GPL. 630 631THANK YOU 632========= 633This game could not have been possible without the patches, scripts, 634bug reports, suggestions, and other contributions from hundreds of 635developers and users around the world. Please read the file 636'Acknowledgements' for details. 637 638And a special thanks to *you* for playing and enjoying lincity! 639