Skip to content

Commit e6fa0e4

Browse files
Rework palette information into palettes.dat (#25681)
* Rework all palette information into new palette.dat * Harmonise order between sprites.json, SpriteIds.h, kPaletteToG1Offset * Rename G1 counterparts for completeness/documentation * Bump libsawyer to v1.4.0
1 parent fa72aaf commit e6fa0e4

206 files changed

Lines changed: 1832 additions & 555 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,13 +164,14 @@ jobs:
164164
path: OpenRCT2
165165
- name: Download gxc
166166
run: |
167-
curl -Lo tools.tar.gz https://github.com/IntelOrca/libsawyer/releases/download/v1.3.0/libsawyer-tools-linux-x64.tar.gz
167+
curl -Lo tools.tar.gz https://github.com/OpenRCT2/libsawyer/releases/download/v1.4.0/libsawyer-tools-linux-x64.tar.gz
168168
mkdir -p "$GITHUB_WORKSPACE/bin"
169169
tar -C "$GITHUB_WORKSPACE/bin" -xf tools.tar.gz
170170
echo "$GITHUB_WORKSPACE/bin" >> $GITHUB_PATH
171171
- name: Build graphics .dat files
172172
run: |
173173
gxc build g2.dat OpenRCT2/resources/g2/sprites.json
174+
gxc build palettes.dat OpenRCT2/resources/palettes/sprites.json
174175
gxc build fonts.dat OpenRCT2/resources/fonts/sprites.json
175176
gxc build tracks.dat OpenRCT2/resources/tracks/sprites.json
176177
- name: Upload graphics .dat files
@@ -179,6 +180,7 @@ jobs:
179180
name: graphics-${{ needs.build_variables.outputs.name }}
180181
path: |
181182
g2.dat
183+
palettes.dat
182184
fonts.dat
183185
tracks.dat
184186
windows:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ libversion
2525
# Downloaded or built data files
2626
data/g2.dat
2727
data/fonts.dat
28+
data/palettes.dat
2829
data/tracks.dat
2930
data/sequence
3031
data/object

CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,9 @@ if(NOT DISABLE_GUI)
396396
include("${ROOT_DIR}/src/openrct2-ui/CMakeLists.txt" NO_POLICY_SCOPE)
397397
endif()
398398

399-
# graphics files (g2.dat and font.dat)
399+
# graphics files (g2.dat, fonts.dat, palettes.dat, tracks.dat)
400400
if (NOT CMAKE_CROSSCOMPILING)
401-
set(graphics_files "g2" "fonts" "tracks")
401+
set(graphics_files "g2" "fonts" "palettes" "tracks")
402402

403403
foreach(graphics_file ${graphics_files})
404404
set(output_file "${graphics_file}.dat")
@@ -505,6 +505,7 @@ if (NOT MACOS_BUNDLE OR (MACOS_BUNDLE AND WITH_TESTS))
505505
endif ()
506506
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/g2.dat" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
507507
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fonts.dat" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
508+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/palettes.dat" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
508509
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tracks.dat" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
509510
install(DIRECTORY "data/" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
510511

openrct2.targets

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<G2InputFile Condition="'$(G2InputFile)' == ''">$(ResourcesPath)g2\sprites.json</G2InputFile>
2121
<FontsInputFile Condition="'$(FontsInputFile)' == ''">$(ResourcesPath)fonts\sprites.json</FontsInputFile>
2222
<TracksInputFile Condition="'$(TracksInputFile)' == ''">$(ResourcesPath)tracks\sprites.json</TracksInputFile>
23+
<PalettesInputFile Condition="'$(PalettesInputFile)' == ''">$(ResourcesPath)palettes\sprites.json</PalettesInputFile>
2324
<DataOutputPath Condition="'$(DataOutputPath)' == ''">$(OutDir)data\</DataOutputPath>
2425
</PropertyGroup>
2526

@@ -28,6 +29,7 @@
2829
<G2Input Include="$(G2InputFile)" />
2930
<FontsInput Include="$(FontsInputFile)" />
3031
<TracksInput Include="$(TracksInputFile)" />
32+
<PalettesInput Include="$(PalettesInputFile)" />
3133

3234
<LanguageFiles Include="$(DataLanguagePath)**\*"
3335
Exclude="$(DataLanguagePath)*.bak;
@@ -162,4 +164,24 @@
162164
AlwaysCreate="true" />
163165
</Target>
164166
<Target Name="tracks" DependsOnTargets="BuildTracks" />
167+
168+
<Target Name="BuildPalettes"
169+
AfterTargets="Build"
170+
Inputs="@(PalettesInput)"
171+
Outputs="$(DataOutputPath)palettes.dat"
172+
Condition="'$(TestConfig)' != 'true' and ('$(Platform)' != 'ARM64' or '$(PROCESSOR_ARCHITECTURE)' == 'ARM64')">
173+
174+
<MakeDir Directories="$(DataOutputPath)" />
175+
176+
<Exec Command="&quot;$(GraphicsCLIPath)&quot; sprite build &quot;$(DataOutputPath)palettes.dat&quot; &quot;%(PalettesInput.FullPath)&quot;"
177+
ConsoleToMSBuild="true"
178+
IgnoreExitCode="false">
179+
<Output TaskParameter="ConsoleOutput" PropertyName="PalettesBuildOutput" />
180+
</Exec>
181+
182+
<Touch Files="$(DataOutputPath)palettes.dat"
183+
ForceTouch="true"
184+
AlwaysCreate="true" />
185+
</Target>
186+
<Target Name="palettes" DependsOnTargets="BuildPalettes" />
165187
</Project>

resources/g2/sprites.json

Lines changed: 0 additions & 240 deletions
Original file line numberDiff line numberDiff line change
@@ -542,246 +542,6 @@
542542
{
543543
"path": "loader/loader_gokarts_vehicles.png"
544544
},
545-
{
546-
"path": "palette_map/palette_map_dark_olive_dark.png",
547-
"palette": "keep",
548-
"format": "raw"
549-
},
550-
{
551-
"path": "palette_map/palette_map_dark_olive_light.png",
552-
"palette": "keep",
553-
"format": "raw"
554-
},
555-
{
556-
"path": "palette_map/palette_map_saturated_brown_light.png",
557-
"palette": "keep",
558-
"format": "raw"
559-
},
560-
{
561-
"path": "palette_map/palette_map_bordeaux_red_dark.png",
562-
"palette": "keep",
563-
"format": "raw"
564-
},
565-
{
566-
"path": "palette_map/palette_map_bordeaux_red_light.png",
567-
"palette": "keep",
568-
"format": "raw"
569-
},
570-
{
571-
"path": "palette_map/palette_map_grass_green_dark.png",
572-
"palette": "keep",
573-
"format": "raw"
574-
},
575-
{
576-
"path": "palette_map/palette_map_grass_green_light.png",
577-
"palette": "keep",
578-
"format": "raw"
579-
},
580-
{
581-
"path": "palette_map/palette_map_olive_dark.png",
582-
"palette": "keep",
583-
"format": "raw"
584-
},
585-
{
586-
"path": "palette_map/palette_map_olive_light.png",
587-
"palette": "keep",
588-
"format": "raw"
589-
},
590-
{
591-
"path": "palette_map/palette_map_saturated_green_light.png",
592-
"palette": "keep",
593-
"format": "raw"
594-
},
595-
{
596-
"path": "palette_map/palette_map_tan_dark.png",
597-
"palette": "keep",
598-
"format": "raw"
599-
},
600-
{
601-
"path": "palette_map/palette_map_tan_light.png",
602-
"palette": "keep",
603-
"format": "raw"
604-
},
605-
{
606-
"path": "palette_map/palette_map_dull_purple_light.png",
607-
"palette": "keep",
608-
"format": "raw"
609-
},
610-
{
611-
"path": "palette_map/palette_map_dull_green_dark.png",
612-
"palette": "keep",
613-
"format": "raw"
614-
},
615-
{
616-
"path": "palette_map/palette_map_dull_green_light.png",
617-
"palette": "keep",
618-
"format": "raw"
619-
},
620-
{
621-
"path": "palette_map/palette_map_saturated_purple_dark.png",
622-
"palette": "keep",
623-
"format": "raw"
624-
},
625-
{
626-
"path": "palette_map/palette_map_saturated_purple_light.png",
627-
"palette": "keep",
628-
"format": "raw"
629-
},
630-
{
631-
"path": "palette_map/palette_map_orange_light.png",
632-
"palette": "keep",
633-
"format": "raw"
634-
},
635-
{
636-
"path": "palette_map/palette_map_aqua_dark.png",
637-
"palette": "keep",
638-
"format": "raw"
639-
},
640-
{
641-
"path": "palette_map/palette_map_magenta_light.png",
642-
"palette": "keep",
643-
"format": "raw"
644-
},
645-
{
646-
"path": "palette_map/palette_map_dull_brown_dark.png",
647-
"palette": "keep",
648-
"format": "raw"
649-
},
650-
{
651-
"path": "palette_map/palette_map_dull_brown_light.png",
652-
"palette": "keep",
653-
"format": "raw"
654-
},
655-
{
656-
"path": "palette_map/palette_map_invisible.png",
657-
"palette": "keep",
658-
"format": "raw"
659-
},
660-
{
661-
"path": "palette_map/palette_map_void.png",
662-
"palette": "keep",
663-
"format": "raw"
664-
},
665-
{
666-
"path": "palette_map/palette_map_glass_dark_olive_dark.png",
667-
"palette": "keep",
668-
"format": "raw"
669-
},
670-
{
671-
"path": "palette_map/palette_map_glass_dark_olive_light.png",
672-
"palette": "keep",
673-
"format": "raw"
674-
},
675-
{
676-
"path": "palette_map/palette_map_glass_saturated_brown_light.png",
677-
"palette": "keep",
678-
"format": "raw"
679-
},
680-
{
681-
"path": "palette_map/palette_map_glass_bordeaux_red_dark.png",
682-
"palette": "keep",
683-
"format": "raw"
684-
},
685-
{
686-
"path": "palette_map/palette_map_glass_bordeaux_red_light.png",
687-
"palette": "keep",
688-
"format": "raw"
689-
},
690-
{
691-
"path": "palette_map/palette_map_glass_grass_green_dark.png",
692-
"palette": "keep",
693-
"format": "raw"
694-
},
695-
{
696-
"path": "palette_map/palette_map_glass_grass_green_light.png",
697-
"palette": "keep",
698-
"format": "raw"
699-
},
700-
{
701-
"path": "palette_map/palette_map_glass_olive_dark.png",
702-
"palette": "keep",
703-
"format": "raw"
704-
},
705-
{
706-
"path": "palette_map/palette_map_glass_olive_light.png",
707-
"palette": "keep",
708-
"format": "raw"
709-
},
710-
{
711-
"path": "palette_map/palette_map_glass_saturated_green_light.png",
712-
"palette": "keep",
713-
"format": "raw"
714-
},
715-
{
716-
"path": "palette_map/palette_map_glass_tan_dark.png",
717-
"palette": "keep",
718-
"format": "raw"
719-
},
720-
{
721-
"path": "palette_map/palette_map_glass_tan_light.png",
722-
"palette": "keep",
723-
"format": "raw"
724-
},
725-
{
726-
"path": "palette_map/palette_map_glass_dull_purple_light.png",
727-
"palette": "keep",
728-
"format": "raw"
729-
},
730-
{
731-
"path": "palette_map/palette_map_glass_dull_green_dark.png",
732-
"palette": "keep",
733-
"format": "raw"
734-
},
735-
{
736-
"path": "palette_map/palette_map_glass_dull_green_light.png",
737-
"palette": "keep",
738-
"format": "raw"
739-
},
740-
{
741-
"path": "palette_map/palette_map_glass_saturated_purple_dark.png",
742-
"palette": "keep",
743-
"format": "raw"
744-
},
745-
{
746-
"path": "palette_map/palette_map_glass_saturated_purple_light.png",
747-
"palette": "keep",
748-
"format": "raw"
749-
},
750-
{
751-
"path": "palette_map/palette_map_glass_orange_light.png",
752-
"palette": "keep",
753-
"format": "raw"
754-
},
755-
{
756-
"path": "palette_map/palette_map_glass_aqua_dark.png",
757-
"palette": "keep",
758-
"format": "raw"
759-
},
760-
{
761-
"path": "palette_map/palette_map_glass_magenta_light.png",
762-
"palette": "keep",
763-
"format": "raw"
764-
},
765-
{
766-
"path": "palette_map/palette_map_glass_dull_brown_dark.png",
767-
"palette": "keep",
768-
"format": "raw"
769-
},
770-
{
771-
"path": "palette_map/palette_map_glass_dull_brown_light.png",
772-
"palette": "keep",
773-
"format": "raw"
774-
},
775-
{
776-
"path": "palette_map/palette_map_glass_invisible.png",
777-
"palette": "keep",
778-
"format": "raw"
779-
},
780-
{
781-
"path": "palette_map/palette_map_glass_void.png",
782-
"palette": "keep",
783-
"format": "raw"
784-
},
785545
{
786546
"path": "surface/glassy_recolourable.png",
787547
"x": -32,
1016 Bytes
1020 Bytes
969 Bytes
1.18 KB
1.18 KB

0 commit comments

Comments
 (0)