Skip to content

Commit 0a4dd37

Browse files
committed
begin implementing legacy groups set function
1 parent 020fad0 commit 0a4dd37

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

rct-graphics-helper/properties/vehicle_properties.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,20 @@ def __init__(self, section_id, name, description, default_value):
2929

3030
def CreateSpriteEnum(defaultValue):
3131
return (
32-
("0", "Disabled" + (defaultValue == 0 and " (Default)" or ""), "No sprites are rendered", 0),
33-
("1", "1" + (defaultValue == 1 and " (Default)" or ""), "One sprite rendered", 1),
34-
("2", "2" + (defaultValue == 2 and " (Default)" or ""), "Two sprites rendered", 2),
35-
("4", "4" + (defaultValue == 4 and " (Default)" or ""), "Four sprites rendered", 4),
36-
("8", "8" + (defaultValue == 8 and " (Default)" or ""), "Eight sprites rendered", 8),
37-
("16", "16" + (defaultValue == 16 and " (Default)" or ""), "Sixteen sprites rendered", 16),
38-
("32", "32" + (defaultValue == 32 and " (Default)" or ""), "Thirty-two sprites rendered", 32),
39-
("64", "64" + (defaultValue == 64 and " (Default)" or ""), "Sixty-four sprites rendered", 64)
32+
("0", "Disabled" + (defaultValue == 0 and " (Default)" or ""), "No sprites rendered", 0),
33+
("1", "1" + (defaultValue == 1 and " (Default)" or ""), "1 sprite", 1),
34+
("2", "2" + (defaultValue == 2 and " (Default)" or ""), "2 sprites", 2),
35+
("4", "4" + (defaultValue == 4 and " (Default)" or ""), "4 sprites (recommended minimum)", 4),
36+
("8", "8" + (defaultValue == 8 and " (Default)" or ""), "8 sprites", 8),
37+
("16", "16" + (defaultValue == 16 and " (Default)" or ""), "16 sprites (RCT1 default)", 16),
38+
("32", "32" + (defaultValue == 32 and " (Default)" or ""), "32 sprites (RCT2 default)", 32),
39+
("64", "64" + (defaultValue == 64 and " (Default)" or ""), "64 sprites (OpenRCT2 not yet implemented)", 64)
4040
)
4141

42+
# this is called with self as VehicleProperties
43+
def legacy_groups_to_set(self, value):
44+
difference = [(self.sprite_track_flags[i] != value[i]) * (value[i] and 1 or -1) for i in range(len(self.sprite_track_flags))]
45+
4246
class VehicleProperties(bpy.types.PropertyGroup):
4347
# Create legacy sprite groups
4448
legacy_defaults = []
@@ -52,7 +56,9 @@ class VehicleProperties(bpy.types.PropertyGroup):
5256
name="Track Pieces",
5357
default=legacy_defaults,
5458
description="Which track pieces to render sprites for",
55-
size=len(legacy_spritegroups))
59+
size=len(legacy_spritegroups),
60+
set = legacy_groups_to_set
61+
)
5662

5763
# Create modern sprite groups
5864
for key, config in sprite_group_metadata.items():

0 commit comments

Comments
 (0)