Commit Graph

33 Commits

Author SHA1 Message Date
0adbfaa573 Remove the -win-x and -win-y options for the ordoor binary 2020-03-22 22:12:20 +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
8d48da1999 Fix bounds clipping 2020-03-21 11:48:29 +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
98fd06edd1 Forbid z index 7 2020-03-20 00:04:47 +00:00
e7d9083e6b Reorder drawn objects 2020-03-20 00:03:03 +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
73553cb8b0 Bounds checking 2020-03-18 23:23:09 +00:00
65249b59c4 Rename go module 2019-12-31 01:55:58 +00:00
e90bea4513 ebiten: convert view-map 2019-12-30 00:51:20 +00:00
c441851a9b Don't destroy ordering information in conv.ConvertObjects 2018-12-30 23:22:01 +00:00
e2d3a1a8d6 Render Z levels slightly more accurately 2018-10-13 02:02:57 +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
9d56dff54e Add an FPS timer 2018-03-28 01:16:52 +01:00
b653c11606 Formalise a bit in each cell as an "IsActive()" bit 2018-03-28 01:00:55 +01:00
b6dcfafb6d Remove a dodgy optimization and allow mouse clicks to output cell position 2018-03-25 12:49:36 +01:00
50d316b5eb Render multiple Z levels
Performance regression warning: this is now quite slow to render when showing
all 7 Z levels. Bounds clipping may be enough to get it back to acceptable
levels, or we may have to do something cleverer
2018-03-25 12:11:48 +01:00
6a90bb16cf Correctly render all four objects for every cell in a map 2018-03-25 00:36:23 +00:00
4d4c4da892 More .obj investigating. 0x80 seems to be a special value 2018-03-24 21:47:34 +00:00
ab3f053ef9 Draw isometically using magic formulae, correcting the view 2018-03-24 00:15:59 +00:00
f6e695e387 Get the rotation *slightly* closer and show some center objects 2018-03-23 23:54:20 +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
431d2c7f78 Fix Y-rendering and the camera view 2018-03-22 12:41:32 +00:00
2d423a4c4c Rename view-map to minimap and work on a real view-map 2018-03-22 04:15:31 +00:00
213b2d3eb1 Add the start of a view for objects in a set 2018-03-18 20:41:17 +00:00
257acd6127 Remove out-of-date comments in view-map 2018-03-18 20:11:25 +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
d572a19352 Add the view-map command and some exploration of results 2018-03-18 03:35:03 +00:00