Commit graph

212 commits

Author SHA1 Message Date
jason@long.name
22c0edc7c1 tiles.rc syntax: allow inheriting of another tile's images/attributes
To inherit, just put the name of tile you want to inherit from in parenthesis
at the beginning of the specification.
E.g.

road-1-1     (road) roads/1-1 (road-north)(road-south)

will define a tile named "road-1-1", which first starts with all the images
and properties of tile "road" and then layers on top of that the 'road/1-1'
image, and then sets the 'road-north' and 'road-south' flags.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@754 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:47 +00:00
jason@long.name
103999e578 drawing-area: allow zooming in to 32px tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@753 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:44 +00:00
jason@long.name
d452c45d21 drawing-area: hold in-memory tile images in an object, rather than static variables
This will allow changing tile sizes on a per-window basis.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@752 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:40 +00:00
jason@long.name
8a9af13de9 MakeTiles: allow making generated images of an SVG image in a subdirectory
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@751 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:37 +00:00
jason@long.name
b5e86ff388 MakeTiles: when converting an SVG file, specify DPI rather than expected width/height
This way we can handle multi-tile SVG source files (e.g. for the larger zones) correctly.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@750 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:35 +00:00
jason@long.name
ef575b4125 MakeTiles: fix bug in SVG->PNG logic
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@749 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:32 +00:00
jason@long.name
f5b0089abc MakeTiles: when generating intermediate images, use a staging directory
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@748 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:28 +00:00
jason@long.name
e3dcff2804 MakeTiles: impl support for SVG files
SVG files are converted to PNG files at the appropriate resolution
by calling out to Inkscape.exe (must be installed somewhere)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@747 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:25 +00:00
jason@long.name
68717e3ea6 tiles.rc: move CONDBIT knowledge from source code to tiles.rc
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@746 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:50 +00:00
jason@long.name
b65e83ec79 tiles.rc: annotate conductive tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@745 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:47 +00:00
jason@long.name
92ba9642f2 TileSpec: fix bug with parsing of 'noburn'
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@744 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:44 +00:00
jason@long.name
c2cfeb540c tiles.rc: move BURNBIT knowledge from source code to tiles.rc
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@743 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:40 +00:00
jason@long.name
cc4ba189ce tiles.rc: annotate tiles with "noburn" if they are not combustible
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@742 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:37 +00:00
jason@long.name
0a65ac514c TileConstants: replace BLBN, BLBNCN, BNCN constants with definitions
This will make it easier to find and replace uses of BULLBIT, BURNBIT, and
CONDBIT.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@741 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:34 +00:00
jason@long.name
91b3736886 tiles: transfer ZONEBIT knowledge to tiles.rc
and synthesize ZONEBIT when saving (for compatibility)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@740 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:10:29 +00:00
jason@long.name
9bf2e91783 tile animation: synthesize ANIMBIT when saving (for compatibility)
Also, add some safety checks in case Tiles.get() is called with an out-of-range tile number.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@739 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-18 13:31:50 +00:00
jason@long.name
568377ccc8 tile animation: another cleanup item - unpowered zone should not animate
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@738 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 21:05:32 +00:00
jason@long.name
000036c303 tile animation: cleanup, remove obsolete ANIMBIT constant
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@737 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:59:06 +00:00
jason@long.name
a4f8846ca7 tiles.rc: make source size specifications optional, since it's always 16x16
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@736 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:30:42 +00:00
jason@long.name
c334cfd9f0 MakeTiles: allow tiles recipe to be more size-agnostic
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@735 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:30:39 +00:00
jason@long.name
4c623c92c3 MakeTiles: impl generation of different-sized tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@734 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:30:36 +00:00
jason@long.name
3c31e19ed1 docs: fix typo in HACKING document
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@733 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:30:33 +00:00
jason@long.name
3859ca16d7 tile animation: animation is now controlled by tiles.rc
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@732 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:11:54 +00:00
jason@long.name
8d940ec99d tiles.rc: add comments to delineate different categories
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@731 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:11:51 +00:00
jason@long.name
cf6fce279c tiles.rc: rename tiles.dat to tiles.rc, bring TileSpec into main program
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@730 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 20:11:47 +00:00
jason@long.name
630f859063 tile animation: copy animation information from Java source code to tiles.dat
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@729 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 19:58:25 +00:00
jason@long.name
2cef8e368a tiles.rc: revise syntax of tile specification
changed my mind on tile specification syntax

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@728 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 19:58:14 +00:00
jason@long.name
153e0e48f5 tiles.rc: impl TileSpec class for reading tile specification
and rewrite MakeTiles to use the TileSpec class

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@727 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-17 19:58:02 +00:00
jason@long.name
8793847415 TileConstants: simplify logic in isBridge()
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@726 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-07 14:11:02 +00:00
jason@long.name
6406c12c14 TileConstants: implement isCombustible()
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@725 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-07 13:16:54 +00:00
jason@long.name
94dc4ea7be timers: try to be more disciplined about starting/stopping the timer
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@724 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-05 12:49:40 +00:00
jason@long.name
5270d072b8 build.xml: bump version number
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@723 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-05 12:49:24 +00:00
jason@long.name
752f2f539f strings: updated French translation from benawatt
https://code.google.com/p/micropolis/issues/detail?id=25

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@721 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-30 19:48:09 +00:00
jason@long.name
158e85a784 graphics: tile recipe now parsed using Java properties format
This replaces the custom parser with the standard Java properties
parser, which has more features.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@720 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-29 17:55:11 +00:00
jason@long.name
eff811b159 graphics: traffic- cropped image to remove excess space
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@719 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-28 15:08:07 +00:00
jason@long.name
fd24bc5e67 graphics: separate out wires and railroads tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@718 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-28 15:08:00 +00:00
jason@long.name
df2049ef98 graphics: update HACKING file with new instructions for building tiles.png
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@717 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 22:12:14 +00:00
jason@long.name
a560ccd1dd graphics: include RearrangeTiles.java (another utility script I wrote)
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@716 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 22:12:03 +00:00
jason@long.name
aad8ce76f2 build.xml: automatically build tiles.png from source images
It should work to just type `ant'.
The composed tiles.png will be generated in the 'build' subdirectory,
and automatically inserted into the generated Jarfile.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@715 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 22:11:54 +00:00
jason@long.name
4fdc4fb34f graphics: move "MakeTiles" program into src/ directory
(but do not include it in the generated jar file)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@714 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 22:11:38 +00:00
jason@long.name
0a44ffe64a graphics: traffic at squares- moved to layers
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@713 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:15:38 +00:00
jason@long.name
094c0848e8 graphics: traffic on turns- now using layers
this fixes a couple defects in the original graphics pack-
- dashed lines on curves (tile 71) would shift or flicker during animation
- one of the road pixels (tile 70) would flash during heavy-trf animation

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@712 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:15:20 +00:00
jason@long.name
e106ce0445 graphics: use layers for N/S traffic on tiles 73, 75, 78
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@711 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:15:01 +00:00
jason@long.name
778976f100 graphics: fix road (tile 72)- dashed line in wrong position
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@710 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:14:42 +00:00
jason@long.name
8d5291e591 graphics: attempt to move wire over road to separate file
(generated tiles.png does not match previous version, so something
is wrong)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@709 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:14:07 +00:00
jason@long.name
cae33311b3 graphics: tiles.dat: allow spaces before pipes
this allows layer names to be more nicely lined up

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@708 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:13:50 +00:00
jason@long.name
d8444ff2e4 graphics: more traffic animation pulled to the separate traffic.png file
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@707 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:13:27 +00:00
jason@long.name
cd1b9e3641 graphics: pull some traffic animation to a separate file, and use layers to compose the tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@706 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:13:10 +00:00
jason@long.name
2e217755a3 graphics: MakeTiles: support layering two or more images together
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@705 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-26 13:12:52 +00:00
jason@long.name
57fd5c0847 graphics: split 'special' into one file per special zone, and misc_animation.png
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@704 d9718cc8-9f43-0410-858b-315f434eb58c
2013-06-25 18:56:43 +00:00