dreamcast/chess/pawn.hpp
2024-05-31 23:09:55 -05:00

191 lines
6.1 KiB
C++

#pragma once
#include "geometry/geometry.hpp"
namespace pawn {
constexpr vec3 vertices[] = {
{ 0.501714f, -0.615807f, -0.500000f },
{ 0.524680f, -0.696187f, -0.500000f },
{ 0.525563f, -0.814549f, -0.500000f },
{ 0.469032f, -0.542493f, -0.500000f },
{ 0.399251f, -0.467413f, -0.500000f },
{ 0.300322f, -0.402932f, -0.500000f },
{ 0.234074f, -0.326085f, -0.500000f },
{ 0.182843f, -0.218322f, -0.500000f },
{ 0.167827f, -0.153841f, -0.500000f },
{ 0.280889f, -0.154725f, -0.500000f },
{ 0.302972f, -0.111443f, -0.500000f },
{ 0.320638f, -0.068161f, -0.500000f },
{ 0.317104f, -0.007214f, -0.500000f },
{ 0.196976f, 0.073167f, -0.500000f },
{ 0.228775f, 0.121748f, -0.500000f },
{ 0.261457f, 0.188879f, -0.500000f },
{ 0.274706f, 0.253360f, -0.500000f },
{ 0.273823f, 0.315191f, -0.500000f },
{ 0.257923f, 0.381438f, -0.500000f },
{ 0.219942f, 0.445036f, -0.500000f },
{ 0.173127f, 0.490084f, -0.500000f },
{ 0.123662f, 0.520999f, -0.500000f },
{ 0.053881f, 0.544848f, -0.500000f },
{ 0.000000f, 0.552798f, -0.500000f },
{ -0.501714f, -0.615807f, -0.500000f },
{ -0.524680f, -0.696187f, -0.500000f },
{ -0.525563f, -0.814549f, -0.500000f },
{ -0.469032f, -0.542493f, -0.500000f },
{ -0.399251f, -0.467413f, -0.500000f },
{ -0.300322f, -0.402932f, -0.500000f },
{ -0.234074f, -0.326085f, -0.500000f },
{ -0.182843f, -0.218322f, -0.500000f },
{ -0.167827f, -0.153841f, -0.500000f },
{ -0.280889f, -0.154725f, -0.500000f },
{ -0.302972f, -0.111443f, -0.500000f },
{ -0.320638f, -0.068161f, -0.500000f },
{ -0.317104f, -0.007214f, -0.500000f },
{ -0.196976f, 0.073167f, -0.500000f },
{ -0.228775f, 0.121748f, -0.500000f },
{ -0.261457f, 0.188879f, -0.500000f },
{ -0.274706f, 0.253360f, -0.500000f },
{ -0.273823f, 0.315191f, -0.500000f },
{ -0.257923f, 0.381438f, -0.500000f },
{ -0.219942f, 0.445036f, -0.500000f },
{ -0.173127f, 0.490084f, -0.500000f },
{ -0.123662f, 0.520999f, -0.500000f },
{ -0.053881f, 0.544848f, -0.500000f },
{ 0.388761f, -0.595554f, -1.500000f },
{ 0.411286f, -0.648695f, -1.500000f },
{ 0.429437f, -0.709889f, -1.500000f },
{ 0.431445f, -0.746821f, -1.500000f },
{ -0.431445f, -0.746821f, -1.500000f },
{ -0.429437f, -0.709889f, -1.500000f },
{ -0.411286f, -0.648695f, -1.500000f },
{ -0.388761f, -0.595554f, -1.500000f },
{ -0.337277f, -0.541021f, -1.500000f },
{ -0.236983f, -0.475369f, -1.500000f },
{ -0.153462f, -0.378626f, -1.500000f },
{ -0.092010f, -0.250075f, -1.500000f },
{ -0.092699f, -0.093719f, -1.500000f },
{ -0.230956f, -0.072472f, -1.500000f },
{ -0.233576f, -0.054984f, -1.500000f },
{ -0.102685f, 0.053978f, -1.500000f },
{ -0.145094f, 0.169251f, -1.500000f },
{ -0.170359f, 0.219865f, -1.500000f },
{ -0.178909f, 0.262409f, -1.500000f },
{ -0.178349f, 0.303202f, -1.500000f },
{ -0.168815f, 0.345126f, -1.500000f },
{ -0.144609f, 0.385169f, -1.500000f },
{ -0.113949f, 0.414209f, -1.500000f },
{ -0.082332f, 0.434104f, -1.500000f },
{ -0.031205f, 0.451335f, -1.500000f },
{ 0.000000f, 0.456575f, -1.500000f },
{ 0.031205f, 0.451335f, -1.500000f },
{ 0.082332f, 0.434104f, -1.500000f },
{ 0.113949f, 0.414209f, -1.500000f },
{ 0.144609f, 0.385169f, -1.500000f },
{ 0.168815f, 0.345126f, -1.500000f },
{ 0.178349f, 0.303202f, -1.500000f },
{ 0.178909f, 0.262409f, -1.500000f },
{ 0.170359f, 0.219865f, -1.500000f },
{ 0.145094f, 0.169251f, -1.500000f },
{ 0.102685f, 0.053978f, -1.500000f },
{ 0.233576f, -0.054984f, -1.500000f },
{ 0.230956f, -0.072472f, -1.500000f },
{ 0.092699f, -0.093719f, -1.500000f },
{ 0.092010f, -0.250075f, -1.500000f },
{ 0.153462f, -0.378626f, -1.500000f },
{ 0.236983f, -0.475369f, -1.500000f },
{ 0.337277f, -0.541021f, -1.500000f },
};
constexpr face_v faces[] = {
{{41}, {21}, {13}},
{{67}, {75}, {82}},
{{ 4}, { 3}, { 0}},
{{ 0}, { 1}, { 2}},
{{ 2}, {26}, {25}},
{{25}, {24}, {27}},
{{27}, {28}, {29}},
{{25}, {27}, {29}},
{{ 0}, { 2}, {25}},
{{ 5}, { 4}, { 0}},
{{ 5}, { 0}, {25}},
{{25}, {29}, {30}},
{{ 5}, {25}, {30}},
{{ 6}, { 5}, {30}},
{{ 6}, {30}, {31}},
{{ 7}, { 6}, {31}},
{{32}, {33}, {34}},
{{ 7}, {31}, {32}},
{{10}, { 9}, { 8}},
{{ 8}, { 7}, {32}},
{{32}, {34}, {35}},
{{35}, {36}, {37}},
{{37}, {38}, {39}},
{{39}, {40}, {41}},
{{41}, {42}, {43}},
{{43}, {44}, {45}},
{{45}, {46}, {23}},
{{23}, {22}, {21}},
{{21}, {20}, {19}},
{{19}, {18}, {17}},
{{17}, {16}, {15}},
{{15}, {14}, {13}},
{{13}, {12}, {11}},
{{11}, {10}, { 8}},
{{ 8}, {32}, {35}},
{{37}, {39}, {41}},
{{ 8}, {35}, {37}},
{{13}, {11}, { 8}},
{{17}, {15}, {13}},
{{21}, {19}, {17}},
{{45}, {23}, {21}},
{{41}, {43}, {45}},
{{ 8}, {37}, {41}},
{{21}, {17}, {13}},
{{13}, { 8}, {41}},
{{41}, {45}, {21}},
{{89}, {47}, {48}},
{{48}, {49}, {50}},
{{50}, {51}, {52}},
{{52}, {53}, {54}},
{{54}, {55}, {56}},
{{52}, {54}, {56}},
{{48}, {50}, {52}},
{{88}, {89}, {48}},
{{88}, {48}, {52}},
{{52}, {56}, {57}},
{{88}, {52}, {57}},
{{87}, {88}, {57}},
{{87}, {57}, {58}},
{{86}, {87}, {58}},
{{59}, {60}, {61}},
{{86}, {58}, {59}},
{{83}, {84}, {85}},
{{85}, {86}, {59}},
{{59}, {61}, {62}},
{{63}, {64}, {65}},
{{85}, {59}, {62}},
{{62}, {63}, {65}},
{{65}, {66}, {67}},
{{67}, {68}, {69}},
{{69}, {70}, {71}},
{{71}, {72}, {73}},
{{73}, {74}, {75}},
{{75}, {76}, {77}},
{{77}, {78}, {79}},
{{79}, {80}, {81}},
{{82}, {83}, {85}},
{{79}, {81}, {82}},
{{75}, {77}, {79}},
{{71}, {73}, {75}},
{{67}, {69}, {71}},
{{62}, {65}, {67}},
{{82}, {85}, {62}},
{{75}, {79}, {82}},
{{67}, {71}, {75}},
{{82}, {62}, {67}},
};
constexpr uint32_t num_faces = (sizeof (faces)) / (sizeof (face_v));
}