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