Commit Graph

615 Commits

Author SHA1 Message Date
Dustin Carlino
6695f72847 organize abstutil paths internally a bit, inching towards organizing data/ dir 2019-12-03 11:15:17 -08:00
Dustin Carlino
a043a9ba05 clean up more of abstutil path/filesystem API 2019-12-03 09:59:43 -08:00
Dustin Carlino
720f9b8b30 similar for writing 2019-12-02 20:41:09 -08:00
Dustin Carlino
808c3da141 panic early with a nice error if we cant read a binary or json file 2019-12-02 20:35:20 -08:00
Dustin Carlino
295f5b7786 managed widgets are now glued to flexbox rows and columns. need to plumb
more style options, but this was the crux
2019-11-30 09:15:51 -08:00
Dustin Carlino
5fd067ea62 adding roboto 2019-11-29 10:17:14 -08:00
Dustin Carlino
6c6113d1bc ripping text data out of canvas 2019-11-28 22:41:08 -08:00
Dustin Carlino
1a9c78b5fe tuning a few last things with the speed panel for now 2019-11-28 13:45:08 -08:00
Dustin Carlino
6fcf8d4478 redo layouting of new speed panel. pull absolute coordinates from
mockup. looks much closer now
2019-11-28 10:31:55 -08:00
Dustin Carlino
229bac4149 plumb tooltips for image buttons. small refactor making a
color+rectangle for an image. organizing NewSpeedControls a bit
2019-11-28 09:55:56 -08:00
Dustin Carlino
d553530ee7 prototype new speed panel. adapting changes from
https://github.com/jinzhong2/abstreet/tree/new_speed_panel
2019-11-27 15:42:19 -08:00
Dustin Carlino
819e27aa5d cutover sim time (via the API) to time 2019-11-27 11:49:57 -08:00
Dustin Carlino
c0cfbde4ec add a bit of padding to the minimap, pick an initial zoom to fit the entire width, and clip using scissor test 2019-11-27 09:55:08 -08:00
Dustin Carlino
082ae0cea1 simple polygon translate API -- no use in taking distances. pt2d isnt natively expressed in meters, and mostly using this for screenspace anyway 2019-11-27 09:15:46 -08:00
Dustin Carlino
b47a186373 unify the two JustDraw things 2019-11-26 13:55:16 -08:00
Dustin Carlino
13b1e86fb7 unify the two button types 2019-11-26 13:41:05 -08:00
Dustin Carlino
202cfcf0d6 hack in a mask to change the color of image buttons without backgrounds 2019-11-26 10:59:33 -08:00
Dustin Carlino
c87c043286 unify two button types, and use proper bbox for images 2019-11-25 22:00:36 -08:00
Dustin Carlino
188b2fd372 adding in some image buttons for the main menu. no highlighting yet.
wrong bounding boxes.
2019-11-25 19:31:39 -08:00
Dustin Carlino
d66daa22f0 adding some hotkeys back to the main menu. not sure how to communicate them yet. 2019-11-25 18:37:59 -08:00
Dustin Carlino
9ba4f83ca4 remove the unused total_width param from set_pos. it's confusing, and will probably change with flexbox soon 2019-11-25 17:58:55 -08:00
Dustin Carlino
dfd036300b refactor: make text_dims return ScreenDims. also, update the logo image 2019-11-25 17:38:37 -08:00
Dustin Carlino
a4d5aa766b widget wrapper for drawing text, so we can layout it 2019-11-25 17:19:22 -08:00
Dustin Carlino
b1bc7de2e8 prototype flexbox support via stretch. it unbreaks the challenge picker
screen, to start. :)
2019-11-25 16:51:45 -08:00
Dustin Carlino
e1496acf70 toggle dev mode at runtime 2019-11-25 15:23:17 -08:00
Dustin Carlino
69d6aca0ef switch from wget to curl, since wget isnt installed by default on mac.
improve developer instructions a bit. don't crash if scrot doesnt exist.
This partly helps with #3, but more work still needed
2019-11-25 11:21:43 -08:00
Dustin Carlino
573edbd13e adding the logo to the title screen and filling out some credits 2019-11-24 19:09:07 -08:00
Dustin Carlino
f0314c31b1 making an... almost rounded rectangle ;) 2019-11-24 18:08:46 -08:00
Dustin Carlino
3511669c4e ripped out the old splash screen entirely now, new about screen 2019-11-24 17:05:44 -08:00
Dustin Carlino
1440a8630b prototyping a text button, using it for a title screen 2019-11-24 15:23:28 -08:00
Dustin Carlino
941b423b16 make conversion from ScreenPt to Pt2D a bit easier 2019-11-24 14:42:46 -08:00
Dustin Carlino
aa4a002fb4 fix the mysterious flipped textures. i thought the UV mapping was the problem, but turns out I was using from_rgba_reversed for some mysterious reason 2019-11-24 08:55:37 -08:00
Dustin Carlino
888e405146 actually, auto-group textures into groups based on size. too tedious otherwise. 2019-11-24 08:52:50 -08:00
Dustin Carlino
a2ea691fa3 fix the 16 texture limit on mac properly, by using texture arrays for icons 2019-11-24 07:38:32 -08:00
Dustin Carlino
0814974885 fix more stuff... 2019-11-23 13:15:05 -08:00
Dustin Carlino
640fcae07e temporary workarounds for the hackathon, will revert later 2019-11-23 12:03:23 -08:00
Dustin Carlino
e7bda09978 simple perf boosts: avoiding some unnecessary GPU uploads every frame 2019-11-22 14:06:44 -08:00
Dustin Carlino
ade23dac5f also prompt to save edits before loading different edits. refactor some of the flow 2019-11-19 12:27:11 -08:00
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