#pragma once

namespace texture {
  struct texture {
    void * start;
    int size;
    int offset;
  };

  namespace offset {
    constexpr int tandy1k  = 0               ; // 16384
    constexpr int logo     = tandy1k  + 16384; // 384
    constexpr int icons    = logo     +   384; // 2048
    constexpr int ter_u24n = icons    +  2048; // 16384
    constexpr int ter_u32n = ter_u24n + 16384; // 32768
    constexpr int clocks       = ter_u32n     + 32768;
    constexpr int mossycottage = clocks       + 32768;
    constexpr int mountain     = mossycottage + 32768;
    constexpr int redtree      = mountain     + 32768;
    constexpr int silvertrees  = redtree      + 32768;
    constexpr int thebeach     = silvertrees  + 32768;
  };

  extern struct texture textures[];

  extern const int textures_length;

  void transfer_texture_memory();
};
