[jasper/world] Make palBank fields 8 bit
All checks were successful
Build / build (push) Successful in 3m48s

This commit is contained in:
Gary Talent 2025-01-14 00:11:32 -06:00
parent 68e2d390ba
commit 9187c07551
6 changed files with 9 additions and 9 deletions

View File

@ -30,7 +30,7 @@ struct WorldObject {
ObjectId id{};
ox::String name;
uint16_t intervalMs{};
uint16_t palBank{};
uint8_t palBank{};
ncore::SubSheetId subsheetId{};
CollisionMap collisionMap{};
uint8_t frames{};

View File

@ -82,10 +82,10 @@ OX_MODEL_END()
struct ObjTileRefSet {
static constexpr auto TypeName = "net.drinkingtea.jasper.world.ObjTileRefSet";
static constexpr auto TypeVersion = 1;
uint16_t palBank{};
uint16_t tilesheetIdx{};
uint16_t cbbIdx{};
uint8_t cbb{};
uint8_t palBank{};
// which tilesheet to use
uint8_t tilesheetId{};
uint8_t tileCnt{};
@ -95,10 +95,10 @@ struct ObjTileRefSet {
};
OX_MODEL_BEGIN(ObjTileRefSet)
OX_MODEL_FIELD(palBank)
OX_MODEL_FIELD(tilesheetIdx)
OX_MODEL_FIELD(cbbIdx)
OX_MODEL_FIELD(cbb)
OX_MODEL_FIELD(palBank)
OX_MODEL_FIELD(tilesheetId)
OX_MODEL_FIELD(tileCnt)
OX_MODEL_FIELD(frames)

View File

@ -15,8 +15,8 @@ RmPalette::RmPalette(WorldObjectSet &doc, size_t const rmIdx) noexcept:
m_objUpdates.reserve(m_doc.objects.size());
for (size_t i = 0; auto const&obj : m_doc.objects) {
if (obj.palBank >= m_rmIdx) {
auto const newPalBank = static_cast<uint16_t>(obj.palBank == m_rmIdx ?
0 : obj.palBank - 1);
uint8_t const newPalBank = obj.palBank == m_rmIdx ?
0 : obj.palBank - 1;
m_objUpdates.emplace_back(ObjUpdate{
.idx = i,
.oldPalBank = obj.palBank,

View File

@ -19,8 +19,8 @@ class RmPalette: public studio::UndoCommand {
size_t const m_rmIdx = 0;
struct ObjUpdate {
size_t idx{};
uint16_t oldPalBank{};
uint16_t newPalBank{};
uint8_t oldPalBank{};
uint8_t newPalBank{};
};
ox::Vector<ObjUpdate> m_objUpdates;
public:

View File

@ -183,7 +183,7 @@ void WorldObjectSetEditorImGui::drawObjEditor() noexcept {
ig::IDStackItem const subsheetSelectorStackItem("SubsheetSelector");
if (ig::ComboBox("Palette", m_paletteDisplayNames, m_objEditor.palette)) {
std::ignore = pushCommand<EditObjectPalette>(
m_doc, m_selectedObj, static_cast<uint16_t>(m_objEditor.palette));
m_doc, m_selectedObj, static_cast<uint8_t>(m_objEditor.palette));
}
if (ImGui::InputInt("Frames", &m_objEditor.frames, 1)) {
m_objEditor.frames = ox::max(m_objEditor.frames, 1);

View File

@ -161,9 +161,9 @@ ox::Result<uint8_t> WorldStaticLoader::setupTileResrc(DocObjRef const&docObjRef)
}
auto const out = static_cast<uint8_t>(m_worldStatic.objTileRefSets.size());
auto const&refSet = m_worldStatic.objTileRefSets.emplace_back(ObjTileRefSet{
.palBank = obj->palBank,
.tilesheetIdx = static_cast<uint16_t>(*subsheetOffset),
.cbbIdx = m_cbbIt,
.palBank = obj->palBank,
.tilesheetId = tsIdx,
.tileCnt = subsheetTileCnt(*subsheet),
.frames = obj->frames,