3cb32b8962
Adjustments following kind discussion with LunarJetman on IRC
2020-03-22 17:19:26 +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
bcaf3d9b58
Get view-menu to play the interface sound
2020-03-21 23:45:51 +00:00
83aa1c4768
Remove unwanted debugging prints
2020-03-21 23:14:15 +00:00
46925c09d1
Make the menu buttons work
2020-03-21 18:50:26 +00:00
be4229b8fe
Remove internal/conv
...
This sets font rendering back a little bit, but not much.
2020-03-21 13:37:20 +00:00
4c0355ac4f
HAXXX: Make videos skippable
2020-03-21 12:05:22 +00:00
8b02f534f1
Eager load used sprites
2020-03-21 10:59:07 +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
576ac0570d
Better logging
2020-03-20 00:02:27 +00:00
5fccf97f4b
Lazily load sprite image data
...
This cuts memory use significantly, since many sprites in an object are
never used. We can get savings over time by evicting sprites when they
go out of scope, but that's, well, out of scope.
To achieve this, I introduce an assetstore package that is in charge of
loading things from the filesystem. This also allows some lingering
case-sensitivity issues to be handled cleanly.
I'd hoped that creating fewer ebiten.Image instances would help CPU
usage, but that doesn't seem to be the case.
2020-03-19 22:24:21 +00:00
34d12edc2a
Use palettized images
2020-03-19 19:02:32 +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
65249b59c4
Rename go module
2019-12-31 01:55:58 +00:00
c54ead71f3
ebiten: convert view-menu
2019-12-29 23:47:22 +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
0320743b30
Play around with menus some more
...
We now display the buttons in Main.mnu, but a lot remains unknown.
2019-10-09 00:41:41 +01:00
997e2076d1
Start loading .fnt files. No display yet
2019-01-02 06:16:15 +00:00
568365be3a
Fix a file descriptor leak in LoadMenu
2019-01-02 04:38:03 +00:00
b21767fe97
First pass at displaying Menu files
2018-12-30 23:23:08 +00:00
6d3a13fcfb
Fix a typo in copy-pasted code
2018-12-30 23:22:20 +00:00
c441851a9b
Don't destroy ordering information in conv.ConvertObjects
2018-12-30 23:22:01 +00:00
6f3ed56b99
Allow the windows to be resizeable
2018-12-30 23:19:21 +00:00
73804519b0
Beginnings of a WH40K.EXE implementation
...
So far, we just play the opening credits on an external video player.
I want to start loading and displaying the menus next. Perhaps I can
get the entire non-gameplay flow working?
2018-10-13 03:24:10 +01:00
019108bff8
Add a TOML configuration file
2018-10-13 03:23:55 +01:00
06625007fc
Fix a 16-bit overflow for large objects
2018-10-13 02:38:25 +01:00
0dd44d9de7
Limit texture size to 8192x8192 pixels
2018-10-13 01:37:44 +01:00
1fa61c72c2
WIP: Speed up rendering by using a spritesheet
2018-10-12 23:02:24 +01:00
aa093faabc
Move RLE decoding into a separate package
2018-10-12 20:22:40 +01:00
056976721c
Determine the RLE format for .obj file sprite pixeldata
2018-09-08 02:00:03 +01:00
b653c11606
Formalise a bit in each cell as an "IsActive()" bit
2018-03-28 01:00:55 +01:00
c8238f1853
Turns out the palette is actually identical to that in wh40k.pcx
2018-03-25 00:18:27 +00:00
285ae5d292
Make it easier to debug .obj file parsing errors
2018-03-24 23:38:12 +00:00
4d4c4da892
More .obj investigating. 0x80 seems to be a special value
2018-03-24 21:47:34 +00:00
c69beafa76
Speed up drawing and experiment with using rotation on the draw operation to get the right coordinates
2018-03-23 01:27:38 +00:00
456f71bfb9
Complete the rename from chaos-gate -> ordoor
2018-03-22 20:31:10 +00:00
2d423a4c4c
Rename view-map to minimap and work on a real view-map
2018-03-22 04:15:31 +00:00
62bff1aa44
Move the palette code into internal/ so view-map can share it
2018-03-22 01:56:46 +00:00
e3a2096b00
Remove the blacklist from the .obj loader
2018-03-21 21:37:00 +00:00
c4598590c2
Another night of .obj failure
2018-03-21 05:08:24 +00:00
213b2d3eb1
Add the start of a view for objects in a set
2018-03-18 20:41:17 +00:00
5e91c31139
Simplify indifferent access to sets
2018-03-18 18:19:05 +00:00
738abfc4a8
Finish the Set/ implementation
2018-03-18 17:27:32 +00:00
961a213752
Discover how frames are encoded, use that knowledge to (finally) get the viewport locked in
2018-03-18 15:39:50 +00:00
2f02c7bbf3
Some more map progress
2018-03-18 13:57:01 +00:00