diff --git a/src/nostalgia/modules/core/include/nostalgia/core/gfx.hpp b/src/nostalgia/modules/core/include/nostalgia/core/gfx.hpp index e15a97d3..80923458 100644 --- a/src/nostalgia/modules/core/include/nostalgia/core/gfx.hpp +++ b/src/nostalgia/modules/core/include/nostalgia/core/gfx.hpp @@ -143,6 +143,14 @@ ox::Error loadBgTileSheet( size_t srcTileIdx, size_t tileCnt) noexcept; +ox::Error loadBgTileSheet( + Context &ctx, + unsigned cbb, + ox::FileAddress const&tsAddr, + size_t dstTileIdx, + size_t srcTileIdx, + size_t tileCnt) noexcept; + ox::Error loadBgTileSheet( Context &ctx, unsigned cbb, diff --git a/src/nostalgia/modules/core/src/gba/gfx.cpp b/src/nostalgia/modules/core/src/gba/gfx.cpp index 8b87084c..c2dffd56 100644 --- a/src/nostalgia/modules/core/src/gba/gfx.cpp +++ b/src/nostalgia/modules/core/src/gba/gfx.cpp @@ -61,21 +61,6 @@ ox::Error loadSpritePalette( return {}; } -ox::Error loadBgPalette( - Context &ctx, - size_t palBank, - ox::FileAddress const&paletteAddr) noexcept { - oxRequire(pal, keel::readObj(keelCtx(ctx), paletteAddr)); - return loadBgPalette(ctx, palBank, *pal, 0); -} - -ox::Error loadSpritePalette( - Context &ctx, - ox::FileAddress const&paletteAddr) noexcept { - oxRequire(pal, keel::readObj(keelCtx(ctx), paletteAddr)); - return loadSpritePalette(ctx, *pal, 0); -} - static ox::Error loadTileSheetSet( Context &ctx, ox::Span tileMapTargetMem, @@ -156,15 +141,6 @@ ox::Error loadBgTileSheet( return {}; } -ox::Error loadBgTileSheet( - Context &ctx, - unsigned cbb, - ox::FileAddress const&tilesheetAddr, - ox::Optional const&paletteBank) noexcept { - oxRequire(ts, keel::readObj(keelCtx(ctx), tilesheetAddr)); - return loadBgTileSheet(ctx, cbb, *ts, paletteBank); -} - ox::Error loadBgTileSheet( Context &ctx, unsigned const cbb, @@ -206,14 +182,6 @@ ox::Error loadSpriteTileSheet( return {}; } -ox::Error loadSpriteTileSheet( - Context &ctx, - ox::FileAddress const&tilesheetAddr, - bool loadDefaultPalette) noexcept { - oxRequire(ts, keel::readObj(keelCtx(ctx), tilesheetAddr)); - return loadSpriteTileSheet(ctx, *ts, loadDefaultPalette); -} - ox::Error loadSpriteTileSheet( Context &ctx, TileSheetSet const&set) noexcept { diff --git a/src/nostalgia/modules/core/src/gfx.cpp b/src/nostalgia/modules/core/src/gfx.cpp index 85f64009..46102256 100644 --- a/src/nostalgia/modules/core/src/gfx.cpp +++ b/src/nostalgia/modules/core/src/gfx.cpp @@ -2,6 +2,7 @@ * Copyright 2016 - 2024 Gary Talent (gary@drinkingtea.net). All rights reserved. */ +#include #include namespace nostalgia::core { @@ -17,6 +18,49 @@ int tileRows(Context&) noexcept { return GbaTileRows; } +ox::Error loadBgPalette( + Context &ctx, + size_t palBank, + ox::FileAddress const&paletteAddr) noexcept { + oxRequire(pal, keel::readObj(keelCtx(ctx), paletteAddr)); + return loadBgPalette(ctx, palBank, *pal, 0); +} + +ox::Error loadSpritePalette( + Context &ctx, + ox::FileAddress const&paletteAddr) noexcept { + oxRequire(pal, keel::readObj(keelCtx(ctx), paletteAddr)); + return loadSpritePalette(ctx, *pal, 0); +} + +ox::Error loadBgTileSheet( + Context &ctx, + unsigned cbb, + ox::FileAddress const&tsAddr, + size_t dstTileIdx, + size_t srcTileIdx, + size_t tileCnt) noexcept { + oxRequire(ts, keel::readObj(keelCtx(ctx), tsAddr)); + return loadBgTileSheet(ctx, cbb, *ts, dstTileIdx, srcTileIdx, tileCnt); +} + +ox::Error loadBgTileSheet( + Context &ctx, + unsigned cbb, + ox::FileAddress const&tilesheetAddr, + ox::Optional const&paletteBank) noexcept { + oxRequire(ts, keel::readObj(keelCtx(ctx), tilesheetAddr)); + return loadBgTileSheet(ctx, cbb, *ts, paletteBank); +} + +ox::Error loadSpriteTileSheet( + Context &ctx, + ox::FileAddress const&tilesheetAddr, + bool loadDefaultPalette) noexcept { + oxRequire(ts, readObj(keelCtx(ctx), tilesheetAddr)); + return loadSpriteTileSheet(ctx, *ts, loadDefaultPalette); +} + // map ASCII values to the nostalgia charset constexpr ox::Array charMap = { 0, diff --git a/src/nostalgia/modules/core/src/opengl/gfx.cpp b/src/nostalgia/modules/core/src/opengl/gfx.cpp index a86dde82..dc10de05 100644 --- a/src/nostalgia/modules/core/src/opengl/gfx.cpp +++ b/src/nostalgia/modules/core/src/opengl/gfx.cpp @@ -531,26 +531,6 @@ ox::Error loadSpritePalette( return {}; } -ox::Error loadBgPalette( - Context &ctx, - size_t palBank, - ox::FileAddress const&paletteAddr) noexcept { - auto &kctx = keelCtx(ctx.turbineCtx); - oxRequire(palette, readObj(kctx, paletteAddr)); - renderer::loadPalette(ctx.bgPalette, palBank * 16 * 4, ctx.bgShader, *palette); - return {}; -} - -ox::Error loadSpritePalette( - Context &ctx, - ox::FileAddress const&paletteAddr) noexcept { - auto &kctx = keelCtx(ctx.turbineCtx); - oxRequire(palette, readObj(kctx, paletteAddr)); - ox::Array pal; - renderer::loadPalette(pal, 0, ctx.spriteShader, *palette); - return {}; -} - static ox::Result buildSetTsd( Context &ctx, TileSheetSet const&set) noexcept { @@ -630,16 +610,6 @@ ox::Error loadBgTileSheet( return {}; } -ox::Error loadBgTileSheet( - Context &ctx, - uint_t cbb, - ox::FileAddress const&tilesheetAddr, - ox::Optional const&paletteBank) noexcept { - auto &kctx = keelCtx(ctx.turbineCtx); - oxRequire(ts, readObj(kctx, tilesheetAddr)); - return loadBgTileSheet(ctx, cbb, *ts, paletteBank); -} - ox::Error loadBgTileSheet( Context &ctx, unsigned cbb, @@ -662,15 +632,6 @@ ox::Error loadSpriteTileSheet( return {}; } -ox::Error loadSpriteTileSheet( - Context &ctx, - ox::FileAddress const&tilesheetAddr, - bool loadDefaultPalette) noexcept { - auto &kctx = keelCtx(ctx.turbineCtx); - oxRequire(ts, readObj(kctx, tilesheetAddr)); - return loadSpriteTileSheet(ctx, *ts, loadDefaultPalette); -} - ox::Error loadSpriteTileSheet( Context &ctx, TileSheetSet const&set) noexcept {