11'''
2- Copyright (c) 2022 RCT Graphics Helper developers
2+ Copyright (c) 2023 RCT Graphics Helper developers
33
44For a complete list of all authors, please refer to the addon's meta info.
55Interested in contributing? Visit https://github.com/oli414/Blender-RCT-Graphics
66
77RCT Graphics Helper is licensed under the GNU General Public License version 3.
88'''
99
10- track_angle_sections_names = [
11- "VEHICLE_SPRITE_FLAG_FLAT" ,
12- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPES" ,
13- "VEHICLE_SPRITE_FLAG_STEEP_SLOPES" ,
14- "VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES" ,
15- "VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES" ,
16- "VEHICLE_SPRITE_FLAG_FLAT_BANKED" ,
17- "VEHICLE_SPRITE_FLAG_INLINE_TWISTS" ,
18- "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
19- "VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
20- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
21- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS" ,
22- "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS" ,
23- "VEHICLE_SPRITE_FLAG_CORKSCREWS" ,
24- "VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION" ,
25- "VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL"
10+ # This is the order sprite groups are rendered in
11+ sprite_group_names = [
12+ "slopeFlat" , "slopes12" , "slopes25" , "slopes42" , "slopes60" ,
13+ "slopes75" , "slopes90" , "slopesLoop" , "slopeInverted" , "slopes8" ,
14+ "slopes16" , "slopes50" , "flatBanked22" , "flatBanked45" , "flatBanked67" ,
15+ "flatBanked90" , "inlineTwists" , "slopes12Banked22" , "slopes8Banked22" , "slopes25Banked22" ,
16+ "slopes25Banked45" , "slopes12Banked45" , "slopes25Banked67" , "slopes25Banked90" , "slopes25InlineTwists" ,
17+ "slopes42Banked22" , "slopes42Banked45" , "slopes42Banked67" , "slopes42Banked90" , "slopes60Banked22" ,
18+ "corkscrews" , "restraintAnimation" , "curvedLiftHillUp" , "curvedLiftHillDown"
2619]
2720
28- track_angle_sections = {
29- "VEHICLE_SPRITE_FLAG_FLAT" : [
21+ # The sprites to render in each sprite group. The given rotation values are used in simple mode
22+ sprite_group_manifest = {
23+ 'slopeFlat' : [
3024 [False , 32 , 0 , 0 , 0 ]
3125 ],
32- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPES" : [
26+ 'slopes12' : [
3327 [False , 4 , 11.1026 , 0 , 0 ],
34- [False , 4 , - 11.1026 , 0 , 0 ],
28+ [False , 4 , - 11.1026 , 0 , 0 ]
29+ ],
30+ 'slopes25' : [
3531 [False , 32 , 22.2052 , 0 , 0 ],
3632 [False , 32 , - 22.2052 , 0 , 0 ]
3733 ],
38- "VEHICLE_SPRITE_FLAG_STEEP_SLOPES" : [
34+ 'slopes42' : [
3935 [False , 8 , 40.36 , 0 , 0 ],
40- [False , 8 , - 40.36 , 0 , 0 ],
36+ [False , 8 , - 40.36 , 0 , 0 ]
37+ ],
38+ 'slopes60' : [
4139 [False , 32 , 58.5148 , 0 , 0 ],
4240 [False , 32 , - 58.5148 , 0 , 0 ]
4341 ],
44- "VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES" : [
42+ 'slopes75' : [
4543 [False , 4 , 75 , 0 , 0 ],
46- [False , 4 , - 75 , 0 , 0 ],
44+ [False , 4 , - 75 , 0 , 0 ]
45+ ],
46+ 'slopes90' : [
4747 [False , 32 , 90 , 0 , 0 ],
48- [False , 32 , - 90 , 0 , 0 ],
48+ [False , 32 , - 90 , 0 , 0 ]
49+ ],
50+ 'slopesLoop' : [
4951 [False , 4 , 105 , 0 , 0 ],
5052 [False , 4 , - 105 , 0 , 0 ],
5153 [False , 4 , 120 , 0 , 0 ],
5557 [False , 4 , 150 , 0 , 0 ],
5658 [False , 4 , - 150 , 0 , 0 ],
5759 [False , 4 , 165 , 0 , 0 ],
58- [False , 4 , - 165 , 0 , 0 ],
60+ [False , 4 , - 165 , 0 , 0 ]
61+ ],
62+ 'slopeInverted' : [
5963 [False , 4 , 180 , 0 , 0 ]
6064 ],
61- "VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES" : [
65+ 'slopes8' : [
6266 [True , 4 , 8.0503 , 0 , 0 ],
63- [True , 4 , - 8.0503 , 0 , 0 ],
67+ [True , 4 , - 8.0503 , 0 , 0 ]
68+ ],
69+ 'slopes16' : [
6470 [True , 4 , 16.1005 , 0 , 0 ],
65- [True , 4 , - 16.1005 , 0 , 0 ],
71+ [True , 4 , - 16.1005 , 0 , 0 ]
72+ ],
73+ 'slopes50' : [
6674 [True , 4 , 49.1035 , 0 , 0 ],
6775 [True , 4 , - 49.1035 , 0 , 0 ]
6876 ],
69- "VEHICLE_SPRITE_FLAG_FLAT_BANKED" : [
77+ 'flatBanked22' : [
7078 [False , 8 , 0 , - 22.5 , 0 ],
71- [False , 8 , 0 , 22.5 , 0 ],
79+ [False , 8 , 0 , 22.5 , 0 ]
80+ ],
81+ 'flatBanked45' : [
7282 [False , 32 , 0 , - 45 , 0 ],
7383 [False , 32 , 0 , 45 , 0 ]
7484 ],
75- "VEHICLE_SPRITE_FLAG_INLINE_TWISTS" : [
76- # The banking sprites are used at the start of a twist ((180-MAX_BANK)/6*FRAME)+MAX_BANK
85+ 'flatBanked67' : [
7786 [False , 4 , 0 , - 67.5 , 0 ],
78- [False , 4 , 0 , 67.5 , 0 ],
87+ [False , 4 , 0 , 67.5 , 0 ]
88+ ],
89+ 'flatBanked90' : [
7990 [False , 4 , 0 , - 90 , 0 ],
80- [False , 4 , 0 , 90 , 0 ],
91+ [False , 4 , 0 , 90 , 0 ]
92+ ],
93+ 'inlineTwists' : [
8194 [False , 4 , 0 , - 112.5 , 0 ],
8295 [False , 4 , 0 , 112.5 , 0 ],
8396 [False , 4 , 0 , - 135 , 0 ],
8497 [False , 4 , 0 , 135 , 0 ],
8598 [False , 4 , 0 , - 157.5 , 0 ],
8699 [False , 4 , 0 , 157.5 , 0 ]
87100 ],
88- "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS" : [
101+ 'slopes12Banked22' : [
89102 [False , 32 , 11.1026 , - 22.5 , 0 ],
90103 [False , 32 , 11.1026 , 22.5 , 0 ],
91104 [False , 32 , - 11.1026 , - 22.5 , 0 ],
92105 [False , 32 , - 11.1026 , 22.5 , 0 ]
93106 ],
94- "VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS" : [
107+ 'slopes8Banked22' : [
95108 [True , 4 , 8.0503 , - 22.5 , 0 ],
96109 [True , 4 , 8.0503 , 22.5 , 0 ],
97110 [True , 4 , - 8.0503 , - 22.5 , 0 ],
98111 [True , 4 , - 8.0503 , 22.5 , 0 ]
99112 ],
100- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS" : [
113+ 'slopes25Banked22' : [
101114 [False , 4 , 22.2052 , - 22.5 , 0 ],
102115 [False , 4 , 22.2052 , 22.5 , 0 ],
103116 [False , 4 , - 22.2052 , - 22.5 , 0 ],
104117 [False , 4 , - 22.2052 , 22.5 , 0 ]
105118 ],
106- "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS" : [
119+ 'slopes25Banked45' : [
107120 [False , 32 , 22.2052 , - 45 , 0 ],
108121 [False , 32 , 22.2052 , 45 , 0 ],
109122 [False , 32 , - 22.2052 , - 45 , 0 ],
110123 [False , 32 , - 22.2052 , 45 , 0 ]
111124 ],
112- "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS" : [
125+ 'slopes12Banked45' : [
113126 [False , 4 , 11.1026 , - 45 , 0 ],
114127 [False , 4 , 11.1026 , 45 , 0 ],
115128 [False , 4 , - 11.1026 , - 45 , 0 ],
116129 [False , 4 , - 11.1026 , 45 , 0 ]
117130 ],
118- "VEHICLE_SPRITE_FLAG_CORKSCREWS" : [
131+ 'slopes25Banked67' : [
132+ [False , 4 , 22.2052 , - 67.5 , 0 ],
133+ [False , 4 , 22.2052 , 67.5 , 0 ],
134+ [False , 4 , - 22.2052 , - 67.5 , 0 ],
135+ [False , 4 , - 22.2052 , 67.5 , 0 ]
136+ ],
137+ 'slopes25Banked90' : [
138+ [False , 4 , 22.2052 , - 90 , 0 ],
139+ [False , 4 , 22.2052 , 90 , 0 ],
140+ [False , 4 , - 22.2052 , - 90 , 0 ],
141+ [False , 4 , - 22.2052 , 90 , 0 ]
142+ ],
143+ 'slopes25InlineTwists' : [
144+ [False , 4 , 22.2052 , - 112.5 , 0 ],
145+ [False , 4 , 22.2052 , 112.5 , 0 ],
146+ [False , 4 , 22.2052 , - 135 , 0 ],
147+ [False , 4 , 22.2052 , 135 , 0 ],
148+ [False , 4 , 22.2052 , - 157.5 , 0 ],
149+ [False , 4 , 22.2052 , 157.5 , 0 ],
150+ [False , 4 , - 22.2052 , - 112.5 , 0 ],
151+ [False , 4 , - 22.2052 , 112.5 , 0 ],
152+ [False , 4 , - 22.2052 , - 135 , 0 ],
153+ [False , 4 , - 22.2052 , 135 , 0 ],
154+ [False , 4 , - 22.2052 , - 157.5 , 0 ],
155+ [False , 4 , - 22.2052 , 157.5 , 0 ]
156+ ],
157+ 'slopes42Banked22' : [
158+ [False , 8 , 40.36 , - 22.5 , 0 ],
159+ [False , 8 , 40.36 , 22.5 , 0 ],
160+ [False , 8 , - 40.36 , - 22.5 , 0 ],
161+ [False , 8 , - 40.36 , 22.5 , 0 ]
162+ ],
163+ 'slopes42Banked45' : [
164+ [False , 8 , 40.36 , - 45 , 0 ],
165+ [False , 8 , 40.36 , 45 , 0 ],
166+ [False , 8 , - 40.36 , - 45 , 0 ],
167+ [False , 8 , - 40.36 , 45 , 0 ]
168+ ],
169+ 'slopes42Banked67' : [
170+ [False , 8 , 40.36 , - 67.5 , 0 ],
171+ [False , 8 , 40.36 , 67.5 , 0 ],
172+ [False , 8 , - 40.36 ,- 67.5 , 0 ],
173+ [False , 8 , - 40.36 , 67.5 , 0 ]
174+ ],
175+ 'slopes42Banked90' : [
176+ [False , 8 , 40.36 , - 90 , 0 ],
177+ [False , 8 , 40.36 , 90 , 0 ],
178+ [False , 8 , - 40.36 , - 90 , 0 ],
179+ [False , 8 , - 40.36 , 90 , 0 ]
180+ ],
181+ 'slopes60Banked22' : [
182+ [False , 32 , 58.5148 , - 22.5 , 0 ],
183+ [False , 32 , 58.5148 , 22.5 , 0 ],
184+ [False , 32 , - 58.5148 , - 22.5 , 0 ],
185+ [False , 32 , - 58.5148 , 22.5 , 0 ]
186+ ],
187+ 'corkscrews' : [
119188 [False , 4 , 22.21 , 20.7 , 4.11 ],
120189 [False , 4 , 50.77 , 37.76 , 18.43 ],
121190 [False , 4 , 90 , 45 , 45 ],
140209 [False , 4 , - 129.23 , 37.76 , - 71.57 ],
141210 [False , 4 , - 157.79 , 20.7 , - 85.89 ],
142211 ],
143- "VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION" : [
212+ 'restraintAnimation' : [
144213 [False , 4 , 0 , 0 , 0 ]
145214 ],
146- "VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL" : [
215+ 'curvedLiftHillUp' : [
216+ [False , 32 , 9.8287 , 0 , 0 ]
217+ ],
218+ 'curvedLiftHillDown' : [
147219 [False , 32 , 9.8287 , 0 , 0 ]
148220 ]
149221}
222+
223+ # Default sprite precision for full mode, the tooltip for the sprite group, and if the sprite group should be hidden from the list of sprite groups
224+ sprite_group_metadata = {
225+ "slopeFlat" : [32 , "Flat track" ],
226+ "slopes12" : [4 , "Orthogonal flat-to-gentle slope track" ],
227+ "slopes25" : [32 , "Orthogonal gentle slope track" ],
228+ "slopes42" : [8 , "Gentle-to-steep slope track" ],
229+ "slopes60" : [32 , "Orthogonal steep slope track" ],
230+ "slopes75" : [4 , "Steep-to-vertical slope track" ],
231+ "slopes90" : [4 , "Vertical track" ],
232+ "slopesLoop" : [4 ,"Loop track" ],
233+ "slopeInverted" : [4 , "Fully inverted track" ],
234+ "slopes8" : [4 , "Diagonal flat-to-gentle slope track" ],
235+ "slopes16" : [4 , "Diagonal gentle slope track" ],
236+ "slopes50" : [4 , "Diagonal steep track" ],
237+ "flatBanked22" : [8 , "Flat-to-bank transition track" ],
238+ "flatBanked45" : [32 , "Flat banked track" ],
239+ "flatBanked67" : [4 , "Flat steep banked track" ],
240+ "flatBanked90" : [4 , "Flat vertically-banked track" ],
241+ "inlineTwists" : [4 , "Flat inline twists" ],
242+ "slopes12Banked22" : [32 , "Orthogonal flat-to-gentle-and-flat-to-banked transition track" ],
243+ "slopes8Banked22" : [4 , "Diagonal flat-to-gentle-and-flat-to-banked transition track" ],
244+ "slopes25Banked22" : [4 , "Orthogonal gentle slope flat-to-bank transition track" ],
245+ "slopes25Banked45" : [32 , "Gentle sloped banked turns" ],
246+ "slopes12Banked45" : [4 , "Orthogonal flat-to-gentle-slope banked transition track" ],
247+ "slopes25Banked67" : [4 , "Part of small zero-G rolls" ],
248+ "slopes25Banked90" : [4 , "Part of small zero-G rolls" ],
249+ "slopes25InlineTwists" : [4 , "Part of large zero-G roll" ],
250+ "slopes42Banked22" : [4 , "Part of large zero-G roll" ],
251+ "slopes42Banked45" : [4 , "Part of large zero-G roll" ],
252+ "slopes42Banked67" : [4 , "Part of large zero-G roll" ],
253+ "slopes42Banked90" : [4 , "Part of large zero-G roll" ],
254+ "slopes60Banked22" : [4 , "Part of large zero-G roll" ],
255+ "corkscrews" : [4 , "Corkscrew track" ],
256+ "restraintAnimation" : [4 , "Animated restraints" ],
257+ "curvedLiftHillUp" : [32 , "Sprial lifthill up track" ],
258+ "curvedLiftHillDown" : [32 , "Spiral lifthill down track" ]
259+ }
260+
261+ legacy_group_names = [
262+ "VEHICLE_SPRITE_FLAG_FLAT" ,
263+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPES" ,
264+ "VEHICLE_SPRITE_FLAG_STEEP_SLOPES" ,
265+ "VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES" ,
266+ "VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES" ,
267+ "VEHICLE_SPRITE_FLAG_FLAT_BANKED" ,
268+ "VEHICLE_SPRITE_FLAG_INLINE_TWISTS" ,
269+ "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
270+ "VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
271+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS" ,
272+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS" ,
273+ "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS" ,
274+ "VEHICLE_SPRITE_FLAG_CORKSCREWS" ,
275+ "VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION" ,
276+ "VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL" ,
277+ "VEHICLE_SPRITE_FLAG_ZERO_G_ROLLS"
278+ ]
279+
280+ # Display name of each sprite group, tooltip for each sprite group, default state of each sprite group
281+ legacy_group_metadata = {
282+ "VEHICLE_SPRITE_FLAG_FLAT" : ["Flat" , "Render sprites for flat track" , True ],
283+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPES" : ["Gentle Slopes" , "Render sprites for gentle sloped track" , True ],
284+ "VEHICLE_SPRITE_FLAG_STEEP_SLOPES" : ["Steep Slopes" , "Render sprites for steep sloped track" , False ],
285+ "VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES" : ["Vertical Loops" , "Render sprites for vertical slopes and loops" , False ],
286+ "VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES" : ["Diagonal Slopes" , "Render sprites for diagonal slopes" , True ],
287+ "VEHICLE_SPRITE_FLAG_FLAT_BANKED" : ["Flat Banked" ,"Render sprites for flat banked track" , False ],
288+ "VEHICLE_SPRITE_FLAG_INLINE_TWISTS" : ["Inline Twist" , "Render sprites for the inline twist element" , False ],
289+ "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS" : ["" , "" , False ],
290+ "VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS" : ["" , "" , False ],
291+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS" : ["" , "" , False ],
292+ "VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS" : ["Sloped Banked Turns" ,"Render sprites for sloped banked turns" , False ],
293+ "VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS" : ["" , "" , False ],
294+ "VEHICLE_SPRITE_FLAG_CORKSCREWS" : ["Corkscrew" , "Render sprites for corkscrews" , False ],
295+ "VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION" : ["Animated Restraints" , "Render animated restraints" , False ],
296+ "VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL" : ["Spiral Lifthill" , "Render sprites for spiral lifthills" , False ],
297+ "VEHICLE_SPRITE_FLAG_ZERO_G_ROLLS" : ["Zero-G Rolls" , "Render sprites for zero-G rolls" , False ]
298+ }
299+
300+ # What full sprite groups each legacy group maps to
301+ legacy_group_map = {
302+ 'VEHICLE_SPRITE_FLAG_FLAT' : [ 'slopeFlat' ],
303+ 'VEHICLE_SPRITE_FLAG_GENTLE_SLOPES' : ['slopes12' , 'slopes25' ],
304+ 'VEHICLE_SPRITE_FLAG_STEEP_SLOPES' : ['slopes42' , 'slopes60' ],
305+ 'VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES' : ['slopes75' , 'slopes90' , 'slopesLoop' ,'slopeInverted' ],
306+ 'VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES' : ['slopes8' , 'slopes16' ,'slopes50' ],
307+ 'VEHICLE_SPRITE_FLAG_FLAT_BANKED' : ['flatBanked22' ,'flatBanked45' ],
308+ 'VEHICLE_SPRITE_FLAG_INLINE_TWISTS' : ['flatBanked67' , 'flatBanked90' , 'inlineTwists' ],
309+ 'VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS' : ['slopes12Banked22' ],
310+ 'VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS' : ['slopes8Banked22' ],
311+ 'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS' : ['slopes25Banked22' ],
312+ 'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS' : ['slopes25Banked45' ],
313+ 'VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS' : ['slopes12Banked45' ],
314+ 'VEHICLE_SPRITE_FLAG_CORKSCREWS' : ['corkscrews' ],
315+ 'VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION' : ['restraintAnimation' ],
316+ 'VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL' : ['curvedLiftHillUp' , 'curvedLiftHillDown' ],
317+ 'VEHICLE_SPRITE_FLAG_ZERO_G_ROLLS' : ["slopes60Banked22" , "slopes42Banked22" ,"slopes42Banked45" ,"slopes42Banked67" ,"slopes42Banked90" , "slopes25InlineTwists" , "slopes25Banked67" ,"slopes25Banked90" ]
318+ }
319+
320+ # What legacy groups are implied by combinations of other legacy sprite groups
321+ legacy_group_implications = {
322+ frozenset ({'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS' }): frozenset ({'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS' ,'VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS' ,'VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS' }),
323+ frozenset ({'VEHICLE_SPRITE_FLAG_FLAT_BANKED' ,'VEHICLE_SPRITE_FLAG_GENTLE_SLOPES' }): frozenset ({'VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS' }),
324+ frozenset ({'VEHICLE_SPRITE_FLAG_FLAT_BANKED' ,'VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES' }): frozenset ({'VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS' }),
325+ frozenset ({'VEHICLE_SPRITE_FLAG_INLINE_TWISTS' }): frozenset ({'VEHICLE_SPRITE_FLAG_FLAT_BANKED' , 'VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES' }),
326+ frozenset ({'VEHICLE_SPRITE_FLAG_CORKSCREWS' }): frozenset ({'VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES' }),
327+ frozenset ({'VEHICLE_SPRITE_FLAG_ZERO_G_ROLLS' }): frozenset ({'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS' , 'VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS' , 'VEHICLE_SPRITE_FLAG_GENTLE_SLOPES' , 'VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES' })
328+ }
0 commit comments