Commit Graph

47 Commits

Author SHA1 Message Date
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
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
32b722ae88 ebiten: Convert view-minimap 2019-12-29 19:44:36 +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
b21767fe97 First pass at displaying Menu files 2018-12-30 23:23:08 +00:00
c441851a9b Don't destroy ordering information in conv.ConvertObjects 2018-12-30 23:22:01 +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
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
056976721c Determine the RLE format for .obj file sprite pixeldata 2018-09-08 02:00:03 +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
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
62bff1aa44 Move the palette code into internal/ so view-map can share it 2018-03-22 01:56:46 +00:00
801cf7754d First attempt at a palette 2018-03-22 01:32:17 +00:00
5ee1ceb532 Sprites in .obj files are composed of Y null-separated records with a probable type field 2018-03-21 22:49:46 +00:00
2af6a4a500 Fix cmd/loader to account for the frame->sprite rename 2018-03-21 18:56:30 +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
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
93fb27403b Rename cmd/load -> cmd/loader 2018-03-18 05:37:54 +00:00
f858c4ae2a Initial parse of Sets/*.set 2018-03-18 05:34:14 +00:00
d572a19352 Add the view-map command and some exploration of results 2018-03-18 03:35:03 +00:00
087b236547 Start investigating the maps 2018-03-17 04:15:40 +00:00
107c209354 Initial commit
I can parse some of the data files, and extract individual frames from .obj
files. I can't yet convert those frames into something viewable.
2018-02-24 13:50:35 +00:00