Commit Graph

530 Commits

Author SHA1 Message Date
Dustin Carlino
2153b1605b Move the legend to the minimap in the experiment, by parameterizing the
minimap on a trait to specialize it.
2020-12-07 14:42:49 -08:00
Dustin Carlino
df04fd7e18 Give SimpleApp a way to stash session-wide state. First use case is high scores for the experiment. 2020-12-04 15:08:15 -08:00
Dustin Carlino
766fea1441 Prevent warping near bridges, and ban travel along light rail entirely 2020-12-03 21:04:38 -08:00
Dustin Carlino
a11646a6fc Overhaul building colors [rebuild] 2020-12-02 13:01:01 -08:00
Dustin Carlino
69b14e444f Simpler abstutil APIs: return string errors immediately, don't make callers transform. We don't need to distinguish different error types anywhere. 2020-12-02 08:44:07 -08:00
Dustin Carlino
3eda17627b Handle binary or JSON scenarios 2020-11-30 14:00:19 -08:00
Dustin Carlino
8ee3466815 new release 2020-11-29 17:02:34 -08:00
Dustin Carlino
be3d1dc83b Refactor github workflow, since most steps are OS-independent. Build all of the separate binaries. [rebuild] [release] 2020-11-29 16:01:18 -08:00
Dustin Carlino
057587076c Split config for different levels, add some sort of title screen 2020-11-29 15:44:45 -08:00
Dustin Carlino
f030086e8e Overhaul how buildings get colored in different states, and reset things
when changing depots
2020-11-28 17:07:14 -08:00
Dustin Carlino
d6c179385e Start in night mode, and adjust minimap coloring there 2020-11-28 10:19:21 -08:00
Dustin Carlino
4b28cfe806 Add a minimap 2020-11-28 09:45:58 -08:00
Dustin Carlino
b6484f31d4 Upzoning 2020-11-27 17:42:58 -08:00
Dustin Carlino
ebcae62652 Slightly simplify how some states specify what map objects can be
selected and clicked on.
2020-11-26 13:42:31 -08:00
Dustin Carlino
b7f3f2113b Start refactoring a common UI pattern: recalculate some value only when (#406)
Start refactoring a common UI pattern: recalculate some value only when
a key changes.

It's quite verbose right now for some widgetry States to determine if
the mouse is over a particular type of object, check if that object has
changed since the last time, and calculate something based on it. This
introduces a new helper for expressing the pattern a little more
clearly.
2020-11-25 12:22:11 -08:00
Dustin Carlino
b6ebee0dd8 Tiny refactor: Drawable::empty(ctx) 2020-11-25 11:19:26 -08:00
Dustin Carlino
ff829db8f1 Expanding the boundary of huge_seattle, and creating a new north_seattle map 2020-11-25 08:56:55 -08:00
Dustin Carlino
314f01496e Save/restore camera state per map in all map_gui apps too. 2020-11-24 11:53:50 -08:00
Dustin Carlino
5e952f9012 Fix web build break from a cfg() line creeping down 2020-11-23 18:01:42 -08:00
Dustin Carlino
f3ff910c37 Cleanup from the great app split:
- move show_zorder into DrawMap
- reorganize modules in map_gui

Next is to reorganize/collapse modules in game.
2020-11-23 17:58:32 -08:00
Dustin Carlino
c450922211 Split out the 15min tool to its own crate. 2020-11-23 17:58:32 -08:00
Dustin Carlino
9f422033e9 Make a SimpleMinimap for map_gui. Will refactor later. 2020-11-23 17:58:32 -08:00
Dustin Carlino
c3db4de087 Lift the Navigator tools to map_gui. 2020-11-23 17:58:32 -08:00
Dustin Carlino
139d435bd3 Split out the OSM viewer to its own crate, porting over a simple form of current_selection. Temporarily omit the minimap and navigator from it. 2020-11-23 17:58:32 -08:00
Dustin Carlino
6568c9e959 Add mouseover to the split parking mapper, sadly just by copying a simpler version of the code... 2020-11-23 17:58:32 -08:00
Dustin Carlino
ad0d1ae7a4 Split out the OSM parking mapper into a separate app, temporarily
WITHOUT mouseover.
2020-11-23 17:58:32 -08:00
Dustin Carlino
e6d21d81e7 Add the city picker to the experiment, as a way to lift it to map_gui. 2020-11-23 17:58:32 -08:00
Dustin Carlino
859d78f2cf Refactor the CLI flag parsing that all apps will share. 2020-11-23 17:58:32 -08:00
Dustin Carlino
ab2f6fefec Split the controls experiment into a separate binary, get it to draw a
map way more simply than the game
2020-11-23 17:58:32 -08:00
Dustin Carlino
558eb6f716 Extract DrawMap into a separate crate, along with everything else it
depends on.

The goal is to be able to split things like the OSM viewer, parking
mapper, and 15 min tool into separate crates from the game, while still
sharing lots of code.
2020-11-23 17:58:32 -08:00