Commit graph

231 commits

Author SHA1 Message Date
jason@long.name
0465be13c1 keyboard: add hotkeys for Zones and Overlays menus
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@773 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-25 20:47:51 +00:00
jason@long.name
b4c3a8327e zoom-levels: add menu options for Zoom In and Zoom Out
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@772 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-25 20:47:42 +00:00
jason@long.name
f0f101b78d keyboard: define access keys for more menus
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@771 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-25 20:47:32 +00:00
jason@long.name
f55492f8b8 keyboard: add shortcut keys to Game menu
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@770 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-25 20:47:19 +00:00
jason@long.name
a1fc7c20a2 zoom-levels: fix to recognize the numpad "-" key to zoom out
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@769 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-22 16:03:49 +00:00
jason@long.name
b52415aa3d bulldozer: fix adjacent roads/wires/etc. when bulldozing
This patch restores the correct bulldozer behavior regarding adjacent
roads, wires, and rails that was lost when the toolstroke series
of patches were applied.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@768 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-22 16:03:33 +00:00
jason@long.name
060fdc4b94 drawing-area: fix so that keyboard zoom works even when a button has focus
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@767 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:35:01 +00:00
jason@long.name
6851224c10 drawing-area: scale sprite images with tile resolution
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@766 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:34:56 +00:00
jason@long.name
1429407d9f drawing-area: fix where sprites are drawn when zoom level is not 16px
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@765 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:34:51 +00:00
jason@long.name
4a38afc40f drawing-area: fix crash bug caused by not loading sprite images
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@764 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:34:46 +00:00
jason@long.name
298d789df2 overlay-map: fix selection rectangle for non-default zoom levels
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@763 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:34:41 +00:00
jason@long.name
1e21066cf2 drawing-area: allow zooming in and out with keyboard
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@762 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-21 15:34:36 +00:00
jason@long.name
45b84f0cbb tile animation: make nuclear swirl handled same as coal smoke
that is, it starts only when setZonePower() is called for that zone,
and it automatically stops when killZone() is invoked.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@761 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:35:12 +00:00
jason@long.name
7540682a06 tile animation: make industrial zone smoke animations initiated by tiles.rc
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@760 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:35:09 +00:00
jason@long.name
0c497aa434 tile animation: use tiles.rc to control termination of coal plant smoke
when the coal plant is killed

Also, this sets up a framework to handle industrial zones in the same way.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@759 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:35:05 +00:00
jason@long.name
a190bbf88b engine: only use PWRBIT flag on zone center tiles
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@758 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:35:02 +00:00
jason@long.name
ba7ade2fa4 tile-animation: let tiles.rc determine coal plant's smoke animation
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@757 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:34:58 +00:00
jason@long.name
1ce5080705 drawing-area: allow zooming from 8px to 32px, using unique graphics source for each level
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@756 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:53 +00:00
jason@long.name
ee449d59a4 tiles.rc: use inheritance to define roads with traffic
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@755 d9718cc8-9f43-0410-858b-315f434eb58c
2013-07-20 21:29:50 +00:00
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