Commit Graph

29 Commits

Author SHA1 Message Date
2ae3611d7f Allow menu records to be processed hierarchically by the UI driver
Nothing is actually processed in this way yet, but there is a new
assertion forbidding certain types of records from having children.

Because of this new assertion, our menutype tweaks must be moved up a
layer into internal/menus. They fit better there anyway.
2020-03-31 23:29:43 +01:00
b5a722eef0 Make a start on font rendering
I was hopeful I could use ebiten/text, but font.Face doesn't seem set
up for fixed-colour fonts.
2020-03-30 00:15:19 +01:00
27fbccdc5f Get the briefing menu linked up
Yes, that means hypertext is now a clickable.
2020-03-27 02:16:54 +00:00
c090fd32e9 Link various screens accessible from the bridge
This kind of linking is starting to creak...
2020-03-27 02:07:28 +00:00
316db89148 Get the bridge door animations running 2020-03-27 00:54:57 +00:00
79bfab7d6b We can reach the bridge \o/ 2020-03-26 23:35:34 +00:00
e4ce932324 Display overlay text in the UI
We still have fonts to do, so this is very ugly, but it at least shows
*something* on the screen now.
2020-03-26 22:09:26 +00:00
3d3a55af9d Break flow out of ordoor 2020-03-25 02:12:17 +00:00
7824396c24 Add stubs for unknown widget types 2020-03-25 00:23:28 +00:00
b986359047 Draw overlays 2020-03-24 23:26:21 +00:00
d376d9850c Wire the sliders into the config file
Not yet the game itself. That's still TODO.
2020-03-24 23:11:37 +00:00
20ad9ae6f8 Add a slider UI widget
I'm not too happy with how I have to configure the step for each one
separately, but it's the best I can do at the moment.
2020-03-24 22:33:26 +00:00
69971b2825 Rework the UI framework
Interface is now Driver, and Widget is now a set of interfaces with a
struct per widget type. This should make it easier to add other types.
2020-03-24 20:21:55 +00:00
bcee07e8f7 Make animations work in the options screen 2020-03-23 00:33:29 +00:00
c67ee206cd Implement hypertext (badly) 2020-03-22 23:29:40 +00:00
971b3178d6 Implement the options menu, part 1
This commit implements loading and saving options from/to config, and
enough UI toolkit magic to allow changes to boolean options to be
persisted.

We now respect the "play movies" setting and take screen resolution
from the config file.
2020-03-22 22:12:59 +00:00
0adbfaa573 Remove the -win-x and -win-y options for the ordoor binary 2020-03-22 22:12:20 +00:00
cfa56a0e12 Implement the main menu for the ordoor binary
In this commit, we also remove code that doesn't properly belong in
view-menu
2020-03-22 19:12:44 +00:00
ba7c06e5fd Show tooltips when hovering 2020-03-22 15:37:48 +00:00
bfe9fbdf7d Start work on menu interactivity.
With this commit, we get a ui.Interface and ui.Widget type. The
interface monitors hover and mouse click state and tells the widgets
about them; the widgets execute code specified by the application when
events occur.

Next step: have wh40k load the main menu and play sound, etc.
2020-03-22 02:58:52 +00:00
7a8e9dbd97 Respect sprite X and Y offsets
This makes menus display more correctly, and also fixes trees and other
objects on the main map, although it messes up bounds clipping (sigh).
2020-03-21 00:56:35 +00:00
d50a160f02 Use screen scaling 2020-03-19 18:44:51 +00:00
276885298a Allow ebiten.Run execution to be profiled 2020-03-19 18:36:20 +00:00
77202d9fab ui: Add fps, tps display 2019-12-29 20:34:07 +00:00
51e066ade1 ui: run in background 2019-12-29 19:41:20 +00:00
d1a1c50afc ui: event handlers 2019-12-29 17:30:21 +00:00
6f605aa502 ebiten: convert view-obj 2019-12-29 15:38:49 +00:00
6f3ed56b99 Allow the windows to be resizeable 2018-12-30 23:19:21 +00:00
213b2d3eb1 Add the start of a view for objects in a set 2018-03-18 20:41:17 +00:00