Commit Graph

146 Commits

Author SHA1 Message Date
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
73553cb8b0 Bounds checking 2020-03-18 23:23:09 +00:00
9e3389c8ad Update ebiten 2020-03-18 20:55:01 +00:00
65249b59c4 Rename go module 2019-12-31 01:55:58 +00:00
5b4ad2495f go mod tidy 2019-12-30 00:55:34 +00:00
e90bea4513 ebiten: convert view-map 2019-12-30 00:51:20 +00:00
c54ead71f3 ebiten: convert view-menu 2019-12-29 23:47:22 +00:00
7475bdf0e7 ebiten: convert view-set 2019-12-29 20:41:41 +00:00
77202d9fab ui: Add fps, tps display 2019-12-29 20:34:07 +00:00
32b722ae88 ebiten: Convert view-minimap 2019-12-29 19:44:36 +00:00
1403580167 build: use a $(GOBUILD) 2019-12-29 19:44:26 +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
e46a5f194f Update .gitlab-ci.yml to build with go mod 2019-10-08 22:49:25 +01:00
90b5b3c140 Convert to go mod 2019-10-08 22:28:45 +01:00
ce5ef6edeb Add some more details of the .mnu [SUB]MENUTYPE field 2019-01-02 06:51:30 +00: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
af679d0c6a Document Menu/*.mni files 2018-12-31 13:38:35 +00:00
8050412abe Document probable font format 2018-12-31 00:57:19 +00:00
5e6422b8a4 Add some missing binaries to make all 2018-12-30 23:47:43 +00:00
645a2dbe25 Fix up .mnu documentation slightly 2018-12-30 23:32:44 +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
3c3a688406 Skeleton docs for .mnu files 2018-10-13 03:22:39 +01:00
93eb481b6d Fix a bug in scripts/try-uncompress 2018-10-13 02:39:23 +01:00
06625007fc Fix a 16-bit overflow for large objects 2018-10-13 02:38:25 +01:00
57fd59e4b2 Clean up maps documentation slightly 2018-10-13 02:38:01 +01:00
e2d3a1a8d6 Render Z levels slightly more accurately 2018-10-13 02:02:57 +01:00
197b5e696b Vendor updates 2018-10-13 01:38:03 +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
5cd1a19b86 Update README.md to reflect current status 2018-09-07 20:28:33 +01:00
9d56dff54e Add an FPS timer 2018-03-28 01:16:52 +01:00
eddd63350d Fix view-minimap 2018-03-28 01:05:53 +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