From 57ea87ed0b9863770c280373f37cf9853a8dfa2e Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sun, 14 Aug 2016 14:10:44 +0200 Subject: [PATCH] Integrate FlatTrackCoordinates --- src/ride/track_data.c | 256 +++++++++++++++++++++++++++++++++++++++++- src/ride/track_data.h | 2 +- 2 files changed, 256 insertions(+), 2 deletions(-) diff --git a/src/ride/track_data.c b/src/ride/track_data.c index 473457e47c..e1b98525dd 100644 --- a/src/ride/track_data.c +++ b/src/ride/track_data.c @@ -18,7 +18,261 @@ #include "track_data.h" #include "track_paint.h" -const rct_track_coordinates* FlatTrackCoordinates = RCT2_ADDRESS(0x009972BB, const rct_track_coordinates); +const rct_track_coordinates FlatTrackCoordinates[] = { + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 64, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 64, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 64, -64, -64 }, + { 0, 1, 0, 64, -64, 64 }, + { 0, 3, 64, 0, -64, -64 }, + { 0, 1, 64, 0, -64, 64 }, + { 0, 0, 0, 0, -64, -32 }, + { 0, 0, 0, 0, -64, 32 }, + { 0, 0, 0, 0, -32, -32 }, + { 0, 0, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 32, -32, -32 }, + { 0, 1, 0, 32, -32, 32 }, + { 0, 3, 32, 0, -32, -32 }, + { 0, 1, 32, 0, -32, 32 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 2, 0, 152, -32, 0 }, + { 0, 2, 0, -152, 32, 0 }, + { 0, 3, 0, 80, -32, -32 }, + { 0, 1, 0, 80, -32, 32 }, + { 0, 3, 0, -80, -32, -32 }, + { 0, 1, 0, -80, -32, 32 }, + { 0, 0, 0, 24, 0, 0 }, + { 0, 0, 0, 24, 0, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 0, 0, 96, 32, 0 }, + { 0, 0, 0, 32, 32, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 64, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 32, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 64, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 32, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 0, -64, -64 }, + { 0, 1, 0, 0, -64, 64 }, + { 0, 0, 0, 0, -64, -32 }, + { 0, 0, 0, 0, -64, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 2, 0, 16, 0, -96 }, + { 0, 2, 0, 16, 0, 96 }, + { 0, 2, 16, 0, 0, -96 }, + { 0, 2, 16, 0, 0, 96 }, + { 0, 2, 0, 16, 0, -160 }, + { 0, 2, 0, 16, 0, 160 }, + { 0, 2, 16, 0, 0, -160 }, + { 0, 2, 16, 0, 0, 160 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_A + { 0, 1, 0, 64, 0, 0 }, + { 0, 3, 64, 0, 0, 0 }, + { 0, 1, 64, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 16, -64, -64 }, + { 0, 1, 0, 16, -64, 64 }, + { 0, 3, 16, 0, -64, -64 }, + { 0, 1, 16, 0, -64, 64 }, + { 0, 3, 0, 16, -64, -64 }, + { 0, 1, 0, 16, -64, 64 }, + { 0, 3, 16, 0, -64, -64 }, + { 0, 1, 16, 0, -64, 64 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_2_X_2 + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_4_X_4 + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 2, 0, 0, 0, 32 }, // ??? + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_5 + { 0, 0, 16, 16, -128, 0 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_A + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_B + { 0, 0, 0, 0, 0, 0 }, + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_1_B + { 0, 2, 0, 0, 0, 32 }, // FLAT_TRACK_ELEM_1_X_4_C + { 0, 0, 0, 96, 32, 0 }, // FLAT_TRACK_ELEM_3_X_3 + { 0, 0, 0, 240, -160, 0 }, + { 0, 0, 0, 80, 32, 0 }, + { 0, 0, 0, 32, 32, 0 }, + { 0, 0, 32, 0, 32, 0 }, + { 0, 0, 0, 56, 32, 0 }, + { 0, 0, 56, 0, 0, 0 }, + { 0, 0, 0, 56, 0, 0 }, + { 0, 0, 56, 0, 32, 0 }, + { 0, 0, 24, 0, 0, 0 }, + { 0, 7, 0, 0, -64, -32 }, + { 0, 4, 0, 0, -64, 32 }, + { 4, 0, 0, 0, -64, 32 }, + { 4, 1, 0, 0, -32, 64 }, + { 0, 7, 0, 0, -64, -32 }, + { 0, 4, 0, 0, -64, 32 }, + { 4, 0, 0, 0, -64, 32 }, + { 4, 1, 0, 0, -32, 64 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 16, -32, 32 }, + { 4, 4, 0, 64, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 32, -32, 32 }, + { 4, 4, 0, 32, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 16, 0, -32, 32 }, + { 4, 4, 64, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 32, 0, -32, 32 }, + { 4, 4, 32, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 0, 24, -32, 32 }, + { 4, 4, 0, 24, -32, 32 }, + { 4, 4, 24, 0, -32, 32 }, + { 4, 4, 24, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 0, 8, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 8, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 4, 4, 0, 0, -32, 32 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 32, -64, 0 }, + { 0, 0, 0, 32, -64, 0 }, + { 0, 0, 0, -32, -64, 0 }, + { 0, 0, 0, -32, -64, 0 }, + { 0, 3, 0, 24, -32, -32 }, + { 0, 1, 0, 24, -32, 32 }, + { 0, 3, 24, 0, -32, -32 }, + { 0, 1, 24, 0, -32, 32 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 2, 0, 280, -64, -32 }, + { 0, 2, 0, 280, -64, 32 }, + { 0, 2, 0, -280, 64, -32 }, + { 0, 2, 0, -280, 64, 32 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, -16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 0, 0, 16, -64, 0 }, + { 0, 2, 0, 120, -32, 0 }, + { 0, 2, 0, -120, 32, 0 }, + { 0, 3, 0, 48, -32, -32 }, + { 0, 1, 0, 48, -32, 32 }, + { 0, 3, 0, -48, -32, -32 }, + { 0, 1, 0, -48, -32, 32 }, + { 0, 2, 0, 32, 0, 0 }, + { 0, 2, 0, -32, 0, 0 }, + { 0, 0, 0, 0, -160, 0 }, + { 0, 0, 0, 0, -160, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 1, 0, 0, -32, 32 }, + { 0, 3, 0, 0, -32, -32 }, + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 0, 0, 0, -32, 0 }, // ??? + { 0, 3, 0, 16, -32, -32 }, + { 0, 1, 0, 16, -32, 32 }, + { 0, 0, 0, 0, -64, 0 }, + { 0, 0, 0, 0, -64, 0 }, + { 0, 0, 0, 0, -32, 0 }, + { 0, 0, 80, 0, 32, 0 }, + { 0, 0, 240, 0, -160, 0 }, + { 0, 0, 0, 0, 0, 0 }, + { 0, 3, 0, 32, -32, -32 }, + { 0, 1, 0, 32, -32, 32 }, + { 0, 3, 32, 0, -32, -32 }, + { 0, 1, 32, 0, -32, 32 }, + { 0, 3, 0, 64, -64, -64 }, + { 0, 1, 0, 64, -64, 64 }, + { 0, 3, 64, 0, -64, -64 }, + { 0, 1, 64, 0, -64, 64 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 0, 16, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 16, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 0, 8, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 0, 8, 0, 0, 0 }, + { 0, 3, 0, 96, 0, 32 }, + { 0, 1, 0, 96, 0, -32 }, + { 0, 3, 96, 0, 0, 32 }, + { 0, 1, 96, 0, 0, -32 }, +}; const rct_track_coordinates TrackCoordinates[256] = { { 0, 0, 0, 0, 0, 0 }, // ELEM_FLAT diff --git a/src/ride/track_data.h b/src/ride/track_data.h index e38eba3a67..ebf8d79a09 100644 --- a/src/ride/track_data.h +++ b/src/ride/track_data.h @@ -21,7 +21,7 @@ // 0x009968BB, 0x009968BC, 0x009968BD, 0x009968BF, 0x009968C1, 0x009968C3 extern const rct_track_coordinates TrackCoordinates[256]; // 0x009972BB, 0x009972BC, 0x009972BD, 0x009972BF, 0x009972C1, 0x009972C3 -extern const rct_track_coordinates* FlatTrackCoordinates; +extern const rct_track_coordinates FlatTrackCoordinates[253]; extern const uint8 TrackSequenceProperties[256][16]; extern const uint8 FlatRideTrackSequenceProperties[256][16];