Palette Editor - CheMiguel23/SMB3-Bank12 GitHub Wiki
Last updated on 2026-04-05
Palette Editor |
The Palette Editor is a floating window for editing palette colors across the project. It does not block interaction with other editors - levels, maps, and graphics can be freely browsed while the window is open, and all changes are reflected immediately in any open editor (except the Text Editor).
The window can be closed via Cancel to discard all changes made in the current session, or OK to commit and close.
đĄ Undo and redo are available for the current session via the arrow buttons at the bottom left.
A dropdown at the top selects the tileset whose palettes are displayed and edited. 18 tilesets are available.
â ī¸ Some tilesets share the same underlying banks - for example, Hills and Underground. Selecting any shared tileset shows the same palette set, and editing one affects all tilesets sharing that bank. A warning is displayed below the dropdown indicating which other tilesets share the current selection.
đĄ If a level or map is open when the Palette Editor is launched, the tileset is pre-selected to match. World maps always use the
Maptileset. The active BG and SPR palette rows for the open level or map are highlighted in blue.
Swapping colors in action |
Eight background palettes, each consisting of 4 sub-palettes of 4 colors each.
âšī¸ The first color of each palette is shared across all 4 of its sub-palettes. It can only be edited from the first sub-palette - the first color slot in the remaining sub-palettes is disabled. All 4 sub-palettes display the shared color for reference. In practice this color is often used as transparent, though this is not always the case. Each palette therefore contains 13 unique editable colors.
â ī¸ The first color slot does not yet have a visual indicator distinguishing it from editable slots. This will be added in a future version.
Editing a color:
Click any editable color swatch to open the NES color picker - a 4Ã16 grid of all 64 NES color entries. Selecting a color immediately replaces the original. All changes are reflected live in any open editor.
âšī¸ The NES PPU generates color based on composite video output. The 64-entry palette includes several duplicate blacks and near-identical greys. All entries are selectable. Colors may appear differently across emulators and displays - the original hardware produced output that varied from TV to TV. A setting to swap between different NES palette definitions is planned for a future version.
Per-row controls:
Each row has two controls on the right:
- Sync button - immediately updates the BG (or SPR) setting in the Header of the currently open level or map to this row's index.
- Reset button - reverts all changes made to this row in the current session.
Four sprite palettes, labeled SPR 8 (0) through SPR 11 (3). The number in brackets is the 0-based index.
Behavior is identical to BG palettes - same color editing, same shared first color rule, same per-row Apply and Reset buttons, same blue row highlight for the active SPR palette of the open level or map.
đĄ The active SPR palette is also highlighted in the Graphics Editor Objects mode when the Palette Editor is open.
Undo / Redo - Step backward or forward through changes made in the current session.
Reset to ROM Defaults - Resets all palettes to the original ROM values.
Cancel - Closes the window and discards all session changes.
OK - Commits all changes and closes the window.
Changelog
2026-04-05 Initial commit