Commit Graph

577 Commits

Author SHA1 Message Date
Dustin Carlino
2e6e0f3e79 fix bug where clicking another button with a popup menu would choose that entry 2019-11-18 12:42:52 -08:00
Dustin Carlino
8c2d383fd7 undo button, and displaying last 5 edits 2019-11-17 17:02:14 -08:00
Dustin Carlino
7512098411 circular buttons need to act as covered areas too 2019-11-13 11:47:37 -08:00
Dustin Carlino
5afc45182b show which paint mode is active better 2019-11-13 11:18:43 -08:00
Dustin Carlino
0f427542c7 putting in dummy paint buttons to edit mode 2019-11-13 08:54:25 -08:00
Dustin Carlino
301a35e4df fix hidpi issues on mac once and for all?? 2019-11-10 18:56:00 -08:00
Dustin Carlino
fff1068689 remove text bg in speed panel. adjust text API to remove bg color. 2019-11-08 11:56:29 -08:00
Dustin Carlino
db86a24cda draw button text in the OSD (not owned by ezgui), not as a mouse tooltip 2019-11-01 11:45:02 -07:00
Dustin Carlino
e9e6664f61 using popup text box in a few more places to show important messages 2019-11-01 11:33:15 -07:00
Dustin Carlino
e564a67ad4 try to wrangle the complexities of synchronizing menus with analytics and colorschemes, which can be separately modified. added something for gridlock mode too. 2019-11-01 10:30:36 -07:00
Dustin Carlino
50ee547994 adding some help text to all gameplay modes 2019-10-31 15:30:12 -07:00
Dustin Carlino
3d68c3b83b cant click off wizard menus to cancel them 2019-10-31 14:54:45 -07:00
Dustin Carlino
1d08181eaa parameterize sandboxmode by a gameplaymode. makes the reset sim button
reinitialize scenarios properly
2019-10-31 09:59:03 -07:00
Dustin Carlino
a94e210c22 changing speed controls to be a panel of manually arranged buttons. not
done, but functionality is cutover. fix details later.
2019-10-30 15:01:11 -07:00
Dustin Carlino
9d828abbd0 move bus explorer to sandbox mode. make it start at the current stop 2019-10-30 12:20:04 -07:00
Dustin Carlino
7faeafd998 nice hatching for construction lanes, hackily encoded 2019-10-29 17:19:36 -07:00
Dustin Carlino
d757b45bff manually workaround y inversion with stretched textures by modifying the
images
2019-10-29 16:36:19 -07:00
Dustin Carlino
0575e57584 tweaks to buttons 2019-10-29 15:45:26 -07:00
Dustin Carlino
aae6d6d998 cleanup: collapse the old separated modal menu groups 2019-10-29 15:37:19 -07:00
Dustin Carlino
7574869798 tie together a popup menu and a button in a really simple way. move some
info and location things there
2019-10-29 15:14:17 -07:00
Dustin Carlino
00253d2783 using textures for the hide/show buttons. making it easier to sometimes
upload expensive textures. draw show/hide buttons on top of modal menus,
even when they sometimes overlap.
2019-10-29 13:47:04 -07:00
Dustin Carlino
573fc4dc35 redo zooming towards mouse. support zooming really far out, useful for
huge_seattle
2019-10-29 11:50:29 -07:00
Dustin Carlino
0d948cef91 share camera state between game and map_editor 2019-10-26 16:16:32 -07:00
Dustin Carlino
7d7bfef5ea filter out parking garages with 0 spots. render water on top of parks,
to workaround issue of the green lake park polygon covering everything
up
2019-10-26 11:37:10 -07:00
Dustin Carlino
cb4720946c experiment with texturing cars, with some fun UV coordinates. looks half
reasonable when it works. breaks on duplicate points, not sure what's
wrong yet
2019-10-24 14:07:03 -07:00
Dustin Carlino
17e02ebdf0 adding in support for rotating textures, except missing y-inversion 2019-10-23 16:30:23 -07:00
Dustin Carlino
d133dfd152 experimentally use textures for pedestrians. add support for stretching
texture coordinates
2019-10-23 15:46:00 -07:00
Dustin Carlino
63127960c9 skip info phase of menus if there is no info 2019-10-21 15:28:31 -07:00
Dustin Carlino
56a277a284 show live parking counts in that analytics legend 2019-10-18 12:35:49 -07:00
Dustin Carlino
c70a57e7ae click to cancel info panel 2019-10-17 11:29:02 -07:00
Dustin Carlino
b479c8afed hotkeys and tooltips for buttons 2019-10-16 15:42:58 -07:00
Dustin Carlino
83d10c714b toggle between 3 states for hiding modal menus 2019-10-16 15:21:13 -07:00
Dustin Carlino
10f2f6008f improve map_editor's intersection preview
- timer for setting up world
- preview all intersections
- move world to map_editor; it's too oddly specialized
- dont show circle while previewing intersection geom
- show overlapping intersection polygons
2019-10-16 15:08:22 -07:00
Dustin Carlino
a1cc53d68a redo mouseover when zooming, so that we never have current_selection when unzoomed. 2019-10-14 15:15:56 -07:00
Dustin Carlino
430b1245c4 working on a new traffic signal scroller. disabled. decent start. 2019-10-13 18:44:19 -07:00
Dustin Carlino
f82000cff4 just select entire road in map_editor. individual lanes were only for labeling one side of the road, which is only a theoretical feature for test maps. also dont allow swapping lanes uselessly. 2019-10-13 16:42:03 -07:00
Dustin Carlino
f772f12a7d combining info/controls for map_editor sidebar 2019-10-13 16:14:47 -07:00
Dustin Carlino
5358931a5e fixing up a few lingering places in the game that were constructing text prompts 2019-10-13 15:43:11 -07:00
Dustin Carlino
5304aa6ecf trying out permanent sidebar in map_editor. no more tooltips 2019-10-13 15:31:17 -07:00
Dustin Carlino
df4d37f996 migrate some map_editor stuff to a proper modal menu. display constant
OSD for info and for controls.
2019-10-12 19:02:58 -07:00
Dustin Carlino
d82263978b simpler context menu impl. finally delete the old one 2019-10-12 14:53:27 -07:00
Dustin Carlino
a077276275 rewriting the wizard menu from scratch too. also making sure to update
master GUI state (where's the cursor?) up-front. that's independent from
letting the canvas pan, a client decision
2019-10-12 10:24:07 -07:00
Dustin Carlino
f548ded8cc most modalmenus will maintain layout themselves. also stop doing
layouting in constructors; the first event will work fine.
2019-10-11 20:45:27 -07:00
Dustin Carlino
f1cae9bd37 dont show info when modalmenu hidden, just title. simplify setting info
from outside.
2019-10-11 20:10:12 -07:00
Dustin Carlino
0ea138aa02 adding show/hide functionality back to modalmenu, but WAY more cleanly 2019-10-11 15:00:08 -07:00
Dustin Carlino
05b953d639 split sim summary onto two nice lines 2019-10-11 13:25:41 -07:00
Dustin Carlino
81addd9c8c making menu label swaps more ergonomic 2019-10-11 13:15:14 -07:00
Dustin Carlino
f71d229594 ability to change menu labels. use for speed controls and debug mode. 2019-10-11 13:09:32 -07:00
Dustin Carlino
88be94e789 simple stacked layouting for text box, slider, and modal menu (rewritten
from scratch). not fully done, but perfectly usable and clean!
2019-10-11 12:37:48 -07:00
Dustin Carlino
21aa42891d parameterizing slider dims, making them match menus 2019-10-09 15:03:23 -07:00
Dustin Carlino
da0b880484 place mouse tooltips away from screen edge, just like context menus 2019-10-09 11:21:04 -07:00
Dustin Carlino
ec7d0b463d force modal menus beneath sliders to have top-left corner at a point; stop doing the jump left/right behavior based on running off the screen. need a proper vertical stacking layout thing for that. 2019-10-09 10:44:11 -07:00
Dustin Carlino
e0ae1d5195 tooltip with key bindings for hide/expand icons. doesn't look great
though.
2019-10-09 10:29:11 -07:00
Dustin Carlino
7c3a26fed8 making ItemSlider and all trip viz also combine menu and slider better 2019-10-07 14:54:42 -07:00
Dustin Carlino
3459d9c8fd change default font size by flag 2019-10-07 10:39:09 -07:00
Dustin Carlino
e7507bad85 plumbing initial settings to ezgui better 2019-10-07 09:45:53 -07:00
Dustin Carlino
1df7c580f3 hack in a way for ModalMenu to work alongside a slider. use in
SpeedControls.
2019-10-05 17:01:33 -07:00
Dustin Carlino
47ccf2c70b making normal ModalMenu be able to add/remove items. killing off DynamicMenu. 2019-10-05 14:59:59 -07:00
Dustin Carlino
bbbfc4a064 fold trip stats into new exclusive analytics thing, so it also auto-updates 2019-10-05 13:56:43 -07:00
Dustin Carlino
5f9cf2accd display basic labels on trip stats 2019-10-01 19:28:03 -07:00
Dustin Carlino
b11f33f7f6 trying out a different type of menu for agent controls. explicitly
add/remove actions, and grow/shrink the menu based on temporarily
activated things
2019-09-24 13:02:23 -07:00
Dustin Carlino
ae31d2d983 disable cpuprofiler dep in ezgui by default, since it requires manually installing some other stuff 2019-09-23 13:37:47 -07:00
Dustin Carlino
f18fc72265 finish structopt removal 2019-09-18 17:29:34 -07:00
Dustin Carlino
4a12cdd36a easy way to select and delete big chunk of stuff in synthetic 2019-09-16 10:16:56 -07:00
Dustin Carlino
1248dac270 nicer API for appending bits of text 2019-09-13 15:23:25 -07:00
Dustin Carlino
180fdd1412 builder API for World. restoring synthetic labels 2019-09-12 11:11:31 -07:00
Dustin Carlino
672899c20f better synthetic drawing: lanes offset properly (still buggy...), draw center line 2019-09-12 10:25:34 -07:00
Dustin Carlino
353d89cd25 more synthetic fixes: redo mouseover when model changes, avoid panic
with 0-len new road line, fix reused IDs, fix contains_pt for
some precomputed polygons
2019-09-12 09:54:12 -07:00
Dustin Carlino
92a4f304f7 restoring functionality to synthetic: changing stuff updates the world 2019-09-11 17:08:11 -07:00
Dustin Carlino
cb7121162b folding viewer into ezgui crate 2019-09-11 15:27:12 -07:00
Dustin Carlino
43de343372 stop serializing synthetic's model format, just save raw_data maps 2019-09-11 13:52:49 -07:00
Dustin Carlino
97361317ed greying out choices in scoreboard that have no trips 2019-09-11 12:51:07 -07:00
Dustin Carlino
c8e3e9ce4b rearrange colorscheme changing, so it doesnt happen in irrelevant modes 2019-09-11 12:43:06 -07:00
Dustin Carlino
612b02d526 migrating all callers off old methods. decided to keep choose_string 2019-09-11 12:32:17 -07:00
Dustin Carlino
aa3fed3395 builder-based API for wizard choosing stuff. need to convert other
callers now.
2019-09-11 11:52:34 -07:00
Dustin Carlino
224461fcdc plumb hatching bit in the style vertex attrib, not this awkward stateful uniform value 2019-09-11 11:06:57 -07:00
Dustin Carlino
7eae18b71a tiling all the textures seamlessly, instead of stretching 2019-09-11 10:46:03 -07:00
Dustin Carlino
ac131ebedf moving some things around ezgui; i can never remember where to find some structs 2019-09-11 09:03:59 -07:00
Dustin Carlino
9ed38c849c be able to flag off using textures, and sub a fallback color. also move texture loading into the loading screen. and fix the release script 2019-09-10 17:04:33 -07:00
Dustin Carlino
9867619c9c generalize ezgui Color to also cleanly represent textured things 2019-09-10 16:41:35 -07:00
Dustin Carlino
5ef4ed16b8 packing texture info into the color Vertex channel 2019-09-10 16:08:01 -07:00
Dustin Carlino
9a624397e0 supporting up to 10 textures 2019-09-10 15:44:07 -07:00
Dustin Carlino
fdd770088d very hacky, minimal impl of texturing water 2019-09-10 15:21:58 -07:00
Dustin Carlino
5637a1cf34 remove support for glsl 110; i think it was just wine having problems with 140. can restore later easily, is annoying to maintain in the meantime 2019-09-10 14:13:23 -07:00
Dustin Carlino
e6bf997bee simplify glium uniforms storage 2019-09-10 14:08:05 -07:00
Dustin Carlino
105f526e9e contextual_action takes &str or String 2019-09-07 13:56:00 -07:00
Dustin Carlino
08b18b682d overhaul Text API to builder pattern 2019-09-06 13:58:04 -07:00
Dustin Carlino
60a48be5bc make it a little easier to snag default text size's line height 2019-09-06 12:44:37 -07:00
Dustin Carlino
ea9d01bcc1 set a modal menu's prompt just once in a few places, where that's more
convenient
2019-08-27 14:56:43 -07:00
Dustin Carlino
7fffb8d6e5 use modalmenu, not logscroller, for scenario and a/b test info. remove
logscroller from public ezgui api
2019-08-24 14:53:26 -07:00
Dustin Carlino
f8aaf4d7bf using dyn explicitly, per rust 1.37 deprecation warning 2019-08-22 15:05:17 -07:00
Dustin Carlino
9f897ef094 removing ezgui inline color parsing. pretty much unused, isn't helping
compile time. also fixing clippy issues
2019-08-22 13:38:16 -07:00
Dustin Carlino
a5b73c060a make savestate_every a flag again 2019-08-16 13:34:38 -07:00
Dustin Carlino
4e83f492d8 upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps 2019-08-15 12:14:35 -07:00
Dustin Carlino
56ea90c787 draw map-space text with proper z-ordering 2019-08-15 10:30:17 -07:00
Dustin Carlino
caddf69dcc cache unzoomed agent geometry when possible 2019-08-14 14:44:43 -07:00
Dustin Carlino
e145ae2e5d label buildings with street numbers. disable because it's noisy, but
great start!
2019-08-13 11:45:11 -07:00
Dustin Carlino
c50830c4c0 add an extra scaling factor to map-space text, so we can draw in a reasonable font size, then squish down without losing quality 2019-08-13 11:24:04 -07:00
Dustin Carlino
5dc92e6eb8 strong steps towards real map-space text. not quite working yet, but
this shouldn't break anything in the meantime.
2019-08-12 15:38:57 -07:00
Dustin Carlino
e5486e587b renaming wizard things 2019-08-07 15:48:46 -07:00
Dustin Carlino
8c7116af97 heavily revamping wizard callers... wow, what a huge difference! 2019-08-07 15:27:25 -07:00
Dustin Carlino
3b1671fdcb proof-of-concept that wizard closures can have reasonable lifetimes! 2019-08-07 14:53:20 -07:00
Dustin Carlino
adde2669c1 convert some old-school plugins to Wizard (in fact WizardState), and start to hide some stuff inside ezgui crate a bit more 2019-08-07 13:49:27 -07:00
Dustin Carlino
950fb65bea visually expose time since last completed turn 2019-08-07 10:37:25 -07:00
Dustin Carlino
b1c92fa867 dont allow zooming when mouse is on a covered GUI area 2019-08-06 12:05:09 -07:00
Dustin Carlino
77c01580f1 refactoring path references... 2019-08-04 17:11:33 -07:00
Dustin Carlino
f8cee896bf fixed text box size for loading screens 2019-08-02 16:53:48 +02:00
Dustin Carlino
1412a888d6 move Scroller to ezgui lib 2019-08-02 16:49:31 +02:00
Dustin Carlino
721037e2fb actual scrolling logic! 2019-07-31 16:08:53 +02:00
Dustin Carlino
5b65cb139a switching to a generic scroller widget thing, which doesnt actually
scroll yet ;)
2019-07-28 17:06:00 +02:00
Dustin Carlino
c3c467343a add dummy buttons to scroll traffic signal diagram 2019-07-28 15:35:56 +02:00
Dustin Carlino
6192a1357d at last, add controls to hover on and select a cycle 2019-07-28 12:26:53 +02:00
Dustin Carlino
557db1d3fe wrapping up something to interact with a diagram, using in signal editor
and standalone diagram explorer
2019-07-28 12:12:46 +02:00
Dustin Carlino
16926d57a1 upgrade glium, glutin, etc. fix the HIDPI issues properly! 2019-07-26 17:25:19 +02:00
Dustin Carlino
84ac102d05 fix major perf regression from modal menus getting sections. need to
call draw_queued for text once per frame, otherwise cache gets ruined
2019-07-26 16:26:41 +02:00
Dustin Carlino
3c2d794c62 sliders coupled with text boxes in wizards for picking times 2019-07-21 11:26:11 +02:00
Dustin Carlino
de929a5fb9 user-defined shortcuts 2019-07-14 11:22:37 +01:00
Dustin Carlino
d08c794cfe woops, didnt use GeomBatch for all the new ModalMenu stuff 2019-06-26 15:20:25 -07:00
Dustin Carlino
5e97c9f548 add a minimize/expand icon to modal menus 2019-06-26 12:14:43 -07:00
Dustin Carlino
8d1581241f render separators between groups of menu items. very messy
implementation, but many other ideas fell through, and this works.
2019-06-25 10:58:40 -07:00
Dustin Carlino
f7b5cf9a9f organize all modal menus into groups. dont render them yet. 2019-06-24 15:43:22 -07:00
Dustin Carlino
3958ec556e state transitions for nicely handling a few things... in particular,
clearing splash screen wizard state so we dont get stuck on a choice ;)
2019-06-22 20:05:12 -07:00
Dustin Carlino
6738de2488 draw text beneath Sliders, not in the ModalMenu 2019-06-20 14:48:32 -07:00
Dustin Carlino
cdacaef1a6 refactor menu text for all ItemSliders 2019-06-17 17:22:20 -07:00
Dustin Carlino
efb6954a97 refactor the combination of ItemSlider and Warper 2019-06-14 14:17:08 -07:00
Dustin Carlino
8c055312b4 refactor Warper to an ezgui widget, to use it in fix_map_geom 2019-06-14 12:45:46 -07:00
Dustin Carlino
1f34e591e0 debug_initialmap: use loading screens, stop depicting half-roads, draw
OSM tags non-invasively on the side, rename it, highlight degenerate
intersections
2019-06-13 13:20:24 -07:00
Dustin Carlino
0adeac1d53 remove the single point associated with intersections, now that we're
actually going to be mucking with geometry. it wasnt doing anything
useful anyway. also a round of clippy.
2019-06-12 10:10:04 -07:00
Dustin Carlino
47654b61cf make wizard acknowledge a bit easier to use. name psrc scenarios by time
range and fix some filename parsing
2019-06-10 13:29:23 -07:00
Dustin Carlino
53d87afa6e move hex parsing 2019-06-08 13:15:31 -07:00
Dustin Carlino
6221fd858b make edit mode's cross hatches less intrusive 2019-06-06 13:29:45 -07:00
Dustin Carlino
36cddbf5df recalculate current selection in all the places that used to before a big UI refactor. if not, hovering on agent + jumping savestates can crash badly. also refactor how mouseover is detected 2019-06-06 12:51:49 -07:00
Dustin Carlino
34e637773d simplify wizard.wrap API slightly 2019-06-05 13:13:33 -07:00
Dustin Carlino
b2ad0b5ae7 converting PSRC trips to a repeatable scenario. along the way,
parallelizing and refactoring a bit of psrc stuff
2019-06-05 12:58:06 -07:00
Dustin Carlino
0c6a93d38f introducing a basic slider to adjust speed of all route viz player and
sim. code duplication.
2019-06-04 14:22:11 -07:00
Dustin Carlino
0c4399e683 use mem::replace, not clone, for swapping TimeTravel states 2019-05-30 15:34:33 -07:00
Dustin Carlino
53addc79b9 use ItemSlider for time travel 2019-05-30 15:20:43 -07:00
Dustin Carlino
602a936440 using nom to create Text with inline colors. just using in a few places;
still buggy and kind of inconvenient actually.
2019-05-30 14:14:38 -07:00
Dustin Carlino
9faa2bf143 using MultiKey a bit more consistently 2019-05-29 14:13:46 -07:00
Dustin Carlino
53e2c3e905 hack in a way to easily check for ctrl+key. use to jump between
sandbox, debug, and edit modes
2019-05-29 14:08:59 -07:00
Dustin Carlino
35b3e4b7be round of clippy / unbreaking the build 2019-05-29 13:01:33 -07:00
Dustin Carlino
17b31582cb delete ModalMenu::hacky_new 2019-05-29 11:34:53 -07:00
Dustin Carlino
cce1b6ff88 making an ItemSlider to handle the common case of scrolling through items 2019-05-29 11:31:01 -07:00
Dustin Carlino
110140f391 union make_arrow polygon 2019-05-28 18:05:10 -07:00
Dustin Carlino
f2f16ad992 make slider just operate on percentages. use for scrolling time in all trip viz 2019-05-28 14:56:09 -07:00
Dustin Carlino
28b2734d59 starting a slider widget, using in easy places where the range is usize 2019-05-28 12:13:22 -07:00
Dustin Carlino
1cdbe0ea81 refactor parallelized pathfinding and use it in trip viz too 2019-05-24 12:50:01 -07:00
Dustin Carlino
788cd237a8 upload traffic signal Drawable once per state change 2019-05-23 11:31:28 -07:00
Dustin Carlino
d2dc7e52eb draw the traffic signal diagram on the left. stop caring where the
bottom left of a modalmenu is
2019-05-21 14:13:48 -07:00
Dustin Carlino
3a625f9a32 print percentages and number of samples in bar chart 2019-05-20 14:57:17 -07:00