Remove Rectangle constructors
This commit is contained in:
parent
7e5b92253c
commit
765cd539fe
|
@ -23,7 +23,7 @@ namespace object {
|
||||||
tex_page(GPU::TexPage::create(
|
tex_page(GPU::TexPage::create(
|
||||||
{TIM.get_texture_x(), TIM.get_texture_y()},
|
{TIM.get_texture_x(), TIM.get_texture_y()},
|
||||||
GPU::TexturePageColor::$4bit).linked()),
|
GPU::TexturePageColor::$4bit).linked()),
|
||||||
sprite(GPU::SPRT(
|
sprite(GPU::SPRT::create(
|
||||||
#pragma GCC warning "This pic used to be 122px (file size) and every tool would except it - however the display would be corrupt"
|
#pragma GCC warning "This pic used to be 122px (file size) and every tool would except it - however the display would be corrupt"
|
||||||
GPU::AreaI16({0, 100}, {120, 128}),
|
GPU::AreaI16({0, 100}, {120, 128}),
|
||||||
GPU::PagePositionClut({0, 0}, GPU::PageClut(TIM.get_clut_x(), TIM.get_clut_y())),
|
GPU::PagePositionClut({0, 0}, GPU::PageClut(TIM.get_clut_x(), TIM.get_clut_y())),
|
||||||
|
|
|
@ -110,19 +110,19 @@ static constexpr const auto line4 = GPU::LINE_G::create(
|
||||||
GPU::ColorVertex{GPU::Color24::White(), {0, 0}}
|
GPU::ColorVertex{GPU::Color24::White(), {0, 0}}
|
||||||
);
|
);
|
||||||
|
|
||||||
static constexpr const auto rect1 = GPU::TILE(GPU::AreaI16({GPU::Display::Width - 32, GPU::Display::Height - 32}, {32, 32}), GPU::Color24::Green());
|
static constexpr const auto rect1 = GPU::TILE::create(GPU::AreaI16({GPU::Display::Width - 32, GPU::Display::Height - 32}, {32, 32}), GPU::Color24::Green());
|
||||||
static constexpr const auto rect2 = GPU::TILE_16({GPU::Display::Width - 16, GPU::Display::Height - 16}, GPU::Color24::Blue());
|
static constexpr const auto rect2 = GPU::TILE_16::create({GPU::Display::Width - 16, GPU::Display::Height - 16}, GPU::Color24::Blue());
|
||||||
static constexpr const auto rect3 = GPU::TILE_8({GPU::Display::Width - 8, GPU::Display::Height - 8}, GPU::Color24::Yellow());
|
static constexpr const auto rect3 = GPU::TILE_8::create({GPU::Display::Width - 8, GPU::Display::Height - 8}, GPU::Color24::Yellow());
|
||||||
static constexpr const auto rect4 = GPU::TILE_1({GPU::Display::Width - 1, GPU::Display::Height - 1}, GPU::Color24::Red());
|
static constexpr const auto rect4 = GPU::TILE_1::create({GPU::Display::Width - 1, GPU::Display::Height - 1}, GPU::Color24::Red());
|
||||||
|
|
||||||
static constexpr const auto texpage = GPU::TexPage::create({320, 0}, GPU::TexturePageColor::$4bit);
|
static constexpr const auto texpage = GPU::TexPage::create({320, 0}, GPU::TexturePageColor::$4bit);
|
||||||
static constexpr const auto rect5 = GPU::SPRT(GPU::AreaI16({0, GPU::Display::Height - 32}, {32, 32}), {{0, 0}, TriangleClut}, GPU::Color24::Green());
|
static constexpr const auto rect5 = GPU::SPRT::create(GPU::AreaI16({0, GPU::Display::Height - 32}, {32, 32}), {{0, 0}, TriangleClut}, GPU::Color24::Green());
|
||||||
static constexpr const auto rect6 = GPU::SPRT_16({0, GPU::Display::Height - 16}, {{0, 0}, TriangleClut}, GPU::Color24::Blue());
|
static constexpr const auto rect6 = GPU::SPRT_16::create({0, GPU::Display::Height - 16}, {{0, 0}, TriangleClut}, GPU::Color24::Blue());
|
||||||
static constexpr const auto rect7 = GPU::SPRT_8({0, GPU::Display::Height - 8}, {{0, 0}, TriangleClut}, GPU::Color24::Yellow());
|
static constexpr const auto rect7 = GPU::SPRT_8::create({0, GPU::Display::Height - 8}, {{0, 0}, TriangleClut}, GPU::Color24::Yellow());
|
||||||
static constexpr const auto rect8 = GPU::SPRT_1({0, GPU::Display::Height - 1}, {{0, 0}, TriangleClut}, GPU::Color24::Red());
|
static constexpr const auto rect8 = GPU::SPRT_1::create({0, GPU::Display::Height - 1}, {{0, 0}, TriangleClut}, GPU::Color24::Red());
|
||||||
|
|
||||||
static auto rect9 = GPU::SPRT(GPU::AreaI16({GPU::Display::Width/2, GPU::Display::Height/2}, {32, 32}).centered(), {{0, 0}, TriangleClut}, GPU::Color24::Grey()).linked();
|
static auto rect9 = GPU::SPRT::create(GPU::AreaI16({GPU::Display::Width/2, GPU::Display::Height/2}, {32, 32}).centered(), {{0, 0}, TriangleClut}, GPU::Color24::Grey()).linked();
|
||||||
static auto rect10 = GPU::SPRT(GPU::AreaI16({GPU::Display::Width/2, GPU::Display::Height/2 - 32}, {32, 32}).centered(), {{0, 0}, TriangleClut}, GPU::Color24::Grey()).linked();
|
static auto rect10 = GPU::SPRT::create(GPU::AreaI16({GPU::Display::Width/2, GPU::Display::Height/2 - 32}, {32, 32}).centered(), {{0, 0}, TriangleClut}, GPU::Color24::Grey()).linked();
|
||||||
|
|
||||||
static void load_assets() {
|
static void load_assets() {
|
||||||
static const CDFile Assets[] = {
|
static const CDFile Assets[] = {
|
||||||
|
|
|
@ -44,10 +44,12 @@ namespace JabyEngine {
|
||||||
|
|
||||||
Color24 color;
|
Color24 color;
|
||||||
Code code;
|
Code code;
|
||||||
Vertex position;
|
Vertex position;
|
||||||
|
|
||||||
constexpr RECT_BASE_F() = default;
|
static constexpr RECT_BASE_F create(const Vertex& position, const Color24& color) {
|
||||||
constexpr RECT_BASE_F(const Vertex& position, const Color24& color) : color(color), code(IdentityCode), position(position) {
|
return RECT_BASE_F {
|
||||||
|
.color = color, .code = IdentityCode, .position = position
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -62,19 +64,31 @@ namespace JabyEngine {
|
||||||
PagePosition page;
|
PagePosition page;
|
||||||
PageClut clut;
|
PageClut clut;
|
||||||
|
|
||||||
constexpr RECT_BASE_T() = default;
|
static constexpr RECT_BASE_T create(const Vertex& position, const PagePositionClut& page, const Color24& color = Color24::Grey()) {
|
||||||
constexpr RECT_BASE_T(const Vertex& position, const PagePositionClut& page, const Color24& color = Color24::Grey()) : color(color), code(IdentityCode), position(position), page(page.page), clut(page.clut) {
|
return RECT_BASE_T {
|
||||||
|
.color = color, .code = IdentityCode, .position = position, .page = page.page, .clut = page.clut
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename RectCode::SizeType Size>
|
template<typename RectCode::SizeType Size>
|
||||||
struct RECT_F : public RECT_BASE_F<Size>, public internal::RenderPrimitive<RECT_F<Size>>, public internal::LinkedElementCreator<RECT_F<Size>> {
|
struct RECT_F : public RECT_BASE_F<Size>, public internal::RenderPrimitive<RECT_F<Size>>, public internal::LinkedElementCreator<RECT_F<Size>> {
|
||||||
using RECT_BASE_F<Size>::RECT_BASE_F;
|
static constexpr RECT_F create(const Vertex& position, const Color24& color) {
|
||||||
|
RECT_F rect;
|
||||||
|
|
||||||
|
static_cast<RECT_BASE_F<Size>&>(rect) = RECT_BASE_F<Size>::create(position, color);
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename RectCode::SizeType Size>
|
template<typename RectCode::SizeType Size>
|
||||||
struct RECT_T : public RECT_BASE_T<Size>, public internal::RenderPrimitive<RECT_T<Size>>, public internal::LinkedElementCreator<RECT_T<Size>> {
|
struct RECT_T : public RECT_BASE_T<Size>, public internal::RenderPrimitive<RECT_T<Size>>, public internal::LinkedElementCreator<RECT_T<Size>> {
|
||||||
using RECT_BASE_T<Size>::RECT_BASE_T;
|
static constexpr RECT_T create(const Vertex& position, const PagePositionClut& page, const Color24& color = Color24::Grey()) {
|
||||||
|
RECT_T rect;
|
||||||
|
|
||||||
|
static_cast<RECT_BASE_T<Size>&>(rect) = RECT_BASE_T<Size>::create(position, page, color);
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,8 +98,12 @@ namespace JabyEngine {
|
||||||
struct TILE : public internal::RECT_BASE_F<internal::RectCode::SizeType::Variable>, public internal::RenderPrimitive<TILE>, public internal::LinkedElementCreator<TILE> {
|
struct TILE : public internal::RECT_BASE_F<internal::RectCode::SizeType::Variable>, public internal::RenderPrimitive<TILE>, public internal::LinkedElementCreator<TILE> {
|
||||||
SizeI16 size;
|
SizeI16 size;
|
||||||
|
|
||||||
constexpr TILE() = default;
|
static constexpr TILE create(const AreaI16& area, const Color24& color) {
|
||||||
constexpr TILE(const AreaI16& area, const Color24& color) : RECT_BASE_F(area.position, color), size(area.size) {
|
TILE tile;
|
||||||
|
|
||||||
|
static_cast<RECT_BASE_F&>(tile) = RECT_BASE_F::create(area.position, color);
|
||||||
|
tile.size = area.size;
|
||||||
|
return tile;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -95,8 +113,12 @@ namespace JabyEngine {
|
||||||
struct SPRT : public internal::RECT_BASE_T<internal::RectCode::SizeType::Variable>, public internal::RenderPrimitive<SPRT>, public internal::LinkedElementCreator<SPRT> {
|
struct SPRT : public internal::RECT_BASE_T<internal::RectCode::SizeType::Variable>, public internal::RenderPrimitive<SPRT>, public internal::LinkedElementCreator<SPRT> {
|
||||||
SizeI16 size;
|
SizeI16 size;
|
||||||
|
|
||||||
constexpr SPRT() = default;
|
static constexpr SPRT create(const AreaI16& area, const PagePositionClut& page, const Color24& color = Color24::Grey()) {
|
||||||
constexpr SPRT(const AreaI16& area, const PagePositionClut& page, const Color24& color = Color24::Grey()) : RECT_BASE_T(area.position, page, color), size(area.size) {
|
SPRT sprt;
|
||||||
|
|
||||||
|
static_cast<RECT_BASE_T&>(sprt) = RECT_BASE_T::create(area.position, page, color);
|
||||||
|
sprt.size = area.size;
|
||||||
|
return sprt;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue