Palettes - emd4600/SporeModder-FX GitHub Wiki

Spore uses palettes to display parts, paints and city/tribe planners.

Palettes are made up four different types of files:

  • Categories: Each one of the separate buttons you see in the palette: mouths, feet, etc. They go in the creature_editor_palette_categories~ folder.
  • Pages: Each one of the pages inside a category. They go in the creature_editor_palette_pages~ folder.
  • Items: This type of file specifies which items are shown (and where) in each page. They go in the creature_editor_palette_items~ folder.
  • Palette lists: A file that specifies which pages are used. They go in the creature_editor_palette~ folder.

That list specifies the folder where each file must go, but that's just for creature parts; depending on the editor, and whether it's parts or paints, the folder changes. Below there's a complete list.

How Palette Codes really work

This section explains in detail how the palette group IDs of each folder are really selected. This section only has interest for people that want to create their own editor with its own palette.

Editors store their palette information in the palette_definition~ folder, in Property Lists. If you take a look at Spore files there, you will notice something strange: the files don't have normal names, but use a hash like 0x000000XX. That's important, and if you create a custom palette you need to use it as well: those last two digits are the palette code. When you create your own palette with your own palette code (remember: only last two digits matter!) the group IDs of the folders that your palette will use are (replace XX with your palette code):

..._palette~	0x406B6BXX
..._palette_pages~	0x406B6CXX
..._palette_categories~	0x406B6EXX
..._palette_items~	0x406B6DXX

Now let's dig deeper into those palette files. They are quite simple: you only need to specify in which folder parts/paints icons are stored, and the parent file (so most palette properties are set for you):

key palettePaletteThumbnailGroupID ufoparticons~!0xFFFFFFFF
# There's also TemplatePalettePaint.prop
key parent palette_config~!TemplatePaletteParts.prop

Palette Properties

A list of all palette properties:

  • key palettePaletteLayoutFile: The name of an SPUI layout file where categories will be placed.
  • key palettePaletteThumbnailGroupID: The name of the folder where the icons for this palette items are stored. The name has to be in the "group" of the key, for example: ufoparticons~!0xFFFFFFFF
  • int32 palettePaletteStartupCategory: The index of the category that is selected by default. Usually this is 0, that is, the first category is the one selected.

Used Palette Folders

A list of all palette-related folders used by Spore:

lvl0cell_editor_palette~
lvl0cell_editor_palette_pages~
lvl0cell_editor_palette_items~
lvl0cell_editor_palette_category~

lvl1cell_editor_palette_category~
lvl1cell_editor_palette_pages~
lvl1cell_editor_palette_items~
lvl1cell_editor_palette~

completecell_editor_palette~
completecell_editor_palette_category~
completecell_editor_palette_pages~
completecell_editor_palette_items~

completecell_paint_palette~
completecell_paint_palette_pages~
completecell_paint_palette_items~
completecell_paint_palette_category~

cell_paint_palette_items~
cell_paint_palette~
cell_paint_palette_pages~
cell_paint_palette_category~

celltocreature_editor_palette_categories~
celltocreature_editor_palette_pages~
celltocreature_editor_palette_items~
celltocreature_editor_palette~

creature_editor_palette_categories~
creature_editor_palette_pages~
creature_editor_palette_items~
creature_editor_palette~

creature_paint_palette_items~
creature_paint_palette~
creature_paint_palette_pages~
creature_paint_palette_category~

building_editor_palette_categories~
building_editor_palette_pages~
building_editor_palette_items~
building_editor_palette~
building_editor_palette-complete~
building_editor_palette-entertainment~
building_editor_palette-cityhall~
building_editor_palette-house~

building_paint_palette~
building_paint_palette_category~
building_paint_palette_pages~
building_paint_palette_items~

accesories_editor_palette_items~
accesories_editor_palette~
accesories_editor_palette_pages~
accesories_editor_palette_category~

flora_editor_palette_categories~
flora_editor_palette_pages~
flora_editor_palette_items~
flora_editor_palette~

flora_paint_palette_category~
flora_paint_palette_pages~
flora_paint_palette_items~
flora_paint_palette~

cake_editor_palette_items~
cake_editor_palette~
cake_editor_palette_pages~
cake_editor_palette_category~

tribeaccesories_editor_palette~
spaceaccesories_editor_palette~

vehicle_editor_palette-militaryair~
vehicle_editor_palette-harvester~
vehicle_editor_palette_categories~
vehicle_editor_palette_pages~
vehicle_editor_palette_items~
vehicle_editor_palette-culturalair~
vehicle_editor_palette-diplomaticair~
vehicle_editor_palette-complete~
vehicle_editor_palette-aircomplete~
vehicle_editor_palette-culturalsea~
vehicle_editor_palette-diplomaticsea~
vehicle_editor_palette-seacomplete~
vehicle_editor_palette-militarysea~
vehicle_editor_palette-culturalland~
vehicle_editor_palette-diplomaticland~
vehicle_editor_palette-militaryland~
vehicle_editor_palette-landcomplete~

vehicle_paint_palette_category~
vehicle_paint_palette_pages~
vehicle_paint_palette_items~
vehicle_paint_palette~

ufo_editor_palette_pages~
ufo_editor_palette_items~
ufo_editor_palette~
ufo_editor_palette_categories~

ufo_paint_palette~

captain_editor_palette~
captain_editor_pages~
captain_editor_palette_items~
captain_editor_palette_category~
captain_editor_palette_category2~
captain_editor_palette_pages2~
captain_editor_palette2~
captain_editor_palette_items2~

Adventure_brush_palette_items~
Adventure_brush_palette~
Adventure_brush_palette_pages~

Adventure_props_palette_items~
Adventure_props_palette_pages~
Adventure_props_palette_categories~

Scenario_mode_palette~
Scenario_mode_palette_items~
Scenario_mode_palette_pages~

militarycity_planner_palette~
culturalcity_planner_palette~
economiccity_planner_palette~
colony_planner_palette~
Planet_editor_palette~
completetribe_planner_palette~
tribe_planner_palette~
planners_palette_category~