Skip to content

POD File Format Derivates

Jon Daniel edited this page Nov 29, 2024 · 81 revisions

EPD POD1 POD2 POD3 POD4 POD5 POD6 Terminal Reality Home

enum class version
{
     none = 0,
     pod1 = 1,
     pod2 = 2,
     pod3 = 3,
     pod4 = 4,
     pod5 = 5,
     pod6 = 6,
     epd  = 7,
     epd1 = 7,
     epd2 = 8,
     last = 9,
};

const std::pair<const char*, const char*> ident[last] =
{
     {"NONE", "\0NONE"},
     {"POD1", "\0POD1"},
     {"POD2", "POD2\0"},
     {"POD3", "POD3\0"},
     {"POD4", "POD4\0"},
     {"POD5", "POD5\0"},
     {"POD6", "POD6\0"},
     {"EPD1", "dtxe\0"},
     {"EPD2", "tsal\0"}
};

constexpr inline enum version id(const c8<4> magic)
{
     for(int i = pod2; i < last; i++)
             if(strncmp(ident[i].second, &magic[0], 4) == 0)
                     return (enum version)i;
     return pod1;
}