diff --git a/src/object_list.c b/src/object_list.c index 2f9aaea0b5..8321908fe1 100644 --- a/src/object_list.c +++ b/src/object_list.c @@ -66,20 +66,46 @@ int object_entry_group_encoding[] = { rct_stex_entry *gStexEntries[1]; #endif +#ifdef NO_RCT2 + rct_object_entry_extended _objectEntriesRides[128]; + rct_object_entry_extended _objectEntriesSmallScenery[252]; + rct_object_entry_extended _objectEntriesLargeScenery[128]; + rct_object_entry_extended _objectEntriesWalls[128]; + rct_object_entry_extended _objectEntriesBanners[32]; + rct_object_entry_extended _objectEntriesFootpaths[16]; + rct_object_entry_extended _objectEntriesFootpathAdditions[15]; + rct_object_entry_extended _objectEntriesSceneryGroups[19]; + rct_object_entry_extended _objectEntriesParkEntrances[1]; + rct_object_entry_extended _objectEntriesWaters[1]; + rct_object_entry_extended _objectEntriesStexs[1]; +#else + #define _objectEntriesRides RCT2_ADDRESS(0x00F3F03C ,rct_object_entry_extended) + #define _objectEntriesSmallScenery RCT2_ADDRESS(0x00F3F03C + (128 * 20),rct_object_entry_extended) + #define _objectEntriesLargeScenery RCT2_ADDRESS(0x00F3F03C + (380 * 20),rct_object_entry_extended) + #define _objectEntriesWalls RCT2_ADDRESS(0x00F3F03C + (508 * 20),rct_object_entry_extended) + #define _objectEntriesBanners RCT2_ADDRESS(0x00F3F03C + (636 * 20),rct_object_entry_extended) + #define _objectEntriesFootpaths RCT2_ADDRESS(0x00F3F03C + (668 * 20),rct_object_entry_extended) + #define _objectEntriesFootpathAdditions RCT2_ADDRESS(0x00F3F03C + (684 * 20),rct_object_entry_extended) + #define _objectEntriesSceneryGroups RCT2_ADDRESS(0x00F3F03C + (699 * 20),rct_object_entry_extended) + #define _objectEntriesParkEntrances RCT2_ADDRESS(0x00F3F03C + (718 * 20),rct_object_entry_extended) + #define _objectEntriesWaters RCT2_ADDRESS(0x00F3F03C + (719 * 20),rct_object_entry_extended) + #define _objectEntriesStexs RCT2_ADDRESS(0x00F3F03C + (720 * 20),rct_object_entry_extended) +#endif // NO_RCT2 + // 0x98D97C chunk address', 0x98D980 object_entries const rct_object_entry_group object_entry_groups[] = { - (void**)(gRideEntries ), RCT2_ADDRESS(0x00F3F03C ,rct_object_entry_extended), // rides - (void**)(gSmallSceneryEntries ), RCT2_ADDRESS(0x00F3F03C + (128 * 20),rct_object_entry_extended), // small scenery 0x009AD1A4, 0xF2FA3C - (void**)(gLargeSceneryEntries ), RCT2_ADDRESS(0x00F3F03C + (380 * 20),rct_object_entry_extended), // large scenery 0x009AD594, 0xF40DEC - (void**)(gWallSceneryEntries ), RCT2_ADDRESS(0x00F3F03C + (508 * 20),rct_object_entry_extended), // walls 0x009AD794, 0xF417EC - (void**)(gBannerSceneryEntries ), RCT2_ADDRESS(0x00F3F03C + (636 * 20),rct_object_entry_extended), // banners 0x009AD994, 0xF421EC - (void**)(gFootpathEntries ), RCT2_ADDRESS(0x00F3F03C + (668 * 20),rct_object_entry_extended), // paths 0x009ADA14, 0xF4246C - (void**)(gFootpathAdditionEntries ), RCT2_ADDRESS(0x00F3F03C + (684 * 20),rct_object_entry_extended), // path bits 0x009ADA54, 0xF425AC - (void**)(gSceneryGroupEntries ), RCT2_ADDRESS(0x00F3F03C + (699 * 20),rct_object_entry_extended), // scenery sets 0x009ADA90, 0xF426D8 - (void**)(gParkEntranceEntries ), RCT2_ADDRESS(0x00F3F03C + (718 * 20),rct_object_entry_extended), // park entrance 0x009ADADC, 0xF42854 - (void**)(gWaterEntries ), RCT2_ADDRESS(0x00F3F03C + (719 * 20),rct_object_entry_extended), // water 0x009ADAE0, 0xF42868 - (void**)(gStexEntries ), RCT2_ADDRESS(0x00F3F03C + (720 * 20),rct_object_entry_extended), // scenario text 0x009ADAE4, 0xF4287C + (void**)(gRideEntries ), _objectEntriesRides, // rides + (void**)(gSmallSceneryEntries ), _objectEntriesSmallScenery, // small scenery 0x009AD1A4, 0xF2FA3C + (void**)(gLargeSceneryEntries ), _objectEntriesLargeScenery, // large scenery 0x009AD594, 0xF40DEC + (void**)(gWallSceneryEntries ), _objectEntriesWalls, // walls 0x009AD794, 0xF417EC + (void**)(gBannerSceneryEntries ), _objectEntriesBanners, // banners 0x009AD994, 0xF421EC + (void**)(gFootpathEntries ), _objectEntriesFootpaths, // paths 0x009ADA14, 0xF4246C + (void**)(gFootpathAdditionEntries ), _objectEntriesFootpathAdditions, // path bits 0x009ADA54, 0xF425AC + (void**)(gSceneryGroupEntries ), _objectEntriesSceneryGroups, // scenery sets 0x009ADA90, 0xF426D8 + (void**)(gParkEntranceEntries ), _objectEntriesParkEntrances, // park entrance 0x009ADADC, 0xF42854 + (void**)(gWaterEntries ), _objectEntriesWaters, // water 0x009ADAE0, 0xF42868 + (void**)(gStexEntries ), _objectEntriesStexs, // scenario text 0x009ADAE4, 0xF4287C }; int check_object_entry(const rct_object_entry *entry) diff --git a/src/rct2/S6Exporter.cpp b/src/rct2/S6Exporter.cpp index dbbf7be8a4..4c9104de14 100644 --- a/src/rct2/S6Exporter.cpp +++ b/src/rct2/S6Exporter.cpp @@ -408,7 +408,7 @@ void S6Exporter::Export() _s6.byte_13CA740 = gUnk13CA740; _s6.climate = gClimate; // pad_13CA741; - memcpy(_s6.byte_13CA742, RCT2_ADDRESS(0x013CA742, uint8), sizeof(_s6.byte_13CA742)); + // byte_13CA742 // pad_013CA747 _s6.climate_update_timer = gClimateUpdateTimer; _s6.current_weather = gClimateCurrentWeather; diff --git a/src/rct2/S6Importer.cpp b/src/rct2/S6Importer.cpp index b43646549c..3e2ebc1a66 100644 --- a/src/rct2/S6Importer.cpp +++ b/src/rct2/S6Importer.cpp @@ -326,7 +326,7 @@ void S6Importer::Import() gUnk13CA740 = _s6.byte_13CA740; gClimate = _s6.climate; // pad_13CA741; - memcpy(RCT2_ADDRESS(0x013CA742, uint8), _s6.byte_13CA742, sizeof(_s6.byte_13CA742)); + // byte_13CA742 // pad_013CA747 gClimateUpdateTimer = _s6.climate_update_timer; gClimateCurrentWeather = _s6.current_weather; diff --git a/src/scenario.c b/src/scenario.c index 81a31dd3a9..da27d44795 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -251,7 +251,6 @@ void scenario_begin() strcpy(gRCT2AddressSavedGamesPath2 + strlen(gRCT2AddressSavedGamesPath2), gScenarioSavePath); strcat(gRCT2AddressSavedGamesPath2, ".SV6"); - memset(RCT2_ADDRESS(0x001357848, void), 0, 56); gCurrentExpenditure = 0; gCurrentProfit = 0; gWeeklyProfitAverageDividend = 0; diff --git a/src/scenario.h b/src/scenario.h index fbea0f8a82..5237740186 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -307,7 +307,7 @@ typedef struct rct_s6_data { uint8 pad_13CA73F; uint8 byte_13CA740; uint8 pad_13CA741; - uint8 byte_13CA742[4]; + uint8 byte_13CA742[4]; // unused uint8 climate; uint8 pad_013CA747; uint16 climate_update_timer;