Previous journal: | Next journal: |
---|---|
0084-2023-05-24.md | 0086-2023-05-26.md |
- Fixed to work with fixed-point values other than Q12.12 (e.g. Q9.12, Q16.16, Q10.9).
- Map is now 64x64 with 3 wall types (plus empty), sample map ROM provided, and the 2 extra wall textures.
utils/asset_tool
updated to handle sprites, walls, and maps.- Minor other updates
- Current texture sizes:
- Individual sprites are 64x64 and 6bpp (RGB222):
- 4096 pixels, 24576 bits, equiv. 3KiB.
- Each wall is twice this (due to light/dark modes). If the engine instead could output
RGB333 (even if the textures are RGB222) then it could just do dark tints of
textures instead of needing a 2nd texture. Anyway, 1 wall is:
- 8192 pixels, 49152 bits, equiv. 6KiB.
- So, if we want 3 different types of walls, that's 18KiB.
- Individual sprites are 64x64 and 6bpp (RGB222):
- Reducing texture sizes:
- Assume each wall texture is 64x64:
- 4bpp (indexed) for a total of 16 colours.
- Each index looks up a palette entry that is (say) RGB333: 16x9 bits = 144 bits = 18 bytes equiv.
- Darker versions are either 2nd palettes or just shifted.
- Assume each wall texture is 64x64:
- Wall textures should flip depending on whether they are on opposing wall sides.