Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 1.34 KB

0085-2023-05-25.md

File metadata and controls

32 lines (25 loc) · 1.34 KB

25 May 2023

Previous journal: Next journal:
0084-2023-05-24.md 0086-2023-05-26.md

Raybox

Accomplishments

  • 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

Notes

  • 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.
  • 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.
  • Wall textures should flip depending on whether they are on opposing wall sides.