Include topspin vehicle data

This commit is contained in:
Marijn van der Werf 2016-08-19 19:59:23 +02:00 committed by Ted John
parent 5f2c947182
commit 72cb30c7c4
5 changed files with 406 additions and 20 deletions

View File

@ -16,6 +16,7 @@
008BF72B1CDAA5C30019A2AD /* track_design_save.c in Sources */ = {isa = PBXBuildFile; fileRef = 008BF7271CDAA5C30019A2AD /* track_design_save.c */; };
008BF72C1CDAA5C30019A2AD /* track_design.c in Sources */ = {isa = PBXBuildFile; fileRef = 008BF7281CDAA5C30019A2AD /* track_design.c */; };
00EFEE721CF1D80B0035213B /* NetworkKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00EFEE701CF1D80B0035213B /* NetworkKey.cpp */; };
C612A8991D64825300B634CA /* vehicle_data.c in Sources */ = {isa = PBXBuildFile; fileRef = C612A8971D64825300B634CA /* vehicle_data.c */; };
C61FB7201CF6180C004CE991 /* libssl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D45A38BA1CF3006400659A24 /* libssl.dylib */; };
C61FB7211CF618BA004CE991 /* libssl.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D45A38BA1CF3006400659A24 /* libssl.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
C61FB7241CF86356004CE991 /* NetworkUser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C61FB7221CF86356004CE991 /* NetworkUser.cpp */; };
@ -391,6 +392,8 @@
008BF7291CDAA5C30019A2AD /* track_design.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track_design.h; sourceTree = "<group>"; };
00EFEE701CF1D80B0035213B /* NetworkKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkKey.cpp; sourceTree = "<group>"; usesTabs = 0; };
00EFEE711CF1D80B0035213B /* NetworkKey.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = NetworkKey.h; sourceTree = "<group>"; usesTabs = 0; };
C612A8971D64825300B634CA /* vehicle_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vehicle_data.c; sourceTree = "<group>"; };
C612A8981D64825300B634CA /* vehicle_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vehicle_data.h; sourceTree = "<group>"; };
C61FB7221CF86356004CE991 /* NetworkUser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkUser.cpp; sourceTree = "<group>"; usesTabs = 0; };
C61FB7231CF86356004CE991 /* NetworkUser.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = NetworkUser.h; sourceTree = "<group>"; usesTabs = 0; };
C650B2151CCABBDD00B4D91C /* S4Importer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = S4Importer.cpp; sourceTree = "<group>"; usesTabs = 0; };
@ -1547,28 +1550,30 @@
C686F8FC1CDBC3B7009F9BFC /* transport */,
C686F9021CDBC3B7009F9BFC /* water */,
D442716F1CC81B3200D84D28 /* cable_lift.c */,
D44271701CC81B3200D84D28 /* cable_lift.h */,
D44271731CC81B3200D84D28 /* ride_data.c */,
D44271741CC81B3200D84D28 /* ride_data.h */,
D44271751CC81B3200D84D28 /* ride_ratings.c */,
D44271761CC81B3200D84D28 /* ride_ratings.h */,
D44271711CC81B3200D84D28 /* ride.c */,
D44271721CC81B3200D84D28 /* ride.h */,
D44271771CC81B3200D84D28 /* station.c */,
D44271781CC81B3200D84D28 /* station.h */,
D442717B1CC81B3200D84D28 /* track_data.c */,
D442717C1CC81B3200D84D28 /* track_data.h */,
008BF7261CDAA5C30019A2AD /* track_design_index.c */,
008BF7271CDAA5C30019A2AD /* track_design_save.c */,
008BF7281CDAA5C30019A2AD /* track_design.c */,
D442717D1CC81B3200D84D28 /* track_paint.c */,
D44271791CC81B3200D84D28 /* track.c */,
C686F9561CDBC4C7009F9BFC /* vehicle_paint.c */,
D442717F1CC81B3200D84D28 /* vehicle.c */,
D44271701CC81B3200D84D28 /* cable_lift.h */,
D44271741CC81B3200D84D28 /* ride_data.h */,
D44271761CC81B3200D84D28 /* ride_ratings.h */,
D44271721CC81B3200D84D28 /* ride.h */,
D44271781CC81B3200D84D28 /* station.h */,
D442717C1CC81B3200D84D28 /* track_data.h */,
008BF7291CDAA5C30019A2AD /* track_design.h */,
D442717D1CC81B3200D84D28 /* track_paint.c */,
D442717E1CC81B3200D84D28 /* track_paint.h */,
D44271791CC81B3200D84D28 /* track.c */,
D442717A1CC81B3200D84D28 /* track.h */,
C612A8971D64825300B634CA /* vehicle_data.c */,
C612A8981D64825300B634CA /* vehicle_data.h */,
C686F9561CDBC4C7009F9BFC /* vehicle_paint.c */,
C686F9571CDBC4C7009F9BFC /* vehicle_paint.h */,
D442717F1CC81B3200D84D28 /* vehicle.c */,
D44271801CC81B3200D84D28 /* vehicle.h */,
);
path = ride;
@ -2427,6 +2432,7 @@
D442722A1CC81B3200D84D28 /* localisation.c in Sources */,
D44272731CC81B3200D84D28 /* new_ride.c in Sources */,
D442721A1CC81B3200D84D28 /* console.c in Sources */,
C612A8991D64825300B634CA /* vehicle_data.c in Sources */,
D44271FB1CC81B3200D84D28 /* ScreenshotCommands.cpp in Sources */,
D464FEBB1D31A65300CBABAC /* IStream.cpp in Sources */,
D442729E1CC81B3200D84D28 /* fountain.c in Sources */,

View File

@ -252,6 +252,7 @@
<ClCompile Include="src\ride\transport\monorail.c" />
<ClCompile Include="src\ride\transport\suspended_monorail.c" />
<ClCompile Include="src\ride\vehicle.c" />
<ClCompile Include="src\ride\vehicle_data.c" />
<ClCompile Include="src\ride\vehicle_paint.c" />
<ClCompile Include="src\ride\water\boat_ride.c" />
<ClCompile Include="src\ride\water\dingy_slide.c" />
@ -493,6 +494,7 @@
<ClInclude Include="src\ride\track_design.h" />
<ClInclude Include="src\ride\track_paint.h" />
<ClInclude Include="src\ride\vehicle.h" />
<ClInclude Include="src\ride\vehicle_data.h" />
<ClInclude Include="src\ride\vehicle_paint.h" />
<ClInclude Include="src\scenario.h" />
<ClCompile Include="src\scenario_sources.c" />

View File

@ -35,6 +35,7 @@
#include "track.h"
#include "track_data.h"
#include "vehicle.h"
#include "vehicle_data.h"
static void vehicle_update(rct_vehicle *vehicle);
@ -314,13 +315,6 @@ static const sint8 * SwingingTimeToSpriteMaps[] = {
SwingingTimeToSpriteMap_11,
};
/** rct2: 0x009A12E0 */
static const uint8 * TopSpinTimeToSpriteMaps[] = {
RCT2_ADDRESS(0x009A12EC, const uint8),
RCT2_ADDRESS(0x009A1751, const uint8),
RCT2_ADDRESS(0x009A1CC6, const uint8),
};
/** rct2: 0x0099F0F4 */
static const uint8 * Rotation1TimeToSpriteMaps[] = {
RCT2_ADDRESS(0x0099F100, const uint8),
@ -4216,15 +4210,15 @@ static void vehicle_update_top_spin_operating(rct_vehicle* vehicle) {
if (RCT2_GLOBAL(0x00F64E34, uint8) == 0)
return;
const uint8* edi = TopSpinTimeToSpriteMaps[vehicle->sub_state];
uint8 al = edi[(vehicle->current_time + 1) * 2];
const top_spin_time_to_sprite_map * edi = TopSpinTimeToSpriteMaps[vehicle->sub_state];
uint8 al = edi[vehicle->current_time + 1].arm_rotation;
if (al != 0xFF) {
vehicle->current_time = vehicle->current_time + 1;
if (al != vehicle->vehicle_sprite_type) {
vehicle->vehicle_sprite_type = al;
vehicle_invalidate(vehicle);
}
al = edi[vehicle->current_time * 2 + 1];
al = edi[vehicle->current_time].bank_rotation;
if (al != vehicle->bank_rotation) {
vehicle->bank_rotation = al;
vehicle_invalidate(vehicle);

355
src/ride/vehicle_data.c Normal file
View File

@ -0,0 +1,355 @@
#pragma region Copyright (c) 2014-2016 OpenRCT2 Developers
/*****************************************************************************
* OpenRCT2, an open source clone of Roller Coaster Tycoon 2.
*
* OpenRCT2 is the work of many authors, a full list can be found in contributors.md
* For more information, visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* A full copy of the GNU General Public License can be found in licence.txt
*****************************************************************************/
#pragma endregion
#include "vehicle_data.h"
/** rct2: 0x009A12EC */
static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_0[] = {
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
{ 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
{ 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 },
{ 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 },
{ 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 },
{ 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 },
{ 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 },
{ 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 },
{ 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 },
{ 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 },
{ 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 },
{ 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 },
{ 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 },
{ 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 },
{ 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 },
{ 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 },
{ 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 },
{ 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 },
{ 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 23, 1 },
{ 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 }, { 23, 1 },
{ 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 }, { 22, 2 },
{ 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 21, 3 }, { 20, 4 },
{ 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 5 }, { 19, 5 }, { 19, 5 },
{ 19, 5 }, { 19, 5 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 }, { 18, 6 },
{ 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 17, 7 }, { 16, 8 }, { 16, 8 },
{ 16, 8 }, { 16, 8 }, { 16, 8 }, { 15, 9 }, { 15, 9 }, { 15, 9 }, { 15, 9 },
{ 15, 9 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 14, 10 }, { 13, 11 },
{ 13, 11 }, { 13, 11 }, { 13, 11 }, { 13, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 },
{ 12, 12 }, { 12, 12 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 }, { 11, 13 },
{ 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 10, 14 }, { 9, 15 }, { 9, 15 },
{ 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 },
{ 8, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 },
{ 6, 0 }, { 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 15 }, { 5, 15 }, { 5, 15 },
{ 5, 15 }, { 5, 15 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 }, { 4, 14 },
{ 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 2, 12 }, { 2, 12 },
{ 2, 12 }, { 2, 12 }, { 2, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 }, { 1, 12 },
{ 1, 12 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 0, 13 }, { 47, 14 },
{ 47, 14 }, { 47, 14 }, { 47, 14 }, { 47, 14 }, { 46, 15 }, { 46, 15 }, { 46, 15 },
{ 46, 15 }, { 46, 15 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 },
{ 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 44, 1 }, { 43, 2 }, { 43, 2 },
{ 43, 2 }, { 43, 2 }, { 43, 2 }, { 42, 3 }, { 42, 3 }, { 42, 3 }, { 42, 3 },
{ 42, 3 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 41, 4 }, { 40, 5 },
{ 40, 5 }, { 40, 5 }, { 40, 5 }, { 40, 5 }, { 39, 6 }, { 39, 6 }, { 39, 6 },
{ 39, 6 }, { 39, 6 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 }, { 38, 7 },
{ 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 37, 8 }, { 36, 9 }, { 36, 9 },
{ 36, 9 }, { 36, 9 }, { 36, 9 }, { 35, 10 }, { 35, 10 }, { 35, 10 }, { 35, 10 },
{ 35, 10 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 34, 11 }, { 33, 12 },
{ 33, 12 }, { 33, 12 }, { 33, 12 }, { 33, 12 }, { 32, 13 }, { 32, 13 }, { 32, 13 },
{ 32, 13 }, { 32, 13 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 }, { 31, 14 },
{ 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 30, 15 }, { 29, 0 }, { 29, 0 },
{ 29, 0 }, { 29, 0 }, { 29, 0 }, { 28, 1 }, { 28, 1 }, { 28, 1 }, { 28, 1 },
{ 28, 1 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 27, 2 }, { 26, 3 },
{ 26, 3 }, { 26, 3 }, { 26, 3 }, { 26, 3 }, { 25, 3 }, { 25, 3 }, { 25, 3 },
{ 25, 3 }, { 25, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 },
{ 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 23, 2 }, { 22, 1 }, { 22, 1 },
{ 22, 1 }, { 22, 1 }, { 22, 1 }, { 22, 1 }, { 21, 0 }, { 21, 0 }, { 21, 0 },
{ 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 },
{ 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 },
{ 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 22, 0 },
{ 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 },
{ 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 },
{ 24, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 25, 0 }, { 26, 0 },
{ 26, 0 }, { 26, 0 }, { 26, 0 }, { 26, 0 }, { 27, 0 }, { 27, 0 }, { 27, 0 },
{ 27, 0 }, { 27, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 }, { 28, 0 },
{ 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 29, 0 }, { 30, 0 }, { 30, 0 },
{ 30, 0 }, { 30, 0 }, { 30, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 }, { 31, 0 },
{ 31, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 0 },
{ 33, 0 }, { 33, 0 }, { 33, 0 }, { 33, 0 }, { 34, 0 }, { 34, 0 }, { 34, 0 },
{ 34, 0 }, { 34, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 }, { 35, 0 },
{ 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 36, 0 }, { 37, 0 }, { 37, 0 },
{ 37, 0 }, { 37, 0 }, { 37, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 }, { 38, 0 },
{ 38, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 39, 0 }, { 40, 0 },
{ 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 },
{ 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 }, { 42, 0 },
{ 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 44, 0 }, { 44, 0 },
{ 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 },
{ 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 47, 0 },
{ 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0, 0 }, { 0, 0 },
{ 0xFF },
};
/** rct2: 0x009A1751 */
static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_1[] = {
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
{ 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
{ 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 },
{ 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 },
{ 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 },
{ 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 },
{ 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 },
{ 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 },
{ 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 },
{ 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 },
{ 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 },
{ 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 },
{ 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 },
{ 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 },
{ 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 },
{ 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 },
{ 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 },
{ 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 },
{ 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 },
{ 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 },
{ 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 },
{ 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 },
{ 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 },
{ 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 },
{ 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 },
{ 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 },
{ 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 },
{ 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 },
{ 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 },
{ 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 },
{ 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 },
{ 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 },
{ 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 },
{ 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 },
{ 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 },
{ 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 },
{ 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 },
{ 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 },
{ 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 },
{ 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 },
{ 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 },
{ 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 },
{ 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 },
{ 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 },
{ 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 },
{ 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 },
{ 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 },
{ 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 },
{ 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 },
{ 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 },
{ 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 },
{ 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 },
{ 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 },
{ 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 },
{ 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 },
{ 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 },
{ 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 },
{ 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 },
{ 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 },
{ 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 },
{ 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 },
{ 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 },
{ 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 },
{ 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 },
{ 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 },
{ 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 },
{ 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 },
{ 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 },
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 },
{ 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 },
{ 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 },
{ 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 },
{ 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 },
{ 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 },
{ 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 },
{ 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 },
{ 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 },
{ 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 },
{ 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 },
{ 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 },
{ 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 },
{ 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 },
{ 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 },
{ 17, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 },
{ 16, 0 }, { 16, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 },
{ 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 13, 0 }, { 13, 0 },
{ 13, 0 }, { 13, 0 }, { 13, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 },
{ 12, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 10, 0 },
{ 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 },
{ 9, 0 }, { 9, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 },
{ 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 6, 0 }, { 6, 0 },
{ 6, 0 }, { 6, 0 }, { 6, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 },
{ 5, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 3, 0 },
{ 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
{ 2, 0 }, { 2, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0xFF },
};
/** rct2: 0x009A1CC6 */
static const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_2[] = {
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
{ 1, 0 }, { 1, 0 }, { 1, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
{ 2, 0 }, { 2, 0 }, { 2, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 },
{ 3, 0 }, { 3, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 },
{ 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 5, 0 }, { 6, 0 }, { 6, 0 },
{ 6, 0 }, { 6, 0 }, { 6, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 }, { 7, 0 },
{ 7, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 8, 0 }, { 9, 0 },
{ 9, 0 }, { 9, 0 }, { 9, 0 }, { 9, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 },
{ 10, 0 }, { 10, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 }, { 11, 0 },
{ 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 12, 0 }, { 13, 0 }, { 13, 0 },
{ 13, 0 }, { 13, 0 }, { 13, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 }, { 14, 0 },
{ 14, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 15, 0 }, { 16, 0 },
{ 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 17, 0 }, { 17, 0 }, { 17, 0 },
{ 17, 0 }, { 17, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 }, { 18, 0 },
{ 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 19, 0 }, { 20, 0 }, { 20, 0 },
{ 20, 0 }, { 20, 0 }, { 20, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 }, { 21, 0 },
{ 21, 0 }, { 21, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 }, { 22, 0 },
{ 22, 0 }, { 22, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 }, { 23, 0 },
{ 23, 0 }, { 23, 0 }, { 23, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 },
{ 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 },
{ 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 3 }, { 24, 3 },
{ 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 4 }, { 24, 4 }, { 24, 4 }, { 24, 4 },
{ 24, 4 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 5 }, { 24, 6 },
{ 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 6 }, { 24, 7 }, { 24, 7 }, { 24, 7 },
{ 24, 7 }, { 24, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 },
{ 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 9 }, { 24, 10 }, { 24, 10 },
{ 24, 10 }, { 24, 10 }, { 24, 10 }, { 24, 11 }, { 24, 11 }, { 24, 11 }, { 24, 11 },
{ 24, 11 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 12 }, { 24, 13 },
{ 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 13 }, { 24, 14 }, { 24, 14 }, { 24, 14 },
{ 24, 14 }, { 24, 14 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 }, { 24, 15 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 1 }, { 24, 1 },
{ 24, 1 }, { 24, 1 }, { 24, 1 }, { 24, 2 }, { 24, 2 }, { 24, 2 }, { 24, 2 },
{ 24, 2 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 24, 3 }, { 23, 4 },
{ 23, 4 }, { 23, 4 }, { 23, 4 }, { 23, 4 }, { 22, 4 }, { 22, 4 }, { 22, 4 },
{ 22, 4 }, { 22, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 }, { 21, 4 },
{ 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 20, 4 }, { 19, 4 }, { 19, 4 },
{ 19, 4 }, { 19, 4 }, { 19, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 }, { 18, 4 },
{ 18, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 17, 4 }, { 16, 4 },
{ 16, 4 }, { 16, 4 }, { 16, 4 }, { 16, 4 }, { 15, 4 }, { 15, 4 }, { 15, 4 },
{ 15, 4 }, { 15, 4 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 }, { 14, 5 },
{ 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 13, 6 }, { 12, 7 }, { 12, 7 },
{ 12, 7 }, { 12, 7 }, { 12, 7 }, { 12, 8 }, { 12, 8 }, { 12, 8 }, { 12, 8 },
{ 12, 8 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 9 }, { 12, 10 },
{ 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 10 }, { 12, 11 }, { 12, 11 }, { 12, 11 },
{ 12, 11 }, { 12, 11 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 }, { 12, 12 },
{ 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 13, 12 }, { 14, 12 }, { 14, 12 },
{ 14, 12 }, { 14, 12 }, { 14, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 }, { 15, 12 },
{ 15, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 16, 12 }, { 17, 12 },
{ 17, 12 }, { 17, 12 }, { 17, 12 }, { 17, 12 }, { 18, 12 }, { 18, 12 }, { 18, 12 },
{ 18, 12 }, { 18, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 }, { 19, 12 },
{ 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 21, 13 }, { 21, 13 },
{ 21, 13 }, { 21, 13 }, { 21, 13 }, { 22, 14 }, { 22, 14 }, { 22, 14 }, { 22, 14 },
{ 22, 14 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 23, 15 }, { 24, 0 },
{ 24, 0 }, { 24, 0 }, { 24, 0 }, { 24, 0 }, { 25, 1 }, { 25, 1 }, { 25, 1 },
{ 25, 1 }, { 25, 1 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 }, { 26, 2 },
{ 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 27, 3 }, { 28, 4 }, { 28, 4 },
{ 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 5 }, { 29, 5 }, { 29, 5 }, { 29, 5 },
{ 29, 5 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 30, 6 }, { 31, 7 },
{ 31, 7 }, { 31, 7 }, { 31, 7 }, { 31, 7 }, { 32, 8 }, { 32, 8 }, { 32, 8 },
{ 32, 8 }, { 32, 8 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 }, { 33, 9 },
{ 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 34, 10 }, { 35, 11 }, { 35, 11 },
{ 35, 11 }, { 35, 11 }, { 35, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 }, { 36, 12 },
{ 36, 12 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 37, 13 }, { 38, 14 },
{ 38, 14 }, { 38, 14 }, { 38, 14 }, { 38, 14 }, { 39, 15 }, { 39, 15 }, { 39, 15 },
{ 39, 15 }, { 39, 15 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 }, { 40, 0 },
{ 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 41, 0 }, { 42, 0 }, { 42, 0 },
{ 42, 0 }, { 42, 0 }, { 42, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 }, { 43, 0 },
{ 43, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 44, 0 }, { 45, 0 },
{ 45, 0 }, { 45, 0 }, { 45, 0 }, { 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 },
{ 46, 0 }, { 46, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 },
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 1, 15 }, { 1, 15 },
{ 1, 15 }, { 1, 15 }, { 1, 15 }, { 2, 14 }, { 2, 14 }, { 2, 14 }, { 2, 14 },
{ 2, 14 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 3, 13 }, { 4, 12 },
{ 4, 12 }, { 4, 12 }, { 4, 12 }, { 4, 12 }, { 5, 11 }, { 5, 11 }, { 5, 11 },
{ 5, 11 }, { 5, 11 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 }, { 6, 10 },
{ 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 7, 9 }, { 8, 8 }, { 8, 8 },
{ 8, 8 }, { 8, 8 }, { 8, 8 }, { 9, 7 }, { 9, 7 }, { 9, 7 }, { 9, 7 },
{ 9, 7 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 10, 6 }, { 11, 5 },
{ 11, 5 }, { 11, 5 }, { 11, 5 }, { 11, 5 }, { 12, 4 }, { 12, 4 }, { 12, 4 },
{ 12, 4 }, { 12, 4 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 },
{ 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 15, 1 }, { 15, 1 },
{ 15, 1 }, { 15, 1 }, { 15, 1 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 },
{ 16, 0 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 18, 14 },
{ 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 19, 13 }, { 19, 13 }, { 19, 13 },
{ 19, 13 }, { 19, 13 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 },
{ 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 22, 10 }, { 22, 10 },
{ 22, 10 }, { 22, 10 }, { 22, 10 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 },
{ 23, 9 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 25, 7 },
{ 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 26, 6 }, { 26, 6 }, { 26, 6 },
{ 26, 6 }, { 26, 6 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 },
{ 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 29, 3 }, { 29, 3 },
{ 29, 3 }, { 29, 3 }, { 29, 3 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 },
{ 30, 2 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 32, 0 },
{ 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 33, 15 }, { 33, 15 }, { 33, 15 },
{ 33, 15 }, { 33, 15 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 },
{ 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 36, 12 }, { 36, 12 },
{ 36, 12 }, { 36, 12 }, { 36, 12 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 },
{ 37, 11 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 39, 9 },
{ 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 40, 8 }, { 40, 8 }, { 40, 8 },
{ 40, 8 }, { 40, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 },
{ 41, 8 }, { 41, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 },
{ 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 42, 8 }, { 41, 8 }, { 41, 8 },
{ 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 41, 8 }, { 40, 8 }, { 40, 8 },
{ 40, 8 }, { 40, 8 }, { 40, 8 }, { 39, 9 }, { 39, 9 }, { 39, 9 }, { 39, 9 },
{ 39, 9 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 38, 10 }, { 37, 11 },
{ 37, 11 }, { 37, 11 }, { 37, 11 }, { 37, 11 }, { 36, 12 }, { 36, 12 }, { 36, 12 },
{ 36, 12 }, { 36, 12 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 }, { 35, 13 },
{ 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 34, 14 }, { 33, 15 }, { 33, 15 },
{ 33, 15 }, { 33, 15 }, { 33, 15 }, { 32, 0 }, { 32, 0 }, { 32, 0 }, { 32, 0 },
{ 32, 0 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 31, 1 }, { 30, 2 },
{ 30, 2 }, { 30, 2 }, { 30, 2 }, { 30, 2 }, { 29, 3 }, { 29, 3 }, { 29, 3 },
{ 29, 3 }, { 29, 3 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 }, { 28, 4 },
{ 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 27, 5 }, { 26, 6 }, { 26, 6 },
{ 26, 6 }, { 26, 6 }, { 26, 6 }, { 25, 7 }, { 25, 7 }, { 25, 7 }, { 25, 7 },
{ 25, 7 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 24, 8 }, { 23, 9 },
{ 23, 9 }, { 23, 9 }, { 23, 9 }, { 23, 9 }, { 22, 10 }, { 22, 10 }, { 22, 10 },
{ 22, 10 }, { 22, 10 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 }, { 21, 11 },
{ 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 20, 12 }, { 19, 13 }, { 19, 13 },
{ 19, 13 }, { 19, 13 }, { 19, 13 }, { 18, 14 }, { 18, 14 }, { 18, 14 }, { 18, 14 },
{ 18, 14 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 17, 15 }, { 16, 0 },
{ 16, 0 }, { 16, 0 }, { 16, 0 }, { 16, 0 }, { 15, 1 }, { 15, 1 }, { 15, 1 },
{ 15, 1 }, { 15, 1 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 }, { 14, 2 },
{ 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 13, 3 }, { 12, 2 }, { 12, 2 },
{ 12, 2 }, { 12, 2 }, { 12, 2 }, { 11, 1 }, { 11, 1 }, { 11, 1 }, { 11, 1 },
{ 11, 1 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 10, 0 }, { 9, 15 },
{ 9, 15 }, { 9, 15 }, { 9, 15 }, { 9, 15 }, { 8, 14 }, { 8, 14 }, { 8, 14 },
{ 8, 14 }, { 8, 14 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 }, { 7, 13 },
{ 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 6, 14 }, { 5, 15 }, { 5, 15 },
{ 5, 15 }, { 5, 15 }, { 5, 15 }, { 4, 0 }, { 4, 0 }, { 4, 0 }, { 4, 0 },
{ 4, 0 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 2, 2 },
{ 2, 2 }, { 2, 2 }, { 2, 2 }, { 2, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 },
{ 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
{ 0xFF },
};
/** rct2: 0x009A12E0 */
const top_spin_time_to_sprite_map * TopSpinTimeToSpriteMaps[] = {
TopSpinTimeToSpriteMap_0,
TopSpinTimeToSpriteMap_1,
TopSpinTimeToSpriteMap_2,
};

29
src/ride/vehicle_data.h Normal file
View File

@ -0,0 +1,29 @@
#pragma region Copyright (c) 2014-2016 OpenRCT2 Developers
/*****************************************************************************
* OpenRCT2, an open source clone of Roller Coaster Tycoon 2.
*
* OpenRCT2 is the work of many authors, a full list can be found in contributors.md
* For more information, visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* A full copy of the GNU General Public License can be found in licence.txt
*****************************************************************************/
#pragma endregion
#ifndef _VEHICLE_DATA_H
#define _VEHICLE_DATA_H
#include "../common.h"
typedef struct top_spin_time_to_sprite_map {
uint8 arm_rotation;
uint8 bank_rotation;
} top_spin_time_to_sprite_map;
extern const top_spin_time_to_sprite_map * TopSpinTimeToSpriteMaps[];
#endif